From 829f4fd8ab6804a7cbd1fa5d393498f855f3fc97 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Tue, 26 Apr 2011 08:12:27 +0000 Subject: [PATCH 1/9] Suppress msvc warning. Fixes #5504. [SVN r71496] --- include/boost/regex/pending/unicode_iterator.hpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/boost/regex/pending/unicode_iterator.hpp b/include/boost/regex/pending/unicode_iterator.hpp index 657ca0a4..a8faefd5 100644 --- a/include/boost/regex/pending/unicode_iterator.hpp +++ b/include/boost/regex/pending/unicode_iterator.hpp @@ -113,6 +113,10 @@ inline unsigned utf8_trailing_byte_count(boost::uint8_t c) return utf8_byte_count(c) - 1; } +#ifdef BOOST_MSVC +#pragma warning(push) +#pragma warning(disable:4100) +#endif inline void invalid_utf32_code_point(::boost::uint32_t val) { #ifndef BOOST_NO_STD_LOCALE @@ -124,6 +128,9 @@ inline void invalid_utf32_code_point(::boost::uint32_t val) #endif boost::throw_exception(e); } +#ifdef BOOST_MSVC +#pragma warning(pop) +#endif } // namespace detail From c918ac94ef5d6caa984b8fe36e9501f7253741aa Mon Sep 17 00:00:00 2001 From: John Maddock Date: Tue, 26 Apr 2011 09:16:02 +0000 Subject: [PATCH 2/9] Update history and regenerate docs. [SVN r71498] --- doc/history.qbk | 4 +- .../background_information/examples.html | 6 +- .../background_information/history.html | 27 +++--- .../background_information/locale.html | 8 +- .../background_information/standards.html | 10 +- doc/html/boost_regex/captures.html | 6 +- .../format/boost_format_syntax.html | 8 +- doc/html/boost_regex/install.html | 16 ++-- doc/html/boost_regex/ref/bad_expression.html | 4 +- doc/html/boost_regex/ref/basic_regex.html | 18 ++-- .../ref/concepts/traits_concept.html | 4 +- .../deprecated_interfaces/regex_format.html | 2 +- doc/html/boost_regex/ref/error_type.html | 4 +- doc/html/boost_regex/ref/match_flag_type.html | 2 +- doc/html/boost_regex/ref/match_results.html | 4 +- .../ref/non_std_strings/icu/unicode_algo.html | 6 +- .../ref/non_std_strings/icu/unicode_iter.html | 4 +- .../non_std_strings/mfc_strings/mfc_algo.html | 10 +- .../non_std_strings/mfc_strings/mfc_iter.html | 4 +- doc/html/boost_regex/ref/posix.html | 8 +- doc/html/boost_regex/ref/regex_iterator.html | 4 +- doc/html/boost_regex/ref/regex_match.html | 4 +- doc/html/boost_regex/ref/regex_replace.html | 4 +- doc/html/boost_regex/ref/regex_search.html | 4 +- .../boost_regex/ref/regex_token_iterator.html | 4 +- doc/html/boost_regex/ref/regex_traits.html | 2 +- doc/html/boost_regex/ref/sub_match.html | 8 +- .../boost_regex/syntax/basic_extended.html | 66 ++++++------- doc/html/boost_regex/syntax/basic_syntax.html | 44 ++++----- doc/html/boost_regex/syntax/perl_syntax.html | 96 +++++++++---------- doc/html/boost_regex/unicode.html | 4 +- doc/html/index.html | 4 +- 32 files changed, 203 insertions(+), 196 deletions(-) diff --git a/doc/history.qbk b/doc/history.qbk index 1af9e2ca..ddcb92bb 100644 --- a/doc/history.qbk +++ b/doc/history.qbk @@ -18,7 +18,9 @@ All issues including closed ones can be viewed [@https://svn.boost.org/trac/boos [h4 Boost 1.47] Fixed issues: -[@https://svn.boost.org/trac/boost/ticket/5223 #5223]. +[@https://svn.boost.org/trac/boost/ticket/5223 #5223], [@https://svn.boost.org/trac/boost/ticket/5353 #5353], +[@https://svn.boost.org/trac/boost/ticket/5363 #5363], [@https://svn.boost.org/trac/boost/ticket/5462 #5462], +[@https://svn.boost.org/trac/boost/ticket/5472 #5472], [@https://svn.boost.org/trac/boost/ticket/5504 #5504]. [h4 Boost 1.44] diff --git a/doc/html/boost_regex/background_information/examples.html b/doc/html/boost_regex/background_information/examples.html index 47fd2ecc..72d49743 100644 --- a/doc/html/boost_regex/background_information/examples.html +++ b/doc/html/boost_regex/background_information/examples.html @@ -28,7 +28,7 @@ Example Programs
- + Test Programs
@@ -151,7 +151,7 @@ Files: captures_test.cpp.

- + Example programs
@@ -177,7 +177,7 @@ Files: regex_timer.cpp.

- + Code snippets
diff --git a/doc/html/boost_regex/background_information/history.html b/doc/html/boost_regex/background_information/history.html index bde59b6d..96f0d112 100644 --- a/doc/html/boost_regex/background_information/history.html +++ b/doc/html/boost_regex/background_information/history.html @@ -36,15 +36,20 @@ All issues including closed ones can be viewed here.

- + Boost 1.47

- Fixed issues: #5223. + Fixed issues: #5223, + #5353, + #5363, + #5462, + #5472, + #5504.

- + Boost 1.44
@@ -63,7 +68,7 @@ #3890

- + Boost 1.42
@@ -92,7 +97,7 @@
- + Boost 1.40
@@ -101,7 +106,7 @@ branch resets and recursive regular expressions.
- + Boost 1.38
@@ -129,7 +134,7 @@
- + Boost 1.34
@@ -152,7 +157,7 @@
- + Boost 1.33.1
@@ -222,7 +227,7 @@
- + Boost 1.33.0
@@ -277,7 +282,7 @@
- + Boost 1.32.1
@@ -285,7 +290,7 @@ Fixed bug in partial matches of bounded repeats of '.'.
- + Boost 1.31.0
diff --git a/doc/html/boost_regex/background_information/locale.html b/doc/html/boost_regex/background_information/locale.html index 33880c20..41398f91 100644 --- a/doc/html/boost_regex/background_information/locale.html +++ b/doc/html/boost_regex/background_information/locale.html @@ -58,7 +58,7 @@ There are three separate localization mechanisms supported by Boost.Regex:

- + Win32 localization model.
@@ -90,7 +90,7 @@ are treated as "unknown" graphic characters.

- + C localization model.
@@ -114,7 +114,7 @@ libraries including version 1 of this library.

- + C++ localization model.
@@ -151,7 +151,7 @@ in your code. The best way to ensure this is to add the #define to <boost/regex/user.hpp>.

- + Providing a message catalogue
diff --git a/doc/html/boost_regex/background_information/standards.html b/doc/html/boost_regex/background_information/standards.html index 68fd4cd4..d7d41ebe 100644 --- a/doc/html/boost_regex/background_information/standards.html +++ b/doc/html/boost_regex/background_information/standards.html @@ -28,7 +28,7 @@ Conformance
- + C++

@@ -36,7 +36,7 @@ Report on C++ Library Extensions.

- + ECMAScript / JavaScript
@@ -49,7 +49,7 @@ rather than a Unicode escape sequence; use \x{DDDD} for Unicode escape sequences.

- + Perl

@@ -73,7 +73,7 @@ the Unicode requirements below.

- + POSIX

@@ -93,7 +93,7 @@ a custom traits class.

- + Unicode

diff --git a/doc/html/boost_regex/captures.html b/doc/html/boost_regex/captures.html index 4eb41562..62fb0c3d 100644 --- a/doc/html/boost_regex/captures.html +++ b/doc/html/boost_regex/captures.html @@ -35,7 +35,7 @@ accessed.

- + Marked sub-expressions

@@ -218,7 +218,7 @@ output stream.

- + Unmatched Sub-Expressions

@@ -231,7 +231,7 @@ you can determine which sub-expressions matched by accessing the sub_match::matched data member.

- + Repeated Captures

diff --git a/doc/html/boost_regex/format/boost_format_syntax.html b/doc/html/boost_regex/format/boost_format_syntax.html index 5e0f6fec..8efd8856 100644 --- a/doc/html/boost_regex/format/boost_format_syntax.html +++ b/doc/html/boost_regex/format/boost_format_syntax.html @@ -32,7 +32,7 @@ '$', '\', '(', ')', '?', and ':'.

- + Grouping

@@ -40,7 +40,7 @@ you want a to output literal parenthesis.

- + Conditionals

@@ -79,7 +79,7 @@ ?{NAME}true-expression:false-expression

- + Placeholder Sequences
@@ -319,7 +319,7 @@ as a literal.

- + Escape Sequences
diff --git a/doc/html/boost_regex/install.html b/doc/html/boost_regex/install.html index ce667b30..3873e248 100644 --- a/doc/html/boost_regex/install.html +++ b/doc/html/boost_regex/install.html @@ -49,7 +49,7 @@ file before you can use it, instructions for specific platforms are as follows:

- + Building with bjam

@@ -58,7 +58,7 @@ started guide for more information.

- + Building With Unicode and ICU Support
@@ -158,11 +158,11 @@ header-include and linker-search paths).

- + Building via makefiles
- + Borland C++ Builder:
- + GCC(2.95 and later)

@@ -364,7 +364,7 @@ see the config library documentation.

- + Sun Workshop 6.1

@@ -409,7 +409,7 @@ will build v9 variants of the regex library named libboost_regex_v9.a etc.

