From e3228b61eb6958c121800f4e2b173ae064ad1801 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Thu, 9 Jun 2016 18:02:31 +0100 Subject: [PATCH 1/9] Fix ICU detection. See: https://svn.boost.org/trac/boost/ticket/12152. --- build/Jamfile.v2 | 7 +------ build/has_icu_test.cpp | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index bcb69109..887eaea3 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -115,11 +115,6 @@ if ! $(disable-icu) } -actions regex_simple_run_action -{ - $(>) > $(<) -} - rule regex-run-simple ( sources + : args * : input-files * : requirements * : target-name ) { exe $(target-name)_exe : $(sources) : $(requirements) ; @@ -129,7 +124,7 @@ rule regex-run-simple ( sources + : args * : input-files * : requirements * : ta alias $(target-name) : $(target-name).output ; } -regex-run-simple has_icu_test.cpp : : : $(ICU_OPTS) : has_icu ; +unit-test has_icu : has_icu_test.cpp : $(ICU_OPTS) ; explicit has_icu ; alias icu_options : : : : [ check-target-builds has_icu : $(ICU_OPTS) : ] ; diff --git a/build/has_icu_test.cpp b/build/has_icu_test.cpp index 8d42e25c..7886b352 100644 --- a/build/has_icu_test.cpp +++ b/build/has_icu_test.cpp @@ -21,6 +21,11 @@ #error "Mixing ICU with a static runtime doesn't work" #endif +void print_error(UErrorCode err, const char* func) +{ + std::cerr << "Error from function " << func << " with error: " << ::u_errorName(err) << std::endl; +} + int main() { // To detect possible binary mismatches between the installed ICU build, and whatever @@ -31,8 +36,17 @@ int main() UErrorCode err = U_ZERO_ERROR; UChar32 c = ::u_charFromName(U_UNICODE_CHAR_NAME, "GREEK SMALL LETTER ALPHA", &err); std::cout << (int)c << std::endl; - if(err > 0) return err; + if(err > 0) + { + print_error(err, "u_charFromName"); + return err; + } U_NAMESPACE_QUALIFIER Locale l; boost::scoped_ptr p_col(U_NAMESPACE_QUALIFIER Collator::createInstance(l, err)); + if(err > 0) + { + print_error(err, "Collator::createInstance"); + return err; + } return err > 0 ? err : 0; } From 7719dedbafa0ffdd3bd7d6d6c87881dd6fcde9e5 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Thu, 9 Jun 2016 19:00:29 +0100 Subject: [PATCH 2/9] Fix buffer over-run error when parsing invalid regex. See: https://svn.boost.org/trac/boost/ticket/12222. --- include/boost/regex/v4/basic_regex_parser.hpp | 6 +++++- test/regress/basic_tests.cpp | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/include/boost/regex/v4/basic_regex_parser.hpp b/include/boost/regex/v4/basic_regex_parser.hpp index aefabacb..0071a8ce 100644 --- a/include/boost/regex/v4/basic_regex_parser.hpp +++ b/include/boost/regex/v4/basic_regex_parser.hpp @@ -543,7 +543,11 @@ bool basic_regex_parser::parse_open_paren() template bool basic_regex_parser::parse_basic_escape() { - ++m_position; + if(++m_position == m_end) + { + fail(regex_constants::error_paren, m_position - m_base); + return false; + } bool result = true; switch(this->m_traits.escape_syntax_type(*m_position)) { diff --git a/test/regress/basic_tests.cpp b/test/regress/basic_tests.cpp index a1251f9b..25f00c24 100644 --- a/test/regress/basic_tests.cpp +++ b/test/regress/basic_tests.cpp @@ -61,6 +61,7 @@ void basic_tests() TEST_REGEX_SEARCH("\\(\\)", basic, "", match_default, make_array(0, 0, 0, 0, -2, -2)); TEST_INVALID_REGEX("\\(", basic); TEST_INVALID_REGEX("\\)", basic); + TEST_INVALID_REGEX("\\", basic); TEST_INVALID_REGEX("\\(aa", basic); TEST_INVALID_REGEX("aa\\)", basic); TEST_REGEX_SEARCH("()", basic, "()", match_default, make_array(0, 2, -2, -2)); From 1101c0be6a46cef1e6644b2491814967aadb579b Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Fri, 10 Jun 2016 17:59:12 +0100 Subject: [PATCH 3/9] Update library history. --- doc/history.qbk | 11 +++- .../boost_regex/background_information.html | 4 +- .../acknowledgements.html | 2 +- .../background_information/examples.html | 2 +- .../background_information/faq.html | 2 +- .../background_information/futher.html | 2 +- .../background_information/headers.html | 2 +- .../background_information/history.html | 56 ++++++++++++------- .../background_information/locale.html | 2 +- .../background_information/performance.html | 2 +- ...iler_Microsoft_Visual_C_version_14_0_.html | 2 +- ...m_linux_compiler_GNU_C_version_5_1_0_.html | 2 +- ...iler_Microsoft_Visual_C_version_14_0_.html | 2 +- ...m_linux_compiler_GNU_C_version_5_1_0_.html | 2 +- ...iler_Microsoft_Visual_C_version_14_0_.html | 2 +- ...m_linux_compiler_GNU_C_version_5_1_0_.html | 2 +- ...iler_Microsoft_Visual_C_version_14_0_.html | 2 +- ...m_linux_compiler_GNU_C_version_5_1_0_.html | 2 +- .../background_information/redist.html | 2 +- .../background_information/standards.html | 2 +- .../background_information/thread_safety.html | 2 +- doc/html/boost_regex/captures.html | 4 +- doc/html/boost_regex/configuration.html | 6 +- .../boost_regex/configuration/algorithm.html | 2 +- .../boost_regex/configuration/compiler.html | 2 +- .../boost_regex/configuration/linkage.html | 2 +- .../boost_regex/configuration/locale.html | 2 +- .../boost_regex/configuration/tuning.html | 2 +- doc/html/boost_regex/format.html | 4 +- .../format/boost_format_syntax.html | 2 +- doc/html/boost_regex/format/perl_format.html | 2 +- doc/html/boost_regex/format/sed_format.html | 2 +- doc/html/boost_regex/install.html | 4 +- .../introduction_and_overview.html | 4 +- doc/html/boost_regex/partial_matches.html | 4 +- doc/html/boost_regex/ref.html | 4 +- doc/html/boost_regex/ref/bad_expression.html | 2 +- doc/html/boost_regex/ref/basic_regex.html | 2 +- doc/html/boost_regex/ref/concepts.html | 2 +- .../ref/concepts/charT_concept.html | 2 +- .../ref/concepts/iterator_concepts.html | 2 +- .../ref/concepts/traits_concept.html | 2 +- .../ref/deprecated_interfaces.html | 2 +- .../ref/deprecated_interfaces/old_regex.html | 2 +- .../deprecated_interfaces/regex_format.html | 2 +- .../ref/deprecated_interfaces/regex_grep.html | 2 +- .../deprecated_interfaces/regex_split.html | 2 +- doc/html/boost_regex/ref/error_type.html | 2 +- .../boost_regex/ref/internal_details.html | 2 +- .../ref/internal_details/uni_iter.html | 2 +- doc/html/boost_regex/ref/match_flag_type.html | 2 +- doc/html/boost_regex/ref/match_results.html | 2 +- doc/html/boost_regex/ref/non_std_strings.html | 2 +- .../boost_regex/ref/non_std_strings/icu.html | 2 +- .../ref/non_std_strings/icu/intro.html | 2 +- .../ref/non_std_strings/icu/unicode_algo.html | 2 +- .../ref/non_std_strings/icu/unicode_iter.html | 2 +- .../non_std_strings/icu/unicode_types.html | 2 +- .../ref/non_std_strings/mfc_strings.html | 2 +- .../non_std_strings/mfc_strings/mfc_algo.html | 2 +- .../mfc_strings/mfc_intro.html | 2 +- .../non_std_strings/mfc_strings/mfc_iter.html | 2 +- .../mfc_strings/mfc_regex_create.html | 2 +- .../mfc_strings/mfc_regex_types.html | 2 +- doc/html/boost_regex/ref/posix.html | 2 +- doc/html/boost_regex/ref/regex_iterator.html | 2 +- doc/html/boost_regex/ref/regex_match.html | 2 +- doc/html/boost_regex/ref/regex_replace.html | 2 +- doc/html/boost_regex/ref/regex_search.html | 2 +- .../boost_regex/ref/regex_token_iterator.html | 2 +- doc/html/boost_regex/ref/regex_traits.html | 2 +- doc/html/boost_regex/ref/sub_match.html | 2 +- .../boost_regex/ref/syntax_option_type.html | 2 +- .../syntax_option_type_basic.html | 2 +- .../syntax_option_type_extended.html | 2 +- .../syntax_option_type_literal.html | 2 +- .../syntax_option_type_overview.html | 2 +- .../syntax_option_type_perl.html | 2 +- .../syntax_option_type_synopsis.html | 2 +- doc/html/boost_regex/syntax.html | 4 +- .../boost_regex/syntax/basic_extended.html | 2 +- doc/html/boost_regex/syntax/basic_syntax.html | 2 +- .../boost_regex/syntax/character_classes.html | 2 +- .../optional_char_class_names.html | 2 +- .../character_classes/std_char_classes.html | 2 +- .../boost_regex/syntax/collating_names.html | 2 +- .../syntax/collating_names/digraphs.html | 2 +- .../syntax/collating_names/named_unicode.html | 2 +- .../collating_names/posix_symbolic_names.html | 2 +- .../syntax/leftmost_longest_rule.html | 2 +- doc/html/boost_regex/syntax/perl_syntax.html | 2 +- doc/html/boost_regex/unicode.html | 4 +- doc/html/index.html | 8 +-- doc/regex.qbk | 2 +- 94 files changed, 151 insertions(+), 128 deletions(-) diff --git a/doc/history.qbk b/doc/history.qbk index 17b43f57..df37a010 100644 --- a/doc/history.qbk +++ b/doc/history.qbk @@ -15,10 +15,17 @@ Currently open issues can be viewed [@https://svn.boost.org/trac/boost/query?sta All issues including closed ones can be viewed [@https://svn.boost.org/trac/boost/query?status=assigned&status=closed&status=new&status=reopened&component=regex&order=priority&col=id&col=summary&col=status&col=type&col=milestone&col=component here]. -[h4 Boost.Regex-5.1.1] +[h4 Boost.Regex-5.1.2] + + +* Fix buffer over-run error when parsing certain invalid regexes, see [@https://svn.boost.org/trac/boost/ticket/12222 #12222]. +* Fix detection of ICU in library build, see [@https://svn.boost.org/trac/boost/ticket/12152 #12152]. +* Fix bug in case sensitivity change, see [@https://svn.boost.org/trac/boost/ticket/11940 #11940]. +* Allow types wider than int in `\x{}` expressions (for char32_t etc), see [@https://svn.boost.org/trac/boost/ticket/11988 #11988]. + +[h4 Boost.Regex-5.1.1 (Boost-1.61.0)] * Change to lockfree implementation of memory cache, see [@https://github.com/boostorg/regex/pull/23 PR#23]. -* Fix bug in case sensitivity change, see [@https://svn.boost.org/trac/boost/ticket/11940 #11940]. [h4 Boost.Regex-5.1.0 (Boost-1.60.0)] diff --git a/doc/html/boost_regex/background_information.html b/doc/html/boost_regex/background_information.html index ccf83eda..1e172aa6 100644 --- a/doc/html/boost_regex/background_information.html +++ b/doc/html/boost_regex/background_information.html @@ -4,8 +4,8 @@ Background Information - - + + diff --git a/doc/html/boost_regex/background_information/acknowledgements.html b/doc/html/boost_regex/background_information/acknowledgements.html index 1844f2ad..d556d29b 100644 --- a/doc/html/boost_regex/background_information/acknowledgements.html +++ b/doc/html/boost_regex/background_information/acknowledgements.html @@ -4,7 +4,7 @@ Acknowledgements - + diff --git a/doc/html/boost_regex/background_information/examples.html b/doc/html/boost_regex/background_information/examples.html index f8ce5687..21fbf7bd 100644 --- a/doc/html/boost_regex/background_information/examples.html +++ b/doc/html/boost_regex/background_information/examples.html @@ -4,7 +4,7 @@ Test and Example Programs - + diff --git a/doc/html/boost_regex/background_information/faq.html b/doc/html/boost_regex/background_information/faq.html index f54c918c..4cf59034 100644 --- a/doc/html/boost_regex/background_information/faq.html +++ b/doc/html/boost_regex/background_information/faq.html @@ -4,7 +4,7 @@ FAQ - + diff --git a/doc/html/boost_regex/background_information/futher.html b/doc/html/boost_regex/background_information/futher.html index ca17e02b..f844e77c 100644 --- a/doc/html/boost_regex/background_information/futher.html +++ b/doc/html/boost_regex/background_information/futher.html @@ -4,7 +4,7 @@ References and Further Information - + diff --git a/doc/html/boost_regex/background_information/headers.html b/doc/html/boost_regex/background_information/headers.html index bc8c5748..1bad39bd 100644 --- a/doc/html/boost_regex/background_information/headers.html +++ b/doc/html/boost_regex/background_information/headers.html @@ -4,7 +4,7 @@ Headers - + diff --git a/doc/html/boost_regex/background_information/history.html b/doc/html/boost_regex/background_information/history.html index 1cf10e32..c09a95e0 100644 --- a/doc/html/boost_regex/background_information/history.html +++ b/doc/html/boost_regex/background_information/history.html @@ -4,7 +4,7 @@ History - + @@ -37,18 +37,34 @@

