Boost.regex :: u32regex does not compile with latest STLPort
Hi, Not sure if this is an issue on boost side or STLPort side, but compiling u32regex match givess an error in v4/perl_matcher.hpp, line 85. the call is essentially vector<int>::assign(int, int) since char type is int for ICU strings. This is being resolved to template<iter> assign(iter, iter) member, hence the error. I have fixed it in my local copy by changing the line to s1.assign(static_caststd::size_t(1), col); But don't know if this is a good fix. This used to work on Dinkum STL, so I am guessing STLPort is messing up somewhere. Do I need to build regex libraries again after this change? Thanks Amit
Amit wrote:
Hi,
Not sure if this is an issue on boost side or STLPort side, but compiling u32regex match givess an error in v4/perl_matcher.hpp, line 85. the call is essentially vector<int>::assign(int, int) since char type is int for ICU strings. This is being resolved to template<iter> assign(iter, iter) member, hence the error. I have fixed it in my local copy by changing the line to s1.assign(static_caststd::size_t(1), col);
Yep, that's OK, or even better cast to vector<>::size_type.
But don't know if this is a good fix. This used to work on Dinkum STL, so I am guessing STLPort is messing up somewhere. Do I need to build regex libraries again after this change?
You shouldn't do no, although it can't hurt at all. Which STLport version are you using: if I can reproduce here, I'll patch the Trunk accordingly. Thanks for the report, John.
Amit
Not sure if this is an issue on boost side or STLPort side, but compiling u32regex match givess an error in v4/perl_matcher.hpp, line 85. the call is
Please ignore this - confirmed as a problem in STLPort SVN trunk code. Thanks Amit
participants (2)
-
Amit
-
John Maddock