- + Makefiles for Other compilers
diff --git a/doc/html/boost_regex/ref/bad_expression.html b/doc/html/boost_regex/ref/bad_expression.html index 2d11bb19..b0a392ae 100644 --- a/doc/html/boost_regex/ref/bad_expression.html +++ b/doc/html/boost_regex/ref/bad_expression.html @@ -27,7 +27,7 @@ bad_expression
- + Synopsis
#include <boost/pattern_except.hpp>
@@ -54,7 +54,7 @@
 } // namespace boost
 
- + Description
regex_error(const std::string& s, regex_constants::error_type err, std::ptrdiff_t pos);
diff --git a/doc/html/boost_regex/ref/basic_regex.html b/doc/html/boost_regex/ref/basic_regex.html
index 9927497c..44865b37 100644
--- a/doc/html/boost_regex/ref/basic_regex.html
+++ b/doc/html/boost_regex/ref/basic_regex.html
@@ -27,7 +27,7 @@
 basic_regex
 
 
- + Synopsis
#include <boost/regex.hpp>
@@ -244,7 +244,7 @@
 } // namespace boost
 
- + Description

@@ -325,7 +325,7 @@ basic_regex.

-

Table 1. basic_regex default construction postconditions

+

Table 1. basic_regex default construction postconditions

@@ -403,7 +403,7 @@ flags specified in f.

-

Table 2. Postconditions for basic_regex construction

+

Table 2. Postconditions for basic_regex construction

@@ -506,7 +506,7 @@ specified in f.

-

Table 3. Postconditions for basic_regex construction

+

Table 3. Postconditions for basic_regex construction

@@ -608,7 +608,7 @@ according the option flags specified in f.

-

Table 4. Postconditions for basic_regex construction

+

Table 4. Postconditions for basic_regex construction

@@ -716,7 +716,7 @@ flags specified in f.

-

Table 5. Postconditions for basic_regex construction

+

Table 5. Postconditions for basic_regex construction

@@ -816,7 +816,7 @@ flags specified in f.

-

Table 6. Postconditions for basic_regex construction

+

Table 6. Postconditions for basic_regex construction

@@ -1002,7 +1002,7 @@ in f.

-

Table 7. Postconditions for basic_regex::assign

+

Table 7. Postconditions for basic_regex::assign

diff --git a/doc/html/boost_regex/ref/concepts/traits_concept.html b/doc/html/boost_regex/ref/concepts/traits_concept.html index be80bbd4..becee9ce 100644 --- a/doc/html/boost_regex/ref/concepts/traits_concept.html +++ b/doc/html/boost_regex/ref/concepts/traits_concept.html @@ -34,7 +34,7 @@ Boost-specific enhanced interface.

- + Minimal requirements.
@@ -378,7 +378,7 @@
- + Additional Optional Requirements
diff --git a/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html b/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html index 90df092e..201ae3e8 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html @@ -34,7 +34,7 @@ previous version of Boost.Regex and will not be further updated:

- + Algorithm regex_format
diff --git a/doc/html/boost_regex/ref/error_type.html b/doc/html/boost_regex/ref/error_type.html index a8cd039a..7fcb99e2 100644 --- a/doc/html/boost_regex/ref/error_type.html +++ b/doc/html/boost_regex/ref/error_type.html @@ -27,7 +27,7 @@ error_type
- + Synopsis

@@ -57,7 +57,7 @@ } // namespace boost

- + Description

diff --git a/doc/html/boost_regex/ref/match_flag_type.html b/doc/html/boost_regex/ref/match_flag_type.html index e76b864f..33d55ce6 100644 --- a/doc/html/boost_regex/ref/match_flag_type.html +++ b/doc/html/boost_regex/ref/match_flag_type.html @@ -69,7 +69,7 @@ } // namespace boost

- + Description

diff --git a/doc/html/boost_regex/ref/match_results.html b/doc/html/boost_regex/ref/match_results.html index 3cc8f202..7a587305 100644 --- a/doc/html/boost_regex/ref/match_results.html +++ b/doc/html/boost_regex/ref/match_results.html @@ -27,7 +27,7 @@ match_results

- + Synopsis
#include <boost/regex.hpp>
@@ -167,7 +167,7 @@
          match_results<BidirectionalIterator, Allocator>& m2);
 
- + Description

diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html index 48867621..812cb80d 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html @@ -43,7 +43,7 @@ on to the "real" algorithm.

- + u32regex_match

@@ -89,7 +89,7 @@ }

- + u32regex_search

@@ -128,7 +128,7 @@ }

- + u32regex_replace

diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html index 07ca66e2..030ef13b 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html @@ -28,7 +28,7 @@ Aware Regex Iterators

- + u32regex_iterator

@@ -126,7 +126,7 @@ Provided of course that the input is encoded as UTF-8.

- + u32regex_token_iterator

diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html index fced7a46..7b9d97ea 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html @@ -34,7 +34,7 @@ here they are anyway:

- + regex_match

@@ -82,7 +82,7 @@ }

- + regex_match (second overload)
@@ -110,7 +110,7 @@ }
- + regex_search

@@ -149,7 +149,7 @@ }

- + regex_search (second overload)
@@ -164,7 +164,7 @@ + s.GetLength(), e, f);

- + regex_replace

diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html index 76ac2b79..ceee130c 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html @@ -32,7 +32,7 @@ an MFC/ATL string to a regex_iterator or regex_token_iterator:

- + regex_iterator creation helper
@@ -68,7 +68,7 @@ }
- + regex_token_iterator creation helpers
diff --git a/doc/html/boost_regex/ref/posix.html b/doc/html/boost_regex/ref/posix.html index 93e70c4f..b3b98863 100644 --- a/doc/html/boost_regex/ref/posix.html +++ b/doc/html/boost_regex/ref/posix.html @@ -163,7 +163,7 @@

- + regcomp

@@ -375,7 +375,7 @@

- + regerror

@@ -461,7 +461,7 @@ buffer.

- + regexec

@@ -529,7 +529,7 @@

- + regfree

diff --git a/doc/html/boost_regex/ref/regex_iterator.html b/doc/html/boost_regex/ref/regex_iterator.html index 5cc52f18..352216e2 100644 --- a/doc/html/boost_regex/ref/regex_iterator.html +++ b/doc/html/boost_regex/ref/regex_iterator.html @@ -78,7 +78,7 @@ regex_constants::match_flag_type m = regex_constants::match_default);

- + Description

@@ -415,7 +415,7 @@ m.

- + Examples

diff --git a/doc/html/boost_regex/ref/regex_match.html b/doc/html/boost_regex/ref/regex_match.html index 2cb52851..45b385f3 100644 --- a/doc/html/boost_regex/ref/regex_match.html +++ b/doc/html/boost_regex/ref/regex_match.html @@ -80,7 +80,7 @@ match_flag_type flags = match_default);

- + Description
template <class BidirectionalIterator, class Allocator, class charT, class traits>
@@ -361,7 +361,7 @@
         Effects: Returns the result of regex_match(s.begin(), s.end(), e, flags).
       

- + Examples

diff --git a/doc/html/boost_regex/ref/regex_replace.html b/doc/html/boost_regex/ref/regex_replace.html index 2dfae921..f74d8abc 100644 --- a/doc/html/boost_regex/ref/regex_replace.html +++ b/doc/html/boost_regex/ref/regex_replace.html @@ -53,7 +53,7 @@ match_flag_type flags = match_default);

- + Description
template <class OutputIterator, class BidirectionalIterator, class traits, class Formatter>
@@ -199,7 +199,7 @@
         and then returns result.
       

- + Examples

diff --git a/doc/html/boost_regex/ref/regex_search.html b/doc/html/boost_regex/ref/regex_search.html index 7353a683..58e33f4f 100644 --- a/doc/html/boost_regex/ref/regex_search.html +++ b/doc/html/boost_regex/ref/regex_search.html @@ -73,7 +73,7 @@ match_flag_type flags = match_default);

- + Description
template <class BidirectionalIterator, class Allocator, class charT, class traits>
@@ -357,7 +357,7 @@
         Effects: Returns the result of regex_search(s.begin(), s.end(), e, flags).
       

- + Examples

diff --git a/doc/html/boost_regex/ref/regex_token_iterator.html b/doc/html/boost_regex/ref/regex_token_iterator.html index 459f2615..d3c6d957 100644 --- a/doc/html/boost_regex/ref/regex_token_iterator.html +++ b/doc/html/boost_regex/ref/regex_token_iterator.html @@ -136,7 +136,7 @@ regex_constants::match_flag_type m = regex_constants::match_default);

- + Description
regex_token_iterator();
@@ -357,7 +357,7 @@
         m.
       

- + Examples

diff --git a/doc/html/boost_regex/ref/regex_traits.html b/doc/html/boost_regex/ref/regex_traits.html index 22fcad80..86aa32c4 100644 --- a/doc/html/boost_regex/ref/regex_traits.html +++ b/doc/html/boost_regex/ref/regex_traits.html @@ -46,7 +46,7 @@ } // namespace boost

- + Description

diff --git a/doc/html/boost_regex/ref/sub_match.html b/doc/html/boost_regex/ref/sub_match.html index ac4c19ba..50f544a8 100644 --- a/doc/html/boost_regex/ref/sub_match.html +++ b/doc/html/boost_regex/ref/sub_match.html @@ -329,11 +329,11 @@ } // namespace boost

- + Description
- + Members
typedef typename std::iterator_traits<iterator>::value_type value_type;
@@ -446,7 +446,7 @@
           
 
 
- + sub_match non-member operators
@@ -883,7 +883,7 @@ + m2.str().

- + Stream inserter
template <class charT, class traits, class BidirectionalIterator>
diff --git a/doc/html/boost_regex/syntax/basic_extended.html b/doc/html/boost_regex/syntax/basic_extended.html
index 538fb781..fa466b74 100644
--- a/doc/html/boost_regex/syntax/basic_extended.html
+++ b/doc/html/boost_regex/syntax/basic_extended.html
@@ -28,7 +28,7 @@
       Expression Syntax
 
 

