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>
<td>
<p>
<code class="literal"><br> </code>
<code class="literal">\n</code>
</p>
</td>
<td>
<p>
<code class="literal"><br> </code>
<code class="literal">\n</code>
</p>
</td>
</tr>

View File

@ -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:]

View File

@ -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,

View File

@ -43,8 +43,8 @@ namespace BOOST_REGEX_DETAIL_NS{
template <class charT>
struct digraph : public std::pair<charT, charT>
{
digraph() : std::pair<charT, charT>(0, 0){}
digraph(charT c1) : std::pair<charT, charT>(c1, 0){}
digraph() : std::pair<charT, charT>(charT(0), charT(0)){}
digraph(charT c1) : std::pair<charT, charT>(c1, charT(0)){}
digraph(charT c1, charT c2) : std::pair<charT, charT>(c1, c2)
{}
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
{
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);