Merge branch 'develop' of https://github.com/boostorg/regex into develop

This commit is contained in:
jzmaddock
2017-06-04 08:06:35 +01:00
5 changed files with 27 additions and 18 deletions

View File

@ -578,12 +578,12 @@
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal"><br> </code> <code class="literal">\n</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
<code class="literal"><br> </code> <code class="literal">\n</code>
</p> </p>
</td> </td>
</tr> </tr>

View File

@ -299,24 +299,24 @@ The following escape sequences are all synonyms for single characters:
[table [table
[[Escape][Character]] [[Escape][Character]]
[[[^\a]][[^\a]]] [[[^\\a]][[^\\a]]]
[[[^\e]][[^0x1B]]] [[[^\\e]][[^0x1B]]]
[[[^\f]][[^\f]]] [[[^\\f]][[^\\f]]]
[[[^\n]][[^\n]]] [[[^\\n]][[^\\n]]]
[[[^\r]][[^\r]]] [[[^\\r]][[^\\r]]]
[[[^\t]][[^\t]]] [[[^\\t]][[^\\t]]]
[[[^\v]][[^\v]]] [[[^\\v]][[^\\v]]]
[[[^\b]][[^\b] (but only inside a character class declaration).]] [[[^\\b]][[^\\b] (but only inside a character class declaration).]]
[[[^\cX]][An ASCII escape sequence - the character whose code point is X % 32]] [[[^\\cX]][An ASCII escape sequence - the character whose code point is X % 32]]
[[[^\xdd]][A hexadecimal escape sequence - matches the single character whose [[[^\\xdd]][A hexadecimal escape sequence - matches the single character whose
code point is 0xdd.]] 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.]] 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.]] 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/. [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:] [h5 "Single character" character classes:]

View File

@ -89,6 +89,11 @@ void class_index::IndexClasses(const std::string& file)
start, start,
end, end,
expression); expression);
#elif defined(BOOST_NO_CXX98_BINDERS)
boost::regex_grep(std::bind(&class_index::grep_callback, this, std::placeholders::_1),
start,
end,
expression);
#else #else
boost::regex_grep(std::bind1st(std::mem_fun(&class_index::grep_callback), this), boost::regex_grep(std::bind1st(std::mem_fun(&class_index::grep_callback), this),
start, start,

View File

@ -43,8 +43,8 @@ namespace BOOST_REGEX_DETAIL_NS{
template <class charT> template <class charT>
struct digraph : public std::pair<charT, charT> struct digraph : public std::pair<charT, charT>
{ {
digraph() : std::pair<charT, charT>(0, 0){} digraph() : std::pair<charT, charT>(charT(0), charT(0)){}
digraph(charT c1) : std::pair<charT, charT>(c1, 0){} digraph(charT c1) : std::pair<charT, charT>(c1, charT(0)){}
digraph(charT c1, charT c2) : std::pair<charT, charT>(c1, c2) digraph(charT c1, charT c2) : std::pair<charT, charT>(c1, c2)
{} {}
digraph(const digraph<charT>& d) : std::pair<charT, charT>(d.first, d.second){} digraph(const digraph<charT>& d) : std::pair<charT, charT>(d.first, d.second){}

View File

@ -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 icu_regex_traits::string_type icu_regex_traits::lookup_collatename(const char_type* p1, const char_type* p2) const
{ {
string_type result; 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) if(std::find_if(p1, p2, std::bind2nd(std::greater< ::UChar32>(), 0x7f)) == p2)
#endif
{ {
#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS #ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
std::string s(p1, p2); std::string s(p1, p2);