- Boost.Regex-5.1.1 + Boost.Regex-5.1.2
  • - Change to lockfree implementation of memory cache, see PR#23. + Fix buffer over-run error when parsing certain invalid regexes, see + #12222. +
  • +
  • + Fix detection of ICU in library build, see #12152.
  • Fix bug in case sensitivity change, see #11940.
  • +
  • + Allow types wider than int in \x{} + expressions (for char32_t etc), see #11988. +
+ Boost.Regex-5.1.1 + (Boost-1.61.0) +
+
  • + Change to lockfree implementation of memory cache, see PR#23. +
+
+ Boost.Regex-5.1.0 (Boost-1.60.0)
@@ -71,7 +87,7 @@
- + Boost.Regex-5.0.1 (Boost-1.58.0)
@@ -104,7 +120,7 @@
- + Boost.Regex-5.0.0 (Boost-1.56.0)
@@ -137,14 +153,14 @@
- + Boost-1.54

Fixed issue #8569.

- + Boost-1.53

@@ -152,7 +168,7 @@ #7644.

- + Boost-1.51

@@ -162,7 +178,7 @@ #6346.

- + Boost-1.50

@@ -171,7 +187,7 @@ expression.

- + Boost-1.48

@@ -181,7 +197,7 @@ #5736.

