diff --git a/doc/html/boost_regex/syntax/perl_syntax.html b/doc/html/boost_regex/syntax/perl_syntax.html index 9fd7546c..5426d9f2 100644 --- a/doc/html/boost_regex/syntax/perl_syntax.html +++ b/doc/html/boost_regex/syntax/perl_syntax.html @@ -578,12 +578,12 @@

-
+ \n

-
+ \n

diff --git a/doc/syntax_perl.qbk b/doc/syntax_perl.qbk index 2b8b13fb..0dc63c42 100644 --- a/doc/syntax_perl.qbk +++ b/doc/syntax_perl.qbk @@ -299,24 +299,24 @@ The following escape sequences are all synonyms for single characters: [table [[Escape][Character]] -[[[^\a]][[^\a]]] -[[[^\e]][[^0x1B]]] -[[[^\f]][[^\f]]] -[[[^\n]][[^\n]]] -[[[^\r]][[^\r]]] -[[[^\t]][[^\t]]] -[[[^\v]][[^\v]]] -[[[^\b]][[^\b] (but only inside a character class declaration).]] -[[[^\cX]][An ASCII escape sequence - the character whose code point is X % 32]] -[[[^\xdd]][A hexadecimal escape sequence - matches the single character whose +[[[^\\a]][[^\\a]]] +[[[^\\e]][[^0x1B]]] +[[[^\\f]][[^\\f]]] +[[[^\\n]][[^\\n]]] +[[[^\\r]][[^\\r]]] +[[[^\\t]][[^\\t]]] +[[[^\\v]][[^\\v]]] +[[[^\\b]][[^\\b] (but only inside a character class declaration).]] +[[[^\\cX]][An ASCII escape sequence - the character whose code point is X % 32]] +[[[^\\xdd]][A hexadecimal escape sequence - matches the single character whose code point is 0xdd.]] -[[[^\x{dddd}]][A hexadecimal escape sequence - matches the single character whose +[[[^\\x{dddd}]][A hexadecimal escape sequence - matches the single character whose code point is 0xdddd.]] -[[[^\0ddd]][An octal escape sequence - matches the single character whose +[[[^\\0ddd]][An octal escape sequence - matches the single character whose code point is 0ddd.]] -[[[^\N{name}]][Matches the single character which has the +[[[^\\N{name}]][Matches the single character which has the [link boost_regex.syntax.collating_names symbolic name] /name/. - For example [^\N{newline}] matches the single character \\n.]] + For example [^\\N{newline}] matches the single character \\n.]] ] [h5 "Single character" character classes:] diff --git a/example/snippets/regex_grep_example_3.cpp b/example/snippets/regex_grep_example_3.cpp index 02aaa724..5bb3fd0a 100644 --- a/example/snippets/regex_grep_example_3.cpp +++ b/example/snippets/regex_grep_example_3.cpp @@ -89,6 +89,11 @@ void class_index::IndexClasses(const std::string& file) start, end, expression); +#elif defined(BOOST_NO_CXX98_BINDERS) + boost::regex_grep(std::bind(&class_index::grep_callback, this, std::placeholders::_1), + start, + end, + expression); #else boost::regex_grep(std::bind1st(std::mem_fun(&class_index::grep_callback), this), start, diff --git a/include/boost/regex/v4/basic_regex_creator.hpp b/include/boost/regex/v4/basic_regex_creator.hpp index 132ff84f..623e06f1 100644 --- a/include/boost/regex/v4/basic_regex_creator.hpp +++ b/include/boost/regex/v4/basic_regex_creator.hpp @@ -43,8 +43,8 @@ namespace BOOST_REGEX_DETAIL_NS{ template struct digraph : public std::pair { - digraph() : std::pair(0, 0){} - digraph(charT c1) : std::pair(c1, 0){} + digraph() : std::pair(charT(0), charT(0)){} + digraph(charT c1) : std::pair(c1, charT(0)){} digraph(charT c1, charT c2) : std::pair(c1, c2) {} digraph(const digraph& d) : std::pair(d.first, d.second){} diff --git a/src/icu.cpp b/src/icu.cpp index 5d166a69..be6e5a1c 100644 --- a/src/icu.cpp +++ b/src/icu.cpp @@ -430,7 +430,11 @@ icu_regex_traits::char_class_type icu_regex_traits::lookup_classname(const char_ icu_regex_traits::string_type icu_regex_traits::lookup_collatename(const char_type* p1, const char_type* p2) const { string_type result; +#ifdef BOOST_NO_CXX98_BINDERS + if(std::find_if(p1, p2, std::bind(std::greater< ::UChar32>(), std::placeholders::_1, 0x7f)) == p2) +#else if(std::find_if(p1, p2, std::bind2nd(std::greater< ::UChar32>(), 0x7f)) == p2) +#endif { #ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS std::string s(p1, p2);