- + Synopsis

@@ -44,7 +44,7 @@ boost::regex e2(my_expression, boost::regex::extended|boost::regex::icase);

- + POSIX Extended Syntax

@@ -54,7 +54,7 @@

.[{}()\*+?|^$
- + Wildcard:

@@ -72,7 +72,7 @@

- + Anchors:

@@ -84,7 +84,7 @@ of an expression, or the last character of a sub-expression.

- + Marked sub-expressions:
@@ -96,7 +96,7 @@ to by a back-reference.

- + Repeats:

@@ -182,7 +182,7 @@ cab operator to be applied to.

- + Back references:

@@ -212,7 +212,7 @@ cab

- + Alternation

@@ -225,7 +225,7 @@ cab will match either of "abd" or "abef".

- + Character sets:
@@ -238,7 +238,7 @@ cab A bracket expression may contain any combination of the following:

- + Single characters:
@@ -247,7 +247,7 @@ cab or 'c'.

- + Character ranges:
@@ -263,7 +263,7 @@ cab the code points of the characters only.

- + Negation:

@@ -272,7 +272,7 @@ cab range a-c.

- + Character classes:
@@ -282,7 +282,7 @@ cab character class names.

- + Collating Elements:
@@ -310,7 +310,7 @@ cab matches a NUL character.

- + Equivalence classes:
@@ -327,7 +327,7 @@ cab or even all locales on one platform.

- + Combinations:

@@ -335,7 +335,7 @@ cab [[:digit:]a-c[.NUL.]].

- + Escapes

@@ -361,7 +361,7 @@ cab extensions are also supported by Boost.Regex:

- + Escapes matching a specific character
@@ -550,7 +550,7 @@ cab
- + "Single character" character classes:
@@ -704,7 +704,7 @@ cab
- + Character Properties
@@ -811,7 +811,7 @@ cab matches any "digit" character, as does \p{digit}.

- + Word Boundaries

@@ -886,7 +886,7 @@ cab

- + Buffer boundaries
@@ -977,7 +977,7 @@ cab
- + Continuation Escape
@@ -989,7 +989,7 @@ cab match to start where the last one ended.

- + Quoting escape
@@ -1003,7 +1003,7 @@ cab \*+aaa
- + Unicode escapes
@@ -1054,7 +1054,7 @@ cab
- + Any other escape
@@ -1063,7 +1063,7 @@ cab \@ matches a literal '@'.

- + Operator precedence
@@ -1100,7 +1100,7 @@ cab
- + What Gets Matched
@@ -1110,11 +1110,11 @@ cab rule.

- + Variations

- + Egrep

@@ -1135,7 +1135,7 @@ cab used with the -E option.

- + awk

@@ -1149,7 +1149,7 @@ cab these by default anyway.

- + Options

@@ -1162,7 +1162,7 @@ cab modify how the case and locale sensitivity are to be applied.

- + References

diff --git a/doc/html/boost_regex/syntax/basic_syntax.html b/doc/html/boost_regex/syntax/basic_syntax.html index 05b11625..94ad1851 100644 --- a/doc/html/boost_regex/syntax/basic_syntax.html +++ b/doc/html/boost_regex/syntax/basic_syntax.html @@ -28,7 +28,7 @@ Expression Syntax

- + Synopsis

@@ -43,7 +43,7 @@ boost::regex e2(my_expression, boost::regex::basic|boost::regex::icase);

- + POSIX Basic Syntax

@@ -53,7 +53,7 @@

.[\*^$
- + Wildcard:

@@ -71,7 +71,7 @@

- + Anchors:

@@ -83,7 +83,7 @@ of an expression, or the last character of a sub-expression.

- + Marked sub-expressions:
@@ -95,7 +95,7 @@ by a back-reference.

- + Repeats:

@@ -153,7 +153,7 @@ aaaa to.

- + Back references:

@@ -171,7 +171,7 @@ aaaa

aaabba
- + Character sets:
@@ -184,7 +184,7 @@ aaaa A bracket expression may contain any combination of the following:

- + Single characters:
@@ -193,7 +193,7 @@ aaaa or 'c'.

- + Character ranges:
@@ -209,7 +209,7 @@ aaaa of the characters only.

- + Negation:

@@ -218,7 +218,7 @@ aaaa range a-c.

- + Character classes:
@@ -228,7 +228,7 @@ aaaa character class names.

- + Collating Elements:
@@ -257,7 +257,7 @@ aaaa element names.

- + Equivalence classes:
@@ -274,7 +274,7 @@ aaaa or even all locales on one platform.

- + Combinations:

@@ -282,7 +282,7 @@ aaaa [[:digit:]a-c[.NUL.]].

- + Escapes

@@ -297,7 +297,7 @@ aaaa will match either a literal '\' or a '^'.

- + What Gets Matched

@@ -307,11 +307,11 @@ aaaa rule.

- + Variations

- + Grep

@@ -329,7 +329,7 @@ aaaa As its name suggests, this behavior is consistent with the Unix utility grep.

- + emacs

@@ -609,7 +609,7 @@ aaaa leftmost-longest rule.

- + Options

@@ -623,7 +623,7 @@ aaaa options modify how the case and locale sensitivity are to be applied.

- + References

diff --git a/doc/html/boost_regex/syntax/perl_syntax.html b/doc/html/boost_regex/syntax/perl_syntax.html index 560fd763..00e2b7e7 100644 --- a/doc/html/boost_regex/syntax/perl_syntax.html +++ b/doc/html/boost_regex/syntax/perl_syntax.html @@ -28,7 +28,7 @@ Syntax

- + Synopsis

@@ -43,7 +43,7 @@ boost::regex e2(my_expression, boost::regex::perl|boost::regex::icase);

- + Perl Regular Expression Syntax

@@ -53,7 +53,7 @@

.[{}()\*+?|^$
- + Wildcard

@@ -73,7 +73,7 @@

- + Anchors

@@ -83,7 +83,7 @@ A '$' character shall match the end of a line.

- + Marked sub-expressions
@@ -94,7 +94,7 @@ can also repeated, or referred to by a back-reference.

- + Non-marking grouping
@@ -107,7 +107,7 @@ without splitting out any separate sub-expressions.

- + Repeats

@@ -188,7 +188,7 @@ to be applied to.

- + Non greedy repeats
@@ -218,7 +218,7 @@ while consuming as little input as possible.

- + Possessive repeats
@@ -250,7 +250,7 @@ while giving nothing back.

- + Back references

@@ -360,7 +360,7 @@ named "two".

- + Alternation

@@ -387,7 +387,7 @@ (?:abc)?? has exactly the same effect.

- + Character sets

@@ -399,7 +399,7 @@ A bracket expression may contain any combination of the following:

- + Single characters

@@ -407,7 +407,7 @@ 'b', or 'c'.

- + Character ranges
@@ -421,7 +421,7 @@ sensitive.

- + Negation

@@ -430,7 +430,7 @@ matches any character that is not in the range a-c.

- + Character classes
@@ -441,7 +441,7 @@ class names.

- + Collating Elements
@@ -463,7 +463,7 @@ matches a \0 character.

- + Equivalence classes
@@ -480,7 +480,7 @@ or even all locales on one platform.

- + Escaped Characters
@@ -492,7 +492,7 @@ is not a "word" character.

- + Combinations

@@ -500,7 +500,7 @@ [[:digit:]a-c[.NUL.]].

- + Escapes

@@ -692,7 +692,7 @@

- + "Single character" character classes:
@@ -894,7 +894,7 @@
- + Character Properties
@@ -1002,7 +1002,7 @@ as does \p{digit}.

- + Word Boundaries

@@ -1021,7 +1021,7 @@ \B Matches only when not at a word boundary.

- + Buffer boundaries

@@ -1048,7 +1048,7 @@ (?=\n?\z).

- + Continuation Escape
@@ -1060,7 +1060,7 @@ one ended.

- + Quoting escape

@@ -1073,7 +1073,7 @@ \*+aaa

- + Unicode escapes

@@ -1083,7 +1083,7 @@ followed by a sequence of zero or more combining characters.

- + Matching Line Endings
@@ -1092,7 +1092,7 @@ sequence, specifically it is identical to the expression (?>\x0D\x0A?|[\x0A-\x0C\x85\x{2028}\x{2029}]).

- + Keeping back some text
@@ -1107,7 +1107,7 @@ This can be used to simulate variable width lookbehind assertions.

- + Any other escape
@@ -1116,7 +1116,7 @@ \@ matches a literal '@'.

- + Perl Extended Patterns
@@ -1125,7 +1125,7 @@ (?.

- + Named Subexpressions
@@ -1147,14 +1147,14 @@ format string for search and replace operations, or in the match_results member functions.

- + Comments

(?# ... ) is treated as a comment, it's contents are ignored.

- + Modifiers

@@ -1168,7 +1168,7 @@ pattern only.

- + Non-marking groups
@@ -1177,7 +1177,7 @@ an additional sub-expression.

- + Branch reset

@@ -1199,7 +1199,7 @@ # 1 2 2 3 2 3 4

- + Lookahead

@@ -1222,7 +1222,7 @@ could be used to validate the password.

- + Lookbehind

@@ -1236,7 +1236,7 @@ (pattern must be of fixed length).

- + Independent sub-expressions
@@ -1249,7 +1249,7 @@ no match is found at all.

- + Recursive Expressions
@@ -1273,7 +1273,7 @@ to the next sub-expression to be declared.

- + Conditional Expressions
@@ -1323,7 +1323,7 @@
- + Operator precedence
@@ -1358,7 +1358,7 @@

- + What gets matched

@@ -1534,7 +1534,7 @@

- + Variations

@@ -1543,7 +1543,7 @@ and JScript are all synonyms for perl.

- + Options

@@ -1555,7 +1555,7 @@ are to be applied.

- + Pattern Modifiers

@@ -1567,7 +1567,7 @@ and no_mod_s.

- + References

diff --git a/doc/html/boost_regex/unicode.html b/doc/html/boost_regex/unicode.html index f88297e8..12729aee 100644 --- a/doc/html/boost_regex/unicode.html +++ b/doc/html/boost_regex/unicode.html @@ -30,7 +30,7 @@ There are two ways to use Boost.Regex with Unicode strings:

- + Rely on wchar_t

@@ -56,7 +56,7 @@

- + Use a Unicode Aware Regular Expression Type.
diff --git a/doc/html/index.html b/doc/html/index.html index 870c10a9..91866311 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -28,7 +28,7 @@
-

+

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

@@ -195,7 +195,7 @@

- +

Last revised: March 18, 2011 at 16:45:40 GMT

Last revised: April 26, 2011 at 08:43:03 GMT


From cb142a44b61ffb93498291f80f7ab6db572078ad Mon Sep 17 00:00:00 2001 From: John Maddock Date: Mon, 16 May 2011 17:09:47 +0000 Subject: [PATCH 3/9] Add missing docs for (?&NAME) Perlre construct. regenerate docs. [SVN r71986] --- .../background_information/examples.html | 6 +- .../background_information/history.html | 20 ++-- .../background_information/locale.html | 8 +- .../background_information/standards.html | 10 +- doc/html/boost_regex/captures.html | 6 +- .../format/boost_format_syntax.html | 8 +- doc/html/boost_regex/install.html | 16 +-- doc/html/boost_regex/ref/bad_expression.html | 4 +- doc/html/boost_regex/ref/basic_regex.html | 18 ++-- .../ref/concepts/traits_concept.html | 4 +- .../deprecated_interfaces/regex_format.html | 2 +- doc/html/boost_regex/ref/error_type.html | 4 +- doc/html/boost_regex/ref/match_flag_type.html | 2 +- doc/html/boost_regex/ref/match_results.html | 4 +- .../ref/non_std_strings/icu/unicode_algo.html | 6 +- .../ref/non_std_strings/icu/unicode_iter.html | 4 +- .../non_std_strings/mfc_strings/mfc_algo.html | 10 +- .../non_std_strings/mfc_strings/mfc_iter.html | 4 +- doc/html/boost_regex/ref/posix.html | 8 +- doc/html/boost_regex/ref/regex_iterator.html | 4 +- doc/html/boost_regex/ref/regex_match.html | 4 +- doc/html/boost_regex/ref/regex_replace.html | 4 +- doc/html/boost_regex/ref/regex_search.html | 4 +- .../boost_regex/ref/regex_token_iterator.html | 4 +- doc/html/boost_regex/ref/regex_traits.html | 2 +- doc/html/boost_regex/ref/sub_match.html | 8 +- .../boost_regex/syntax/basic_extended.html | 66 ++++++------ doc/html/boost_regex/syntax/basic_syntax.html | 44 ++++---- doc/html/boost_regex/syntax/perl_syntax.html | 101 +++++++++--------- doc/html/boost_regex/unicode.html | 4 +- doc/html/index.html | 4 +- doc/syntax_perl.qbk | 4 +- 32 files changed, 201 insertions(+), 196 deletions(-) diff --git a/doc/html/boost_regex/background_information/examples.html b/doc/html/boost_regex/background_information/examples.html index 72d49743..af965f48 100644 --- a/doc/html/boost_regex/background_information/examples.html +++ b/doc/html/boost_regex/background_information/examples.html @@ -28,7 +28,7 @@ Example Programs
- + Test Programs
@@ -151,7 +151,7 @@ Files: captures_test.cpp.

- + Example programs
@@ -177,7 +177,7 @@ Files: regex_timer.cpp.

- + Code snippets
diff --git a/doc/html/boost_regex/background_information/history.html b/doc/html/boost_regex/background_information/history.html index 96f0d112..e819d0c0 100644 --- a/doc/html/boost_regex/background_information/history.html +++ b/doc/html/boost_regex/background_information/history.html @@ -36,7 +36,7 @@ All issues including closed ones can be viewed here.

- + Boost 1.47
@@ -49,7 +49,7 @@ #5504.

- + Boost 1.44
@@ -68,7 +68,7 @@ #3890

- + Boost 1.42
@@ -97,7 +97,7 @@
- + Boost 1.40
@@ -106,7 +106,7 @@ branch resets and recursive regular expressions.
- + Boost 1.38
@@ -134,7 +134,7 @@
- + Boost 1.34
@@ -157,7 +157,7 @@
- + Boost 1.33.1
@@ -227,7 +227,7 @@
- + Boost 1.33.0
@@ -282,7 +282,7 @@
- + Boost 1.32.1
@@ -290,7 +290,7 @@ Fixed bug in partial matches of bounded repeats of '.'.
- + Boost 1.31.0
diff --git a/doc/html/boost_regex/background_information/locale.html b/doc/html/boost_regex/background_information/locale.html index 41398f91..014b73f8 100644 --- a/doc/html/boost_regex/background_information/locale.html +++ b/doc/html/boost_regex/background_information/locale.html @@ -58,7 +58,7 @@ There are three separate localization mechanisms supported by Boost.Regex:

- + Win32 localization model.
@@ -90,7 +90,7 @@ are treated as "unknown" graphic characters.

- + C localization model.
@@ -114,7 +114,7 @@ libraries including version 1 of this library.

- + C++ localization model.
@@ -151,7 +151,7 @@ in your code. The best way to ensure this is to add the #define to <boost/regex/user.hpp>.

- + Providing a message catalogue
diff --git a/doc/html/boost_regex/background_information/standards.html b/doc/html/boost_regex/background_information/standards.html index d7d41ebe..6dcbf80d 100644 --- a/doc/html/boost_regex/background_information/standards.html +++ b/doc/html/boost_regex/background_information/standards.html @@ -28,7 +28,7 @@ Conformance
- + C++

@@ -36,7 +36,7 @@ Report on C++ Library Extensions.

- + ECMAScript / JavaScript
@@ -49,7 +49,7 @@ rather than a Unicode escape sequence; use \x{DDDD} for Unicode escape sequences.

- + Perl

@@ -73,7 +73,7 @@ the Unicode requirements below.

- + POSIX

@@ -93,7 +93,7 @@ a custom traits class.

- + Unicode

diff --git a/doc/html/boost_regex/captures.html b/doc/html/boost_regex/captures.html index 62fb0c3d..6b3ff537 100644 --- a/doc/html/boost_regex/captures.html +++ b/doc/html/boost_regex/captures.html @@ -35,7 +35,7 @@ accessed.

- + Marked sub-expressions

@@ -218,7 +218,7 @@ output stream.

- + Unmatched Sub-Expressions

@@ -231,7 +231,7 @@ you can determine which sub-expressions matched by accessing the sub_match::matched data member.

- + Repeated Captures

diff --git a/doc/html/boost_regex/format/boost_format_syntax.html b/doc/html/boost_regex/format/boost_format_syntax.html index 8efd8856..a52920a1 100644 --- a/doc/html/boost_regex/format/boost_format_syntax.html +++ b/doc/html/boost_regex/format/boost_format_syntax.html @@ -32,7 +32,7 @@ '$', '\', '(', ')', '?', and ':'.

- + Grouping

@@ -40,7 +40,7 @@ you want a to output literal parenthesis.

- + Conditionals

@@ -79,7 +79,7 @@ ?{NAME}true-expression:false-expression

- + Placeholder Sequences
@@ -319,7 +319,7 @@ as a literal.

- + Escape Sequences
diff --git a/doc/html/boost_regex/install.html b/doc/html/boost_regex/install.html index 3873e248..145fab5a 100644 --- a/doc/html/boost_regex/install.html +++ b/doc/html/boost_regex/install.html @@ -49,7 +49,7 @@ file before you can use it, instructions for specific platforms are as follows:

- + Building with bjam

@@ -58,7 +58,7 @@ started guide for more information.

- + Building With Unicode and ICU Support
@@ -158,11 +158,11 @@ header-include and linker-search paths).

- + Building via makefiles
- + Borland C++ Builder:
- + GCC(2.95 and later)

@@ -364,7 +364,7 @@ see the config library documentation.

- + Sun Workshop 6.1

@@ -409,7 +409,7 @@ will build v9 variants of the regex library named libboost_regex_v9.a etc.

- + Makefiles for Other compilers
diff --git a/doc/html/boost_regex/ref/bad_expression.html b/doc/html/boost_regex/ref/bad_expression.html index b0a392ae..717f348f 100644 --- a/doc/html/boost_regex/ref/bad_expression.html +++ b/doc/html/boost_regex/ref/bad_expression.html @@ -27,7 +27,7 @@ bad_expression
- + Synopsis
#include <boost/pattern_except.hpp>
@@ -54,7 +54,7 @@
 } // namespace boost
 
- + Description
regex_error(const std::string& s, regex_constants::error_type err, std::ptrdiff_t pos);
diff --git a/doc/html/boost_regex/ref/basic_regex.html b/doc/html/boost_regex/ref/basic_regex.html
index 44865b37..0fb676d5 100644
--- a/doc/html/boost_regex/ref/basic_regex.html
+++ b/doc/html/boost_regex/ref/basic_regex.html
@@ -27,7 +27,7 @@
 basic_regex
 
 
- + Synopsis
#include <boost/regex.hpp>
@@ -244,7 +244,7 @@
 } // namespace boost
 
- + Description

@@ -325,7 +325,7 @@ basic_regex.

-

Table 1. basic_regex default construction postconditions

+

Table 1. basic_regex default construction postconditions

@@ -403,7 +403,7 @@ flags specified in f.

-

Table 2. Postconditions for basic_regex construction

+

Table 2. Postconditions for basic_regex construction

@@ -506,7 +506,7 @@ specified in f.

-

Table 3. Postconditions for basic_regex construction

+

Table 3. Postconditions for basic_regex construction

@@ -608,7 +608,7 @@ according the option flags specified in f.

-

Table 4. Postconditions for basic_regex construction

+

Table 4. Postconditions for basic_regex construction

@@ -716,7 +716,7 @@ flags specified in f.

-

Table 5. Postconditions for basic_regex construction

+

Table 5. Postconditions for basic_regex construction

@@ -816,7 +816,7 @@ flags specified in f.

-

Table 6. Postconditions for basic_regex construction

+

Table 6. Postconditions for basic_regex construction

@@ -1002,7 +1002,7 @@ in f.

-

Table 7. Postconditions for basic_regex::assign

+

Table 7. Postconditions for basic_regex::assign

diff --git a/doc/html/boost_regex/ref/concepts/traits_concept.html b/doc/html/boost_regex/ref/concepts/traits_concept.html index becee9ce..b3e1d326 100644 --- a/doc/html/boost_regex/ref/concepts/traits_concept.html +++ b/doc/html/boost_regex/ref/concepts/traits_concept.html @@ -34,7 +34,7 @@ Boost-specific enhanced interface.

- + Minimal requirements.
@@ -378,7 +378,7 @@
- + Additional Optional Requirements
diff --git a/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html b/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html index 201ae3e8..64346cec 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html @@ -34,7 +34,7 @@ previous version of Boost.Regex and will not be further updated:

- + Algorithm regex_format
diff --git a/doc/html/boost_regex/ref/error_type.html b/doc/html/boost_regex/ref/error_type.html index 7fcb99e2..14869041 100644 --- a/doc/html/boost_regex/ref/error_type.html +++ b/doc/html/boost_regex/ref/error_type.html @@ -27,7 +27,7 @@ error_type
- + Synopsis

@@ -57,7 +57,7 @@ } // namespace boost

- + Description

diff --git a/doc/html/boost_regex/ref/match_flag_type.html b/doc/html/boost_regex/ref/match_flag_type.html index 33d55ce6..dc9bd64e 100644 --- a/doc/html/boost_regex/ref/match_flag_type.html +++ b/doc/html/boost_regex/ref/match_flag_type.html @@ -69,7 +69,7 @@ } // namespace boost