- + Boost 1.47

@@ -193,7 +209,7 @@ #5504.

- + Boost 1.44

@@ -211,7 +227,7 @@ #3890

- + Boost 1.42
    @@ -239,7 +255,7 @@
- + Boost 1.40
  • @@ -247,7 +263,7 @@ branch resets and recursive regular expressions.
- + Boost 1.38
    @@ -274,7 +290,7 @@
- + Boost 1.34
    @@ -296,7 +312,7 @@
- + Boost 1.33.1
    @@ -365,7 +381,7 @@
- + Boost 1.33.0
    @@ -419,14 +435,14 @@
- + Boost 1.32.1
  • 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 0ee1bc01..8d7f64b5 100644 --- a/doc/html/boost_regex/background_information/locale.html +++ b/doc/html/boost_regex/background_information/locale.html @@ -4,7 +4,7 @@ Localization - + diff --git a/doc/html/boost_regex/background_information/performance.html b/doc/html/boost_regex/background_information/performance.html index aa868e17..dc5d626f 100644 --- a/doc/html/boost_regex/background_information/performance.html +++ b/doc/html/boost_regex/background_information/performance.html @@ -4,7 +4,7 @@ Performance - + diff --git a/doc/html/boost_regex/background_information/performance/section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html b/doc/html/boost_regex/background_information/performance/section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html index 862abe19..3e9f4e92 100644 --- a/doc/html/boost_regex/background_information/performance/section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html +++ b/doc/html/boost_regex/background_information/performance/section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html @@ -4,7 +4,7 @@ Testing Perl searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0) - + diff --git a/doc/html/boost_regex/background_information/performance/section_Testing_Perl_searches_platform_linux_compiler_GNU_C_version_5_1_0_.html b/doc/html/boost_regex/background_information/performance/section_Testing_Perl_searches_platform_linux_compiler_GNU_C_version_5_1_0_.html index c9bd9ab9..dfcb86ea 100644 --- a/doc/html/boost_regex/background_information/performance/section_Testing_Perl_searches_platform_linux_compiler_GNU_C_version_5_1_0_.html +++ b/doc/html/boost_regex/background_information/performance/section_Testing_Perl_searches_platform_linux_compiler_GNU_C_version_5_1_0_.html @@ -4,7 +4,7 @@ Testing Perl searches (platform = linux, compiler = GNU C++ version 5.1.0) - + diff --git a/doc/html/boost_regex/background_information/performance/section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html b/doc/html/boost_regex/background_information/performance/section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html index a025f045..3de31a36 100644 --- a/doc/html/boost_regex/background_information/performance/section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html +++ b/doc/html/boost_regex/background_information/performance/section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html @@ -4,7 +4,7 @@ Testing leftmost-longest searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0) - + diff --git a/doc/html/boost_regex/background_information/performance/section_Testing_leftmost_longest_searches_platform_linux_compiler_GNU_C_version_5_1_0_.html b/doc/html/boost_regex/background_information/performance/section_Testing_leftmost_longest_searches_platform_linux_compiler_GNU_C_version_5_1_0_.html index 253af96c..0791ce8f 100644 --- a/doc/html/boost_regex/background_information/performance/section_Testing_leftmost_longest_searches_platform_linux_compiler_GNU_C_version_5_1_0_.html +++ b/doc/html/boost_regex/background_information/performance/section_Testing_leftmost_longest_searches_platform_linux_compiler_GNU_C_version_5_1_0_.html @@ -4,7 +4,7 @@ Testing leftmost-longest searches (platform = linux, compiler = GNU C++ version 5.1.0) - + diff --git a/doc/html/boost_regex/background_information/performance/section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html b/doc/html/boost_regex/background_information/performance/section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html index 1756715b..eac8b8a3 100644 --- a/doc/html/boost_regex/background_information/performance/section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html +++ b/doc/html/boost_regex/background_information/performance/section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html @@ -4,7 +4,7 @@ Testing simple Perl matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0) - + diff --git a/doc/html/boost_regex/background_information/performance/section_Testing_simple_Perl_matches_platform_linux_compiler_GNU_C_version_5_1_0_.html b/doc/html/boost_regex/background_information/performance/section_Testing_simple_Perl_matches_platform_linux_compiler_GNU_C_version_5_1_0_.html index 0fd68453..22f4d6a0 100644 --- a/doc/html/boost_regex/background_information/performance/section_Testing_simple_Perl_matches_platform_linux_compiler_GNU_C_version_5_1_0_.html +++ b/doc/html/boost_regex/background_information/performance/section_Testing_simple_Perl_matches_platform_linux_compiler_GNU_C_version_5_1_0_.html @@ -4,7 +4,7 @@ Testing simple Perl matches (platform = linux, compiler = GNU C++ version 5.1.0) - + diff --git a/doc/html/boost_regex/background_information/performance/section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html b/doc/html/boost_regex/background_information/performance/section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html index 32487345..4566c299 100644 --- a/doc/html/boost_regex/background_information/performance/section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html +++ b/doc/html/boost_regex/background_information/performance/section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html @@ -4,7 +4,7 @@ Testing simple leftmost-longest matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0) - + diff --git a/doc/html/boost_regex/background_information/performance/section_Testing_simple_leftmost_longest_matches_platform_linux_compiler_GNU_C_version_5_1_0_.html b/doc/html/boost_regex/background_information/performance/section_Testing_simple_leftmost_longest_matches_platform_linux_compiler_GNU_C_version_5_1_0_.html index 0f010ab6..62a24f08 100644 --- a/doc/html/boost_regex/background_information/performance/section_Testing_simple_leftmost_longest_matches_platform_linux_compiler_GNU_C_version_5_1_0_.html +++ b/doc/html/boost_regex/background_information/performance/section_Testing_simple_leftmost_longest_matches_platform_linux_compiler_GNU_C_version_5_1_0_.html @@ -4,7 +4,7 @@ Testing simple leftmost-longest matches (platform = linux, compiler = GNU C++ version 5.1.0) - + diff --git a/doc/html/boost_regex/background_information/redist.html b/doc/html/boost_regex/background_information/redist.html index c2cf29c3..bd2526af 100644 --- a/doc/html/boost_regex/background_information/redist.html +++ b/doc/html/boost_regex/background_information/redist.html @@ -4,7 +4,7 @@ Redistributables - + diff --git a/doc/html/boost_regex/background_information/standards.html b/doc/html/boost_regex/background_information/standards.html index f73e099e..16f9a8b4 100644 --- a/doc/html/boost_regex/background_information/standards.html +++ b/doc/html/boost_regex/background_information/standards.html @@ -4,7 +4,7 @@ Standards Conformance - + diff --git a/doc/html/boost_regex/background_information/thread_safety.html b/doc/html/boost_regex/background_information/thread_safety.html index 5aeaad09..58b2e7c6 100644 --- a/doc/html/boost_regex/background_information/thread_safety.html +++ b/doc/html/boost_regex/background_information/thread_safety.html @@ -4,7 +4,7 @@ Thread Safety - + diff --git a/doc/html/boost_regex/captures.html b/doc/html/boost_regex/captures.html index c308c661..6d246daf 100644 --- a/doc/html/boost_regex/captures.html +++ b/doc/html/boost_regex/captures.html @@ -4,8 +4,8 @@ Understanding Marked Sub-Expressions and Captures - - + + diff --git a/doc/html/boost_regex/configuration.html b/doc/html/boost_regex/configuration.html index dac4fa3c..93602102 100644 --- a/doc/html/boost_regex/configuration.html +++ b/doc/html/boost_regex/configuration.html @@ -4,9 +4,9 @@ Configuration - - - + + + diff --git a/doc/html/boost_regex/configuration/algorithm.html b/doc/html/boost_regex/configuration/algorithm.html index e29f84e3..ef3644fc 100644 --- a/doc/html/boost_regex/configuration/algorithm.html +++ b/doc/html/boost_regex/configuration/algorithm.html @@ -4,7 +4,7 @@ Algorithm Selection - + diff --git a/doc/html/boost_regex/configuration/compiler.html b/doc/html/boost_regex/configuration/compiler.html index 6cd9f805..deeaa95d 100644 --- a/doc/html/boost_regex/configuration/compiler.html +++ b/doc/html/boost_regex/configuration/compiler.html @@ -4,7 +4,7 @@ Compiler Setup - + diff --git a/doc/html/boost_regex/configuration/linkage.html b/doc/html/boost_regex/configuration/linkage.html index a0d90b37..411b3302 100644 --- a/doc/html/boost_regex/configuration/linkage.html +++ b/doc/html/boost_regex/configuration/linkage.html @@ -4,7 +4,7 @@ Linkage Options - + diff --git a/doc/html/boost_regex/configuration/locale.html b/doc/html/boost_regex/configuration/locale.html index 4f13589c..6de8fb4f 100644 --- a/doc/html/boost_regex/configuration/locale.html +++ b/doc/html/boost_regex/configuration/locale.html @@ -4,7 +4,7 @@ Locale and traits class selection - + diff --git a/doc/html/boost_regex/configuration/tuning.html b/doc/html/boost_regex/configuration/tuning.html index 6a8b98ca..038b2309 100644 --- a/doc/html/boost_regex/configuration/tuning.html +++ b/doc/html/boost_regex/configuration/tuning.html @@ -4,7 +4,7 @@ Algorithm Tuning - + diff --git a/doc/html/boost_regex/format.html b/doc/html/boost_regex/format.html index 8070ea72..d14e9c43 100644 --- a/doc/html/boost_regex/format.html +++ b/doc/html/boost_regex/format.html @@ -4,8 +4,8 @@ Search and Replace Format String Syntax - - + + diff --git a/doc/html/boost_regex/format/boost_format_syntax.html b/doc/html/boost_regex/format/boost_format_syntax.html index 484612c7..0899e45b 100644 --- a/doc/html/boost_regex/format/boost_format_syntax.html +++ b/doc/html/boost_regex/format/boost_format_syntax.html @@ -4,7 +4,7 @@ Boost-Extended Format String Syntax - + diff --git a/doc/html/boost_regex/format/perl_format.html b/doc/html/boost_regex/format/perl_format.html index 26b870d8..eea0f195 100644 --- a/doc/html/boost_regex/format/perl_format.html +++ b/doc/html/boost_regex/format/perl_format.html @@ -4,7 +4,7 @@ Perl Format String Syntax - + diff --git a/doc/html/boost_regex/format/sed_format.html b/doc/html/boost_regex/format/sed_format.html index af9ed2bf..47defce0 100644 --- a/doc/html/boost_regex/format/sed_format.html +++ b/doc/html/boost_regex/format/sed_format.html @@ -4,7 +4,7 @@ Sed Format String Syntax - + diff --git a/doc/html/boost_regex/install.html b/doc/html/boost_regex/install.html index 3a3dc159..1278abc1 100644 --- a/doc/html/boost_regex/install.html +++ b/doc/html/boost_regex/install.html @@ -4,8 +4,8 @@ Building and Installing the Library - - + + diff --git a/doc/html/boost_regex/introduction_and_overview.html b/doc/html/boost_regex/introduction_and_overview.html index e95568c5..7faa27be 100644 --- a/doc/html/boost_regex/introduction_and_overview.html +++ b/doc/html/boost_regex/introduction_and_overview.html @@ -4,8 +4,8 @@ Introduction and Overview - - + + diff --git a/doc/html/boost_regex/partial_matches.html b/doc/html/boost_regex/partial_matches.html index c9e55d6b..906f0273 100644 --- a/doc/html/boost_regex/partial_matches.html +++ b/doc/html/boost_regex/partial_matches.html @@ -4,8 +4,8 @@ Partial Matches - - + + diff --git a/doc/html/boost_regex/ref.html b/doc/html/boost_regex/ref.html index f2f65319..4c3aa040 100644 --- a/doc/html/boost_regex/ref.html +++ b/doc/html/boost_regex/ref.html @@ -4,8 +4,8 @@ Reference - - + + diff --git a/doc/html/boost_regex/ref/bad_expression.html b/doc/html/boost_regex/ref/bad_expression.html index f8e92c30..68176767 100644 --- a/doc/html/boost_regex/ref/bad_expression.html +++ b/doc/html/boost_regex/ref/bad_expression.html @@ -4,7 +4,7 @@ bad_expression - + diff --git a/doc/html/boost_regex/ref/basic_regex.html b/doc/html/boost_regex/ref/basic_regex.html index 478dd094..263bcd7c 100644 --- a/doc/html/boost_regex/ref/basic_regex.html +++ b/doc/html/boost_regex/ref/basic_regex.html @@ -4,7 +4,7 @@ basic_regex - + diff --git a/doc/html/boost_regex/ref/concepts.html b/doc/html/boost_regex/ref/concepts.html index 91874b13..c7b7db34 100644 --- a/doc/html/boost_regex/ref/concepts.html +++ b/doc/html/boost_regex/ref/concepts.html @@ -4,7 +4,7 @@ Concepts - + diff --git a/doc/html/boost_regex/ref/concepts/charT_concept.html b/doc/html/boost_regex/ref/concepts/charT_concept.html index 576d941a..5e75799e 100644 --- a/doc/html/boost_regex/ref/concepts/charT_concept.html +++ b/doc/html/boost_regex/ref/concepts/charT_concept.html @@ -4,7 +4,7 @@ charT Requirements - + diff --git a/doc/html/boost_regex/ref/concepts/iterator_concepts.html b/doc/html/boost_regex/ref/concepts/iterator_concepts.html index f87698e5..22decc09 100644 --- a/doc/html/boost_regex/ref/concepts/iterator_concepts.html +++ b/doc/html/boost_regex/ref/concepts/iterator_concepts.html @@ -4,7 +4,7 @@ Iterator Requirements - + diff --git a/doc/html/boost_regex/ref/concepts/traits_concept.html b/doc/html/boost_regex/ref/concepts/traits_concept.html index 329afbb3..067e8876 100644 --- a/doc/html/boost_regex/ref/concepts/traits_concept.html +++ b/doc/html/boost_regex/ref/concepts/traits_concept.html @@ -4,7 +4,7 @@ Traits Class Requirements - + diff --git a/doc/html/boost_regex/ref/deprecated_interfaces.html b/doc/html/boost_regex/ref/deprecated_interfaces.html index 7b5a0a20..c53a9620 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces.html @@ -4,7 +4,7 @@ Deprecated Interfaces - + diff --git a/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html b/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html index e036a7bc..0dd4fa57 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html @@ -4,7 +4,7 @@ High Level Class RegEx (Deprecated) - + 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 7e889255..7f42b50a 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html @@ -4,7 +4,7 @@ regex_format (Deprecated) - + diff --git a/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html b/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html index 2e87c0d5..9fb13c85 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html @@ -4,7 +4,7 @@ regex_grep (Deprecated) - + diff --git a/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html b/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html index 0cdcaef7..ca1ee00c 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html @@ -4,7 +4,7 @@ regex_split (deprecated) - + diff --git a/doc/html/boost_regex/ref/error_type.html b/doc/html/boost_regex/ref/error_type.html index 7e8ba401..6ce3c6fa 100644 --- a/doc/html/boost_regex/ref/error_type.html +++ b/doc/html/boost_regex/ref/error_type.html @@ -4,7 +4,7 @@ error_type - + diff --git a/doc/html/boost_regex/ref/internal_details.html b/doc/html/boost_regex/ref/internal_details.html index 76033f98..e139afd5 100644 --- a/doc/html/boost_regex/ref/internal_details.html +++ b/doc/html/boost_regex/ref/internal_details.html @@ -4,7 +4,7 @@ Internal Details - + diff --git a/doc/html/boost_regex/ref/internal_details/uni_iter.html b/doc/html/boost_regex/ref/internal_details/uni_iter.html index 68f57e19..6c3bbd3e 100644 --- a/doc/html/boost_regex/ref/internal_details/uni_iter.html +++ b/doc/html/boost_regex/ref/internal_details/uni_iter.html @@ -4,7 +4,7 @@ Unicode Iterators - + diff --git a/doc/html/boost_regex/ref/match_flag_type.html b/doc/html/boost_regex/ref/match_flag_type.html index 103692b9..3853b4e8 100644 --- a/doc/html/boost_regex/ref/match_flag_type.html +++ b/doc/html/boost_regex/ref/match_flag_type.html @@ -4,7 +4,7 @@ match_flag_type - + diff --git a/doc/html/boost_regex/ref/match_results.html b/doc/html/boost_regex/ref/match_results.html index 51bb054e..a1c9892d 100644 --- a/doc/html/boost_regex/ref/match_results.html +++ b/doc/html/boost_regex/ref/match_results.html @@ -4,7 +4,7 @@ match_results - + diff --git a/doc/html/boost_regex/ref/non_std_strings.html b/doc/html/boost_regex/ref/non_std_strings.html index a19c0173..a745c25a 100644 --- a/doc/html/boost_regex/ref/non_std_strings.html +++ b/doc/html/boost_regex/ref/non_std_strings.html @@ -4,7 +4,7 @@ Interfacing With Non-Standard String Types - + diff --git a/doc/html/boost_regex/ref/non_std_strings/icu.html b/doc/html/boost_regex/ref/non_std_strings/icu.html index 2bb8f1e6..4d20c767 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu.html @@ -4,7 +4,7 @@ Working With Unicode and ICU String Types - + diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/intro.html b/doc/html/boost_regex/ref/non_std_strings/icu/intro.html index 34eb1ec0..57752e83 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/intro.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/intro.html @@ -4,7 +4,7 @@ Introduction to using Regex with ICU - + 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 a091f11f..2c25eb53 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 @@ -4,7 +4,7 @@ Unicode Regular Expression Algorithms - + 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 ae071c66..7eb22833 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 @@ -4,7 +4,7 @@ Unicode Aware Regex Iterators - + diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html index e9192363..a11680a2 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html @@ -4,7 +4,7 @@ Unicode regular expression types - + diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings.html index a63587fe..5fe684f4 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings.html @@ -4,7 +4,7 @@ Using Boost Regex With MFC Strings - + 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 2c6b5ef6..1ebd610e 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 @@ -4,7 +4,7 @@ Overloaded Algorithms For MFC String Types - + diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html index 25091195..0ac01ece 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html @@ -4,7 +4,7 @@ Introduction to Boost.Regex and MFC Strings - + 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 05f4d904..da2ae326 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 @@ -4,7 +4,7 @@ Iterating Over the Matches Within An MFC String - + diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_create.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_create.html index 85688c5a..379df5ac 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_create.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_create.html @@ -4,7 +4,7 @@ Regular Expression Creation From an MFC String - + diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_types.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_types.html index 64de2955..a33a912d 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_types.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_types.html @@ -4,7 +4,7 @@ Regex Types Used With MFC Strings - + diff --git a/doc/html/boost_regex/ref/posix.html b/doc/html/boost_regex/ref/posix.html index f3d835e6..bc623ec1 100644 --- a/doc/html/boost_regex/ref/posix.html +++ b/doc/html/boost_regex/ref/posix.html @@ -4,7 +4,7 @@ POSIX Compatible C API's - + diff --git a/doc/html/boost_regex/ref/regex_iterator.html b/doc/html/boost_regex/ref/regex_iterator.html index ff2395e2..3c78910f 100644 --- a/doc/html/boost_regex/ref/regex_iterator.html +++ b/doc/html/boost_regex/ref/regex_iterator.html @@ -4,7 +4,7 @@ regex_iterator - + diff --git a/doc/html/boost_regex/ref/regex_match.html b/doc/html/boost_regex/ref/regex_match.html index ef438d2f..9be2b89a 100644 --- a/doc/html/boost_regex/ref/regex_match.html +++ b/doc/html/boost_regex/ref/regex_match.html @@ -4,7 +4,7 @@ regex_match - + diff --git a/doc/html/boost_regex/ref/regex_replace.html b/doc/html/boost_regex/ref/regex_replace.html index de6d0097..b6a8dbb8 100644 --- a/doc/html/boost_regex/ref/regex_replace.html +++ b/doc/html/boost_regex/ref/regex_replace.html @@ -4,7 +4,7 @@ regex_replace - + diff --git a/doc/html/boost_regex/ref/regex_search.html b/doc/html/boost_regex/ref/regex_search.html index 48da98bf..64ebc52c 100644 --- a/doc/html/boost_regex/ref/regex_search.html +++ b/doc/html/boost_regex/ref/regex_search.html @@ -4,7 +4,7 @@ regex_search - + diff --git a/doc/html/boost_regex/ref/regex_token_iterator.html b/doc/html/boost_regex/ref/regex_token_iterator.html index fefb1ad7..dcdaa119 100644 --- a/doc/html/boost_regex/ref/regex_token_iterator.html +++ b/doc/html/boost_regex/ref/regex_token_iterator.html @@ -4,7 +4,7 @@ regex_token_iterator - + diff --git a/doc/html/boost_regex/ref/regex_traits.html b/doc/html/boost_regex/ref/regex_traits.html index 772e9176..beaac1b7 100644 --- a/doc/html/boost_regex/ref/regex_traits.html +++ b/doc/html/boost_regex/ref/regex_traits.html @@ -4,7 +4,7 @@ regex_traits - + diff --git a/doc/html/boost_regex/ref/sub_match.html b/doc/html/boost_regex/ref/sub_match.html index b56a709f..548c67c9 100644 --- a/doc/html/boost_regex/ref/sub_match.html +++ b/doc/html/boost_regex/ref/sub_match.html @@ -4,7 +4,7 @@ sub_match - + diff --git a/doc/html/boost_regex/ref/syntax_option_type.html b/doc/html/boost_regex/ref/syntax_option_type.html index 54badea3..984b7040 100644 --- a/doc/html/boost_regex/ref/syntax_option_type.html +++ b/doc/html/boost_regex/ref/syntax_option_type.html @@ -4,7 +4,7 @@ syntax_option_type - + diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_basic.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_basic.html index ce4afd66..ef928aa5 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_basic.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_basic.html @@ -4,7 +4,7 @@ Options for POSIX Basic Regular Expressions - + diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_extended.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_extended.html index 66045f49..f7432fbb 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_extended.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_extended.html @@ -4,7 +4,7 @@ Options for POSIX Extended Regular Expressions - + diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_literal.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_literal.html index 1dade2a7..57bd20bd 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_literal.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_literal.html @@ -4,7 +4,7 @@ Options for Literal Strings - + diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_overview.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_overview.html index 6635c237..ff211032 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_overview.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_overview.html @@ -4,7 +4,7 @@ Overview of syntax_option_type - + diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_perl.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_perl.html index b6c31652..93c196d8 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_perl.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_perl.html @@ -4,7 +4,7 @@ Options for Perl Regular Expressions - + diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_synopsis.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_synopsis.html index 78122320..b21af5f9 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_synopsis.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_synopsis.html @@ -4,7 +4,7 @@ syntax_option_type Synopsis - + diff --git a/doc/html/boost_regex/syntax.html b/doc/html/boost_regex/syntax.html index 25d7c3d1..cf557d95 100644 --- a/doc/html/boost_regex/syntax.html +++ b/doc/html/boost_regex/syntax.html @@ -4,8 +4,8 @@ Regular Expression Syntax - - + + diff --git a/doc/html/boost_regex/syntax/basic_extended.html b/doc/html/boost_regex/syntax/basic_extended.html index 9197d9f1..f0055f71 100644 --- a/doc/html/boost_regex/syntax/basic_extended.html +++ b/doc/html/boost_regex/syntax/basic_extended.html @@ -4,7 +4,7 @@ POSIX Extended Regular Expression Syntax - + diff --git a/doc/html/boost_regex/syntax/basic_syntax.html b/doc/html/boost_regex/syntax/basic_syntax.html index 861b05ae..abd79c7f 100644 --- a/doc/html/boost_regex/syntax/basic_syntax.html +++ b/doc/html/boost_regex/syntax/basic_syntax.html @@ -4,7 +4,7 @@ POSIX Basic Regular Expression Syntax - + diff --git a/doc/html/boost_regex/syntax/character_classes.html b/doc/html/boost_regex/syntax/character_classes.html index 977bd6f4..840d404a 100644 --- a/doc/html/boost_regex/syntax/character_classes.html +++ b/doc/html/boost_regex/syntax/character_classes.html @@ -4,7 +4,7 @@ Character Class Names - + diff --git a/doc/html/boost_regex/syntax/character_classes/optional_char_class_names.html b/doc/html/boost_regex/syntax/character_classes/optional_char_class_names.html index 531ec1f3..c058d882 100644 --- a/doc/html/boost_regex/syntax/character_classes/optional_char_class_names.html +++ b/doc/html/boost_regex/syntax/character_classes/optional_char_class_names.html @@ -4,7 +4,7 @@ Character classes that are supported by Unicode Regular Expressions - + diff --git a/doc/html/boost_regex/syntax/character_classes/std_char_classes.html b/doc/html/boost_regex/syntax/character_classes/std_char_classes.html index e3412b29..2303bdb4 100644 --- a/doc/html/boost_regex/syntax/character_classes/std_char_classes.html +++ b/doc/html/boost_regex/syntax/character_classes/std_char_classes.html @@ -4,7 +4,7 @@ Character Classes that are Always Supported - + diff --git a/doc/html/boost_regex/syntax/collating_names.html b/doc/html/boost_regex/syntax/collating_names.html index 96d6d259..e156b8a8 100644 --- a/doc/html/boost_regex/syntax/collating_names.html +++ b/doc/html/boost_regex/syntax/collating_names.html @@ -4,7 +4,7 @@ Collating Names - + diff --git a/doc/html/boost_regex/syntax/collating_names/digraphs.html b/doc/html/boost_regex/syntax/collating_names/digraphs.html index 611bf93e..202491bf 100644 --- a/doc/html/boost_regex/syntax/collating_names/digraphs.html +++ b/doc/html/boost_regex/syntax/collating_names/digraphs.html @@ -4,7 +4,7 @@ Digraphs - + diff --git a/doc/html/boost_regex/syntax/collating_names/named_unicode.html b/doc/html/boost_regex/syntax/collating_names/named_unicode.html index 8088ff7b..69f8645c 100644 --- a/doc/html/boost_regex/syntax/collating_names/named_unicode.html +++ b/doc/html/boost_regex/syntax/collating_names/named_unicode.html @@ -4,7 +4,7 @@ Named Unicode Characters - + diff --git a/doc/html/boost_regex/syntax/collating_names/posix_symbolic_names.html b/doc/html/boost_regex/syntax/collating_names/posix_symbolic_names.html index cc55942d..0cc6474b 100644 --- a/doc/html/boost_regex/syntax/collating_names/posix_symbolic_names.html +++ b/doc/html/boost_regex/syntax/collating_names/posix_symbolic_names.html @@ -4,7 +4,7 @@ POSIX Symbolic Names - + diff --git a/doc/html/boost_regex/syntax/leftmost_longest_rule.html b/doc/html/boost_regex/syntax/leftmost_longest_rule.html index 1ae15359..3168cfe9 100644 --- a/doc/html/boost_regex/syntax/leftmost_longest_rule.html +++ b/doc/html/boost_regex/syntax/leftmost_longest_rule.html @@ -4,7 +4,7 @@ The Leftmost Longest Rule - + diff --git a/doc/html/boost_regex/syntax/perl_syntax.html b/doc/html/boost_regex/syntax/perl_syntax.html index 281ac7fb..64505056 100644 --- a/doc/html/boost_regex/syntax/perl_syntax.html +++ b/doc/html/boost_regex/syntax/perl_syntax.html @@ -4,7 +4,7 @@ Perl Regular Expression Syntax - + diff --git a/doc/html/boost_regex/unicode.html b/doc/html/boost_regex/unicode.html index 9671afdb..cb4e4b3c 100644 --- a/doc/html/boost_regex/unicode.html +++ b/doc/html/boost_regex/unicode.html @@ -4,8 +4,8 @@ Unicode and Boost.Regex - - + + diff --git a/doc/html/index.html b/doc/html/index.html index fa8905af..59296034 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -1,10 +1,10 @@ -Boost.Regex 5.1.1 +Boost.Regex 5.1.2 - + @@ -22,7 +22,7 @@

    -Boost.Regex 5.1.1

    +Boost.Regex 5.1.2

    John Maddock

    @@ -221,7 +221,7 @@

    - +

    Last revised: March 14, 2016 at 19:20:20 GMT

    Last revised: June 10, 2016 at 16:58:31 GMT


    diff --git a/doc/regex.qbk b/doc/regex.qbk index c8ef0088..bdf67c16 100644 --- a/doc/regex.qbk +++ b/doc/regex.qbk @@ -8,7 +8,7 @@ [@http://www.boost.org/LICENSE_1_0.txt]) ] [authors [Maddock, John]] - [version 5.1.1] + [version 5.1.2] [/last-revision $Date$] ] From acade9f20c9ff439e71b1c919c3c4889bf98aebf Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Sat, 11 Jun 2016 18:46:23 +0100 Subject: [PATCH 4/9] Allow use of ICU with static runtime. See: https://svn.boost.org/trac/boost/ticket/12011 --- build/Jamfile.v2 | 90 ++++++++++++------------------------------ build/has_icu_test.cpp | 2 +- 2 files changed, 27 insertions(+), 65 deletions(-) diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index 887eaea3..ad57a254 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -48,82 +48,46 @@ if ! $(disable-icu) } else { - lib icuuc : : shared shared @path_options ; - lib icuuc : : msvc debug icuucd shared shared @path_options ; - lib icuuc : : intel windows debug icuucd shared shared @path_options ; + lib icuuc : : shared @path_options ; + lib icuuc : : msvc debug icuucd shared @path_options ; + lib icuuc : : intel windows debug icuucd shared @path_options ; + lib icuuc : : sicuuc static @path_options ; + lib icuuc : : msvc debug sicuucd static @path_options ; + lib icuuc : : intel windows debug sicuucd static @path_options ; lib icuuc : : this_is_an_invalid_library_name ; - lib icudt : : icudata shared shared @path_options ; - lib icudt : : icudt msvc shared shared @path_options ; - lib icudt : : icudt intel windows shared shared @path_options ; + lib icudt : : icudata shared @path_options ; + lib icudt : : icudt msvc shared @path_options ; + lib icudt : : icudt intel windows shared @path_options ; + lib icudt : : sicudata static @path_options ; + lib icudt : : sicudt msvc static @path_options ; + lib icudt : : sicudt intel windows static @path_options ; lib icudt : : this_is_an_invalid_library_name ; - lib icuin : : icui18n shared shared @path_options ; - lib icuin : : msvc debug icuind shared shared @path_options ; - lib icuin : : msvc icuin shared shared @path_options ; - lib icuin : : intel windows debug icuind shared shared @path_options ; - lib icuin : : intel windows icuin shared shared @path_options ; + lib icuin : : icui18n shared @path_options ; + lib icuin : : msvc debug icuind shared @path_options ; + lib icuin : : msvc icuin shared @path_options ; + lib icuin : : intel windows debug icuind shared @path_options ; + lib icuin : : intel windows icuin shared @path_options ; + lib icuin : : sicui18n static @path_options ; + lib icuin : : msvc debug sicuind static @path_options ; + lib icuin : : msvc sicuin static @path_options ; + lib icuin : : intel windows debug sicuind static @path_options ; + lib icuin : : intel windows sicuin static @path_options ; lib icuin : : this_is_an_invalid_library_name ; - if $(ICU_PATH) - { - icuucd_name = [ GLOB $(ICU_PATH)/bin : icuuc??d.dll ] ; - if ! $(icuucd_name) - { - icuucd_name = [ GLOB $(ICU_PATH)/bin64 : icuuc??d.dll ] ; - } - icuuc_name = [ GLOB $(ICU_PATH)/bin : icuuc??.dll ] ; - if ! $(icuuc_name) - { - icuuc_name = [ GLOB $(ICU_PATH)/bin64 : icuuc??.dll ] ; - } - icudt_name = [ GLOB $(ICU_PATH)/bin : icudt??.dll ] ; - if ! $(icudt_name) - { - icudt_name = [ GLOB $(ICU_PATH)/bin64 : icudt??.dll ] ; - } - icuin_name = [ GLOB $(ICU_PATH)/bin : icuin??.dll ] ; - if ! $(icuin_name) - { - icuin_name = [ GLOB $(ICU_PATH)/bin64 : icuin??.dll ] ; - } - icuind_name = [ GLOB $(ICU_PATH)/bin : icuin??d.dll ] ; - if ! $(icuind_name) - { - icuind_name = [ GLOB $(ICU_PATH)/bin64 : icuin??d.dll ] ; - } - - #ECHO $(icuucd_name:B) $(icuuc_name:B) $(icudt_name:B) $(icuin_name:B) $(icuind_name:B) ; - } - ICU_OPTS = $(ICU_PATH)/include - icuuc/shared/shared - icudt/shared/shared - icuin/shared/shared + icuuc + icudt + icuin BOOST_HAS_ICU=1 - shared - # As of ICU-54 this does not work anymore (release mode): - #msvc:/delayload:$(icuucd_name:B).dll - #msvc:/delayload:$(icuuc_name:B).dll - #msvc:/delayload:$(icudt_name:B).dll - #msvc:/delayload:$(icuin_name:B).dll - #msvc:/delayload:$(icuind_name:B).dll - #msvc:delayimp.lib + static:U_STATIC_IMPLEMENTATION=1 ; } } -rule regex-run-simple ( sources + : args * : input-files * : requirements * : target-name ) -{ - exe $(target-name)_exe : $(sources) : $(requirements) ; - explicit $(target-name)_exe ; - make $(target-name).output : $(target-name)_exe : @regex_simple_run_action ; - explicit $(target-name).output ; - alias $(target-name) : $(target-name).output ; -} - unit-test has_icu : has_icu_test.cpp : $(ICU_OPTS) ; explicit has_icu ; @@ -152,8 +116,6 @@ SOURCES = lib boost_regex : ../src/$(SOURCES) icu_options : shared:BOOST_REGEX_DYN_LINK=1 - #gcc-mw:static - #gcc-mingw:static gcc-cygwin:static sun:static ; diff --git a/build/has_icu_test.cpp b/build/has_icu_test.cpp index 7886b352..31c964e7 100644 --- a/build/has_icu_test.cpp +++ b/build/has_icu_test.cpp @@ -18,7 +18,7 @@ #include #if defined(_MSC_VER) && !defined(_DLL) -#error "Mixing ICU with a static runtime doesn't work" +//#error "Mixing ICU with a static runtime doesn't work" #endif void print_error(UErrorCode err, const char* func) From a824b7d236e1084e06a3835d02cacc35772462d1 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Sun, 12 Jun 2016 13:09:12 +0100 Subject: [PATCH 5/9] Fix copying of extra match data when using ICU. See: https://svn.boost.org/trac/boost/ticket/12130 --- include/boost/regex/icu.hpp | 16 +++++++++ test/Jamfile.v2 | 2 +- test/captures/captures_test.cpp | 62 ++++++++++++++++++++++++++++++++- 3 files changed, 78 insertions(+), 2 deletions(-) diff --git a/include/boost/regex/icu.hpp b/include/boost/regex/icu.hpp index 719ee220..a57fe577 100644 --- a/include/boost/regex/icu.hpp +++ b/include/boost/regex/icu.hpp @@ -403,6 +403,22 @@ void copy_results(MR1& out, MR2 const& in) out.set_second(in[i].second.base(), i, in[i].matched); } } +#ifdef BOOST_REGEX_MATCH_EXTRA + // Copy full capture info as well: + for(int i = 0; i < (int)in.size(); ++i) + { + if(in[i].captures().size()) + { + out[i].get_captures().assign(in[i].captures().size(), typename MR1::value_type()); + for(int j = 0; j < out[i].captures().size(); ++j) + { + out[i].get_captures()[j].first = in[i].captures()[j].first.base(); + out[i].get_captures()[j].second = in[i].captures()[j].second.base(); + out[i].get_captures()[j].matched = in[i].captures()[j].matched; + } + } + } +#endif } template diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 6617d188..afde5fe7 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -158,7 +158,7 @@ test-suite regex [ run # sources captures/captures_test.cpp - captures//boost_regex_extra + captures//boost_regex_extra ../build//icu_options : # additional args : # test-files : # requirements diff --git a/test/captures/captures_test.cpp b/test/captures/captures_test.cpp index e0e3257c..3ea7f415 100644 --- a/test/captures/captures_test.cpp +++ b/test/captures/captures_test.cpp @@ -21,8 +21,26 @@ #include "../test_macros.hpp" #include +#ifdef BOOST_HAS_ICU +#include +#endif + #define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0])) +template +int array_size(const char* (&p)[N]) +{ + for(int i = 0; i < N; ++i) + if(p[i] == 0) + return i; + return N; +} + +std::wstring make_wstring(const char* p) +{ + return std::wstring(p, p + strlen(p)); +} + #ifdef __sgi template void test_captures(const std::string& regx, const std::string& text, const T& expected) @@ -42,13 +60,55 @@ void test_captures(const std::string& regx, const std::string& text, T& expected #endif for(i = 0; i < what.size(); ++i) { - BOOST_CHECK(what.captures(i).size() <= ARRAY_SIZE(expected[i])); + BOOST_CHECK(what.captures(i).size() == array_size(expected[i])); for(j = 0; j < what.captures(i).size(); ++j) { BOOST_CHECK(what.captures(i)[j] == expected[i][j]); } } } + + std::wstring wre(regx.begin(), regx.end()); + std::wstring wtext(text.begin(), text.end()); + boost::wregex we(wre); + boost::wsmatch wwhat; + if(boost::regex_match(wtext, wwhat, we, boost::match_extra)) + { + unsigned i, j; +#ifndef __sgi + // strange type deduction causes this test to fail on SGI: + BOOST_CHECK(wwhat.size() == ARRAY_SIZE(expected)); +#endif + for(i = 0; i < wwhat.size(); ++i) + { + BOOST_CHECK(wwhat.captures(i).size() == array_size(expected[i])); + for(j = 0; j < wwhat.captures(i).size(); ++j) + { + BOOST_CHECK(wwhat.captures(i)[j] == make_wstring(expected[i][j])); + } + } + } + +#ifdef BOOST_HAS_ICU + boost::u32regex ure = boost::make_u32regex(regx); + what = boost::smatch(); + if(boost::u32regex_match(text, what, ure, boost::match_extra)) + { + unsigned i, j; +#ifndef __sgi + // strange type deduction causes this test to fail on SGI: + BOOST_CHECK(what.size() == ARRAY_SIZE(expected)); +#endif + for(i = 0; i < what.size(); ++i) + { + BOOST_CHECK(what.captures(i).size() == array_size(expected[i])); + for(j = 0; j < what.captures(i).size(); ++j) + { + BOOST_CHECK(what.captures(i)[j] == expected[i][j]); + } + } + } +#endif } int cpp_main(int , char* []) From ddd808f7614f9f33bcbf645c4ec8873af3ad4b20 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Wed, 20 Jul 2016 18:20:37 +0000 Subject: [PATCH 6/9] Fix ICU configuration to use static library only when using a static runtime --- build/Jamfile.v2 | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index ad57a254..ee8e3b34 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -26,7 +26,6 @@ rule path_options ( properties * ) return $(result) ; } - # # ICU configuration: # @@ -78,9 +77,12 @@ if ! $(disable-icu) ICU_OPTS = $(ICU_PATH)/include - icuuc - icudt - icuin + shared:icuuc/shared + shared:icudt/shared + shared:icuin/shared + static:icuuc + static:icudt + static:icuin BOOST_HAS_ICU=1 static:U_STATIC_IMPLEMENTATION=1 ; From 52169ab43f78b7eb7e3192a5b408aad37a859c42 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Sun, 31 Jul 2016 18:44:33 +0100 Subject: [PATCH 7/9] Fix missing include. --- test/captures/captures_test.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/captures/captures_test.cpp b/test/captures/captures_test.cpp index 3ea7f415..63f58c9c 100644 --- a/test/captures/captures_test.cpp +++ b/test/captures/captures_test.cpp @@ -20,6 +20,7 @@ #include #include "../test_macros.hpp" #include +#include #ifdef BOOST_HAS_ICU #include @@ -38,7 +39,7 @@ int array_size(const char* (&p)[N]) std::wstring make_wstring(const char* p) { - return std::wstring(p, p + strlen(p)); + return std::wstring(p, p + std::strlen(p)); } #ifdef __sgi From cc21bf9283faf2f904af227007e72feaa20a70e3 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Mon, 1 Aug 2016 12:24:00 +0000 Subject: [PATCH 8/9] Fix Oracle C++ concept failures --- include/boost/regex/concepts.hpp | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/include/boost/regex/concepts.hpp b/include/boost/regex/concepts.hpp index e974d699..b9b3e90f 100644 --- a/include/boost/regex/concepts.hpp +++ b/include/boost/regex/concepts.hpp @@ -99,27 +99,27 @@ public: typedef allocator_architype other; }; - pointer address(reference r); - const_pointer address(const_reference r); - pointer allocate(size_type); - pointer allocate(size_type, pointer); - void deallocate(pointer, size_type); - size_type max_size()const; + pointer address(reference r){ return &r; } + const_pointer address(const_reference r) { return &r; } + pointer allocate(size_type n) { return static_cast(std::malloc(n)); } + pointer allocate(size_type, pointer) { return static_cast(std::malloc(n)); } + void deallocate(pointer p, size_type) { std::free(p); } + size_type max_size()const { return UINT_MAX; } - allocator_architype(); - allocator_architype(const allocator_architype&); + allocator_architype(){} + allocator_architype(const allocator_architype&){} template - allocator_architype(const allocator_architype&); + allocator_architype(const allocator_architype&){} - void construct(pointer, const_reference); - void destroy(pointer); + void construct(pointer p, const_reference r) { new (p)T(r); } + void destroy(pointer p) { p->~T(); } }; template -bool operator == (const allocator_architype&, const allocator_architype&); +bool operator == (const allocator_architype&, const allocator_architype&) {return true; } template -bool operator != (const allocator_architype&, const allocator_architype&); +bool operator != (const allocator_architype&, const allocator_architype&) { return false; } namespace boost{ // @@ -130,7 +130,7 @@ template struct regex_traits_architype { public: - regex_traits_architype(); + regex_traits_architype(){} typedef charT char_type; // typedef std::size_t size_type; typedef std::vector string_type; @@ -168,8 +168,8 @@ public: private: // this type is not copyable: - regex_traits_architype(const regex_traits_architype&); - regex_traits_architype& operator=(const regex_traits_architype&); + regex_traits_architype(const regex_traits_architype&){} + regex_traits_architype& operator=(const regex_traits_architype&){ return *this; } }; // From 0f128c2a8961e035177eff3b002238cb0edf658f Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Sun, 7 Aug 2016 18:33:59 +0100 Subject: [PATCH 9/9] Fix missing variable name in concept checks. --- include/boost/regex/concepts.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/regex/concepts.hpp b/include/boost/regex/concepts.hpp index b9b3e90f..8cd5d995 100644 --- a/include/boost/regex/concepts.hpp +++ b/include/boost/regex/concepts.hpp @@ -102,7 +102,7 @@ public: pointer address(reference r){ return &r; } const_pointer address(const_reference r) { return &r; } pointer allocate(size_type n) { return static_cast(std::malloc(n)); } - pointer allocate(size_type, pointer) { return static_cast(std::malloc(n)); } + pointer allocate(size_type n, pointer) { return static_cast(std::malloc(n)); } void deallocate(pointer p, size_type) { std::free(p); } size_type max_size()const { return UINT_MAX; }