
15 Mar
2005
15 Mar
'05
11:04 a.m.
Ok, I made it work the way I describe here - it understands now \u{HHH} notaion and operates on 16-bit wide chars. I didn't touch anything from c_regex_tratis. I only wrote myown char_traits and then typedef reg_expression<uchar16, regex_traits<uchar16>, BOOST_DEFAULT_ALLOCATOR(uchar16)> uregex16; and struct string16 : public std::basic_string<uchar16, my_char_traits>{ ... }; I suppose I need to overload c_regex_tratis if I need correct reinterpretation for \w, icase etc for chars that are outside latin-1?
Yes specialise regex_traits<uchar16> using c_regex_traits as a guide, actually I'm surprised it works at all: regex_traits<uchar16> shouldn't instantiate, but if you're happy then great. John.