Our application stores all characters internally as XMLCh, which is a
typedef to either wchar_t or unsigned short, depending on platform and
various other things. My questions are
1) Is it even possible to use regex++ with types which are not char or
wchar_t? The documentation gives no examples of any other types, and
at one point says "the character type, ie char or wchar_t". When I try
to construct a reg_expression<XMLCh>, I get the following error message:
../../src/boost/boost/regex.hpp: In instantiation of
`boost::regex_traits<unsigned int>':
../../src/boost/boost/regex.hpp:461: instantiated from
`boost::reg_expression >'
regex.cpp:33: instantiated from here
../../src/boost/boost/regex.hpp:461: base class
`boost::c_regex_traits<unsigned int>' has incomplete type
../../src/boost/boost/regex.hpp: In instantiation of
`boost::reg_expression >':
regex.cpp:33: instantiated from here
../../src/boost/boost/regex.hpp:461: no type named `size_type' in
`class boost::regex_traits<unsigned int>'
../../src/boost/boost/regex.hpp:462: no type named `uchar_type' in
`class boost::regex_traits<unsigned int>'
../../src/boost/boost/regex.hpp:463: no type named `string_type' in
`class boost::regex_traits<unsigned int>'
../../src/boost/boost/regex.hpp:471: no type named `locale_type' in
`class boost::regex_traits<unsigned int>'
[compilation is on GCC 2.96 under Red Hat Linux 7.2]
2) Does this mean I need to define a custom traits class? (or rather a
custom traits class for every possible definition of XMLCh?) Is there
anything else I need to do?