- + Description

diff --git a/doc/html/boost_regex/ref/match_results.html b/doc/html/boost_regex/ref/match_results.html index 7a587305..cb60c81a 100644 --- a/doc/html/boost_regex/ref/match_results.html +++ b/doc/html/boost_regex/ref/match_results.html @@ -27,7 +27,7 @@ match_results

- + Synopsis
#include <boost/regex.hpp>
@@ -167,7 +167,7 @@
          match_results<BidirectionalIterator, Allocator>& m2);
 
- + Description

diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html index 812cb80d..e77a9520 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html @@ -43,7 +43,7 @@ on to the "real" algorithm.

- + u32regex_match

@@ -89,7 +89,7 @@ }

- + u32regex_search

@@ -128,7 +128,7 @@ }

- + u32regex_replace

diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html index 030ef13b..c0dbd749 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html @@ -28,7 +28,7 @@ Aware Regex Iterators

- + u32regex_iterator

@@ -126,7 +126,7 @@ Provided of course that the input is encoded as UTF-8.

- + u32regex_token_iterator

diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html index 7b9d97ea..106400c1 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html @@ -34,7 +34,7 @@ here they are anyway:

- + regex_match

@@ -82,7 +82,7 @@ }

- + regex_match (second overload)
@@ -110,7 +110,7 @@ }
- + regex_search

