23 const std::string &src,
24 bool force_integer_type)
26 assert(src.size()>=2);
30 if(src[0]==
'L' || src[0]==
'u' || src[0]==
'U')
33 assert(src[src.size()-1]==
'\'');
35 std::basic_string<unsigned int> value=
42 throw "empty wide character literal";
43 else if(value.size()==1)
47 else if(value.size()>=2 && value.size()<=4)
53 for(
unsigned i=0; i<value.size(); i++)
56 z=z<<((value.size()-i-1)*8);
65 " characters are not supported";
70 assert(src[src.size()-1]==
'\'');
76 throw "empty character literal";
77 else if(value.size()==1)
82 else if(value.size()>=2 && value.size()<=4)
86 for(
unsigned i=0; i<value.size(); i++)
89 z=z<<((value.size()-i-1)*8);
98 " characters are not supported";