Hello, it seems there's an error in reg_expression::operator< in regex_compile.hpp file: bool BOOST_REGEX_CALL reg_expression<charT, traits, Allocator>::operator<(const reg_expression<charT, traits, Allocator>& e)const { // // we can't offer a diffinitive ordering, but we can be consistant: if(_flags != e.flags()) return _flags < e.flags(); if(_expression_len != e._expression_len) return _expression_len < e._expression_len; //error //return std::memcmp(expression(), e.expression(), _expression_len); //right return std::memcmp(expression(), e.expression(), _expression_len) < 0; } The error makes (regular expressions with equal _flags and _expression_len) memcmp() result -1 and +1, to be coverted in the same true bool return value; Thanks, Adriano
The error makes (regular expressions with equal _flags and _expression_len) memcmp() result -1 and +1, to be coverted in the same true bool return value; Thanks,
You're right! I'll get that fixed in the cvs, thanks, John Maddock http://ourworld.compuserve.com/homepages/john_maddock/index.htm
participants (2)
-
adryio55
-
John Maddock