@@ -149,7 +149,7 @@ }

- + regex_search (second overload)
@@ -164,7 +164,7 @@ + s.GetLength(), e, f);

- + regex_replace

diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html index ceee130c..3b7337ae 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html @@ -32,7 +32,7 @@ an MFC/ATL string to a regex_iterator or regex_token_iterator:

- + regex_iterator creation helper
@@ -68,7 +68,7 @@ }
- + regex_token_iterator creation helpers
diff --git a/doc/html/boost_regex/ref/posix.html b/doc/html/boost_regex/ref/posix.html index b3b98863..179dbb46 100644 --- a/doc/html/boost_regex/ref/posix.html +++ b/doc/html/boost_regex/ref/posix.html @@ -163,7 +163,7 @@

- + regcomp

@@ -375,7 +375,7 @@

- + regerror

@@ -461,7 +461,7 @@ buffer.

- + regexec

@@ -529,7 +529,7 @@

- + regfree

diff --git a/doc/html/boost_regex/ref/regex_iterator.html b/doc/html/boost_regex/ref/regex_iterator.html index 352216e2..a606c600 100644 --- a/doc/html/boost_regex/ref/regex_iterator.html +++ b/doc/html/boost_regex/ref/regex_iterator.html @@ -78,7 +78,7 @@ regex_constants::match_flag_type m = regex_constants::match_default);

- + Description

@@ -415,7 +415,7 @@ m.

- + Examples

diff --git a/doc/html/boost_regex/ref/regex_match.html b/doc/html/boost_regex/ref/regex_match.html index 45b385f3..eeacc58c 100644 --- a/doc/html/boost_regex/ref/regex_match.html +++ b/doc/html/boost_regex/ref/regex_match.html @@ -80,7 +80,7 @@ match_flag_type flags = match_default);

- + Description
template <class BidirectionalIterator, class Allocator, class charT, class traits>
@@ -361,7 +361,7 @@
         Effects: Returns the result of regex_match(s.begin(), s.end(), e, flags).
       

- + Examples

diff --git a/doc/html/boost_regex/ref/regex_replace.html b/doc/html/boost_regex/ref/regex_replace.html index f74d8abc..1b1a8a49 100644 --- a/doc/html/boost_regex/ref/regex_replace.html +++ b/doc/html/boost_regex/ref/regex_replace.html @@ -53,7 +53,7 @@ match_flag_type flags = match_default);

- + Description
template <class OutputIterator, class BidirectionalIterator, class traits, class Formatter>
@@ -199,7 +199,7 @@
         and then returns result.
       

- + Examples

diff --git a/doc/html/boost_regex/ref/regex_search.html b/doc/html/boost_regex/ref/regex_search.html index 58e33f4f..070ecc4b 100644 --- a/doc/html/boost_regex/ref/regex_search.html +++ b/doc/html/boost_regex/ref/regex_search.html @@ -73,7 +73,7 @@ match_flag_type flags = match_default);

- + Description
template <class BidirectionalIterator, class Allocator, class charT, class traits>
@@ -357,7 +357,7 @@
         Effects: Returns the result of regex_search(s.begin(), s.end(), e, flags).
       

- + Examples

diff --git a/doc/html/boost_regex/ref/regex_token_iterator.html b/doc/html/boost_regex/ref/regex_token_iterator.html index d3c6d957..62379e2c 100644 --- a/doc/html/boost_regex/ref/regex_token_iterator.html +++ b/doc/html/boost_regex/ref/regex_token_iterator.html @@ -136,7 +136,7 @@ regex_constants::match_flag_type m = regex_constants::match_default);

- + Description
regex_token_iterator();
@@ -357,7 +357,7 @@
         m.
       

- + Examples

diff --git a/doc/html/boost_regex/ref/regex_traits.html b/doc/html/boost_regex/ref/regex_traits.html index 86aa32c4..61052303 100644 --- a/doc/html/boost_regex/ref/regex_traits.html +++ b/doc/html/boost_regex/ref/regex_traits.html @@ -46,7 +46,7 @@ } // namespace boost

- + Description

diff --git a/doc/html/boost_regex/ref/sub_match.html b/doc/html/boost_regex/ref/sub_match.html index 50f544a8..08ea2254 100644 --- a/doc/html/boost_regex/ref/sub_match.html +++ b/doc/html/boost_regex/ref/sub_match.html @@ -329,11 +329,11 @@ } // namespace boost

- + Description
- + Members
typedef typename std::iterator_traits<iterator>::value_type value_type;
@@ -446,7 +446,7 @@
           
 
 
- + sub_match non-member operators
@@ -883,7 +883,7 @@ + m2.str().

- + Stream inserter
template <class charT, class traits, class BidirectionalIterator>
diff --git a/doc/html/boost_regex/syntax/basic_extended.html b/doc/html/boost_regex/syntax/basic_extended.html
index fa466b74..03d2c215 100644
--- a/doc/html/boost_regex/syntax/basic_extended.html
+++ b/doc/html/boost_regex/syntax/basic_extended.html
@@ -28,7 +28,7 @@
       Expression Syntax
 
 

- + Synopsis

@@ -44,7 +44,7 @@ boost::regex e2(my_expression, boost::regex::extended|boost::regex::icase);

- + POSIX Extended Syntax

@@ -54,7 +54,7 @@

