21 const std::string &src,
22 bool force_integer_type)
24 assert(src.size()>=2);
28 if(src[0]==
'L' || src[0]==
'u' || src[0]==
'U')
31 assert(src[src.size()-1]==
'\'');
33 std::basic_string<unsigned int> value=
40 throw "empty wide character literal";
41 else if(value.size()==1)
45 else if(value.size()>=2 && value.size()<=4)
51 for(
unsigned i=0; i<value.size(); i++)
54 z=z<<((value.size()-i-1)*8);
63 " characters are not supported";
68 assert(src[src.size()-1]==
'\'');
74 throw "empty character literal";
75 else if(value.size()==1)
80 else if(value.size()>=2 && value.size()<=4)
84 for(
unsigned i=0; i<value.size(); i++)
87 z=z<<((value.size()-i-1)*8);
96 " characters are not supported";