Boost logo

Boost Users :

From: miles_gould (miles_gould_at_[hidden])
Date: 2002-09-23 12:18:45


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<unsigned int, boost::regex_traits<unsigned
int>, allocator<size_t> >'
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<unsigned int, boost::regex_traits<unsigned
int>, allocator<size_t> >':
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?


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net