.[{}()\*+?|^$
- + Wildcard:

@@ -72,7 +72,7 @@

- + Anchors:

@@ -84,7 +84,7 @@ of an expression, or the last character of a sub-expression.

- + Marked sub-expressions:
@@ -96,7 +96,7 @@ to by a back-reference.

- + Repeats:

@@ -182,7 +182,7 @@ cab operator to be applied to.

- + Back references:

@@ -212,7 +212,7 @@ cab

- + Alternation

@@ -225,7 +225,7 @@ cab will match either of "abd" or "abef".

- + Character sets:
@@ -238,7 +238,7 @@ cab A bracket expression may contain any combination of the following:

- + Single characters:
@@ -247,7 +247,7 @@ cab or 'c'.

- + Character ranges:
@@ -263,7 +263,7 @@ cab the code points of the characters only.

- + Negation:

@@ -272,7 +272,7 @@ cab range a-c.

- + Character classes:
@@ -282,7 +282,7 @@ cab character class names.

- + Collating Elements:
@@ -310,7 +310,7 @@ cab matches a NUL character.

- + Equivalence classes:
@@ -327,7 +327,7 @@ cab or even all locales on one platform.

- + Combinations:

@@ -335,7 +335,7 @@ cab [[:digit:]a-c[.NUL.]].

- + Escapes

@@ -361,7 +361,7 @@ cab extensions are also supported by Boost.Regex:

- + Escapes matching a specific character
@@ -550,7 +550,7 @@ cab
- + "Single character" character classes:
@@ -704,7 +704,7 @@ cab
- + Character Properties
@@ -811,7 +811,7 @@ cab matches any "digit" character, as does \p{digit}.

- + Word Boundaries

@@ -886,7 +886,7 @@ cab

- + Buffer boundaries
@@ -977,7 +977,7 @@ cab
- + Continuation Escape
@@ -989,7 +989,7 @@ cab match to start where the last one ended.

- + Quoting escape
@@ -1003,7 +1003,7 @@ cab \*+aaa
- + Unicode escapes
@@ -1054,7 +1054,7 @@ cab
- + Any other escape
@@ -1063,7 +1063,7 @@ cab \@ matches a literal '@'.

- + Operator precedence
@@ -1100,7 +1100,7 @@ cab
- + What Gets Matched
@@ -1110,11 +1110,11 @@ cab rule.

- + Variations

- + Egrep

@@ -1135,7 +1135,7 @@ cab used with the -E option.

- + awk

@@ -1149,7 +1149,7 @@ cab these by default anyway.

- + Options

@@ -1162,7 +1162,7 @@ cab modify how the case and locale sensitivity are to be applied.

- + References

diff --git a/doc/html/boost_regex/syntax/basic_syntax.html b/doc/html/boost_regex/syntax/basic_syntax.html index 94ad1851..7c262c71 100644 --- a/doc/html/boost_regex/syntax/basic_syntax.html +++ b/doc/html/boost_regex/syntax/basic_syntax.html @@ -28,7 +28,7 @@ Expression Syntax

- + Synopsis

@@ -43,7 +43,7 @@ boost::regex e2(my_expression, boost::regex::basic|boost::regex::icase);

- + POSIX Basic Syntax

@@ -53,7 +53,7 @@

.[\*^$
- + Wildcard:

@@ -71,7 +71,7 @@

- + Anchors:

@@ -83,7 +83,7 @@ of an expression, or the last character of a sub-expression.

- + Marked sub-expressions:
@@ -95,7 +95,7 @@ by a back-reference.

- + Repeats:

@@ -153,7 +153,7 @@ aaaa to.

- + Back references:

@@ -171,7 +171,7 @@ aaaa

aaabba
- + Character sets:
@@ -184,7 +184,7 @@ aaaa A bracket expression may contain any combination of the following:

- + Single characters:
@@ -193,7 +193,7 @@ aaaa or 'c'.

- + Character ranges:
@@ -209,7 +209,7 @@ aaaa of the characters only.

- + Negation:

@@ -218,7 +218,7 @@ aaaa range a-c.

- + Character classes:
@@ -228,7 +228,7 @@ aaaa character class names.

- + Collating Elements:
@@ -257,7 +257,7 @@ aaaa element names.

- + Equivalence classes:
@@ -274,7 +274,7 @@ aaaa or even all locales on one platform.

- + Combinations:

@@ -282,7 +282,7 @@ aaaa [[:digit:]a-c[.NUL.]].

- + Escapes

@@ -297,7 +297,7 @@ aaaa will match either a literal '\' or a '^'.

- + What Gets Matched

@@ -307,11 +307,11 @@ aaaa rule.

- + Variations

- + Grep

@@ -329,7 +329,7 @@ aaaa As its name suggests, this behavior is consistent with the Unix utility grep.

- + emacs

@@ -609,7 +609,7 @@ aaaa leftmost-longest rule.

- + Options

@@ -623,7 +623,7 @@ aaaa options modify how the case and locale sensitivity are to be applied.

- + References

diff --git a/doc/html/boost_regex/syntax/perl_syntax.html b/doc/html/boost_regex/syntax/perl_syntax.html index 00e2b7e7..bc1a78fa 100644 --- a/doc/html/boost_regex/syntax/perl_syntax.html +++ b/doc/html/boost_regex/syntax/perl_syntax.html @@ -28,7 +28,7 @@ Syntax

- + Synopsis

@@ -43,7 +43,7 @@ boost::regex e2(my_expression, boost::regex::perl|boost::regex::icase);

- + Perl Regular Expression Syntax

@@ -53,7 +53,7 @@

.[{}()\*+?|^$
- + Wildcard

@@ -73,7 +73,7 @@

- + Anchors

@@ -83,7 +83,7 @@ A '$' character shall match the end of a line.

- + Marked sub-expressions
@@ -94,7 +94,7 @@ can also repeated, or referred to by a back-reference.

- + Non-marking grouping
@@ -107,7 +107,7 @@ without splitting out any separate sub-expressions.

- + Repeats

@@ -188,7 +188,7 @@ to be applied to.

- + Non greedy repeats
@@ -218,7 +218,7 @@ while consuming as little input as possible.

- + Possessive repeats
@@ -250,7 +250,7 @@ while giving nothing back.

- + Back references

@@ -360,7 +360,7 @@ named "two".

- + Alternation

@@ -387,7 +387,7 @@ (?:abc)?? has exactly the same effect.

- + Character sets

@@ -399,7 +399,7 @@ A bracket expression may contain any combination of the following:

- + Single characters

@@ -407,7 +407,7 @@ 'b', or 'c'.

- + Character ranges
@@ -421,7 +421,7 @@ sensitive.

- + Negation

@@ -430,7 +430,7 @@ matches any character that is not in the range a-c.

- + Character classes
@@ -441,7 +441,7 @@ class names.

- + Collating Elements
@@ -463,7 +463,7 @@ matches a \0 character.

- + Equivalence classes
@@ -480,7 +480,7 @@ or even all locales on one platform.

- + Escaped Characters
@@ -492,7 +492,7 @@ is not a "word" character.

- + Combinations

@@ -500,7 +500,7 @@ [[:digit:]a-c[.NUL.]].

- + Escapes

@@ -692,7 +692,7 @@

- + "Single character" character classes:
@@ -894,7 +894,7 @@
- + Character Properties
@@ -1002,7 +1002,7 @@ as does \p{digit}.

- + Word Boundaries

@@ -1021,7 +1021,7 @@ \B Matches only when not at a word boundary.

- + Buffer boundaries

@@ -1048,7 +1048,7 @@ (?=\n?\z).

- + Continuation Escape
@@ -1060,7 +1060,7 @@ one ended.

- + Quoting escape

@@ -1073,7 +1073,7 @@ \*+aaa

- + Unicode escapes

@@ -1083,7 +1083,7 @@ followed by a sequence of zero or more combining characters.

- + Matching Line Endings
@@ -1092,7 +1092,7 @@ sequence, specifically it is identical to the expression (?>\x0D\x0A?|[\x0A-\x0C\x85\x{2028}\x{2029}]).

- + Keeping back some text
@@ -1107,7 +1107,7 @@ This can be used to simulate variable width lookbehind assertions.

- + Any other escape
@@ -1116,7 +1116,7 @@ \@ matches a literal '@'.

- + Perl Extended Patterns
@@ -1125,7 +1125,7 @@ (?.

- + Named Subexpressions
@@ -1147,14 +1147,14 @@ format string for search and replace operations, or in the match_results member functions.

- + Comments

(?# ... ) is treated as a comment, it's contents are ignored.

- + Modifiers

@@ -1168,7 +1168,7 @@ pattern only.

- + Non-marking groups
@@ -1177,7 +1177,7 @@ an additional sub-expression.

- + Branch reset

@@ -1199,7 +1199,7 @@ # 1 2 2 3 2 3 4

- + Lookahead

@@ -1222,7 +1222,7 @@ could be used to validate the password.

- + Lookbehind

@@ -1236,7 +1236,7 @@ (pattern must be of fixed length).

- + Independent sub-expressions
@@ -1249,13 +1249,13 @@ no match is found at all.

- + Recursive Expressions

(?N) (?-N) (?+N) - (?R) (?0) + (?R) (?0) (?&NAME)

(?R) and (?0) recurse to the start @@ -1272,8 +1272,11 @@ to the last sub-expression to be declared, and (?+1) recurses to the next sub-expression to be declared.

+

+ (?&NAME) recurses to named sub-expression NAME. +

- + Conditional Expressions
@@ -1323,7 +1326,7 @@
- + Operator precedence
@@ -1358,7 +1361,7 @@

- + What gets matched

@@ -1534,7 +1537,7 @@

- + Variations

@@ -1543,7 +1546,7 @@ and JScript are all synonyms for perl.

- + Options

@@ -1555,7 +1558,7 @@ are to be applied.

- + Pattern Modifiers

@@ -1567,7 +1570,7 @@ and no_mod_s.

- + References

diff --git a/doc/html/boost_regex/unicode.html b/doc/html/boost_regex/unicode.html index 12729aee..04f48de3 100644 --- a/doc/html/boost_regex/unicode.html +++ b/doc/html/boost_regex/unicode.html @@ -30,7 +30,7 @@ There are two ways to use Boost.Regex with Unicode strings:

- + Rely on wchar_t

@@ -56,7 +56,7 @@

- + Use a Unicode Aware Regular Expression Type.
diff --git a/doc/html/index.html b/doc/html/index.html index 91866311..5115fb6a 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -28,7 +28,7 @@
-

+

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

@@ -195,7 +195,7 @@

- +

Last revised: April 26, 2011 at 08:43:03 GMT

Last revised: May 16, 2011 at 17:07:46 GMT


diff --git a/doc/syntax_perl.qbk b/doc/syntax_perl.qbk index 4abf94a4..21d873b6 100644 --- a/doc/syntax_perl.qbk +++ b/doc/syntax_perl.qbk @@ -514,7 +514,7 @@ whole to match then no match is found at all. [h5 Recursive Expressions] -[^(?['N]) (?-['N]) (?+['N]) (?R) (?0)] +[^(?['N]) (?-['N]) (?+['N]) (?R) (?0) (?&NAME)] =(?R)= and =(?0)= recurse to the start of the entire pattern. @@ -523,6 +523,8 @@ whole to match then no match is found at all. [^(?-['N])] and [^(?+['N])] are relative recursions, so for example =(?-1)= recurses to the last sub-expression to be declared, and =(?+1)= recurses to the next sub-expression to be declared. +[^(?&NAME)] recurses to named sub-expression ['NAME]. + [h5 Conditional Expressions] =(?(condition)yes-pattern|no-pattern)= attempts to match /yes-pattern/ if From 27ad285fbf2ef5a64deaa5ef66b5f72fe1dd3f62 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 10 Jun 2011 17:03:48 +0000 Subject: [PATCH 4/9] Fix access violation caused by past-the-end iterator deference for expressions such as ".*?". [SVN r72540] --- include/boost/regex/v4/basic_regex_parser.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/boost/regex/v4/basic_regex_parser.hpp b/include/boost/regex/v4/basic_regex_parser.hpp index 0192a9f1..f9d4399b 100644 --- a/include/boost/regex/v4/basic_regex_parser.hpp +++ b/include/boost/regex/v4/basic_regex_parser.hpp @@ -941,7 +941,8 @@ bool basic_regex_parser::parse_repeat(std::size_t low, std::size_ ++m_position; } // for perl regexes only check for pocessive ++ repeats. - if((0 == (this->flags() & regbase::main_option_type)) + if((m_position != m_end) + && (0 == (this->flags() & regbase::main_option_type)) && (this->m_traits.syntax_type(*m_position) == regex_constants::syntax_plus)) { pocessive = true; From 6c181b02ba52ae63ddd4d2037a7a6a6061c8f7d9 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 10 Jun 2011 17:17:14 +0000 Subject: [PATCH 5/9] Add some typecasts to prevent copying a buffer twice (makes sure we find the correct overload of assign). [SVN r72541] --- include/boost/regex/v4/basic_regex.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/regex/v4/basic_regex.hpp b/include/boost/regex/v4/basic_regex.hpp index 53b7bcaa..1e71877e 100644 --- a/include/boost/regex/v4/basic_regex.hpp +++ b/include/boost/regex/v4/basic_regex.hpp @@ -398,7 +398,7 @@ public: typedef typename traits::string_type seq_type; seq_type a(arg_first, arg_last); if(a.size()) - assign(&*a.begin(), &*a.begin() + a.size(), f); + assign(static_cast(&*a.begin()), static_cast(&*a.begin() + a.size()), f); else assign(static_cast(0), static_cast(0), f); } From fbf5c7d62c09e49a0c0efcdaf3ddad81bb213596 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 16 Jun 2011 11:27:13 +0000 Subject: [PATCH 6/9] Fix infinite recursion in bad recursive expressions. Fix bug that allows invalid regex to go unnoticed and crash later. Fixes #5613. Fixes #5612. [SVN r72612] --- .../boost/regex/v4/basic_regex_creator.hpp | 23 +++++++++++++++---- include/boost/regex/v4/basic_regex_parser.hpp | 3 ++- test/regress/test_perl_ex.cpp | 1 + test/regress/test_simple_repeats.cpp | 3 +++ 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/include/boost/regex/v4/basic_regex_creator.hpp b/include/boost/regex/v4/basic_regex_creator.hpp index efa9f7dd..6c1acd78 100644 --- a/include/boost/regex/v4/basic_regex_creator.hpp +++ b/include/boost/regex/v4/basic_regex_creator.hpp @@ -241,6 +241,7 @@ protected: unsigned m_backrefs; // bitmask of permitted backrefs boost::uintmax_t m_bad_repeats; // bitmask of repeats we can't deduce a startmap for; bool m_has_recursions; // set when we have recursive expresisons to fixup + std::vector m_recursion_checks; // notes which recursions we've followed while analysing this expression typename traits::char_class_type m_word_mask; // mask used to determine if a character is a word character typename traits::char_class_type m_mask_space; // mask used to determine if a character is a word character typename traits::char_class_type m_lower_mask; // mask used to determine if a character is a lowercase character @@ -712,6 +713,8 @@ void basic_regex_creator::finalize(const charT* p1, const charT* m_pdata->m_can_be_null = 0; m_bad_repeats = 0; + if(m_has_recursions) + m_recursion_checks.assign(1 + m_pdata->m_mark_count, false); create_startmap(m_pdata->m_first_state, m_pdata->m_startmap, &(m_pdata->m_can_be_null), mask_all); // get the restart type: m_pdata->m_restart_type = get_restart_type(m_pdata->m_first_state); @@ -948,9 +951,14 @@ void basic_regex_creator::create_startmaps(re_syntax_base* state) state = state->next.p; } } + // now work through our list, building all the maps as we go: while(v.size()) { + // Initialize m_recursion_checks if we need it: + if(m_has_recursions) + m_recursion_checks.assign(1 + m_pdata->m_mark_count, false); + const std::pair& p = v.back(); m_icase = p.first; state = p.second; @@ -960,6 +968,9 @@ void basic_regex_creator::create_startmaps(re_syntax_base* state) m_bad_repeats = 0; create_startmap(state->next.p, static_cast(state)->_map, &static_cast(state)->can_be_null, mask_take); m_bad_repeats = 0; + + if(m_has_recursions) + m_recursion_checks.assign(1 + m_pdata->m_mark_count, false); create_startmap(static_cast(state)->alt.p, static_cast(state)->_map, &static_cast(state)->can_be_null, mask_skip); // adjust the type of the state to allow for faster matching: state->type = this->get_repeat_type(state); @@ -1114,7 +1125,11 @@ void basic_regex_creator::create_startmap(re_syntax_base* state, } case syntax_element_recurse: { - if(recursion_start == state) + if(state->type == syntax_element_startmark) + recursion_sub = static_cast(state)->index; + else + recursion_sub = 0; + if(m_recursion_checks[recursion_sub]) { // Infinite recursion!! if(0 == this->m_pdata->m_status) // update the error code if not already set @@ -1139,12 +1154,10 @@ void basic_regex_creator::create_startmap(re_syntax_base* state, recursion_start = state; recursion_restart = state->next.p; state = static_cast(state)->alt.p; - if(state->type == syntax_element_startmark) - recursion_sub = static_cast(state)->index; - else - recursion_sub = 0; + m_recursion_checks[recursion_sub] = true; break; } + m_recursion_checks[recursion_sub] = true; // fall through, can't handle nested recursion here... } case syntax_element_backref: diff --git a/include/boost/regex/v4/basic_regex_parser.hpp b/include/boost/regex/v4/basic_regex_parser.hpp index f9d4399b..87ff6e20 100644 --- a/include/boost/regex/v4/basic_regex_parser.hpp +++ b/include/boost/regex/v4/basic_regex_parser.hpp @@ -1026,13 +1026,14 @@ bool basic_regex_parser::parse_repeat(std::size_t low, std::size_ { // // Check for illegal following quantifier, we have to do this here, because - // the extra states we insert below circumvents are usual error checking :-( + // the extra states we insert below circumvents our usual error checking :-( // switch(this->m_traits.syntax_type(*m_position)) { case regex_constants::syntax_star: case regex_constants::syntax_plus: case regex_constants::syntax_question: + case regex_constants::syntax_open_brace: fail(regex_constants::error_badrepeat, m_position - m_base); return false; } diff --git a/test/regress/test_perl_ex.cpp b/test/regress/test_perl_ex.cpp index 3307d314..8a14b826 100644 --- a/test/regress/test_perl_ex.cpp +++ b/test/regress/test_perl_ex.cpp @@ -908,6 +908,7 @@ void test_recursion() // Bugs: TEST_REGEX_SEARCH("namespace\\s+(\\w+)\\s+(\\{(?:[^{}]*(?:(?2)[^{}]*)*)?\\})", perl, "namespace one { namespace two { int foo(); } }", match_default, make_array(0, 46, 10, 13, 14, 46, -2, -2)); TEST_REGEX_SEARCH("namespace\\s+(\\w+)\\s+(\\{(?:[^{}]*(?:(?2)[^{}]*)*)?\\})", perl, "namespace one { namespace two { int foo(){} } { {{{ } } } } {}}", match_default, make_array(0, 64, 10, 13, 14, 64, -2, -2)); + TEST_INVALID_REGEX("((?1)|a)", perl); // Recursion to a named sub with a name that is used multiple times: TEST_REGEX_SEARCH("(?:(?a+)|(?b+))\\.(?&A)", perl, "aaaa.aa", match_default, make_array(0, 7, 0, 4, -1, -1, -2, -2)); diff --git a/test/regress/test_simple_repeats.cpp b/test/regress/test_simple_repeats.cpp index 30bcae5a..044ca2fd 100644 --- a/test/regress/test_simple_repeats.cpp +++ b/test/regress/test_simple_repeats.cpp @@ -477,6 +477,9 @@ void test_pocessive_repeats() TEST_REGEX_SEARCH("x{1,4}+\\w", perl, "xxxxxa", match_default, make_array(0, 5, -2, -2)); TEST_REGEX_SEARCH("x{1,3}+\\w", perl, "xxxxxa", match_default, make_array(0, 4, -2, 4, 6, -2, -2)); TEST_INVALID_REGEX("\\d+++", perl); + TEST_INVALID_REGEX("\\d++*", perl); + TEST_INVALID_REGEX("\\d++?", perl); + TEST_INVALID_REGEX("\\d++{3}", perl); TEST_INVALID_REGEX("\\d*++", perl); TEST_INVALID_REGEX("\\d?++", perl); TEST_INVALID_REGEX("\\d{1,2}++", perl); From 2fb19b66e09b36a02a672f7c758c397b2171ec84 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Wed, 29 Jun 2011 18:17:47 +0000 Subject: [PATCH 7/9] Update tests for ICU-4.8 and Unicode version 6. [SVN r72801] --- test/regress/test_unicode.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/regress/test_unicode.cpp b/test/regress/test_unicode.cpp index f84aa3ab..eed5b456 100644 --- a/test/regress/test_unicode.cpp +++ b/test/regress/test_unicode.cpp @@ -75,8 +75,8 @@ void test_unicode() TEST_REGEX_CLASS_U(Non-Spacing Mark, 20EA); TEST_REGEX_CLASS_U(Mc, 1938); TEST_REGEX_CLASS_U(Spacing Combining Mark, 1938); - TEST_REGEX_CLASS_U(Me, 06DE); - TEST_REGEX_CLASS_U(Enclosing Mark, 06DE); + TEST_REGEX_CLASS_U(Me, 0488); + TEST_REGEX_CLASS_U(Enclosing Mark, 0488); TEST_REGEX_CLASS_U(N*, 0669); TEST_REGEX_CLASS_U(Number, 0669); TEST_REGEX_CLASS_U(Nd, 0669); From 03ef9626ba349b188ac2b2b450402c1ceaa11232 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 30 Jun 2011 12:23:43 +0000 Subject: [PATCH 8/9] Set the Unicode locale to a "know good", otherwise a few tests fail on Linux. [SVN r72816] --- test/regress/main.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/test/regress/main.cpp b/test/regress/main.cpp index 85ece016..0fcd0921 100644 --- a/test/regress/main.cpp +++ b/test/regress/main.cpp @@ -20,6 +20,10 @@ #include "test_locale.hpp" #include +#ifdef BOOST_HAS_ICU +#include +#endif + #ifdef TEST_THREADS #include #include @@ -82,6 +86,19 @@ void run_tests() int cpp_main(int /*argc*/, char * /*argv*/[]) { +#ifdef BOOST_HAS_ICU + // + // We need to set the default locale used by ICU, + // otherwise some of our tests using equivalence classes fail. + // + UErrorCode err = U_ZERO_ERROR; + uloc_setDefault("en", &err); + if(err != U_ZERO_ERROR) + { + std::cerr << "Unable to set the default ICU locale to \"en\"." << std::endl; + return -1; + } +#endif #ifdef TEST_THREADS try{ get_array_data(); // initialises data. From d08bfeff255f7c49aeaa87d97e983bc7eb226ac0 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 21 Jul 2011 10:01:09 +0000 Subject: [PATCH 9/9] Add checked constructors to the Unicode iterators that need them. Update icu support code to use the new checking-constructors. Update tests to check the full Unicode character range (as of Unicode V6). Add minimal docs describing the iterators. [SVN r73271] --- .../boost_regex/background_information.html | 12 +- .../acknowledgements.html | 6 +- .../background_information/examples.html | 58 +++--- .../background_information/faq.html | 6 +- .../background_information/futher.html | 6 +- .../background_information/headers.html | 6 +- .../background_information/history.html | 138 ++++++------- .../background_information/locale.html | 44 +---- .../background_information/performance.html | 12 +- .../background_information/redist.html | 6 +- .../background_information/standards.html | 16 +- .../background_information/thread_safety.html | 6 +- doc/html/boost_regex/captures.html | 18 +- doc/html/boost_regex/configuration.html | 6 +- .../boost_regex/configuration/algorithm.html | 6 +- .../boost_regex/configuration/compiler.html | 6 +- .../boost_regex/configuration/linkage.html | 6 +- .../boost_regex/configuration/locale.html | 6 +- .../boost_regex/configuration/tuning.html | 6 +- doc/html/boost_regex/format.html | 6 +- .../format/boost_format_syntax.html | 14 +- doc/html/boost_regex/format/perl_format.html | 6 +- doc/html/boost_regex/format/sed_format.html | 6 +- doc/html/boost_regex/install.html | 47 +++-- .../introduction_and_overview.html | 10 +- doc/html/boost_regex/partial_matches.html | 96 ++++----- doc/html/boost_regex/ref.html | 9 +- doc/html/boost_regex/ref/bad_expression.html | 20 +- doc/html/boost_regex/ref/basic_regex.html | 102 +++++----- doc/html/boost_regex/ref/concepts.html | 6 +- .../ref/concepts/charT_concept.html | 6 +- .../ref/concepts/iterator_concepts.html | 6 +- .../ref/concepts/traits_concept.html | 10 +- .../ref/deprecated_interfaces.html | 6 +- .../ref/deprecated_interfaces/old_regex.html | 28 +-- .../deprecated_interfaces/regex_format.html | 8 +- .../ref/deprecated_interfaces/regex_grep.html | 142 +++++++------- .../deprecated_interfaces/regex_split.html | 20 +- doc/html/boost_regex/ref/error_type.html | 16 +- .../boost_regex/ref/internal_details.html | 45 +++++ .../ref/internal_details/uni_iter.html | 183 ++++++++++++++++++ doc/html/boost_regex/ref/match_flag_type.html | 14 +- doc/html/boost_regex/ref/match_results.html | 50 ++--- doc/html/boost_regex/ref/non_std_strings.html | 6 +- .../boost_regex/ref/non_std_strings/icu.html | 6 +- .../ref/non_std_strings/icu/intro.html | 14 +- .../ref/non_std_strings/icu/unicode_algo.html | 76 ++++---- .../ref/non_std_strings/icu/unicode_iter.html | 30 +-- .../non_std_strings/icu/unicode_types.html | 6 +- .../ref/non_std_strings/mfc_strings.html | 6 +- .../non_std_strings/mfc_strings/mfc_algo.html | 62 +++--- .../mfc_strings/mfc_intro.html | 6 +- .../non_std_strings/mfc_strings/mfc_iter.html | 22 +-- .../mfc_strings/mfc_regex_create.html | 6 +- .../mfc_strings/mfc_regex_types.html | 6 +- doc/html/boost_regex/ref/posix.html | 14 +- doc/html/boost_regex/ref/regex_iterator.html | 66 +++---- doc/html/boost_regex/ref/regex_match.html | 32 +-- doc/html/boost_regex/ref/regex_replace.html | 50 ++--- doc/html/boost_regex/ref/regex_search.html | 38 ++-- .../boost_regex/ref/regex_token_iterator.html | 36 ++-- doc/html/boost_regex/ref/regex_traits.html | 26 +-- doc/html/boost_regex/ref/sub_match.html | 74 +++---- .../boost_regex/ref/syntax_option_type.html | 6 +- .../syntax_option_type_basic.html | 6 +- .../syntax_option_type_extended.html | 6 +- .../syntax_option_type_literal.html | 6 +- .../syntax_option_type_overview.html | 6 +- .../syntax_option_type_perl.html | 6 +- .../syntax_option_type_synopsis.html | 40 ++-- doc/html/boost_regex/syntax.html | 14 +- .../boost_regex/syntax/basic_extended.html | 112 +++++------ doc/html/boost_regex/syntax/basic_syntax.html | 64 +++--- .../boost_regex/syntax/character_classes.html | 6 +- .../optional_char_class_names.html | 6 +- .../character_classes/std_char_clases.html | 6 +- .../boost_regex/syntax/collating_names.html | 6 +- .../syntax/collating_names/digraphs.html | 6 +- .../syntax/collating_names/named_unicode.html | 6 +- .../collating_names/posix_symbolic_names.html | 6 +- .../syntax/leftmost_longest_rule.html | 22 +-- doc/html/boost_regex/syntax/perl_syntax.html | 164 ++++++++-------- doc/html/boost_regex/unicode.html | 18 +- doc/html/index.html | 13 +- doc/regex.qbk | 4 + include/boost/regex/icu.hpp | 10 +- .../boost/regex/pending/unicode_iterator.hpp | 71 ++++++- test/Jamfile.v2 | 3 +- test/unicode/unicode_iterator_test.cpp | 93 ++++++++- 89 files changed, 1426 insertions(+), 1088 deletions(-) create mode 100644 doc/html/boost_regex/ref/internal_details.html create mode 100644 doc/html/boost_regex/ref/internal_details/uni_iter.html diff --git a/doc/html/boost_regex/background_information.html b/doc/html/boost_regex/background_information.html index c360f6bb..ccd9ff3a 100644 --- a/doc/html/boost_regex/background_information.html +++ b/doc/html/boost_regex/background_information.html @@ -3,10 +3,10 @@ Background Information - + - + @@ -20,9 +20,9 @@
-PrevUpHomeNext +PrevUpHomeNext
-
+
@@ -46,7 +46,7 @@
-

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/boost_regex/background_information/acknowledgements.html b/doc/html/boost_regex/background_information/acknowledgements.html index f0f20f8b..965257cd 100644 --- a/doc/html/boost_regex/background_information/acknowledgements.html +++ b/doc/html/boost_regex/background_information/acknowledgements.html @@ -3,7 +3,7 @@ Acknowledgements - + @@ -22,7 +22,7 @@
PrevUpHomeNext
-
+
@@ -73,7 +73,7 @@
-