From 4777a02d9b95132339c3ba942419f143bfb82b48 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 20 Sep 2007 12:28:34 +0000 Subject: [PATCH 01/62] Updated ICU build options to fix build on Darwin and elsewhere. [SVN r39405] --- build/Jamfile.v2 | 90 +++++++++++++++++++++++++++++++++++++----------- 1 file changed, 70 insertions(+), 20 deletions(-) diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index 7eab6fda..4cfaa478 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -24,6 +24,7 @@ rule check-icu-config ( ) gHAS_ICU = true ; gICU_CORE_LIB = icuuc ; gICU_IN_LIB = icui18n ; + gICU_DATA_LIB = icudata ; gICU_CONFIG_CHECKED = true ; } else if $(ICU_PATH) @@ -53,17 +54,10 @@ rule check-icu-config ( ) { gICU_CORE_LIB = icuuc ; } - else if [ GLOB $(dir)/lib : libicuuc.* ] - { - gICU_CORE_LIB = icuuc ; - } - else if [ GLOB $(ICU_PATH)/lib : cygicuuc.dll ] + else if [ GLOB $(ICU_PATH)/lib : cygicuuc*.dll ] { gICU_CORE_LIB = cygicuuc.dll ; - } - else if [ GLOB $(ICU_PATH)/lib : cygicuuc32.dll ] - { - gICU_CORE_LIB = cygicuuc32.dll ; + gICU_CYGWIN = true ; } else { @@ -92,13 +86,10 @@ rule check-icu-config ( ) { gICU_IN_LIB = icui18n ; } - else if [ GLOB $(ICU_PATH)/lib : cygicuin.dll ] + else if [ GLOB $(ICU_PATH)/lib : cygicuin*.dll ] { gICU_IN_LIB = cygicuin.dll ; - } - else if [ GLOB $(ICU_PATH)/lib : cygicuin32.dll ] - { - gICU_IN_LIB = cygicuin32.dll ; + gICU_CYGWIN = true ; } else { @@ -109,8 +100,42 @@ rule check-icu-config ( ) ECHO Defaulting to look for libicui18n ... ; gICU_IN_LIB = icui18n ; } +#Added by Tommy Nordgren - libicudata muct be linked against on Mac OS X + if $(ICU_LINK) + { + # nothing to do, it's already been done! + # gICU_LIBS += $(ICU_LINK) ; + } + else if [ GLOB $(dir)/lib64 : icudt.* ] + { + gICU_DATA_LIB = icudt ; + } + else if [ GLOB $(dir)/lib : icudt.* ] + { + gICU_DATA_LIB = icudt ; + } + else if [ GLOB $(dir)/lib : libicudata.* ] + { + gICU_DATA_LIB = icudata ; + } + else if [ GLOB $(ICU_PATH)/lib : cygicudt*.dll ] + { + gICU_DATA_LIB = cygicudt.dll ; + gICU_CYGWIN = true ; + } + else + { + ECHO WARNING: ICU shared data library not found in path. ; + ECHO HINT: If the regex library fails to link then try again ; + ECHO with the environment variable ICU_LINK set to contain ; + ECHO the linker options required to link to ICU. ; + ECHO Defaulting to look for libicudata ... ; + gICU_DATA_LIB = icudata ; + } +#End of addition by Tommy Nordgren } } + gICU_CONFIG_CHECKED = true ; } @@ -143,15 +168,36 @@ if [ check-icu-config ] } } - if $(gICU_CORE_LIB) + if $(gICU_CYGWIN) { - lib icucore : : $(gICU_CORE_LIB) $(ICU_SEARCH_OPTS) ; - ICU_EXTRA_SOURCE = icucore ; + if $(gICU_CORE_LIB) + { + BOOST_REGEX_ICU_OPTS += "$(gICU_CORE_LIB) ; + } + if $(gICU_IN_LIB) + { + BOOST_REGEX_ICU_OPTS += "$(gICU_IN_LIB) ; + } } - if $(gICU_IN_LIB) + else { - lib icuin : : $(gICU_IN_LIB) $(ICU_SEARCH_OPTS) ; - ICU_EXTRA_SOURCE += icuin ; + if $(gICU_CORE_LIB) + { + lib icucore : : $(gICU_CORE_LIB) $(ICU_SEARCH_OPTS) ; + ICU_EXTRA_SOURCE = icucore ; + } + if $(gICU_IN_LIB) + { + lib icuin : : $(gICU_IN_LIB) $(ICU_SEARCH_OPTS) ; + ICU_EXTRA_SOURCE += icuin ; + } +#Added by Tommy Nordgren libicudata must be linked against on Mac OS X + if $(gICU_DATA_LIB) + { + lib icudata : : $(gICU_DATA_LIB) $(ICU_SEARCH_OPTS) ; + ICU_EXTRA_SOURCE += icudata ; + } +#End of addition by Tommy Nordgren } } @@ -193,3 +239,7 @@ lib boost_regex : ../src/$(SOURCES) $(ICU_EXTRA_SOURCE) + + + + From 768c8c5d8865a551c961023492342036cd4bf6ec Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sun, 23 Sep 2007 17:49:44 +0000 Subject: [PATCH 02/62] Fix up file so it can be compiled in C mode. [SVN r39490] --- include/boost/regex/v4/match_flags.hpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/include/boost/regex/v4/match_flags.hpp b/include/boost/regex/v4/match_flags.hpp index a86fe461..9585aca8 100644 --- a/include/boost/regex/v4/match_flags.hpp +++ b/include/boost/regex/v4/match_flags.hpp @@ -23,8 +23,6 @@ # include #endif -#include - #ifdef __cplusplus namespace boost{ namespace regex_constants{ @@ -73,7 +71,7 @@ typedef enum _match_flags } match_flags; -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +#if (defined(_MSC_VER) && (_MSC_VER < 1300)) || defined(__BORLANDC__) typedef unsigned long match_flag_type; #else typedef match_flags match_flag_type; From e1484fc788fd43b46fe596d78e9b6bfcfd8a0165 Mon Sep 17 00:00:00 2001 From: Anthony Williams Date: Fri, 5 Oct 2007 12:10:06 +0000 Subject: [PATCH 03/62] Changed call_once to header-only template that takes arbitrary function objects; this changes parameter order [SVN r39701] --- src/static_mutex.cpp | 2 +- test/regress/info.hpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/static_mutex.cpp b/src/static_mutex.cpp index b01f9f0d..cef76783 100644 --- a/src/static_mutex.cpp +++ b/src/static_mutex.cpp @@ -155,7 +155,7 @@ void scoped_static_mutex_lock::lock() { if(0 == m_have_lock) { - boost::call_once(&static_mutex::init, static_mutex::m_once); + boost::call_once(static_mutex::m_once,&static_mutex::init); if(0 == m_plock) m_plock = new boost::recursive_mutex::scoped_lock(*static_mutex::m_pmutex, false); m_plock->lock(); diff --git a/test/regress/info.hpp b/test/regress/info.hpp index 2b276693..4fa55afa 100644 --- a/test/regress/info.hpp +++ b/test/regress/info.hpp @@ -67,7 +67,7 @@ private: { #ifdef TEST_THREADS static boost::once_flag f = BOOST_ONCE_INIT; - boost::call_once(&init_data, f); + boost::call_once(f,&init_data); return do_get_data(); #else static data_type d; From 445bfd915c238e0e9df8fb6436e487f9faee64d9 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 5 Oct 2007 17:49:12 +0000 Subject: [PATCH 04/62] Update Jamfiles to make PDF generation easier. [SVN r39714] --- doc/Jamfile.v2 | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/doc/Jamfile.v2 b/doc/Jamfile.v2 index fd4d97b5..38357c9e 100644 --- a/doc/Jamfile.v2 +++ b/doc/Jamfile.v2 @@ -5,6 +5,8 @@ using quickbook ; +path-constant boost-images : ../../../doc/src/images ; + xml regex : regex.qbk ; boostbook standalone : @@ -48,13 +50,8 @@ boostbook standalone # Set this one for PDF generation *only*: # default pnd graphics are awful in PDF form, # better use SVG's instead: - #admon.graphics.extension=".svg" + pdf:admon.graphics.extension=".svg" + pdf:admon.graphics.path=$(boost-images)/ ; - - - - - - From 5b43cf30516b9a3ab5810f941b557258b4d1f526 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sat, 6 Oct 2007 17:40:20 +0000 Subject: [PATCH 05/62] Fix typo. [SVN r39725] --- doc/regex.qbk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/regex.qbk b/doc/regex.qbk index 70dffe22..855fce22 100644 --- a/doc/regex.qbk +++ b/doc/regex.qbk @@ -17,7 +17,7 @@ [template sub[x]''''''[x]''''''] -[template tr1[] [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf Technical report on C++ Library Extensions]] +[template tr1[] [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf Technical Report on C++ Library Extensions]] [template syntax_option_type[] [link boost_regex.ref.syntax_option_type `syntax_option_type`]] [template error_type[] [link boost_regex.ref.error_type `error_type`]] [template bad_expression[] [link boost_regex.ref.bad_expression `bad_expression`]] @@ -100,3 +100,4 @@ [include history.qbk] [endsect] + From 960c0a3bbcb69858d406cba00b2888108b5f0d39 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sat, 6 Oct 2007 17:46:25 +0000 Subject: [PATCH 06/62] Update docs to match quickbook. [SVN r39727] --- .../boost_regex/background_information.html | 3 +- .../acknowledgements.html | 3 +- .../background_information/examples.html | 9 +- .../background_information/faq.html | 3 +- .../background_information/futher.html | 5 +- .../background_information/headers.html | 3 +- .../background_information/history.html | 13 +-- .../background_information/locale.html | 11 +-- .../background_information/performance.html | 3 +- .../background_information/redist.html | 3 +- .../background_information/standards.html | 15 ++-- .../background_information/thread_safety.html | 3 +- doc/html/boost_regex/captures.html | 9 +- doc/html/boost_regex/configuration.html | 3 +- .../boost_regex/configuration/algorithm.html | 3 +- .../boost_regex/configuration/compiler.html | 3 +- .../boost_regex/configuration/linkage.html | 3 +- .../boost_regex/configuration/locale.html | 3 +- .../boost_regex/configuration/tuning.html | 3 +- doc/html/boost_regex/format.html | 3 +- .../format/boost_format_syntax.html | 11 +-- doc/html/boost_regex/format/perl_format.html | 3 +- doc/html/boost_regex/format/sed_format.html | 3 +- doc/html/boost_regex/install.html | 19 ++-- .../introduction_and_overview.html | 3 +- doc/html/boost_regex/partial_matches.html | 3 +- doc/html/boost_regex/ref.html | 3 +- doc/html/boost_regex/ref/bad_expression.html | 9 +- doc/html/boost_regex/ref/basic_regex.html | 56 +++++------- doc/html/boost_regex/ref/concepts.html | 3 +- .../ref/concepts/charT_concept.html | 3 +- .../ref/concepts/iterator_concepts.html | 3 +- .../ref/concepts/traits_concept.html | 7 +- .../ref/deprecated_interfaces.html | 3 +- .../ref/deprecated_interfaces/old_regex.html | 3 +- .../deprecated_interfaces/regex_format.html | 19 ++-- .../ref/deprecated_interfaces/regex_grep.html | 3 +- .../deprecated_interfaces/regex_split.html | 3 +- doc/html/boost_regex/ref/error_type.html | 7 +- doc/html/boost_regex/ref/match_flag_type.html | 5 +- doc/html/boost_regex/ref/match_results.html | 7 +- doc/html/boost_regex/ref/non_std_strings.html | 3 +- .../boost_regex/ref/non_std_strings/icu.html | 3 +- .../ref/non_std_strings/icu/intro.html | 3 +- .../ref/non_std_strings/icu/unicode_algo.html | 9 +- .../ref/non_std_strings/icu/unicode_iter.html | 7 +- .../non_std_strings/icu/unicode_types.html | 3 +- .../ref/non_std_strings/mfc_strings.html | 3 +- .../non_std_strings/mfc_strings/mfc_algo.html | 13 +-- .../mfc_strings/mfc_intro.html | 3 +- .../non_std_strings/mfc_strings/mfc_iter.html | 7 +- .../mfc_strings/mfc_regex_create.html | 3 +- .../mfc_strings/mfc_regex_types.html | 3 +- doc/html/boost_regex/ref/posix.html | 72 ++++++--------- doc/html/boost_regex/ref/regex_iterator.html | 7 +- doc/html/boost_regex/ref/regex_match.html | 25 +++--- doc/html/boost_regex/ref/regex_replace.html | 7 +- doc/html/boost_regex/ref/regex_search.html | 7 +- .../boost_regex/ref/regex_token_iterator.html | 7 +- doc/html/boost_regex/ref/regex_traits.html | 5 +- doc/html/boost_regex/ref/sub_match.html | 11 +-- .../boost_regex/ref/syntax_option_type.html | 3 +- .../syntax_option_type_basic.html | 3 +- .../syntax_option_type_extended.html | 3 +- .../syntax_option_type_literal.html | 3 +- .../syntax_option_type_overview.html | 3 +- .../syntax_option_type_perl.html | 3 +- .../syntax_option_type_synopsis.html | 3 +- doc/html/boost_regex/syntax.html | 3 +- .../boost_regex/syntax/basic_extended.html | 83 +++++++++--------- doc/html/boost_regex/syntax/basic_syntax.html | 47 +++++----- .../boost_regex/syntax/character_classes.html | 3 +- .../optional_char_class_names.html | 3 +- .../character_classes/std_char_clases.html | 3 +- .../boost_regex/syntax/collating_names.html | 3 +- .../syntax/collating_names/digraphs.html | 3 +- .../syntax/collating_names/named_unicode.html | 3 +- .../collating_names/posix_symbolic_names.html | 3 +- .../syntax/leftmost_longest_rule.html | 3 +- doc/html/boost_regex/syntax/perl_syntax.html | 87 ++++++++++--------- doc/html/boost_regex/unicode.html | 7 +- doc/html/index.html | 4 +- 82 files changed, 393 insertions(+), 364 deletions(-) diff --git a/doc/html/boost_regex/background_information.html b/doc/html/boost_regex/background_information.html index 8be983fb..ecf49934 100644 --- a/doc/html/boost_regex/background_information.html +++ b/doc/html/boost_regex/background_information.html @@ -24,7 +24,8 @@
Headers
Localization
diff --git a/doc/html/boost_regex/background_information/acknowledgements.html b/doc/html/boost_regex/background_information/acknowledgements.html index 01d7af0c..d5356278 100644 --- a/doc/html/boost_regex/background_information/acknowledgements.html +++ b/doc/html/boost_regex/background_information/acknowledgements.html @@ -25,7 +25,8 @@
+ Acknowledgements +

The author can be contacted at john - at - johnmaddock.co.uk; the home page for this library is at www.boost.org. diff --git a/doc/html/boost_regex/background_information/examples.html b/doc/html/boost_regex/background_information/examples.html index a8d3cf16..983c20c4 100644 --- a/doc/html/boost_regex/background_information/examples.html +++ b/doc/html/boost_regex/background_information/examples.html @@ -25,9 +25,10 @@

+ Example Programs +
- + Test Programs
@@ -97,7 +98,7 @@ Files: captures_test.cpp.

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

- + Code snippets
diff --git a/doc/html/boost_regex/background_information/faq.html b/doc/html/boost_regex/background_information/faq.html index 26fafbe3..e860f4a3 100644 --- a/doc/html/boost_regex/background_information/faq.html +++ b/doc/html/boost_regex/background_information/faq.html @@ -24,7 +24,8 @@
+ FAQ +

Q. I can't get regex++ to work with escape characters, what's going on? diff --git a/doc/html/boost_regex/background_information/futher.html b/doc/html/boost_regex/background_information/futher.html index 32c87624..cb7087ef 100644 --- a/doc/html/boost_regex/background_information/futher.html +++ b/doc/html/boost_regex/background_information/futher.html @@ -25,7 +25,8 @@

+ and Further Information +

Short tutorials on regular expressions can be found here and here. @@ -36,7 +37,7 @@

Boost.Regex forms the basis for the regular expression chapter of the Technical - report on C++ Library Extensions. + Report on C++ Library Extensions.

The Open diff --git a/doc/html/boost_regex/background_information/headers.html b/doc/html/boost_regex/background_information/headers.html index d1c174e7..e88973ff 100644 --- a/doc/html/boost_regex/background_information/headers.html +++ b/doc/html/boost_regex/background_information/headers.html @@ -24,7 +24,8 @@

There are two main headers used by this library: <boost/regex.hpp> provides full access to the main template library, while <boost/cregex.hpp> diff --git a/doc/html/boost_regex/background_information/history.html b/doc/html/boost_regex/background_information/history.html index 6c1c30c8..d71e74b2 100644 --- a/doc/html/boost_regex/background_information/history.html +++ b/doc/html/boost_regex/background_information/history.html @@ -23,9 +23,10 @@

- + Boost 1.34
@@ -48,7 +49,7 @@
- + Boost 1.33.1
@@ -118,7 +119,7 @@
- + Boost 1.33.0
@@ -173,7 +174,7 @@
- + Boost 1.32.1
@@ -181,7 +182,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 1ff11013..f0e6aefb 100644 --- a/doc/html/boost_regex/background_information/locale.html +++ b/doc/html/boost_regex/background_information/locale.html @@ -24,7 +24,8 @@

Boost.Regex provides extensive support for run-time localization, the localization model used can be split into two parts: front-end and back-end. @@ -57,7 +58,7 @@ There are three separate localization mechanisms supported by Boost.Regex:

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

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

- + C++ localization model.
@@ -154,7 +155,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/performance.html b/doc/html/boost_regex/background_information/performance.html index a5101ac2..1732fd58 100644 --- a/doc/html/boost_regex/background_information/performance.html +++ b/doc/html/boost_regex/background_information/performance.html @@ -24,7 +24,8 @@

The performance of Boost.Regex in both recursive and non-recursive modes should be broadly comparable to other regular expression libraries: recursive diff --git a/doc/html/boost_regex/background_information/redist.html b/doc/html/boost_regex/background_information/redist.html index c670b381..4e3434ce 100644 --- a/doc/html/boost_regex/background_information/redist.html +++ b/doc/html/boost_regex/background_information/redist.html @@ -24,7 +24,8 @@

If you are using Microsoft or Borland C++ and link to a dll version of the run time library, then you can choose to also link to a dll version of Boost.Regex diff --git a/doc/html/boost_regex/background_information/standards.html b/doc/html/boost_regex/background_information/standards.html index a702efe1..910d0d3a 100644 --- a/doc/html/boost_regex/background_information/standards.html +++ b/doc/html/boost_regex/background_information/standards.html @@ -25,17 +25,18 @@

+ Conformance +
- + C++

Boost.Regex is intended to conform to the Technical - report on C++ Library Extensions. + Report on C++ Library Extensions.

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

- + Perl

@@ -61,7 +62,7 @@ (??{code}) Not implementable in a compiled strongly typed language.

- + POSIX

@@ -81,7 +82,7 @@ a custom traits class.

- + Unicode

diff --git a/doc/html/boost_regex/background_information/thread_safety.html b/doc/html/boost_regex/background_information/thread_safety.html index a1ea6cf6..86f73d7f 100644 --- a/doc/html/boost_regex/background_information/thread_safety.html +++ b/doc/html/boost_regex/background_information/thread_safety.html @@ -25,7 +25,8 @@

+ Safety +

The Boost.Regex library is thread safe when Boost is: you can verify that Boost is in thread safe mode by checking to see if BOOST_HAS_THREADS diff --git a/doc/html/boost_regex/captures.html b/doc/html/boost_regex/captures.html index 7ee027ed..af64a95d 100644 --- a/doc/html/boost_regex/captures.html +++ b/doc/html/boost_regex/captures.html @@ -25,7 +25,8 @@

Captures are the iterator ranges that are "captured" by marked sub-expressions as a regular expression gets matched. Each marked sub-expression can result @@ -34,7 +35,7 @@ accessed.

- + Marked sub-expressions

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

- + Unmatched Sub-Expressions

@@ -231,7 +232,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/configuration.html b/doc/html/boost_regex/configuration.html index e8634d88..df6a4d80 100644 --- a/doc/html/boost_regex/configuration.html +++ b/doc/html/boost_regex/configuration.html @@ -24,7 +24,8 @@

diff --git a/doc/html/boost_regex/configuration/compiler.html b/doc/html/boost_regex/configuration/compiler.html index 61bbc713..ee8f55ea 100644 --- a/doc/html/boost_regex/configuration/compiler.html +++ b/doc/html/boost_regex/configuration/compiler.html @@ -24,7 +24,8 @@

You shouldn't need to do anything special to configure Boost.Regex for use with your compiler - the Boost.Config diff --git a/doc/html/boost_regex/configuration/linkage.html b/doc/html/boost_regex/configuration/linkage.html index 5197cc4e..a4959292 100644 --- a/doc/html/boost_regex/configuration/linkage.html +++ b/doc/html/boost_regex/configuration/linkage.html @@ -24,7 +24,8 @@

diff --git a/doc/html/boost_regex/configuration/locale.html b/doc/html/boost_regex/configuration/locale.html index b30b9501..9b5c16c3 100644 --- a/doc/html/boost_regex/configuration/locale.html +++ b/doc/html/boost_regex/configuration/locale.html @@ -25,7 +25,8 @@

The following macros (see user.hpp) control how Boost.Regex interacts with the user's locale: diff --git a/doc/html/boost_regex/configuration/tuning.html b/doc/html/boost_regex/configuration/tuning.html index 57dc63be..c58319ac 100644 --- a/doc/html/boost_regex/configuration/tuning.html +++ b/doc/html/boost_regex/configuration/tuning.html @@ -24,7 +24,8 @@

The following option applies only if BOOST_REGEX_RECURSIVE is set.

diff --git a/doc/html/boost_regex/format.html b/doc/html/boost_regex/format.html index 8f8f54f5..1e24ee79 100644 --- a/doc/html/boost_regex/format.html +++ b/doc/html/boost_regex/format.html @@ -24,7 +24,8 @@
Sed Format String Syntax
Perl 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 afea9743..b2fc8352 100644 --- a/doc/html/boost_regex/format/boost_format_syntax.html +++ b/doc/html/boost_regex/format/boost_format_syntax.html @@ -25,13 +25,14 @@

Boost-Extended format strings treat all characters as literals except for '$', '\', '(', ')', '?', and ':'.

- + Grouping

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

- + Conditionals

@@ -65,7 +66,7 @@ with "bar" otherwise.

- + Placeholder Sequences
@@ -160,7 +161,7 @@ as a literal.

- + Escape Sequences
diff --git a/doc/html/boost_regex/format/perl_format.html b/doc/html/boost_regex/format/perl_format.html index 29a8b5e2..a04deb0a 100644 --- a/doc/html/boost_regex/format/perl_format.html +++ b/doc/html/boost_regex/format/perl_format.html @@ -24,7 +24,8 @@

Perl-style format strings treat all characters as literals except '$' and '\' which start placeholder and escape sequences respectively. diff --git a/doc/html/boost_regex/format/sed_format.html b/doc/html/boost_regex/format/sed_format.html index 45db22ea..6a142e76 100644 --- a/doc/html/boost_regex/format/sed_format.html +++ b/doc/html/boost_regex/format/sed_format.html @@ -24,7 +24,8 @@

Sed-style format strings treat all characters as literals except:

diff --git a/doc/html/boost_regex/install.html b/doc/html/boost_regex/install.html index f00298b8..9facdc5f 100644 --- a/doc/html/boost_regex/install.html +++ b/doc/html/boost_regex/install.html @@ -24,7 +24,8 @@

When you extract the library from its zip file, you must preserve its internal directory structure (for example by using the -d option when extracting). If @@ -48,7 +49,7 @@ file before you can use it, instructions for specific platforms are as follows:

- + Building with bjam

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

- + Building With Unicode and ICU Support
@@ -95,11 +96,11 @@ ICU you are using is binary compatible with the toolset you use to build Boost.

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

@@ -301,7 +302,7 @@ see the config library documentation.

- + Sun Workshop 6.1

@@ -346,7 +347,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/introduction_and_overview.html b/doc/html/boost_regex/introduction_and_overview.html index a913c444..a9132aa7 100644 --- a/doc/html/boost_regex/introduction_and_overview.html +++ b/doc/html/boost_regex/introduction_and_overview.html @@ -25,7 +25,8 @@

Regular expressions are a form of pattern-matching that are often used in text processing; many users will be familiar with the Unix utilities grep, sed and diff --git a/doc/html/boost_regex/partial_matches.html b/doc/html/boost_regex/partial_matches.html index b1abe6ca..c02f0333 100644 --- a/doc/html/boost_regex/partial_matches.html +++ b/doc/html/boost_regex/partial_matches.html @@ -24,7 +24,8 @@

The match_flag_type match_partial can be passed diff --git a/doc/html/boost_regex/ref.html b/doc/html/boost_regex/ref.html index a1ea4196..814fbecd 100644 --- a/doc/html/boost_regex/ref.html +++ b/doc/html/boost_regex/ref.html @@ -24,7 +24,8 @@

basic_regex
match_results
diff --git a/doc/html/boost_regex/ref/bad_expression.html b/doc/html/boost_regex/ref/bad_expression.html index bc493fd1..52d66acd 100644 --- a/doc/html/boost_regex/ref/bad_expression.html +++ b/doc/html/boost_regex/ref/bad_expression.html @@ -24,9 +24,10 @@
- + Synopsis
@@ -55,7 +56,7 @@
 } // namespace boost
 
- + Description
@@ -88,7 +89,7 @@
         and bad_expression for errors,
         these have been replaced by the single class regex_error
         to keep the library in synchronization with the Technical
-        report on C++ Library Extensions.
+        Report on C++ Library Extensions.
       

diff --git a/doc/html/boost_regex/ref/basic_regex.html b/doc/html/boost_regex/ref/basic_regex.html index c6b7def8..06568384 100644 --- a/doc/html/boost_regex/ref/basic_regex.html +++ b/doc/html/boost_regex/ref/basic_regex.html @@ -24,9 +24,10 @@
- + Synopsis
@@ -245,7 +246,7 @@
 } // namespace boost
 
- + Description

@@ -330,7 +331,7 @@ basic_regex.

-

Table 1. basic_regex default construction postconditions

+

Table 1. basic_regex default construction postconditions

@@ -411,7 +412,7 @@ flags specified in f.

-

Table 2. Postconditions for basic_regex construction

+

Table 2. Postconditions for basic_regex construction

@@ -517,7 +518,7 @@ specified in f.

-

Table 3. Postconditions for basic_regex construction

+

Table 3. Postconditions for basic_regex construction

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

-

Table 4. Postconditions for basic_regex construction

+

Table 4. Postconditions for basic_regex construction

@@ -735,7 +736,7 @@ flags specified in f.

-

Table 5. Postconditions for basic_regex construction

+

Table 5. Postconditions for basic_regex construction

@@ -838,7 +839,7 @@ flags specified in f.

-

Table 6. Postconditions for basic_regex construction

+

Table 6. Postconditions for basic_regex construction

@@ -1049,7 +1050,7 @@ in f.

-

Table 7. Postconditions for basic_regex::assign

+

Table 7. Postconditions for basic_regex::assign

@@ -1233,20 +1234,13 @@ - +
[Note] Note
-

-

-

- Comparisons between basic_regex objects are provided - on an experimental basis: please note that these are not present in the - Technical - report on C++ Library Extensions, so use with care if you are - writing code that may need to be ported to other implementations of - basic_regex. -

-

-

-

+ Comparisons between basic_regex objects are provided + on an experimental basis: please note that these are not present in the + Technical + Report on C++ Library Extensions, so use with care if you are writing + code that may need to be ported to other implementations of basic_regex. +

@@ -1319,16 +1313,10 @@ [Note] Note - -

-

-

- The basic_regex stream inserter is provided on an experimental basis, - and outputs the textual representation of the expression to the stream. -

-

-

- +

+ The basic_regex stream inserter is provided on an experimental basis, and + outputs the textual representation of the expression to the stream. +

diff --git a/doc/html/boost_regex/ref/concepts.html b/doc/html/boost_regex/ref/concepts.html index f222994e..fe2ea0cb 100644 --- a/doc/html/boost_regex/ref/concepts.html +++ b/doc/html/boost_regex/ref/concepts.html @@ -24,7 +24,8 @@

Type charT used a template argument to class template basic_regex, must have a trivial diff --git a/doc/html/boost_regex/ref/concepts/iterator_concepts.html b/doc/html/boost_regex/ref/concepts/iterator_concepts.html index ec865edc..f65480a8 100644 --- a/doc/html/boost_regex/ref/concepts/iterator_concepts.html +++ b/doc/html/boost_regex/ref/concepts/iterator_concepts.html @@ -25,7 +25,8 @@

+ Rrequirements +

The regular expression algorithms (and iterators) take all require a Bidirectional-Iterator.

diff --git a/doc/html/boost_regex/ref/concepts/traits_concept.html b/doc/html/boost_regex/ref/concepts/traits_concept.html index 5bfe59f0..d791f879 100644 --- a/doc/html/boost_regex/ref/concepts/traits_concept.html +++ b/doc/html/boost_regex/ref/concepts/traits_concept.html @@ -25,7 +25,8 @@

There are two sets of requirements for the traits template argument to basic_regex: a mininal interface @@ -33,7 +34,7 @@ Boost-specific enhanced interface.

- + Minimal requirements.
@@ -400,7 +401,7 @@
- + Additional Optional Requirements
diff --git a/doc/html/boost_regex/ref/deprecated_interfaces.html b/doc/html/boost_regex/ref/deprecated_interfaces.html index d8360dd7..07045e17 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces.html @@ -24,7 +24,8 @@
regex_format (Deprecated)
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 74e12ce6..ba37fb11 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html @@ -25,7 +25,8 @@
+ Level Class RegEx (Deprecated) +

The high level wrapper class RegEx is now deprecated and does not form part of the regular expression standardization proposal. This type still 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 387a2d32..28ef42c8 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html @@ -25,7 +25,8 @@

+ regex_format (Deprecated) +

The algorithm regex_format is deprecated; new code should use match_results<>::format instead. Existing code @@ -33,7 +34,7 @@ previous version of Boost.Regex and will not be further updated:

- + Algorithm regex_format
@@ -67,16 +68,10 @@ [Note] Note - -

-

-

- This version may not be available, or may be available in a more limited - form, depending upon your compilers capabilities -

-

-

- +

+ This version may not be available, or may be available in a more limited + form, depending upon your compilers capabilities +

 template <class iterator, class Allocator, class charT>
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 e55ca22c..33fd7e4e 100644
--- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html
+++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html
@@ -25,7 +25,8 @@
 
+ regex_grep (Deprecated) +

The algorithm regex_grep is deprecated in favor of regex_iterator which provides 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 be785d73..dd07bf04 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html @@ -25,7 +25,8 @@

+ regex_split (deprecated) +

The algorithm regex_split has been deprecated in favor of the iterator regex_token_iterator which has diff --git a/doc/html/boost_regex/ref/error_type.html b/doc/html/boost_regex/ref/error_type.html index 2fb8b971..d2deb78b 100644 --- a/doc/html/boost_regex/ref/error_type.html +++ b/doc/html/boost_regex/ref/error_type.html @@ -24,9 +24,10 @@

- + Synopsis

@@ -57,7 +58,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 d1c1c367..e0ebccba 100644 --- a/doc/html/boost_regex/ref/match_flag_type.html +++ b/doc/html/boost_regex/ref/match_flag_type.html @@ -24,7 +24,8 @@

The type match_flag_type is an implementation specific bitmask type (see C++ std 17.3.2.1.2) that @@ -69,7 +70,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 f3a99f27..086ba614 100644 --- a/doc/html/boost_regex/ref/match_results.html +++ b/doc/html/boost_regex/ref/match_results.html @@ -24,9 +24,10 @@

- + Synopsis
@@ -143,7 +144,7 @@
          match_results<BidirectionalIterator, Allocator>& m2);
 
- + Description

diff --git a/doc/html/boost_regex/ref/non_std_strings.html b/doc/html/boost_regex/ref/non_std_strings.html index 28584d1d..62ad63d5 100644 --- a/doc/html/boost_regex/ref/non_std_strings.html +++ b/doc/html/boost_regex/ref/non_std_strings.html @@ -25,7 +25,8 @@

Working With Unicode and ICU 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 4e143048..337c084b 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu.html @@ -25,7 +25,8 @@
+ Unicode and ICU String Types +
Introduction to using Regex with ICU
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 0fa8f5f9..5e719f6f 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 @@ -25,7 +25,8 @@
+ to using Regex with ICU +

The header:

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 337856b0..0691e820 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 @@ -25,7 +25,8 @@
+ Unicode Regular Expression Algorithms +

The regular expression algorithms regex_match, regex_search and regex_replace all expect that the character sequence upon which they operate, is encoded in the same @@ -42,7 +43,7 @@ on to the "real" algorithm.

- + u32regex_match

@@ -90,7 +91,7 @@ }

- + u32regex_search

@@ -130,7 +131,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 190b8533..031f60af 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 @@ -25,9 +25,10 @@

+ Unicode Aware Regex Iterators +
- + u32regex_iterator

@@ -128,7 +129,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/icu/unicode_types.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html index b49d8439..54c37692 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 @@ -25,7 +25,8 @@

+ Unicode regular expression types +

Header <boost/regex/icu.hpp> provides a regular expression traits class that handles UTF-32 characters: 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 1974e617..3298ba2f 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 @@ -25,7 +25,8 @@

+ Boost Regex With MFC Strings +
Introduction to Boost.Regex and 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 fc0401cd..76d42e1b 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 @@ -25,7 +25,8 @@
+ Overloaded Algorithms For MFC String Types +

For each regular expression algorithm that's overloaded for a std::basic_string argument, there is also one overloaded for the MFC/ATL string types. These algorithm signatures @@ -33,7 +34,7 @@ here they are anyway:

- + regex_match

@@ -83,7 +84,7 @@ }

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

@@ -154,7 +155,7 @@ }

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

- + regex_replace

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 fe39f0ee..0923a1f9 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 @@ -25,7 +25,8 @@

+ Introduction to Boost.Regex and MFC Strings +

The header <boost/regex/mfc.hpp> provides Boost.Regex support for MFC string types: note that this support requires Visual Studio .NET 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 aee06e0a..04c5c41e 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 @@ -25,13 +25,14 @@

+ Iterating Over the Matches Within An MFC String +

The following helper functions are provided to ease the conversion from an MFC/ATL string to a regex_iterator or regex_token_iterator:

- + regex_iterator creation helper
@@ -69,7 +70,7 @@ }
- + regex_token_iterator creation helpers
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 a2f51c6d..7ddd4f7b 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 @@ -25,7 +25,8 @@
+ Regular Expression Creation From an MFC String +

The following helper function is available to assist in the creation of a regular expression from an MFC/ATL string type: 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 9547199f..8edd6c09 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 @@ -25,7 +25,8 @@

+ Regex Types Used With MFC Strings +

The following typedefs are provided for the convenience of those working with TCHAR's: diff --git a/doc/html/boost_regex/ref/posix.html b/doc/html/boost_regex/ref/posix.html index 97c1b8b6..c2bd5a77 100644 --- a/doc/html/boost_regex/ref/posix.html +++ b/doc/html/boost_regex/ref/posix.html @@ -24,26 +24,20 @@

- +
[Note] Note
-

-

-

- this is an abridged reference to the POSIX API functions, these are provided - for compatibility with other libraries, rather than as an API to be used - in new code (unless you need access from a language other than C++). - This version of these functions should also happily coexist with other - versions, as the names used are macros that expand to the actual function - names. -

-

-

-

+ this is an abridged reference to the POSIX API functions, these are provided + for compatibility with other libraries, rather than as an API to be used + in new code (unless you need access from a language other than C++). This + version of these functions should also happily coexist with other versions, + as the names used are macros that expand to the actual function names. +

 #include <boost/cregex.hpp>
@@ -65,20 +59,12 @@
 [Important]
 Important
 
-
-

-

-

- Note that all the symbols defined here are enclosed inside namespace - boost when used in C++ - programs, unless you use #include - <boost/regex.h> instead - in which case the symbols - are still defined in namespace boost, but are made available in the global - namespace as well. -

-

-

- +

+ Note that all the symbols defined here are enclosed inside namespace boost when used in C++ programs, unless + you use #include <boost/regex.h> + instead - in which case the symbols are still defined in namespace boost, + but are made available in the global namespace as well. +

The functions are defined as: @@ -171,24 +157,18 @@ [Note] Note - -

-

-

- regex_t is actually a - #define - it is either - regex_tA or regex_tW depending upon whether UNICODE is defined or not, TCHAR is either char - or wchar_t again depending - upon the macro UNICODE. -

-

-

- +

+ regex_t is actually a + #define - it is either + regex_tA or regex_tW depending upon whether UNICODE is defined or not, TCHAR is either char + or wchar_t again depending + upon the macro UNICODE. +

- + regcomp

@@ -402,7 +382,7 @@

- + regerror

@@ -490,7 +470,7 @@

- + regexec

@@ -560,7 +540,7 @@

- + regfree

diff --git a/doc/html/boost_regex/ref/regex_iterator.html b/doc/html/boost_regex/ref/regex_iterator.html index 8c2bc842..a77d0d5f 100644 --- a/doc/html/boost_regex/ref/regex_iterator.html +++ b/doc/html/boost_regex/ref/regex_iterator.html @@ -24,7 +24,8 @@

The iterator type regex_iterator will enumerate all of the regular expression matches found in some sequence: dereferencing a @@ -78,7 +79,7 @@ regex_constants::match_flag_type m = regex_constants::match_default);

- + Description

@@ -447,7 +448,7 @@ m.

- + Examples

diff --git a/doc/html/boost_regex/ref/regex_match.html b/doc/html/boost_regex/ref/regex_match.html index 06c4c5bf..3cc9fb34 100644 --- a/doc/html/boost_regex/ref/regex_match.html +++ b/doc/html/boost_regex/ref/regex_match.html @@ -24,7 +24,8 @@

 #include <boost/regex.hpp> 
 
@@ -40,18 +41,12 @@ [Important] Important - -

-

-

- Note that the result is true only if the expression matches the whole of the input sequence. If you want to search - for an expression somewhere within the sequence then use regex_search. If you want to - match a prefix of the character string then use regex_search with the flag match_continuous - set. -

-

-

- +

+ Note that the result is true only if the expression matches the whole of the input sequence. If you want to search + for an expression somewhere within the sequence then use regex_search. If you want to match + a prefix of the character string then use regex_search with the flag match_continuous + set. +

 template <class BidirectionalIterator, class Allocator, class charT, class traits>
@@ -87,7 +82,7 @@
                  match_flag_type flags = match_default);
 
- + Description
@@ -373,7 +368,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 d15564fb..f8a9c96c 100644 --- a/doc/html/boost_regex/ref/regex_replace.html +++ b/doc/html/boost_regex/ref/regex_replace.html @@ -24,7 +24,8 @@

 #include <boost/regex.hpp> 
 
@@ -54,7 +55,7 @@ match_flag_type flags = match_default);
- + Description
@@ -174,7 +175,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 73329cde..c80a4a38 100644 --- a/doc/html/boost_regex/ref/regex_search.html +++ b/doc/html/boost_regex/ref/regex_search.html @@ -24,7 +24,8 @@

 #include <boost/regex.hpp> 
 
@@ -74,7 +75,7 @@ match_flag_type flags = match_default);
- + Description
@@ -362,7 +363,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 4f2bd48c..ac17d494 100644 --- a/doc/html/boost_regex/ref/regex_token_iterator.html +++ b/doc/html/boost_regex/ref/regex_token_iterator.html @@ -24,7 +24,8 @@

The template class regex_token_iterator is an iterator adapter; that is to say it represents a new view of an existing iterator @@ -136,7 +137,7 @@ regex_constants::match_flag_type m = regex_constants::match_default);

- + Description

@@ -396,7 +397,7 @@ m.

- + Examples

diff --git a/doc/html/boost_regex/ref/regex_traits.html b/doc/html/boost_regex/ref/regex_traits.html index 4e104532..6ba48c1c 100644 --- a/doc/html/boost_regex/ref/regex_traits.html +++ b/doc/html/boost_regex/ref/regex_traits.html @@ -24,7 +24,8 @@

 namespace boost{
 
@@ -46,7 +47,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 1eb6673b..bf321f1b 100644 --- a/doc/html/boost_regex/ref/sub_match.html +++ b/doc/html/boost_regex/ref/sub_match.html @@ -24,7 +24,8 @@

 #include <boost/regex.hpp>
 
@@ -330,11 +331,11 @@ } // namespace boost
- + Description
- + Members

@@ -488,7 +489,7 @@

- + sub_match non-member operators
@@ -1072,7 +1073,7 @@ + m2.str().

- + Stream inserter

diff --git a/doc/html/boost_regex/ref/syntax_option_type.html b/doc/html/boost_regex/ref/syntax_option_type.html index 17fd891c..05d85304 100644 --- a/doc/html/boost_regex/ref/syntax_option_type.html +++ b/doc/html/boost_regex/ref/syntax_option_type.html @@ -24,7 +24,8 @@

syntax_option_type Synopsis
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 49f9caf0..28d5b5c4 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 @@ -25,7 +25,8 @@
+ Options for POSIX Basic Regular Expressions +

Exactly one of the following must always be set 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 956ad059..f2690f5e 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 @@ -25,7 +25,8 @@

+ Options for POSIX Extended Regular Expressions +

Exactly one of the following must always be set 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 00b49317..d8d50cdf 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 @@ -25,7 +25,8 @@

+ Options for Literal Strings +

The following must always be set to interpret the expression as a string literal: 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 61cc1c11..7a3b9eee 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 @@ -25,7 +25,8 @@

+ Overview of syntax_option_type +

The type syntax_option_type is an implementation specific bitmask type (see C++ standard 17.3.2.1.2). Setting its elements 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 1f1813ef..95eaac41 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 @@ -25,7 +25,8 @@

+ Options for Perl Regular Expressions +

One of the following must always be set 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 1ee66296..9e01046a 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 @@ -25,7 +25,8 @@
+ syntax_option_type Synopsis +

Type syntax_option_type is an implementation specific bitmask type that controls how a regular diff --git a/doc/html/boost_regex/syntax.html b/doc/html/boost_regex/syntax.html index ecdfa2ad..4a9c6b84 100644 --- a/doc/html/boost_regex/syntax.html +++ b/doc/html/boost_regex/syntax.html @@ -24,7 +24,8 @@

Perl Regular Expression Syntax
diff --git a/doc/html/boost_regex/syntax/basic_extended.html b/doc/html/boost_regex/syntax/basic_extended.html index dddf4b9e..cb3b7125 100644 --- a/doc/html/boost_regex/syntax/basic_extended.html +++ b/doc/html/boost_regex/syntax/basic_extended.html @@ -25,9 +25,10 @@

- + Synopsis

@@ -46,7 +47,7 @@

- + POSIX Extended Syntax

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

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

@@ -74,7 +75,7 @@

- + Anchors:

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

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

- + Repeats:

@@ -187,7 +188,7 @@ cab operator to be applied to.

- + Back references:

@@ -213,19 +214,13 @@ cab [Caution] Caution - -

-

-

- The POSIX standard does not support back-references for "extended" - regular expressions, this is a compatible extension to that standard. -

-

-

- +

+ The POSIX standard does not support back-references for "extended" + regular expressions, this is a compatible extension to that standard. +

- + Alternation

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

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

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

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

- + Negation:

@@ -285,7 +280,7 @@ cab range a-c.

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

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

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

- + Combinations:

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

- + Escapes

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

- + Escapes matching a specific character
@@ -564,7 +559,7 @@ cab
- + "Single character" character classes:
@@ -718,7 +713,7 @@ cab
- + Character Properties
@@ -825,7 +820,7 @@ cab matches any "digit" character, as does \p{digit}.

- + Word Boundaries

@@ -900,7 +895,7 @@ cab

- + Buffer boundaries
@@ -991,7 +986,7 @@ cab
- + Continuation Escape
@@ -1003,7 +998,7 @@ cab match to start where the last one ended.

- + Quoting escape
@@ -1018,7 +1013,7 @@ cab \*+aaa
- + Unicode escapes
@@ -1069,7 +1064,7 @@ cab
- + Any other escape
@@ -1078,7 +1073,7 @@ cab \@ matches a literal '@'.

- + Operator precedence
@@ -1114,7 +1109,7 @@ cab
- + What Gets Matched
@@ -1124,11 +1119,11 @@ cab rule.

- + Variations

- + Egrep

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

- + awk

@@ -1164,7 +1159,7 @@ cab these by default anyway.

- + Options

@@ -1177,7 +1172,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 1f10209e..1c6da9c4 100644 --- a/doc/html/boost_regex/syntax/basic_syntax.html +++ b/doc/html/boost_regex/syntax/basic_syntax.html @@ -25,9 +25,10 @@

- + Synopsis

@@ -45,7 +46,7 @@

- + POSIX Basic Syntax

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

.[\*^$
- + Wildcard:

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

- + Anchors:

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

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

- + Repeats:

@@ -155,7 +156,7 @@ aaaa to.

- + Back references:

@@ -173,7 +174,7 @@ aaaa

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

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

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

- + Negation:

@@ -220,7 +221,7 @@ aaaa range a-c.

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

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

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

- + Combinations:

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

- + Escapes

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

- + What Gets Matched

@@ -309,13 +310,13 @@ aaaa rule.

- + Variations

- + Grep

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

- + emacs

@@ -614,7 +615,7 @@ aaaa leftmost-longest rule.

- + Options

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

- + References

diff --git a/doc/html/boost_regex/syntax/character_classes.html b/doc/html/boost_regex/syntax/character_classes.html index 891511ab..baf9fa93 100644 --- a/doc/html/boost_regex/syntax/character_classes.html +++ b/doc/html/boost_regex/syntax/character_classes.html @@ -25,7 +25,8 @@

Character Classes that are Always Supported
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 81be15db..d8b7c5a9 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 @@ -25,7 +25,8 @@
+ Character classes that are supported by Unicode Regular Expressions +

The following character classes are only supported by Unicode Regular Expressions: that is those that use the u32regex diff --git a/doc/html/boost_regex/syntax/character_classes/std_char_clases.html b/doc/html/boost_regex/syntax/character_classes/std_char_clases.html index b39e2bff..b3f24808 100644 --- a/doc/html/boost_regex/syntax/character_classes/std_char_clases.html +++ b/doc/html/boost_regex/syntax/character_classes/std_char_clases.html @@ -25,7 +25,8 @@

+ Character Classes that are Always Supported +

The following character class names are always supported by Boost.Regex:

diff --git a/doc/html/boost_regex/syntax/collating_names.html b/doc/html/boost_regex/syntax/collating_names.html index 7ff514ad..b837a1a6 100644 --- a/doc/html/boost_regex/syntax/collating_names.html +++ b/doc/html/boost_regex/syntax/collating_names.html @@ -24,7 +24,8 @@

The following are treated as valid digraphs when used as a collating name:

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 20cfd0c9..ac4c46af 100644 --- a/doc/html/boost_regex/syntax/collating_names/named_unicode.html +++ b/doc/html/boost_regex/syntax/collating_names/named_unicode.html @@ -25,7 +25,8 @@
+ Named Unicode Characters +

When using Unicode aware regular expressions (with the u32regex type), 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 ddf71da9..91e5ce27 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 @@ -25,7 +25,8 @@

+ POSIX Symbolic Names +

The following symbolic names are recognised as valid collating element names, in addition to any single character, this allows you to write for diff --git a/doc/html/boost_regex/syntax/leftmost_longest_rule.html b/doc/html/boost_regex/syntax/leftmost_longest_rule.html index 46ea42ae..aa5a57b9 100644 --- a/doc/html/boost_regex/syntax/leftmost_longest_rule.html +++ b/doc/html/boost_regex/syntax/leftmost_longest_rule.html @@ -25,7 +25,8 @@

Often there is more than one way of matching a regular expression at a particular location, for POSIX basic and extended regular expressions, the "best" diff --git a/doc/html/boost_regex/syntax/perl_syntax.html b/doc/html/boost_regex/syntax/perl_syntax.html index 104d8dc8..0750577a 100644 --- a/doc/html/boost_regex/syntax/perl_syntax.html +++ b/doc/html/boost_regex/syntax/perl_syntax.html @@ -25,9 +25,10 @@

- + Synopsis

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

- + Perl Regular Expression Syntax

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

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

@@ -75,7 +76,7 @@

- + Anchors

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

- + Marked sub-expressions
@@ -97,7 +98,7 @@ to by a back-reference.

- + Non-marking grouping
@@ -111,7 +112,7 @@ out any separate sub-expressions.

- + Repeats

@@ -205,7 +206,7 @@ operator to be applied to.

- + Non greedy repeats
@@ -236,7 +237,7 @@ input as possible.

- + Back references

@@ -258,7 +259,7 @@ aaabba

- + Alternation

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

- + Character sets

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

- + Single characters

@@ -308,7 +309,7 @@ or 'c'.

- + Character ranges
@@ -321,7 +322,7 @@ regular expression, then ranges are locale sensitive.

- + Negation

@@ -330,7 +331,7 @@ range a-c.

- + Character classes
@@ -340,7 +341,7 @@ character class names.

- + Collating Elements
@@ -365,7 +366,7 @@ character.

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

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

- + Combinations

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

- + Escapes

@@ -595,7 +596,7 @@

- + "Single character" character classes:
@@ -749,7 +750,7 @@
- + Character Properties
@@ -857,7 +858,7 @@ matches any "digit" character, as does \p{digit}.

- + Word Boundaries

@@ -879,7 +880,7 @@ Matches only when not at a word boundary.

- + Buffer boundaries

@@ -904,7 +905,7 @@ to the regular expression \n*\z

- + Continuation Escape
@@ -916,7 +917,7 @@ match to start where the last one ended.

- + Quoting escape

@@ -930,7 +931,7 @@ \*+aaa

- + Unicode escapes

@@ -941,7 +942,7 @@ combining characters.

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

- + Perl Extended Patterns
@@ -959,7 +960,7 @@ (?.

- + Comments

@@ -968,7 +969,7 @@ are ignored.

- + Modifiers

@@ -983,7 +984,7 @@ applies the specified modifiers to pattern only.

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

- + Lookahead

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

- + Lookbehind

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

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

- + Conditional Expressions
@@ -1063,7 +1064,7 @@ sub-expression has been matched).

- + Operator precedence
@@ -1099,7 +1100,7 @@

- + What gets matched

@@ -1284,7 +1285,7 @@

- + Variations

@@ -1293,7 +1294,7 @@ JavaScript and JScript are all synonyms for perl.

- + Options

@@ -1306,7 +1307,7 @@ sensitivity are to be applied.

- + Pattern Modifiers

@@ -1318,7 +1319,7 @@ and no_mod_s.

- + References

diff --git a/doc/html/boost_regex/unicode.html b/doc/html/boost_regex/unicode.html index 6fab6707..a723e309 100644 --- a/doc/html/boost_regex/unicode.html +++ b/doc/html/boost_regex/unicode.html @@ -24,12 +24,13 @@

There are two ways to use Boost.Regex with Unicode strings:

- + Rely on wchar_t

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

- + Use a Unicode Aware Regular Expression Type.
diff --git a/doc/html/index.html b/doc/html/index.html index 06b2cd6f..dbbf8618 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)

@@ -202,7 +202,7 @@

- +

Last revised: August 25, 2007 at 08:47:36 GMT

Last revised: October 06, 2007 at 17:41:11 GMT


From 9ec9aa9cbca311f97e56d69226a20d53814e1c11 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Tue, 16 Oct 2007 16:11:30 +0000 Subject: [PATCH 07/62] Fully qualified use of "extended" flag, to keep gcc on Solaris happy. [SVN r40086] --- test/regress/test_anchors.cpp | 58 +++--- test/regress/test_escapes.cpp | 8 +- test/regress/test_replace.cpp | 2 +- test/regress/test_sets.cpp | 272 +++++++++++++-------------- test/regress/test_simple_repeats.cpp | 32 ++-- test/regress/test_tricky_cases.cpp | 176 ++++++++--------- 6 files changed, 274 insertions(+), 274 deletions(-) diff --git a/test/regress/test_anchors.cpp b/test/regress/test_anchors.cpp index 9fab46cc..b2aabdfd 100644 --- a/test/regress/test_anchors.cpp +++ b/test/regress/test_anchors.cpp @@ -19,13 +19,13 @@ void test_anchors() { // line anchors: using namespace boost::regex_constants; - TEST_REGEX_SEARCH("^ab", extended, "ab", match_default, make_array(0, 2, -2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "xxabxx", match_default, make_array(-2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "xx\nabzz", match_default, make_array(3, 5, -2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "ab", match_default, make_array(0, 2, -2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "abxx", match_default, make_array(-2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "ab\nzz", match_default, make_array(0, 2, -2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "\n\n a", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "ab", match_default, make_array(0, 2, -2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "xxabxx", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "xx\nabzz", match_default, make_array(3, 5, -2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "ab", match_default, make_array(0, 2, -2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "abxx", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "ab\nzz", match_default, make_array(0, 2, -2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "\n\n a", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("^ab", basic, "ab", match_default, make_array(0, 2, -2, -2)); TEST_REGEX_SEARCH("^ab", basic, "xxabxx", match_default, make_array(-2, -2)); @@ -34,34 +34,34 @@ void test_anchors() TEST_REGEX_SEARCH("ab$", basic, "abxx", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("ab$", basic, "ab\nzz", match_default, make_array(0, 2, -2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "ab", match_default | match_not_bol | match_not_eol, make_array(-2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "xxabxx", match_default | match_not_bol | match_not_eol, make_array(-2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "xx\nabzz", match_default | match_not_bol | match_not_eol, make_array(3, 5, -2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "ab", match_default | match_not_bol | match_not_eol, make_array(-2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "abxx", match_default | match_not_bol | match_not_eol, make_array(-2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "ab\nzz", match_default | match_not_bol | match_not_eol, make_array(0, 2, -2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "ab", match_default | match_not_bol | match_not_eol, make_array(-2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "xxabxx", match_default | match_not_bol | match_not_eol, make_array(-2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "xx\nabzz", match_default | match_not_bol | match_not_eol, make_array(3, 5, -2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "ab", match_default | match_not_bol | match_not_eol, make_array(-2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "abxx", match_default | match_not_bol | match_not_eol, make_array(-2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "ab\nzz", match_default | match_not_bol | match_not_eol, make_array(0, 2, -2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "ab", match_default | match_single_line, make_array(0, 2, -2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "xxabxx", match_default | match_single_line, make_array(-2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "xx\nabzz", match_default | match_single_line, make_array(-2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "ab", match_default | match_single_line, make_array(0, 2, -2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "abxx", match_default | match_single_line, make_array(-2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "ab\nzz", match_default | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "ab", match_default | match_single_line, make_array(0, 2, -2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "xxabxx", match_default | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "xx\nabzz", match_default | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "ab", match_default | match_single_line, make_array(0, 2, -2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "abxx", match_default | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "ab\nzz", match_default | match_single_line, make_array(-2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "ab", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "xxabxx", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "xx\nabzz", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "ab", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "abxx", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "ab\nzz", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "ab", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "xxabxx", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "xx\nabzz", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "ab", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "abxx", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "ab\nzz", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); // // changes to newline handling with 2.11: // - TEST_REGEX_SEARCH("^.", extended, " \n \r\n ", match_default, make_array(0, 1, -2, 3, 4, -2, 7, 8, -2, -2)); - TEST_REGEX_SEARCH(".$", extended, " \n \r\n ", match_default, make_array(1, 2, -2, 4, 5, -2, 8, 9, -2, -2)); + TEST_REGEX_SEARCH("^.", boost::regex::extended, " \n \r\n ", match_default, make_array(0, 1, -2, 3, 4, -2, 7, 8, -2, -2)); + TEST_REGEX_SEARCH(".$", boost::regex::extended, " \n \r\n ", match_default, make_array(1, 2, -2, 4, 5, -2, 8, 9, -2, -2)); #if !BOOST_WORKAROUND(__BORLANDC__, < 0x560) - TEST_REGEX_SEARCH_W(L"^.", extended, L"\x2028 \x2028", match_default, make_array(0, 1, -2, 1, 2, -2, -2)); - TEST_REGEX_SEARCH_W(L".$", extended, L" \x2028 \x2028", match_default, make_array(0, 1, -2, 2, 3, -2, 3, 4, -2, -2)); + TEST_REGEX_SEARCH_W(L"^.", boost::regex::extended, L"\x2028 \x2028", match_default, make_array(0, 1, -2, 1, 2, -2, -2)); + TEST_REGEX_SEARCH_W(L".$", boost::regex::extended, L" \x2028 \x2028", match_default, make_array(0, 1, -2, 2, 3, -2, 3, 4, -2, -2)); #endif } diff --git a/test/regress/test_escapes.cpp b/test/regress/test_escapes.cpp index 73cc9800..aa842130 100644 --- a/test/regress/test_escapes.cpp +++ b/test/regress/test_escapes.cpp @@ -38,8 +38,8 @@ void test_character_escapes() TEST_REGEX_SEARCH("\\c@", perl, "\0", match_default, make_array(0, 1, -2, -2)); TEST_REGEX_SEARCH("\\cA", perl, "\x1", match_default, make_array(0, 1, -2, -2)); //TEST_REGEX_SEARCH("\\cz", perl, "\x3A", match_default, make_array(0, 1, -2, -2)); - //TEST_INVALID_REGEX("\\c=", extended); - //TEST_INVALID_REGEX("\\c?", extended); + //TEST_INVALID_REGEX("\\c=", boost::regex::extended); + //TEST_INVALID_REGEX("\\c?", boost::regex::extended); TEST_REGEX_SEARCH("=:", perl, "=:", match_default, make_array(0, 2, -2, -2)); TEST_REGEX_SEARCH("\\e", perl, "\x1B", match_default, make_array(0, 1, -2, -2)); @@ -67,8 +67,8 @@ void test_character_escapes() // unknown escape sequences match themselves: TEST_REGEX_SEARCH("\\~", perl, "~", match_default, make_array(0, 1, -2, -2)); TEST_REGEX_SEARCH("\\~", basic, "~", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\~", extended, "~", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\j", extended, "j", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\~", boost::regex::extended, "~", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\j", boost::regex::extended, "j", match_default, make_array(0, 1, -2, -2)); } void test_assertion_escapes() diff --git a/test/regress/test_replace.cpp b/test/regress/test_replace.cpp index d1766c19..446b6e93 100644 --- a/test/regress/test_replace.cpp +++ b/test/regress/test_replace.cpp @@ -111,7 +111,7 @@ void test_replace() TEST_REGEX_REPLACE("(a(c)?)|(b)", perl, "acab", match_default|format_all, "(?1(?2(C:):A):B:)", "C:AB:"); TEST_REGEX_REPLACE("x", icase, "xx", match_default|format_all, "a", "aa"); TEST_REGEX_REPLACE("x", basic|icase, "xx", match_default|format_all, "a", "aa"); - TEST_REGEX_REPLACE("x", extended|icase, "xx", match_default|format_all, "a", "aa"); + TEST_REGEX_REPLACE("x", boost::regex::extended|icase, "xx", match_default|format_all, "a", "aa"); TEST_REGEX_REPLACE("x", emacs|icase, "xx", match_default|format_all, "a", "aa"); TEST_REGEX_REPLACE("x", literal|icase, "xx", match_default|format_all, "a", "aa"); // literals: diff --git a/test/regress/test_sets.cpp b/test/regress/test_sets.cpp index 975f2d86..61374819 100644 --- a/test/regress/test_sets.cpp +++ b/test/regress/test_sets.cpp @@ -19,77 +19,77 @@ void test_sets() { using namespace boost::regex_constants; // now test the set operator [] - TEST_REGEX_SEARCH("[abc]", extended, "a", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("[abc]", extended, "b", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("[abc]", extended, "c", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("[abc]", extended, "d", match_default, make_array(-2, -2)); - TEST_REGEX_SEARCH("[^bcd]", extended, "a", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("[^bcd]", extended, "b", match_default, make_array(-2, -2)); - TEST_REGEX_SEARCH("[^bcd]", extended, "d", match_default, make_array(-2, -2)); - TEST_REGEX_SEARCH("[^bcd]", extended, "e", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("a[b]c", extended, "abc", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("a[ab]c", extended, "abc", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("a[a^b]*c", extended, "aba^c", match_default, make_array(0, 5, -2, -2)); - TEST_REGEX_SEARCH("a[^ab]c", extended, "adc", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("a[]b]c", extended, "a]c", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("a[[b]c", extended, "a[c", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("a[-b]c", extended, "a-c", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("a[^]b]c", extended, "adc", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("a[^-b]c", extended, "adc", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("a[b-]c", extended, "a-c", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("a[a-z-]c", extended, "a-c", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("a[a-z-]+c", extended, "aaz-c", match_default, make_array(0, 5, -2, -2)); - TEST_INVALID_REGEX("a[b", extended); - TEST_INVALID_REGEX("a[", extended); - TEST_INVALID_REGEX("a[]", extended); + TEST_REGEX_SEARCH("[abc]", boost::regex::extended, "a", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("[abc]", boost::regex::extended, "b", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("[abc]", boost::regex::extended, "c", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("[abc]", boost::regex::extended, "d", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("[^bcd]", boost::regex::extended, "a", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("[^bcd]", boost::regex::extended, "b", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("[^bcd]", boost::regex::extended, "d", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("[^bcd]", boost::regex::extended, "e", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("a[b]c", boost::regex::extended, "abc", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("a[ab]c", boost::regex::extended, "abc", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("a[a^b]*c", boost::regex::extended, "aba^c", match_default, make_array(0, 5, -2, -2)); + TEST_REGEX_SEARCH("a[^ab]c", boost::regex::extended, "adc", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("a[]b]c", boost::regex::extended, "a]c", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("a[[b]c", boost::regex::extended, "a[c", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("a[-b]c", boost::regex::extended, "a-c", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("a[^]b]c", boost::regex::extended, "adc", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("a[^-b]c", boost::regex::extended, "adc", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("a[b-]c", boost::regex::extended, "a-c", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("a[a-z-]c", boost::regex::extended, "a-c", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("a[a-z-]+c", boost::regex::extended, "aaz-c", match_default, make_array(0, 5, -2, -2)); + TEST_INVALID_REGEX("a[b", boost::regex::extended); + TEST_INVALID_REGEX("a[", boost::regex::extended); + TEST_INVALID_REGEX("a[]", boost::regex::extended); // now some ranges: - TEST_REGEX_SEARCH("[b-e]", extended, "a", match_default, make_array(-2, -2)); - TEST_REGEX_SEARCH("[b-e]", extended, "b", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("[b-e]", extended, "e", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("[b-e]", extended, "f", match_default, make_array(-2, -2)); - TEST_REGEX_SEARCH("[^b-e]", extended, "a", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("[^b-e]", extended, "b", match_default, make_array(-2, -2)); - TEST_REGEX_SEARCH("[^b-e]", extended, "e", match_default, make_array(-2, -2)); - TEST_REGEX_SEARCH("[^b-e]", extended, "f", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("a[1-3]c", extended, "a2c", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("a[-3]c", extended, "a-c", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("a[-3]c", extended, "a3c", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("a[^-3]c", extended, "a-c", match_default, make_array(-2, -2)); - TEST_REGEX_SEARCH("a[^-3]c", extended, "a3c", match_default, make_array(-2, -2)); - TEST_REGEX_SEARCH("a[^-3]c", extended, "axc", match_default, make_array(0, 3, -2, -2)); - TEST_INVALID_REGEX("a[3-1]c", extended & ~::boost::regex_constants::collate); - TEST_INVALID_REGEX("a[1-3-5]c", extended); - TEST_INVALID_REGEX("a[1-", extended); + TEST_REGEX_SEARCH("[b-e]", boost::regex::extended, "a", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("[b-e]", boost::regex::extended, "b", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("[b-e]", boost::regex::extended, "e", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("[b-e]", boost::regex::extended, "f", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("[^b-e]", boost::regex::extended, "a", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("[^b-e]", boost::regex::extended, "b", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("[^b-e]", boost::regex::extended, "e", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("[^b-e]", boost::regex::extended, "f", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("a[1-3]c", boost::regex::extended, "a2c", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("a[-3]c", boost::regex::extended, "a-c", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("a[-3]c", boost::regex::extended, "a3c", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("a[^-3]c", boost::regex::extended, "a-c", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("a[^-3]c", boost::regex::extended, "a3c", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("a[^-3]c", boost::regex::extended, "axc", match_default, make_array(0, 3, -2, -2)); + TEST_INVALID_REGEX("a[3-1]c", boost::regex::extended & ~::boost::regex_constants::collate); + TEST_INVALID_REGEX("a[1-3-5]c", boost::regex::extended); + TEST_INVALID_REGEX("a[1-", boost::regex::extended); TEST_INVALID_REGEX("a[\\9]", perl); // and some classes - TEST_REGEX_SEARCH("a[[:alpha:]]c", extended, "abc", match_default, make_array(0, 3, -2, -2)); - TEST_INVALID_REGEX("a[[:unknown:]]c", extended); - TEST_INVALID_REGEX("a[[", extended); - TEST_INVALID_REGEX("a[[:", extended); - TEST_INVALID_REGEX("a[[:a", extended); - TEST_INVALID_REGEX("a[[:alpha", extended); - TEST_INVALID_REGEX("a[[:alpha:", extended); - TEST_INVALID_REGEX("a[[:alpha:]", extended); - TEST_INVALID_REGEX("a[[:alpha:!", extended); - TEST_INVALID_REGEX("a[[:alpha,:]", extended); - TEST_INVALID_REGEX("a[[:]:]]b", extended); - TEST_INVALID_REGEX("a[[:-:]]b", extended); - TEST_INVALID_REGEX("a[[:alph:]]", extended); - TEST_INVALID_REGEX("a[[:alphabet:]]", extended); - TEST_REGEX_SEARCH("[[:alnum:]]+", extended, "-%@a0X_-", match_default, make_array(3, 6, -2, -2)); - TEST_REGEX_SEARCH("[[:alpha:]]+", extended, " -%@aX_0-", match_default, make_array(4, 6, -2, -2)); - TEST_REGEX_SEARCH("[[:blank:]]+", extended, "a \tb", match_default, make_array(1, 4, -2, -2)); - TEST_REGEX_SEARCH("[[:cntrl:]]+", extended, " a\n\tb", match_default, make_array(2, 4, -2, -2)); - TEST_REGEX_SEARCH("[[:digit:]]+", extended, "a019b", match_default, make_array(1, 4, -2, -2)); - TEST_REGEX_SEARCH("[[:graph:]]+", extended, " a%b ", match_default, make_array(1, 4, -2, -2)); - TEST_REGEX_SEARCH("[[:lower:]]+", extended, "AabC", match_default, make_array(1, 3, -2, -2)); - TEST_REGEX_SEARCH("[[:print:]]+", extended, "AabC", match_default, make_array(0, 4, -2, -2)); - TEST_REGEX_SEARCH("[[:punct:]]+", extended, " %-&\t", match_default, make_array(1, 4, -2, -2)); - TEST_REGEX_SEARCH("[[:space:]]+", extended, "a \n\t\rb", match_default, make_array(1, 5, -2, -2)); - TEST_REGEX_SEARCH("[[:upper:]]+", extended, "aBCd", match_default, make_array(1, 3, -2, -2)); - TEST_REGEX_SEARCH("[[:xdigit:]]+", extended, "p0f3Cx", match_default, make_array(1, 5, -2, -2)); + TEST_REGEX_SEARCH("a[[:alpha:]]c", boost::regex::extended, "abc", match_default, make_array(0, 3, -2, -2)); + TEST_INVALID_REGEX("a[[:unknown:]]c", boost::regex::extended); + TEST_INVALID_REGEX("a[[", boost::regex::extended); + TEST_INVALID_REGEX("a[[:", boost::regex::extended); + TEST_INVALID_REGEX("a[[:a", boost::regex::extended); + TEST_INVALID_REGEX("a[[:alpha", boost::regex::extended); + TEST_INVALID_REGEX("a[[:alpha:", boost::regex::extended); + TEST_INVALID_REGEX("a[[:alpha:]", boost::regex::extended); + TEST_INVALID_REGEX("a[[:alpha:!", boost::regex::extended); + TEST_INVALID_REGEX("a[[:alpha,:]", boost::regex::extended); + TEST_INVALID_REGEX("a[[:]:]]b", boost::regex::extended); + TEST_INVALID_REGEX("a[[:-:]]b", boost::regex::extended); + TEST_INVALID_REGEX("a[[:alph:]]", boost::regex::extended); + TEST_INVALID_REGEX("a[[:alphabet:]]", boost::regex::extended); + TEST_REGEX_SEARCH("[[:alnum:]]+", boost::regex::extended, "-%@a0X_-", match_default, make_array(3, 6, -2, -2)); + TEST_REGEX_SEARCH("[[:alpha:]]+", boost::regex::extended, " -%@aX_0-", match_default, make_array(4, 6, -2, -2)); + TEST_REGEX_SEARCH("[[:blank:]]+", boost::regex::extended, "a \tb", match_default, make_array(1, 4, -2, -2)); + TEST_REGEX_SEARCH("[[:cntrl:]]+", boost::regex::extended, " a\n\tb", match_default, make_array(2, 4, -2, -2)); + TEST_REGEX_SEARCH("[[:digit:]]+", boost::regex::extended, "a019b", match_default, make_array(1, 4, -2, -2)); + TEST_REGEX_SEARCH("[[:graph:]]+", boost::regex::extended, " a%b ", match_default, make_array(1, 4, -2, -2)); + TEST_REGEX_SEARCH("[[:lower:]]+", boost::regex::extended, "AabC", match_default, make_array(1, 3, -2, -2)); + TEST_REGEX_SEARCH("[[:print:]]+", boost::regex::extended, "AabC", match_default, make_array(0, 4, -2, -2)); + TEST_REGEX_SEARCH("[[:punct:]]+", boost::regex::extended, " %-&\t", match_default, make_array(1, 4, -2, -2)); + TEST_REGEX_SEARCH("[[:space:]]+", boost::regex::extended, "a \n\t\rb", match_default, make_array(1, 5, -2, -2)); + TEST_REGEX_SEARCH("[[:upper:]]+", boost::regex::extended, "aBCd", match_default, make_array(1, 3, -2, -2)); + TEST_REGEX_SEARCH("[[:xdigit:]]+", boost::regex::extended, "p0f3Cx", match_default, make_array(1, 5, -2, -2)); TEST_REGEX_SEARCH("[\\d]+", perl, "a019b", match_default, make_array(1, 4, -2, -2)); // @@ -155,11 +155,11 @@ void test_sets2() TEST_REGEX_SEARCH("[[.right-curly-bracket.]]", perl, "}", match_default, make_array(0, 1, -2, -2)); TEST_REGEX_SEARCH("[[.NUL.]]", perl, "\0", match_default, make_array(0, 1, -2, -2)); TEST_REGEX_SEARCH("[[.NUL.][.ae.]]", perl, "\0", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("[[.NUL.]-a]", extended, "\0", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("[[.NUL.]-a]", boost::regex::extended, "\0", match_default, make_array(0, 1, -2, -2)); TEST_REGEX_SEARCH("[[.NUL.]-a]", perl, "\0", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("[[.NUL.]-a]", extended, "a", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("[[.NUL.]-a]", boost::regex::extended, "a", match_default, make_array(0, 1, -2, -2)); TEST_REGEX_SEARCH("[[.NUL.]-a]", perl, "a", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("[[.NUL.]-[.NUL.]a]", extended, "a", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("[[.NUL.]-[.NUL.]a]", boost::regex::extended, "a", match_default, make_array(0, 1, -2, -2)); TEST_REGEX_SEARCH("[[.NUL.]-[.NUL.]a]", perl, "a", match_default, make_array(0, 1, -2, -2)); TEST_INVALID_REGEX("[[..]]", perl); TEST_INVALID_REGEX("[[.not-a-collating-element.]]", perl); @@ -170,19 +170,19 @@ void test_sets2() TEST_INVALID_REGEX("[[.NUL.]", perl); TEST_INVALID_REGEX("[[:<:]z]", perl); TEST_INVALID_REGEX("[a[:>:]]", perl); - TEST_REGEX_SEARCH("[[.A.]]", extended|icase, "A", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("[[.A.]]", extended|icase, "a", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("[[.A.]-b]+", extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); - TEST_REGEX_SEARCH("[A-[.b.]]+", extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); - TEST_REGEX_SEARCH("[[.a.]-B]+", extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); - TEST_REGEX_SEARCH("[a-[.B.]]+", extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); - TEST_REGEX_SEARCH("[\x61]", extended, "a", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("[\x61-c]+", extended, "abcd", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("[a-\x63]+", extended, "abcd", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("[[.a.]-c]+", extended, "abcd", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("[a-[.c.]]+", extended, "abcd", match_default, make_array(0, 3, -2, -2)); - TEST_INVALID_REGEX("[[:alpha:]-a]", extended); - TEST_INVALID_REGEX("[a-[:alpha:]]", extended); + TEST_REGEX_SEARCH("[[.A.]]", boost::regex::extended|icase, "A", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("[[.A.]]", boost::regex::extended|icase, "a", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("[[.A.]-b]+", boost::regex::extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); + TEST_REGEX_SEARCH("[A-[.b.]]+", boost::regex::extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); + TEST_REGEX_SEARCH("[[.a.]-B]+", boost::regex::extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); + TEST_REGEX_SEARCH("[a-[.B.]]+", boost::regex::extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); + TEST_REGEX_SEARCH("[\x61]", boost::regex::extended, "a", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("[\x61-c]+", boost::regex::extended, "abcd", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("[a-\x63]+", boost::regex::extended, "abcd", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("[[.a.]-c]+", boost::regex::extended, "abcd", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("[a-[.c.]]+", boost::regex::extended, "abcd", match_default, make_array(0, 3, -2, -2)); + TEST_INVALID_REGEX("[[:alpha:]-a]", boost::regex::extended); + TEST_INVALID_REGEX("[a-[:alpha:]]", boost::regex::extended); TEST_REGEX_SEARCH("[[.ae.]]", basic, "ae", match_default, make_array(0, 2, -2, -2)); TEST_REGEX_SEARCH("[[.ae.]]", basic, "aE", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("[[.AE.]]", basic, "AE", match_default, make_array(0, 2, -2, -2)); @@ -339,64 +339,64 @@ void test_sets2b() { using namespace boost::regex_constants; - // and repeat with POSIX-extended syntax: - TEST_REGEX_SEARCH("\\pl+", extended, "ABabcAB", match_default, make_array(2, 5, -2, -2)); - TEST_REGEX_SEARCH("\\Pl+", extended, "abABCab", match_default, make_array(2, 5, -2, -2)); - TEST_REGEX_SEARCH("\\pu+", extended, "abABCab", match_default, make_array(2, 5, -2, -2)); - TEST_REGEX_SEARCH("\\Pu+", extended, "ABabcAB", match_default, make_array(2, 5, -2, -2)); - TEST_REGEX_SEARCH("\\pd+", extended, "AB012AB", match_default, make_array(2, 5, -2, -2)); - TEST_REGEX_SEARCH("\\PD+", extended, "01abc01", match_default, make_array(2, 5, -2, -2)); - TEST_REGEX_SEARCH("\\ps+", extended, "AB AB", match_default, make_array(2, 5, -2, -2)); - TEST_REGEX_SEARCH("\\PS+", extended, " abc ", match_default, make_array(2, 5, -2, -2)); + // and repeat with POSIX-boost::regex::extended syntax: + TEST_REGEX_SEARCH("\\pl+", boost::regex::extended, "ABabcAB", match_default, make_array(2, 5, -2, -2)); + TEST_REGEX_SEARCH("\\Pl+", boost::regex::extended, "abABCab", match_default, make_array(2, 5, -2, -2)); + TEST_REGEX_SEARCH("\\pu+", boost::regex::extended, "abABCab", match_default, make_array(2, 5, -2, -2)); + TEST_REGEX_SEARCH("\\Pu+", boost::regex::extended, "ABabcAB", match_default, make_array(2, 5, -2, -2)); + TEST_REGEX_SEARCH("\\pd+", boost::regex::extended, "AB012AB", match_default, make_array(2, 5, -2, -2)); + TEST_REGEX_SEARCH("\\PD+", boost::regex::extended, "01abc01", match_default, make_array(2, 5, -2, -2)); + TEST_REGEX_SEARCH("\\ps+", boost::regex::extended, "AB AB", match_default, make_array(2, 5, -2, -2)); + TEST_REGEX_SEARCH("\\PS+", boost::regex::extended, " abc ", match_default, make_array(2, 5, -2, -2)); - TEST_REGEX_SEARCH("\\p{alnum}+", extended, "-%@a0X_-", match_default, make_array(3, 6, -2, -2)); - TEST_REGEX_SEARCH("\\p{alpha}+", extended, " -%@aX_0-", match_default, make_array(4, 6, -2, -2)); - TEST_REGEX_SEARCH("\\p{blank}+", extended, "a \tb", match_default, make_array(1, 4, -2, -2)); - TEST_REGEX_SEARCH("\\p{cntrl}+", extended, " a\n\tb", match_default, make_array(2, 4, -2, -2)); - TEST_REGEX_SEARCH("\\p{digit}+", extended, "a019b", match_default, make_array(1, 4, -2, -2)); - TEST_REGEX_SEARCH("\\p{graph}+", extended, " a%b ", match_default, make_array(1, 4, -2, -2)); - TEST_REGEX_SEARCH("\\p{lower}+", extended, "AabC", match_default, make_array(1, 3, -2, -2)); - TEST_REGEX_SEARCH("\\p{print}+", extended, "AabC", match_default, make_array(0, 4, -2, -2)); - TEST_REGEX_SEARCH("\\p{punct}+", extended, " %-&\t", match_default, make_array(1, 4, -2, -2)); - TEST_REGEX_SEARCH("\\p{space}+", extended, "a \n\t\rb", match_default, make_array(1, 5, -2, -2)); - TEST_REGEX_SEARCH("\\p{upper}+", extended, "aBCd", match_default, make_array(1, 3, -2, -2)); - TEST_REGEX_SEARCH("\\p{xdigit}+", extended, "p0f3Cx", match_default, make_array(1, 5, -2, -2)); - TEST_REGEX_SEARCH("\\P{alnum}+", extended, "-%@a", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("\\P{alpha}+", extended, " -%@a", match_default, make_array(0, 4, -2, -2)); - TEST_REGEX_SEARCH("\\P{blank}+", extended, "a ", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\P{cntrl}+", extended, " a\n", match_default, make_array(0, 2, -2, -2)); - TEST_REGEX_SEARCH("\\P{digit}+", extended, "a0", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\P{graph}+", extended, " a", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\P{lower}+", extended, "Aa", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\P{print}+", extended, "Absc", match_default, make_array(-2, -2)); - TEST_REGEX_SEARCH("\\P{punct}+", extended, " %", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\P{space}+", extended, "a ", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\P{upper}+", extended, "aB", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\P{xdigit}+", extended, "pf", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\p{alnum}+", boost::regex::extended, "-%@a0X_-", match_default, make_array(3, 6, -2, -2)); + TEST_REGEX_SEARCH("\\p{alpha}+", boost::regex::extended, " -%@aX_0-", match_default, make_array(4, 6, -2, -2)); + TEST_REGEX_SEARCH("\\p{blank}+", boost::regex::extended, "a \tb", match_default, make_array(1, 4, -2, -2)); + TEST_REGEX_SEARCH("\\p{cntrl}+", boost::regex::extended, " a\n\tb", match_default, make_array(2, 4, -2, -2)); + TEST_REGEX_SEARCH("\\p{digit}+", boost::regex::extended, "a019b", match_default, make_array(1, 4, -2, -2)); + TEST_REGEX_SEARCH("\\p{graph}+", boost::regex::extended, " a%b ", match_default, make_array(1, 4, -2, -2)); + TEST_REGEX_SEARCH("\\p{lower}+", boost::regex::extended, "AabC", match_default, make_array(1, 3, -2, -2)); + TEST_REGEX_SEARCH("\\p{print}+", boost::regex::extended, "AabC", match_default, make_array(0, 4, -2, -2)); + TEST_REGEX_SEARCH("\\p{punct}+", boost::regex::extended, " %-&\t", match_default, make_array(1, 4, -2, -2)); + TEST_REGEX_SEARCH("\\p{space}+", boost::regex::extended, "a \n\t\rb", match_default, make_array(1, 5, -2, -2)); + TEST_REGEX_SEARCH("\\p{upper}+", boost::regex::extended, "aBCd", match_default, make_array(1, 3, -2, -2)); + TEST_REGEX_SEARCH("\\p{xdigit}+", boost::regex::extended, "p0f3Cx", match_default, make_array(1, 5, -2, -2)); + TEST_REGEX_SEARCH("\\P{alnum}+", boost::regex::extended, "-%@a", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("\\P{alpha}+", boost::regex::extended, " -%@a", match_default, make_array(0, 4, -2, -2)); + TEST_REGEX_SEARCH("\\P{blank}+", boost::regex::extended, "a ", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\P{cntrl}+", boost::regex::extended, " a\n", match_default, make_array(0, 2, -2, -2)); + TEST_REGEX_SEARCH("\\P{digit}+", boost::regex::extended, "a0", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\P{graph}+", boost::regex::extended, " a", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\P{lower}+", boost::regex::extended, "Aa", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\P{print}+", boost::regex::extended, "Absc", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("\\P{punct}+", boost::regex::extended, " %", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\P{space}+", boost::regex::extended, "a ", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\P{upper}+", boost::regex::extended, "aB", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\P{xdigit}+", boost::regex::extended, "pf", match_default, make_array(0, 1, -2, -2)); - TEST_INVALID_REGEX("\\p{invalid class}", extended); - TEST_INVALID_REGEX("\\p{upper", extended); - TEST_INVALID_REGEX("\\p{", extended); - TEST_INVALID_REGEX("\\p", extended); - TEST_INVALID_REGEX("\\P{invalid class}", extended); - TEST_INVALID_REGEX("\\P{upper", extended); - TEST_INVALID_REGEX("\\P{", extended); - TEST_INVALID_REGEX("\\P", extended); + TEST_INVALID_REGEX("\\p{invalid class}", boost::regex::extended); + TEST_INVALID_REGEX("\\p{upper", boost::regex::extended); + TEST_INVALID_REGEX("\\p{", boost::regex::extended); + TEST_INVALID_REGEX("\\p", boost::regex::extended); + TEST_INVALID_REGEX("\\P{invalid class}", boost::regex::extended); + TEST_INVALID_REGEX("\\P{upper", boost::regex::extended); + TEST_INVALID_REGEX("\\P{", boost::regex::extended); + TEST_INVALID_REGEX("\\P", boost::regex::extended); // try named characters: - TEST_REGEX_SEARCH("\\N{zero}", extended, "0", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\N{one}", extended, "1", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\N{two}", extended, "2", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\N{three}", extended, "3", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\N{a}", extended, "bac", match_default, make_array(1, 2, -2, -2)); - TEST_REGEX_SEARCH("\\N{\xf0}", extended, "b\xf0x", match_default, make_array(1, 2, -2, -2)); - TEST_REGEX_SEARCH("\\N{right-curly-bracket}", extended, "}", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\N{NUL}", extended, "\0", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\N{zero}", boost::regex::extended, "0", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\N{one}", boost::regex::extended, "1", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\N{two}", boost::regex::extended, "2", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\N{three}", boost::regex::extended, "3", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\N{a}", boost::regex::extended, "bac", match_default, make_array(1, 2, -2, -2)); + TEST_REGEX_SEARCH("\\N{\xf0}", boost::regex::extended, "b\xf0x", match_default, make_array(1, 2, -2, -2)); + TEST_REGEX_SEARCH("\\N{right-curly-bracket}", boost::regex::extended, "}", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\N{NUL}", boost::regex::extended, "\0", match_default, make_array(0, 1, -2, -2)); - TEST_INVALID_REGEX("\\N", extended); - TEST_INVALID_REGEX("\\N{", extended); - TEST_INVALID_REGEX("\\N{}", extended); - TEST_INVALID_REGEX("\\N{invalid-name}", extended); - TEST_INVALID_REGEX("\\N{zero", extended); + TEST_INVALID_REGEX("\\N", boost::regex::extended); + TEST_INVALID_REGEX("\\N{", boost::regex::extended); + TEST_INVALID_REGEX("\\N{}", boost::regex::extended); + TEST_INVALID_REGEX("\\N{invalid-name}", boost::regex::extended); + TEST_INVALID_REGEX("\\N{zero", boost::regex::extended); } diff --git a/test/regress/test_simple_repeats.cpp b/test/regress/test_simple_repeats.cpp index 3e0aecfe..6811e5f9 100644 --- a/test/regress/test_simple_repeats.cpp +++ b/test/regress/test_simple_repeats.cpp @@ -40,12 +40,12 @@ void test_simple_repeats() TEST_REGEX_SEARCH("(ab)*", perl, "abab", match_default, make_array(0, 4, 2, 4, -2, 4, 4, -2, -2)); TEST_INVALID_REGEX("(*)", perl); - TEST_INVALID_REGEX("(*)", extended); + TEST_INVALID_REGEX("(*)", boost::regex::extended); TEST_INVALID_REGEX("\\(*\\)", basic); TEST_INVALID_REGEX("^*", perl); - TEST_INVALID_REGEX("^*", extended); + TEST_INVALID_REGEX("^*", boost::regex::extended); TEST_INVALID_REGEX("$*", perl); - TEST_INVALID_REGEX("$*", extended); + TEST_INVALID_REGEX("$*", boost::regex::extended); TEST_INVALID_REGEX("$*", basic); TEST_INVALID_REGEX("\\b*", perl); TEST_INVALID_REGEX("\\B*", perl); @@ -54,13 +54,13 @@ void test_simple_repeats() TEST_INVALID_REGEX("\\Z*", perl); TEST_INVALID_REGEX("\\A*", perl); TEST_INVALID_REGEX("a|*", perl); - TEST_INVALID_REGEX("a|*", extended); + TEST_INVALID_REGEX("a|*", boost::regex::extended); TEST_INVALID_REGEX("(+)", perl); - TEST_INVALID_REGEX("(+)", extended); + TEST_INVALID_REGEX("(+)", boost::regex::extended); TEST_INVALID_REGEX("^+", perl); - TEST_INVALID_REGEX("^+", extended); + TEST_INVALID_REGEX("^+", boost::regex::extended); TEST_INVALID_REGEX("$+", perl); - TEST_INVALID_REGEX("$+", extended); + TEST_INVALID_REGEX("$+", boost::regex::extended); TEST_INVALID_REGEX("\\b+", perl); TEST_INVALID_REGEX("\\B+", perl); TEST_INVALID_REGEX("\\A+", perl); @@ -68,13 +68,13 @@ void test_simple_repeats() TEST_INVALID_REGEX("\\Z+", perl); TEST_INVALID_REGEX("\\A+", perl); TEST_INVALID_REGEX("a|+", perl); - TEST_INVALID_REGEX("a|+", extended); + TEST_INVALID_REGEX("a|+", boost::regex::extended); TEST_INVALID_REGEX("(?)", perl); - TEST_INVALID_REGEX("(?)", extended); + TEST_INVALID_REGEX("(?)", boost::regex::extended); TEST_INVALID_REGEX("^?", perl); - TEST_INVALID_REGEX("^?", extended); + TEST_INVALID_REGEX("^?", boost::regex::extended); TEST_INVALID_REGEX("$?", perl); - TEST_INVALID_REGEX("$?", extended); + TEST_INVALID_REGEX("$?", boost::regex::extended); TEST_INVALID_REGEX("\\b?", perl); TEST_INVALID_REGEX("\\B?", perl); TEST_INVALID_REGEX("\\A?", perl); @@ -82,13 +82,13 @@ void test_simple_repeats() TEST_INVALID_REGEX("\\Z?", perl); TEST_INVALID_REGEX("\\A?", perl); TEST_INVALID_REGEX("a|?", perl); - TEST_INVALID_REGEX("a|?", extended); + TEST_INVALID_REGEX("a|?", boost::regex::extended); TEST_INVALID_REGEX("({1,2})", perl); - TEST_INVALID_REGEX("({1,2})", extended); + TEST_INVALID_REGEX("({1,2})", boost::regex::extended); TEST_INVALID_REGEX("^{1,2}", perl); - TEST_INVALID_REGEX("^{1,2}", extended); + TEST_INVALID_REGEX("^{1,2}", boost::regex::extended); TEST_INVALID_REGEX("${1,2}", perl); - TEST_INVALID_REGEX("${1,2}", extended); + TEST_INVALID_REGEX("${1,2}", boost::regex::extended); TEST_INVALID_REGEX("\\b{1,2}", perl); TEST_INVALID_REGEX("\\B{1,2}", perl); TEST_INVALID_REGEX("\\A{1,2}", perl); @@ -96,7 +96,7 @@ void test_simple_repeats() TEST_INVALID_REGEX("\\Z{1,2}", perl); TEST_INVALID_REGEX("\\A{1,2}", perl); TEST_INVALID_REGEX("a|{1,2}", perl); - TEST_INVALID_REGEX("a|{1,2}", extended); + TEST_INVALID_REGEX("a|{1,2}", boost::regex::extended); // now try operator + : TEST_REGEX_SEARCH("ab+", perl, "a", match_default, make_array(-2, -2)); diff --git a/test/regress/test_tricky_cases.cpp b/test/regress/test_tricky_cases.cpp index 609f4e61..a0c1e532 100644 --- a/test/regress/test_tricky_cases.cpp +++ b/test/regress/test_tricky_cases.cpp @@ -134,92 +134,92 @@ void test_tricky_cases2() { using namespace boost::regex_constants; - TEST_REGEX_SEARCH("a(((b)))c", extended, "abc", match_default, make_array(0, 3, 1, 2, 1, 2, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b|(c))d", extended, "abd", match_default, make_array(0, 3, 1, 2, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("a(b|(c))d", extended, "acd", match_default, make_array(0, 3, 1, 2, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b*|c)d", extended, "abbd", match_default, make_array(0, 4, 1, 3, -2, -2)); + TEST_REGEX_SEARCH("a(((b)))c", boost::regex::extended, "abc", match_default, make_array(0, 3, 1, 2, 1, 2, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b|(c))d", boost::regex::extended, "abd", match_default, make_array(0, 3, 1, 2, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("a(b|(c))d", boost::regex::extended, "acd", match_default, make_array(0, 3, 1, 2, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b*|c)d", boost::regex::extended, "abbd", match_default, make_array(0, 4, 1, 3, -2, -2)); // just gotta have one DFA-buster, of course - TEST_REGEX_SEARCH("a[ab]{20}", extended, "aaaaabaaaabaaaabaaaab", match_default, make_array(0, 21, -2, -2)); + TEST_REGEX_SEARCH("a[ab]{20}", boost::regex::extended, "aaaaabaaaabaaaabaaaab", match_default, make_array(0, 21, -2, -2)); // and an inline expansion in case somebody gets tricky - TEST_REGEX_SEARCH("a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab]", extended, "aaaaabaaaabaaaabaaaab", match_default, make_array(0, 21, -2, -2)); + TEST_REGEX_SEARCH("a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab]", boost::regex::extended, "aaaaabaaaabaaaabaaaab", match_default, make_array(0, 21, -2, -2)); // and in case somebody just slips in an NFA... - TEST_REGEX_SEARCH("a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab](wee|week)(knights|night)", extended, "aaaaabaaaabaaaabaaaabweeknights", match_default, make_array(0, 31, 21, 24, 24, 31, -2, -2)); + TEST_REGEX_SEARCH("a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab](wee|week)(knights|night)", boost::regex::extended, "aaaaabaaaabaaaabaaaabweeknights", match_default, make_array(0, 31, 21, 24, 24, 31, -2, -2)); // one really big one - TEST_REGEX_SEARCH("1234567890123456789012345678901234567890123456789012345678901234567890", extended, "a1234567890123456789012345678901234567890123456789012345678901234567890b", match_default, make_array(1, 71, -2, -2)); + TEST_REGEX_SEARCH("1234567890123456789012345678901234567890123456789012345678901234567890", boost::regex::extended, "a1234567890123456789012345678901234567890123456789012345678901234567890b", match_default, make_array(1, 71, -2, -2)); // fish for problems as brackets go past 8 - TEST_REGEX_SEARCH("[ab][cd][ef][gh][ij][kl][mn]", extended, "xacegikmoq", match_default, make_array(1, 8, -2, -2)); - TEST_REGEX_SEARCH("[ab][cd][ef][gh][ij][kl][mn][op]", extended, "xacegikmoq", match_default, make_array(1, 9, -2, -2)); - TEST_REGEX_SEARCH("[ab][cd][ef][gh][ij][kl][mn][op][qr]", extended, "xacegikmoqy", match_default, make_array(1, 10, -2, -2)); - TEST_REGEX_SEARCH("[ab][cd][ef][gh][ij][kl][mn][op][q]", extended, "xacegikmoqy", match_default, make_array(1, 10, -2, -2)); + TEST_REGEX_SEARCH("[ab][cd][ef][gh][ij][kl][mn]", boost::regex::extended, "xacegikmoq", match_default, make_array(1, 8, -2, -2)); + TEST_REGEX_SEARCH("[ab][cd][ef][gh][ij][kl][mn][op]", boost::regex::extended, "xacegikmoq", match_default, make_array(1, 9, -2, -2)); + TEST_REGEX_SEARCH("[ab][cd][ef][gh][ij][kl][mn][op][qr]", boost::regex::extended, "xacegikmoqy", match_default, make_array(1, 10, -2, -2)); + TEST_REGEX_SEARCH("[ab][cd][ef][gh][ij][kl][mn][op][q]", boost::regex::extended, "xacegikmoqy", match_default, make_array(1, 10, -2, -2)); // and as parenthesis go past 9: - TEST_REGEX_SEARCH("(a)(b)(c)(d)(e)(f)(g)(h)", extended, "zabcdefghi", match_default, make_array(1, 9, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, -2, -2)); - TEST_REGEX_SEARCH("(a)(b)(c)(d)(e)(f)(g)(h)(i)", extended, "zabcdefghij", match_default, make_array(1, 10, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, -2, -2)); - TEST_REGEX_SEARCH("(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)", extended, "zabcdefghijk", match_default, make_array(1, 11, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, -2, -2)); - TEST_REGEX_SEARCH("(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)", extended, "zabcdefghijkl", match_default, make_array(1, 12, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, -2, -2)); - TEST_REGEX_SEARCH("(a)d|(b)c", extended, "abc", match_default, make_array(1, 3, -1, -1, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("_+((www)|(ftp)|(mailto)):_*", extended, "_wwwnocolon _mailto:", match_default, make_array(12, 20, 13, 19, -1, -1, -1, -1, 13, 19, -2, -2)); + TEST_REGEX_SEARCH("(a)(b)(c)(d)(e)(f)(g)(h)", boost::regex::extended, "zabcdefghi", match_default, make_array(1, 9, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, -2, -2)); + TEST_REGEX_SEARCH("(a)(b)(c)(d)(e)(f)(g)(h)(i)", boost::regex::extended, "zabcdefghij", match_default, make_array(1, 10, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, -2, -2)); + TEST_REGEX_SEARCH("(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)", boost::regex::extended, "zabcdefghijk", match_default, make_array(1, 11, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, -2, -2)); + TEST_REGEX_SEARCH("(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)", boost::regex::extended, "zabcdefghijkl", match_default, make_array(1, 12, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, -2, -2)); + TEST_REGEX_SEARCH("(a)d|(b)c", boost::regex::extended, "abc", match_default, make_array(1, 3, -1, -1, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("_+((www)|(ftp)|(mailto)):_*", boost::regex::extended, "_wwwnocolon _mailto:", match_default, make_array(12, 20, 13, 19, -1, -1, -1, -1, 13, 19, -2, -2)); // subtleties of matching TEST_REGEX_SEARCH("a\\(b\\)\\?c\\1d", basic|bk_plus_qm, "acd", match_default, make_array(0, 3, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("a(b?c)+d", extended, "accd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("(wee|week)(knights|night)", extended, "weeknights", match_default, make_array(0, 10, 0, 3, 3, 10, -2, -2)); - TEST_REGEX_SEARCH(".*", extended, "abc", match_default, make_array(0, 3, -2, 3, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|(c))d", extended, "abd", match_default, make_array(0, 3, 1, 2, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("a(b|(c))d", extended, "acd", match_default, make_array(0, 3, 1, 2, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b*|c|e)d", extended, "abbd", match_default, make_array(0, 4, 1, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b*|c|e)d", extended, "acd", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b*|c|e)d", extended, "ad", match_default, make_array(0, 2, 1, 1, -2, -2)); - TEST_REGEX_SEARCH("a(b?)c", extended, "abc", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b?)c", extended, "ac", match_default, make_array(0, 2, 1, 1, -2, -2)); - TEST_REGEX_SEARCH("a(b+)c", extended, "abc", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b+)c", extended, "abbbc", match_default, make_array(0, 5, 1, 4, -2, -2)); - TEST_REGEX_SEARCH("a(b*)c", extended, "ac", match_default, make_array(0, 2, 1, 1, -2, -2)); - TEST_REGEX_SEARCH("(a|ab)(bc([de]+)f|cde)", extended, "abcdef", match_default, make_array(0, 6, 0, 1, 1, 6, 3, 5, -2, -2)); - TEST_REGEX_SEARCH("a([bc]?)c", extended, "abc", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a([bc]?)c", extended, "ac", match_default, make_array(0, 2, 1, 1, -2, -2)); - TEST_REGEX_SEARCH("a([bc]+)c", extended, "abc", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a([bc]+)c", extended, "abcc", match_default, make_array(0, 4, 1, 3, -2, -2)); - TEST_REGEX_SEARCH("a([bc]+)bc", extended, "abcbc", match_default, make_array(0, 5, 1, 3, -2, -2)); - TEST_REGEX_SEARCH("a(bb+|b)b", extended, "abb", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(bbb+|bb+|b)b", extended, "abb", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(bbb+|bb+|b)b", extended, "abbb", match_default, make_array(0, 4, 1, 3, -2, -2)); - TEST_REGEX_SEARCH("a(bbb+|bb+|b)bb", extended, "abbb", match_default, make_array(0, 4, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("(.*).*", extended, "abcdef", match_default, make_array(0, 6, 0, 6, -2, 6, 6, 6, 6, -2, -2)); - TEST_REGEX_SEARCH("(a*)*", extended, "bc", match_default, make_array(0, 0, 0, 0, -2, 1, 1, 1, 1, -2, 2, 2, 2, 2, -2, -2)); - TEST_REGEX_SEARCH("xyx*xz", extended, "xyxxxxyxxxz", match_default, make_array(5, 11, -2, -2)); + TEST_REGEX_SEARCH("a(b?c)+d", boost::regex::extended, "accd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("(wee|week)(knights|night)", boost::regex::extended, "weeknights", match_default, make_array(0, 10, 0, 3, 3, 10, -2, -2)); + TEST_REGEX_SEARCH(".*", boost::regex::extended, "abc", match_default, make_array(0, 3, -2, 3, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|(c))d", boost::regex::extended, "abd", match_default, make_array(0, 3, 1, 2, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("a(b|(c))d", boost::regex::extended, "acd", match_default, make_array(0, 3, 1, 2, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b*|c|e)d", boost::regex::extended, "abbd", match_default, make_array(0, 4, 1, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b*|c|e)d", boost::regex::extended, "acd", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b*|c|e)d", boost::regex::extended, "ad", match_default, make_array(0, 2, 1, 1, -2, -2)); + TEST_REGEX_SEARCH("a(b?)c", boost::regex::extended, "abc", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b?)c", boost::regex::extended, "ac", match_default, make_array(0, 2, 1, 1, -2, -2)); + TEST_REGEX_SEARCH("a(b+)c", boost::regex::extended, "abc", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b+)c", boost::regex::extended, "abbbc", match_default, make_array(0, 5, 1, 4, -2, -2)); + TEST_REGEX_SEARCH("a(b*)c", boost::regex::extended, "ac", match_default, make_array(0, 2, 1, 1, -2, -2)); + TEST_REGEX_SEARCH("(a|ab)(bc([de]+)f|cde)", boost::regex::extended, "abcdef", match_default, make_array(0, 6, 0, 1, 1, 6, 3, 5, -2, -2)); + TEST_REGEX_SEARCH("a([bc]?)c", boost::regex::extended, "abc", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a([bc]?)c", boost::regex::extended, "ac", match_default, make_array(0, 2, 1, 1, -2, -2)); + TEST_REGEX_SEARCH("a([bc]+)c", boost::regex::extended, "abc", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a([bc]+)c", boost::regex::extended, "abcc", match_default, make_array(0, 4, 1, 3, -2, -2)); + TEST_REGEX_SEARCH("a([bc]+)bc", boost::regex::extended, "abcbc", match_default, make_array(0, 5, 1, 3, -2, -2)); + TEST_REGEX_SEARCH("a(bb+|b)b", boost::regex::extended, "abb", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(bbb+|bb+|b)b", boost::regex::extended, "abb", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(bbb+|bb+|b)b", boost::regex::extended, "abbb", match_default, make_array(0, 4, 1, 3, -2, -2)); + TEST_REGEX_SEARCH("a(bbb+|bb+|b)bb", boost::regex::extended, "abbb", match_default, make_array(0, 4, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("(.*).*", boost::regex::extended, "abcdef", match_default, make_array(0, 6, 0, 6, -2, 6, 6, 6, 6, -2, -2)); + TEST_REGEX_SEARCH("(a*)*", boost::regex::extended, "bc", match_default, make_array(0, 0, 0, 0, -2, 1, 1, 1, 1, -2, 2, 2, 2, 2, -2, -2)); + TEST_REGEX_SEARCH("xyx*xz", boost::regex::extended, "xyxxxxyxxxz", match_default, make_array(5, 11, -2, -2)); // do we get the right subexpression when it is used more than once? - TEST_REGEX_SEARCH("a(b|c)*d", extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("a(b|c)*d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c)+d", extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b|c)+d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c?)+d", extended, "ad", match_default, make_array(0, 2, 1, 1, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){0,0}d", extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){0,1}d", extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){0,1}d", extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){0,2}d", extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){0,2}d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){0,}d", extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){0,}d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){1,1}d", extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){1,2}d", extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){1,2}d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){1,}d", extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){1,}d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){2,2}d", extended, "acbd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){2,2}d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){2,4}d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){2,4}d", extended, "abcbd", match_default, make_array(0, 5, 3, 4, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){2,4}d", extended, "abcbcd", match_default, make_array(0, 6, 4, 5, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){2,}d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){2,}d", extended, "abcbd", match_default, make_array(0, 5, 3, 4, -2, -2)); + TEST_REGEX_SEARCH("a(b|c)*d", boost::regex::extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("a(b|c)*d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c)+d", boost::regex::extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b|c)+d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c?)+d", boost::regex::extended, "ad", match_default, make_array(0, 2, 1, 1, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){0,0}d", boost::regex::extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){0,1}d", boost::regex::extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){0,1}d", boost::regex::extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){0,2}d", boost::regex::extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){0,2}d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){0,}d", boost::regex::extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){0,}d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){1,1}d", boost::regex::extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){1,2}d", boost::regex::extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){1,2}d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){1,}d", boost::regex::extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){1,}d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){2,2}d", boost::regex::extended, "acbd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){2,2}d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){2,4}d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){2,4}d", boost::regex::extended, "abcbd", match_default, make_array(0, 5, 3, 4, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){2,4}d", boost::regex::extended, "abcbcd", match_default, make_array(0, 6, 4, 5, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){2,}d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){2,}d", boost::regex::extended, "abcbd", match_default, make_array(0, 5, 3, 4, -2, -2)); // perl only: TEST_REGEX_SEARCH("a(b|c?)+d", perl, "abcd", match_default, make_array(0, 4, 3, 3, -2, -2)); TEST_REGEX_SEARCH("a(b+|((c)*))+d", perl, "abd", match_default, make_array(0, 3, 2, 2, 2, 2, -1, -1, -2, -2)); TEST_REGEX_SEARCH("a(b+|((c)*))+d", perl, "abcd", match_default, make_array(0, 4, 3, 3, 3, 3, 2, 3, -2, -2)); // posix only: - TEST_REGEX_SEARCH("a(b|c?)+d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|((c)*))+d", extended, "abcd", match_default, make_array(0, 4, 2, 3, 2, 3, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b+|((c)*))+d", extended, "abd", match_default, make_array(0, 3, 1, 2, -1, -1, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("a(b+|((c)*))+d", extended, "abcd", match_default, make_array(0, 4, 2, 3, 2, 3, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c?)+d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|((c)*))+d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, 2, 3, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b+|((c)*))+d", boost::regex::extended, "abd", match_default, make_array(0, 3, 1, 2, -1, -1, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("a(b+|((c)*))+d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, 2, 3, 2, 3, -2, -2)); // literals: TEST_REGEX_SEARCH("\\**?/{}", literal, "\\**?/{}", match_default, make_array(0, 7, -2, -2)); TEST_REGEX_SEARCH("\\**?/{}", literal, "\\**?/{", match_default, make_array(-2, -2)); @@ -238,27 +238,27 @@ void test_tricky_cases2() TEST_REGEX_SEARCH("^[[:blank:]]*#([^\\n]*\\\\[[:space:]]+)*[^\\n]*", perl, "#define some_symbol(x) #x", match_default, make_array(0, 25, -1, -1, -2, -2)); // try to match C++ syntax elements: // line comment: - TEST_REGEX_SEARCH("//[^\\n]*", extended&~no_escape_in_lists, "++i //here is a line comment\n", match_default, make_array(4, 28, -2, -2)); + TEST_REGEX_SEARCH("//[^\\n]*", boost::regex::extended&~no_escape_in_lists, "++i //here is a line comment\n", match_default, make_array(4, 28, -2, -2)); // block comment: - TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", extended&~no_escape_in_lists, "/* here is a block comment */", match_default, make_array(0, 29, 26, 27, -2, -2)); - TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", extended&~no_escape_in_lists, "/**/", match_default, make_array(0, 4, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", extended&~no_escape_in_lists, "/***/", match_default, make_array(0, 5, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", extended&~no_escape_in_lists, "/****/", match_default, make_array(0, 6, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", extended&~no_escape_in_lists, "/*****/", match_default, make_array(0, 7, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", extended&~no_escape_in_lists, "/*****/*/", match_default, make_array(0, 7, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", boost::regex::extended&~no_escape_in_lists, "/* here is a block comment */", match_default, make_array(0, 29, 26, 27, -2, -2)); + TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", boost::regex::extended&~no_escape_in_lists, "/**/", match_default, make_array(0, 4, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", boost::regex::extended&~no_escape_in_lists, "/***/", match_default, make_array(0, 5, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", boost::regex::extended&~no_escape_in_lists, "/****/", match_default, make_array(0, 6, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", boost::regex::extended&~no_escape_in_lists, "/*****/", match_default, make_array(0, 7, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", boost::regex::extended&~no_escape_in_lists, "/*****/*/", match_default, make_array(0, 7, -1, -1, -2, -2)); // preprossor directives: - TEST_REGEX_SEARCH("^[[:blank:]]*#([^\\n]*\\\\[[:space:]]+)*[^\\n]*", extended&~no_escape_in_lists, "#define some_symbol", match_default, make_array(0, 19, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("^[[:blank:]]*#([^\\n]*\\\\[[:space:]]+)*[^\\n]*", extended&~no_escape_in_lists, "#define some_symbol(x) #x", match_default, make_array(0, 25, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("^[[:blank:]]*#([^\\n]*\\\\[[:space:]]+)*[^\\n]*", boost::regex::extended&~no_escape_in_lists, "#define some_symbol", match_default, make_array(0, 19, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("^[[:blank:]]*#([^\\n]*\\\\[[:space:]]+)*[^\\n]*", boost::regex::extended&~no_escape_in_lists, "#define some_symbol(x) #x", match_default, make_array(0, 25, -1, -1, -2, -2)); // perl only: TEST_REGEX_SEARCH("^[[:blank:]]*#([^\\n]*\\\\[[:space:]]+)*[^\\n]*", perl, "#define some_symbol(x) \\ \r\n foo();\\\r\n printf(#x);", match_default, make_array(0, 53, 30, 42, -2, -2)); // POSIX leftmost longest checks: - TEST_REGEX_SEARCH("(aaa)|(\\w+)", extended&~no_escape_in_lists, "a", match_default, make_array(0, 1, -1, -1, 0, 1, -2, -2)); - TEST_REGEX_SEARCH("(aaa)|(\\w+)", extended&~no_escape_in_lists, "aa", match_default, make_array(0, 2, -1, -1, 0, 2, -2, -2)); - TEST_REGEX_SEARCH("(aaa)|(\\w+)", extended&~no_escape_in_lists, "aaa", match_default, make_array(0, 3, 0, 3, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("(aaa)|(\\w+)", extended&~no_escape_in_lists, "aaaa", match_default, make_array(0, 4, -1, -1, 0, 4, -2, -2)); - TEST_REGEX_SEARCH("($)|(\\>)", extended&~no_escape_in_lists, "aaaa", match_default, make_array(4, 4, 4, 4, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("($)|(\\>)", extended&~no_escape_in_lists, "aaaa", match_default|match_not_eol, make_array(4, 4, -1, -1, 4, 4, -2, -2)); - TEST_REGEX_SEARCH("(aaa)(ab)*", extended, "aaaabab", match_default, make_array(0, 7, 0, 3, 5, 7, -2, -2)); + TEST_REGEX_SEARCH("(aaa)|(\\w+)", boost::regex::extended&~no_escape_in_lists, "a", match_default, make_array(0, 1, -1, -1, 0, 1, -2, -2)); + TEST_REGEX_SEARCH("(aaa)|(\\w+)", boost::regex::extended&~no_escape_in_lists, "aa", match_default, make_array(0, 2, -1, -1, 0, 2, -2, -2)); + TEST_REGEX_SEARCH("(aaa)|(\\w+)", boost::regex::extended&~no_escape_in_lists, "aaa", match_default, make_array(0, 3, 0, 3, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("(aaa)|(\\w+)", boost::regex::extended&~no_escape_in_lists, "aaaa", match_default, make_array(0, 4, -1, -1, 0, 4, -2, -2)); + TEST_REGEX_SEARCH("($)|(\\>)", boost::regex::extended&~no_escape_in_lists, "aaaa", match_default, make_array(4, 4, 4, 4, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("($)|(\\>)", boost::regex::extended&~no_escape_in_lists, "aaaa", match_default|match_not_eol, make_array(4, 4, -1, -1, 4, 4, -2, -2)); + TEST_REGEX_SEARCH("(aaa)(ab)*", boost::regex::extended, "aaaabab", match_default, make_array(0, 7, 0, 3, 5, 7, -2, -2)); } void test_tricky_cases3() From 73e23ab857af7d29be6e5c4361b8376ee6ad50b1 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Wed, 17 Oct 2007 17:15:53 +0000 Subject: [PATCH 08/62] Updates to build system: Sun and SGI compilers have a problem doing a shared link, and some platforms don't have an icudata library. [SVN r40128] --- build/Jamfile.v2 | 25 +++++++++++++++++++------ example/Jamfile.v2 | 8 +++++++- test/Jamfile.v2 | 10 +++++++++- 3 files changed, 35 insertions(+), 8 deletions(-) diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index 4cfaa478..68ef66e0 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -125,12 +125,24 @@ rule check-icu-config ( ) } else { - ECHO WARNING: ICU shared data library not found in path. ; - ECHO HINT: If the regex library fails to link then try again ; - ECHO with the environment variable ICU_LINK set to contain ; - ECHO the linker options required to link to ICU. ; - ECHO Defaulting to look for libicudata ... ; - gICU_DATA_LIB = icudata ; + local os = [ modules.peek : OS ] ; + echo $(os) ; + if $(os) != "DARWIN" + { + ECHO WARNING: ICU shared data library not found in path. ; + ECHO HINT: If the regex library fails to link then try again ; + ECHO with the environment variable ICU_LINK set to contain ; + ECHO the linker options required to link to ICU. ; + } + else + { + ECHO WARNING: ICU shared data library not found in path. ; + ECHO HINT: If the regex library fails to link then try again ; + ECHO with the environment variable ICU_LINK set to contain ; + ECHO the linker options required to link to ICU. ; + ECHO Defaulting to look for libicudata ... ; + gICU_DATA_LIB = icudata ; + } } #End of addition by Tommy Nordgren } @@ -243,3 +255,4 @@ lib boost_regex : ../src/$(SOURCES) $(ICU_EXTRA_SOURCE) + diff --git a/example/Jamfile.v2 b/example/Jamfile.v2 index 022f8945..295ef904 100644 --- a/example/Jamfile.v2 +++ b/example/Jamfile.v2 @@ -4,7 +4,12 @@ # http://www.boost.org/LICENSE_1_0.txt. project - : requirements multi shared:BOOST_REGEX_DYN_LINK=1 + : requirements + multi + shared:BOOST_REGEX_DYN_LINK=1 + # There are unidentified linker problems on these platforms: + mipspro-7.4:static + sun-5.9:static ; @@ -65,3 +70,4 @@ test-suite regex-examples : + diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index e948858e..e8d01e14 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -4,7 +4,14 @@ # http://www.boost.org/LICENSE_1_0.txt. project - : requirements multi shared:BOOST_REGEX_DYN_LINK=1 msvc-7.1:TEST_MFC=1 msvc-7.0:TEST_MFC=1 + : requirements + multi + shared:BOOST_REGEX_DYN_LINK=1 + msvc-7.1:TEST_MFC=1 + msvc-7.0:TEST_MFC=1 + # There are unidentified linker problems on these platforms: + mipspro-7.4:static + sun-5.9:static ; # @@ -136,3 +143,4 @@ test-suite regex + From 8627f6266cd622f9342307526a7e5460c0410019 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 19 Oct 2007 17:55:44 +0000 Subject: [PATCH 09/62] Adjust ICU build support: almost works now :-) [SVN r40193] --- build/Jamfile.v2 | 2 ++ test/Jamfile.v2 | 9 ++------- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index 68ef66e0..4808a2b1 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -244,6 +244,8 @@ lib boost_regex : ../src/$(SOURCES) $(ICU_EXTRA_SOURCE) $(BOOST_REGEX_ICU_OPTS) ; +alias icu_options : $(ICU_EXTRA_SOURCE) : : : $(BOOST_REGEX_ICU_OPTS) ; + diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index e8d01e14..dbbfaccd 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -12,6 +12,7 @@ project # There are unidentified linker problems on these platforms: mipspro-7.4:static sun-5.9:static + ../build//icu_options ; # @@ -59,15 +60,8 @@ test-suite regex : # command line : # input files : # requirements - static : regex_regress ] - [ run regress/$(R_SOURCE) ../build//boost_regex - : # command line - : # input files - : # requirements - : regex_regress_dll ] - [ run regress/$(R_SOURCE) ../build//boost_regex ../../thread/build//boost_thread : # command line @@ -144,3 +138,4 @@ test-suite regex + From 4c234145581340d906eb505c638645ffae1816a8 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sat, 20 Oct 2007 09:20:30 +0000 Subject: [PATCH 10/62] Removed ICU options from main requirements: BBv2 barfs at it. [SVN r40205] --- test/Jamfile.v2 | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index dbbfaccd..4d1a2967 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -12,7 +12,6 @@ project # There are unidentified linker problems on these platforms: mipspro-7.4:static sun-5.9:static - ../build//icu_options ; # @@ -56,14 +55,14 @@ local regress-sources = regress/$(R_SOURCE) ; test-suite regex : - [ run regress/$(R_SOURCE) ../build//boost_regex + [ run regress/$(R_SOURCE) ../build//boost_regex ../build//icu_options : # command line : # input files : # requirements : regex_regress ] [ run regress/$(R_SOURCE) ../build//boost_regex - ../../thread/build//boost_thread + ../../thread/build//boost_thread ../build//icu_options : # command line : # input files : # requirements @@ -133,9 +132,3 @@ test-suite regex ; - - - - - - From f2a7f4d8c36202eb48ef718fd50e75ed61cc466e Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sat, 20 Oct 2007 16:30:01 +0000 Subject: [PATCH 11/62] ICU libraries are only available as shared libraries. [SVN r40214] --- build/Jamfile.v2 | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index 4808a2b1..13d6a568 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -195,18 +195,18 @@ if [ check-icu-config ] { if $(gICU_CORE_LIB) { - lib icucore : : $(gICU_CORE_LIB) $(ICU_SEARCH_OPTS) ; + lib icucore : : $(gICU_CORE_LIB) $(ICU_SEARCH_OPTS) shared ; ICU_EXTRA_SOURCE = icucore ; } if $(gICU_IN_LIB) { - lib icuin : : $(gICU_IN_LIB) $(ICU_SEARCH_OPTS) ; + lib icuin : : $(gICU_IN_LIB) $(ICU_SEARCH_OPTS) shared ; ICU_EXTRA_SOURCE += icuin ; } #Added by Tommy Nordgren libicudata must be linked against on Mac OS X if $(gICU_DATA_LIB) { - lib icudata : : $(gICU_DATA_LIB) $(ICU_SEARCH_OPTS) ; + lib icudata : : $(gICU_DATA_LIB) $(ICU_SEARCH_OPTS) shared ; ICU_EXTRA_SOURCE += icudata ; } #End of addition by Tommy Nordgren @@ -258,3 +258,4 @@ alias icu_options : $(ICU_EXTRA_SOURCE) : : : $(BOOST_REGEX_ICU_OPTS) ; + From 816f0ba137957912b1c50a46571b811f56b353dc Mon Sep 17 00:00:00 2001 From: John Maddock Date: Wed, 24 Oct 2007 09:15:20 +0000 Subject: [PATCH 12/62] Update makefiles and the script that creates them: was generating dependencies that weren't required. [SVN r40405] --- build/bcb6.mak | 2 +- build/common.sh | 8 +++++++- build/gcc-shared.mak | 2 +- build/gcc.mak | 2 +- build/generic.mak | 2 +- build/sunpro.mak | 2 +- build/vc6-stlport.mak | 6 +++--- build/vc6.mak | 6 +++--- build/vc7-stlport.mak | 6 +++--- build/vc7.mak | 6 +++--- build/vc71-stlport.mak | 6 +++--- build/vc71.mak | 6 +++--- build/vc8.mak | 6 +++--- build/vc_gen.sh | 3 ++- 14 files changed, 35 insertions(+), 28 deletions(-) diff --git a/build/bcb6.mak b/build/bcb6.mak index 1ccae618..f779b28d 100644 --- a/build/bcb6.mak +++ b/build/bcb6.mak @@ -39,7 +39,7 @@ BCROOT=$(MAKEDIR)\.. !endif -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : bcb bcb\libboost_regex-bcb-s-1_35 bcb\libboost_regex-bcb-s-1_35.lib bcb\libboost_regex-bcb-mt-s-1_35 bcb\libboost_regex-bcb-mt-s-1_35.lib bcb\boost_regex-bcb-mt-1_35 bcb\boost_regex-bcb-mt-1_35.lib bcb\boost_regex-bcb-1_35 bcb\boost_regex-bcb-1_35.lib bcb\libboost_regex-bcb-mt-1_35 bcb\libboost_regex-bcb-mt-1_35.lib bcb\libboost_regex-bcb-1_35 bcb\libboost_regex-bcb-1_35.lib bcb\libboost_regex-bcb-sd-1_35 bcb\libboost_regex-bcb-sd-1_35.lib bcb\libboost_regex-bcb-mt-sd-1_35 bcb\libboost_regex-bcb-mt-sd-1_35.lib bcb\boost_regex-bcb-mt-d-1_35 bcb\boost_regex-bcb-mt-d-1_35.lib bcb\boost_regex-bcb-d-1_35 bcb\boost_regex-bcb-d-1_35.lib bcb\libboost_regex-bcb-mt-d-1_35 bcb\libboost_regex-bcb-mt-d-1_35.lib bcb\libboost_regex-bcb-d-1_35 bcb\libboost_regex-bcb-d-1_35.lib diff --git a/build/common.sh b/build/common.sh index 9812798c..b6053d04 100644 --- a/build/common.sh +++ b/build/common.sh @@ -6,7 +6,11 @@ # locate all the header dependencies: for file in ../../../boost/regex/*.hpp ; do if [ -f $file ]; then - header="$header $file" + if [ $file != ../../../boost/regex/concepts.hpp ]; then + if [ $file != ../../../boost/regex/mfc.hpp ]; then + header="$header $file" + fi + fi fi done @@ -58,3 +62,5 @@ boost_version=$(grep 'define.*BOOST_LIB_VERSION' ../../../boost/version.hpp | se echo Boost version tag = $boost_version + + diff --git a/build/gcc-shared.mak b/build/gcc-shared.mak index ea2a76f3..50dfebdb 100644 --- a/build/gcc-shared.mak +++ b/build/gcc-shared.mak @@ -41,7 +41,7 @@ $(warning "Building Boost.Regex with ICU in $(ICU_PATH)") endif -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : gcc gcc gcc/boost_regex-gcc-1_35_shared ./gcc/libboost_regex-gcc-1_35.so gcc gcc/boost_regex-gcc-d-1_35_shared ./gcc/libboost_regex-gcc-d-1_35.so diff --git a/build/gcc.mak b/build/gcc.mak index 7dd4f9da..140941da 100644 --- a/build/gcc.mak +++ b/build/gcc.mak @@ -45,7 +45,7 @@ $(warning "Building Boost.Regex with ICU in $(ICU_PATH)") endif -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : gcc gcc gcc/boost_regex-gcc-1_35 ./gcc/libboost_regex-gcc-1_35.a gcc gcc/boost_regex-gcc-d-1_35 ./gcc/libboost_regex-gcc-d-1_35.a diff --git a/build/generic.mak b/build/generic.mak index ebd8ae19..37e4d15f 100644 --- a/build/generic.mak +++ b/build/generic.mak @@ -30,7 +30,7 @@ C1=-c -O2 -I../../../ -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : $(DIRNAME) $(DIRNAME) $(DIRNAME)/boost_regex ./$(DIRNAME)/libboost_regex.so diff --git a/build/sunpro.mak b/build/sunpro.mak index bb2e82f1..9e921045 100644 --- a/build/sunpro.mak +++ b/build/sunpro.mak @@ -38,7 +38,7 @@ SUNWS_CACHE_NAME=SunWS_cache -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : sunpro sunpro/libboost_regex$(LIBSUFFIX) sunpro/libboost_regex$(LIBSUFFIX).a sunpro/libboost_regex_mt$(LIBSUFFIX) sunpro/libboost_regex_mt$(LIBSUFFIX).a sunpro/shared_libboost_regex$(LIBSUFFIX) sunpro/libboost_regex$(LIBSUFFIX).so sunpro/shared_libboost_regex_mt$(LIBSUFFIX) sunpro/libboost_regex_mt$(LIBSUFFIX).so diff --git a/build/vc6-stlport.mak b/build/vc6-stlport.mak index 3a51dde4..a0e3cf21 100644 --- a/build/vc6-stlport.mak +++ b/build/vc6-stlport.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc6-mt-sp-1_35_dir ./vc6-stlport/libboost_regex-vc6-mt-sp-1_35.lib boost_regex-vc6-mt-p-1_35_dir ./vc6-stlport/boost_regex-vc6-mt-p-1_35.lib libboost_regex-vc6-mt-p-1_35_dir ./vc6-stlport/libboost_regex-vc6-mt-p-1_35.lib boost_regex-vc6-mt-gdp-1_35_dir ./vc6-stlport/boost_regex-vc6-mt-gdp-1_35.lib libboost_regex-vc6-mt-sgdp-1_35_dir ./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_35.lib libboost_regex-vc6-mt-gdp-1_35_dir ./vc6-stlport/libboost_regex-vc6-mt-gdp-1_35.lib @@ -220,7 +220,7 @@ boost_regex-vc6-mt-p-1_35_clean : del vc6-stlport\boost_regex-vc6-mt-p-1_35\*.pch ./vc6-stlport/boost_regex-vc6-mt-p-1_35.lib : vc6-stlport/boost_regex-vc6-mt-p-1_35/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/cpp_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/cregex.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/fileiter.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/icu.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/instances.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/posix_api.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex_debug.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex_raw_buffer.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex_traits_defaults.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/static_mutex.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/usinstances.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/w32_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/wc_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/wide_posix_api.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6-stlport/boost_regex-vc6-mt-p-1_35.pdb" /debug /machine:I386 /out:"vc6-stlport/boost_regex-vc6-mt-p-1_35.dll" /implib:"vc6-stlport/boost_regex-vc6-mt-p-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc6-stlport/boost_regex-vc6-mt-p-1_35/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/cpp_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/cregex.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/fileiter.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/icu.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/instances.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/posix_api.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex_debug.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex_raw_buffer.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex_traits_defaults.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/static_mutex.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/usinstances.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/w32_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/wc_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/wide_posix_api.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc6-stlport/boost_regex-vc6-mt-p-1_35.pdb" /debug /machine:I386 /out:"vc6-stlport/boost_regex-vc6-mt-p-1_35.dll" /implib:"vc6-stlport/boost_regex-vc6-mt-p-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc6-stlport/boost_regex-vc6-mt-p-1_35/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/cpp_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/cregex.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/fileiter.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/icu.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/instances.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/posix_api.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex_debug.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex_raw_buffer.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex_traits_defaults.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/static_mutex.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/usinstances.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/w32_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/wc_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/wide_posix_api.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/winstances.obj ######################################################## # @@ -356,7 +356,7 @@ boost_regex-vc6-mt-gdp-1_35_clean : del vc6-stlport\boost_regex-vc6-mt-gdp-1_35\*.pch ./vc6-stlport/boost_regex-vc6-mt-gdp-1_35.lib : vc6-stlport/boost_regex-vc6-mt-gdp-1_35/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/cpp_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/cregex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/fileiter.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/icu.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/instances.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/posix_api.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex_debug.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex_raw_buffer.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex_traits_defaults.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/static_mutex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/usinstances.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/w32_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/wc_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/wide_posix_api.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6-stlport/boost_regex-vc6-mt-gdp-1_35.pdb" /debug /machine:I386 /out:"vc6-stlport/boost_regex-vc6-mt-gdp-1_35.dll" /implib:"vc6-stlport/boost_regex-vc6-mt-gdp-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc6-stlport/boost_regex-vc6-mt-gdp-1_35/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/cpp_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/cregex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/fileiter.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/icu.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/instances.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/posix_api.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex_debug.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex_raw_buffer.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex_traits_defaults.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/static_mutex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/usinstances.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/w32_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/wc_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/wide_posix_api.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc6-stlport/boost_regex-vc6-mt-gdp-1_35.pdb" /debug /machine:I386 /out:"vc6-stlport/boost_regex-vc6-mt-gdp-1_35.dll" /implib:"vc6-stlport/boost_regex-vc6-mt-gdp-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc6-stlport/boost_regex-vc6-mt-gdp-1_35/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/cpp_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/cregex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/fileiter.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/icu.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/instances.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/posix_api.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex_debug.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex_raw_buffer.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex_traits_defaults.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/static_mutex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/usinstances.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/w32_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/wc_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/wide_posix_api.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/winstances.obj ######################################################## # diff --git a/build/vc6.mak b/build/vc6.mak index 849d9870..602368d0 100644 --- a/build/vc6.mak +++ b/build/vc6.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc6-s-1_35_dir ./vc6/libboost_regex-vc6-s-1_35.lib libboost_regex-vc6-mt-s-1_35_dir ./vc6/libboost_regex-vc6-mt-s-1_35.lib libboost_regex-vc6-sgd-1_35_dir ./vc6/libboost_regex-vc6-sgd-1_35.lib libboost_regex-vc6-mt-sgd-1_35_dir ./vc6/libboost_regex-vc6-mt-sgd-1_35.lib boost_regex-vc6-mt-gd-1_35_dir ./vc6/boost_regex-vc6-mt-gd-1_35.lib boost_regex-vc6-mt-1_35_dir ./vc6/boost_regex-vc6-mt-1_35.lib libboost_regex-vc6-mt-1_35_dir ./vc6/libboost_regex-vc6-mt-1_35.lib libboost_regex-vc6-mt-gd-1_35_dir ./vc6/libboost_regex-vc6-mt-gd-1_35.lib @@ -424,7 +424,7 @@ boost_regex-vc6-mt-gd-1_35_clean : del vc6\boost_regex-vc6-mt-gd-1_35\*.pch ./vc6/boost_regex-vc6-mt-gd-1_35.lib : vc6/boost_regex-vc6-mt-gd-1_35/c_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/cregex.obj vc6/boost_regex-vc6-mt-gd-1_35/fileiter.obj vc6/boost_regex-vc6-mt-gd-1_35/icu.obj vc6/boost_regex-vc6-mt-gd-1_35/instances.obj vc6/boost_regex-vc6-mt-gd-1_35/posix_api.obj vc6/boost_regex-vc6-mt-gd-1_35/regex.obj vc6/boost_regex-vc6-mt-gd-1_35/regex_debug.obj vc6/boost_regex-vc6-mt-gd-1_35/regex_raw_buffer.obj vc6/boost_regex-vc6-mt-gd-1_35/regex_traits_defaults.obj vc6/boost_regex-vc6-mt-gd-1_35/static_mutex.obj vc6/boost_regex-vc6-mt-gd-1_35/usinstances.obj vc6/boost_regex-vc6-mt-gd-1_35/w32_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/wc_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/wide_posix_api.obj vc6/boost_regex-vc6-mt-gd-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6/boost_regex-vc6-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc6/boost_regex-vc6-mt-gd-1_35.dll" /implib:"vc6/boost_regex-vc6-mt-gd-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc6/boost_regex-vc6-mt-gd-1_35/c_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/cregex.obj vc6/boost_regex-vc6-mt-gd-1_35/fileiter.obj vc6/boost_regex-vc6-mt-gd-1_35/icu.obj vc6/boost_regex-vc6-mt-gd-1_35/instances.obj vc6/boost_regex-vc6-mt-gd-1_35/posix_api.obj vc6/boost_regex-vc6-mt-gd-1_35/regex.obj vc6/boost_regex-vc6-mt-gd-1_35/regex_debug.obj vc6/boost_regex-vc6-mt-gd-1_35/regex_raw_buffer.obj vc6/boost_regex-vc6-mt-gd-1_35/regex_traits_defaults.obj vc6/boost_regex-vc6-mt-gd-1_35/static_mutex.obj vc6/boost_regex-vc6-mt-gd-1_35/usinstances.obj vc6/boost_regex-vc6-mt-gd-1_35/w32_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/wc_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/wide_posix_api.obj vc6/boost_regex-vc6-mt-gd-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc6/boost_regex-vc6-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc6/boost_regex-vc6-mt-gd-1_35.dll" /implib:"vc6/boost_regex-vc6-mt-gd-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc6/boost_regex-vc6-mt-gd-1_35/c_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/cregex.obj vc6/boost_regex-vc6-mt-gd-1_35/fileiter.obj vc6/boost_regex-vc6-mt-gd-1_35/icu.obj vc6/boost_regex-vc6-mt-gd-1_35/instances.obj vc6/boost_regex-vc6-mt-gd-1_35/posix_api.obj vc6/boost_regex-vc6-mt-gd-1_35/regex.obj vc6/boost_regex-vc6-mt-gd-1_35/regex_debug.obj vc6/boost_regex-vc6-mt-gd-1_35/regex_raw_buffer.obj vc6/boost_regex-vc6-mt-gd-1_35/regex_traits_defaults.obj vc6/boost_regex-vc6-mt-gd-1_35/static_mutex.obj vc6/boost_regex-vc6-mt-gd-1_35/usinstances.obj vc6/boost_regex-vc6-mt-gd-1_35/w32_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/wc_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/wide_posix_api.obj vc6/boost_regex-vc6-mt-gd-1_35/winstances.obj ######################################################## # @@ -492,7 +492,7 @@ boost_regex-vc6-mt-1_35_clean : del vc6\boost_regex-vc6-mt-1_35\*.pch ./vc6/boost_regex-vc6-mt-1_35.lib : vc6/boost_regex-vc6-mt-1_35/c_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/cregex.obj vc6/boost_regex-vc6-mt-1_35/fileiter.obj vc6/boost_regex-vc6-mt-1_35/icu.obj vc6/boost_regex-vc6-mt-1_35/instances.obj vc6/boost_regex-vc6-mt-1_35/posix_api.obj vc6/boost_regex-vc6-mt-1_35/regex.obj vc6/boost_regex-vc6-mt-1_35/regex_debug.obj vc6/boost_regex-vc6-mt-1_35/regex_raw_buffer.obj vc6/boost_regex-vc6-mt-1_35/regex_traits_defaults.obj vc6/boost_regex-vc6-mt-1_35/static_mutex.obj vc6/boost_regex-vc6-mt-1_35/usinstances.obj vc6/boost_regex-vc6-mt-1_35/w32_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/wc_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/wide_posix_api.obj vc6/boost_regex-vc6-mt-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6/boost_regex-vc6-mt-1_35.pdb" /debug /machine:I386 /out:"vc6/boost_regex-vc6-mt-1_35.dll" /implib:"vc6/boost_regex-vc6-mt-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc6/boost_regex-vc6-mt-1_35/c_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/cregex.obj vc6/boost_regex-vc6-mt-1_35/fileiter.obj vc6/boost_regex-vc6-mt-1_35/icu.obj vc6/boost_regex-vc6-mt-1_35/instances.obj vc6/boost_regex-vc6-mt-1_35/posix_api.obj vc6/boost_regex-vc6-mt-1_35/regex.obj vc6/boost_regex-vc6-mt-1_35/regex_debug.obj vc6/boost_regex-vc6-mt-1_35/regex_raw_buffer.obj vc6/boost_regex-vc6-mt-1_35/regex_traits_defaults.obj vc6/boost_regex-vc6-mt-1_35/static_mutex.obj vc6/boost_regex-vc6-mt-1_35/usinstances.obj vc6/boost_regex-vc6-mt-1_35/w32_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/wc_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/wide_posix_api.obj vc6/boost_regex-vc6-mt-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc6/boost_regex-vc6-mt-1_35.pdb" /debug /machine:I386 /out:"vc6/boost_regex-vc6-mt-1_35.dll" /implib:"vc6/boost_regex-vc6-mt-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc6/boost_regex-vc6-mt-1_35/c_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/cregex.obj vc6/boost_regex-vc6-mt-1_35/fileiter.obj vc6/boost_regex-vc6-mt-1_35/icu.obj vc6/boost_regex-vc6-mt-1_35/instances.obj vc6/boost_regex-vc6-mt-1_35/posix_api.obj vc6/boost_regex-vc6-mt-1_35/regex.obj vc6/boost_regex-vc6-mt-1_35/regex_debug.obj vc6/boost_regex-vc6-mt-1_35/regex_raw_buffer.obj vc6/boost_regex-vc6-mt-1_35/regex_traits_defaults.obj vc6/boost_regex-vc6-mt-1_35/static_mutex.obj vc6/boost_regex-vc6-mt-1_35/usinstances.obj vc6/boost_regex-vc6-mt-1_35/w32_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/wc_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/wide_posix_api.obj vc6/boost_regex-vc6-mt-1_35/winstances.obj ######################################################## # diff --git a/build/vc7-stlport.mak b/build/vc7-stlport.mak index 74285b14..f457ce7d 100644 --- a/build/vc7-stlport.mak +++ b/build/vc7-stlport.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc7-mt-sp-1_35_dir ./vc7-stlport/libboost_regex-vc7-mt-sp-1_35.lib boost_regex-vc7-mt-p-1_35_dir ./vc7-stlport/boost_regex-vc7-mt-p-1_35.lib libboost_regex-vc7-mt-p-1_35_dir ./vc7-stlport/libboost_regex-vc7-mt-p-1_35.lib boost_regex-vc7-mt-gdp-1_35_dir ./vc7-stlport/boost_regex-vc7-mt-gdp-1_35.lib libboost_regex-vc7-mt-sgdp-1_35_dir ./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_35.lib libboost_regex-vc7-mt-gdp-1_35_dir ./vc7-stlport/libboost_regex-vc7-mt-gdp-1_35.lib @@ -220,7 +220,7 @@ boost_regex-vc7-mt-p-1_35_clean : del vc7-stlport\boost_regex-vc7-mt-p-1_35\*.pch ./vc7-stlport/boost_regex-vc7-mt-p-1_35.lib : vc7-stlport/boost_regex-vc7-mt-p-1_35/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/cpp_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/cregex.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/fileiter.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/icu.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/instances.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/posix_api.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex_debug.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex_raw_buffer.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex_traits_defaults.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/static_mutex.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/usinstances.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/w32_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/wc_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/wide_posix_api.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/boost_regex-vc7-mt-p-1_35.pdb" /debug /machine:I386 /out:"vc7-stlport/boost_regex-vc7-mt-p-1_35.dll" /implib:"vc7-stlport/boost_regex-vc7-mt-p-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc7-stlport/boost_regex-vc7-mt-p-1_35/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/cpp_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/cregex.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/fileiter.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/icu.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/instances.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/posix_api.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex_debug.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex_raw_buffer.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex_traits_defaults.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/static_mutex.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/usinstances.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/w32_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/wc_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/wide_posix_api.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/boost_regex-vc7-mt-p-1_35.pdb" /debug /machine:I386 /out:"vc7-stlport/boost_regex-vc7-mt-p-1_35.dll" /implib:"vc7-stlport/boost_regex-vc7-mt-p-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc7-stlport/boost_regex-vc7-mt-p-1_35/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/cpp_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/cregex.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/fileiter.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/icu.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/instances.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/posix_api.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex_debug.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex_raw_buffer.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex_traits_defaults.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/static_mutex.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/usinstances.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/w32_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/wc_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/wide_posix_api.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/winstances.obj ######################################################## # @@ -356,7 +356,7 @@ boost_regex-vc7-mt-gdp-1_35_clean : del vc7-stlport\boost_regex-vc7-mt-gdp-1_35\*.pch ./vc7-stlport/boost_regex-vc7-mt-gdp-1_35.lib : vc7-stlport/boost_regex-vc7-mt-gdp-1_35/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/cpp_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/cregex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/fileiter.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/icu.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/instances.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/posix_api.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex_debug.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex_raw_buffer.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex_traits_defaults.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/static_mutex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/usinstances.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/w32_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/wc_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/wide_posix_api.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/boost_regex-vc7-mt-gdp-1_35.pdb" /debug /machine:I386 /out:"vc7-stlport/boost_regex-vc7-mt-gdp-1_35.dll" /implib:"vc7-stlport/boost_regex-vc7-mt-gdp-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc7-stlport/boost_regex-vc7-mt-gdp-1_35/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/cpp_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/cregex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/fileiter.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/icu.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/instances.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/posix_api.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex_debug.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex_raw_buffer.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex_traits_defaults.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/static_mutex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/usinstances.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/w32_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/wc_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/wide_posix_api.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/boost_regex-vc7-mt-gdp-1_35.pdb" /debug /machine:I386 /out:"vc7-stlport/boost_regex-vc7-mt-gdp-1_35.dll" /implib:"vc7-stlport/boost_regex-vc7-mt-gdp-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc7-stlport/boost_regex-vc7-mt-gdp-1_35/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/cpp_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/cregex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/fileiter.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/icu.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/instances.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/posix_api.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex_debug.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex_raw_buffer.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex_traits_defaults.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/static_mutex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/usinstances.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/w32_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/wc_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/wide_posix_api.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/winstances.obj ######################################################## # diff --git a/build/vc7.mak b/build/vc7.mak index aabf0098..dc0a523b 100644 --- a/build/vc7.mak +++ b/build/vc7.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc7-s-1_35_dir ./vc7/libboost_regex-vc7-s-1_35.lib libboost_regex-vc7-mt-s-1_35_dir ./vc7/libboost_regex-vc7-mt-s-1_35.lib libboost_regex-vc7-sgd-1_35_dir ./vc7/libboost_regex-vc7-sgd-1_35.lib libboost_regex-vc7-mt-sgd-1_35_dir ./vc7/libboost_regex-vc7-mt-sgd-1_35.lib boost_regex-vc7-mt-gd-1_35_dir ./vc7/boost_regex-vc7-mt-gd-1_35.lib boost_regex-vc7-mt-1_35_dir ./vc7/boost_regex-vc7-mt-1_35.lib libboost_regex-vc7-mt-1_35_dir ./vc7/libboost_regex-vc7-mt-1_35.lib libboost_regex-vc7-mt-gd-1_35_dir ./vc7/libboost_regex-vc7-mt-gd-1_35.lib @@ -424,7 +424,7 @@ boost_regex-vc7-mt-gd-1_35_clean : del vc7\boost_regex-vc7-mt-gd-1_35\*.pch ./vc7/boost_regex-vc7-mt-gd-1_35.lib : vc7/boost_regex-vc7-mt-gd-1_35/c_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/cregex.obj vc7/boost_regex-vc7-mt-gd-1_35/fileiter.obj vc7/boost_regex-vc7-mt-gd-1_35/icu.obj vc7/boost_regex-vc7-mt-gd-1_35/instances.obj vc7/boost_regex-vc7-mt-gd-1_35/posix_api.obj vc7/boost_regex-vc7-mt-gd-1_35/regex.obj vc7/boost_regex-vc7-mt-gd-1_35/regex_debug.obj vc7/boost_regex-vc7-mt-gd-1_35/regex_raw_buffer.obj vc7/boost_regex-vc7-mt-gd-1_35/regex_traits_defaults.obj vc7/boost_regex-vc7-mt-gd-1_35/static_mutex.obj vc7/boost_regex-vc7-mt-gd-1_35/usinstances.obj vc7/boost_regex-vc7-mt-gd-1_35/w32_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/wc_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/wide_posix_api.obj vc7/boost_regex-vc7-mt-gd-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7/boost_regex-vc7-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc7/boost_regex-vc7-mt-gd-1_35.dll" /implib:"vc7/boost_regex-vc7-mt-gd-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc7/boost_regex-vc7-mt-gd-1_35/c_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/cregex.obj vc7/boost_regex-vc7-mt-gd-1_35/fileiter.obj vc7/boost_regex-vc7-mt-gd-1_35/icu.obj vc7/boost_regex-vc7-mt-gd-1_35/instances.obj vc7/boost_regex-vc7-mt-gd-1_35/posix_api.obj vc7/boost_regex-vc7-mt-gd-1_35/regex.obj vc7/boost_regex-vc7-mt-gd-1_35/regex_debug.obj vc7/boost_regex-vc7-mt-gd-1_35/regex_raw_buffer.obj vc7/boost_regex-vc7-mt-gd-1_35/regex_traits_defaults.obj vc7/boost_regex-vc7-mt-gd-1_35/static_mutex.obj vc7/boost_regex-vc7-mt-gd-1_35/usinstances.obj vc7/boost_regex-vc7-mt-gd-1_35/w32_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/wc_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/wide_posix_api.obj vc7/boost_regex-vc7-mt-gd-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc7/boost_regex-vc7-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc7/boost_regex-vc7-mt-gd-1_35.dll" /implib:"vc7/boost_regex-vc7-mt-gd-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc7/boost_regex-vc7-mt-gd-1_35/c_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/cregex.obj vc7/boost_regex-vc7-mt-gd-1_35/fileiter.obj vc7/boost_regex-vc7-mt-gd-1_35/icu.obj vc7/boost_regex-vc7-mt-gd-1_35/instances.obj vc7/boost_regex-vc7-mt-gd-1_35/posix_api.obj vc7/boost_regex-vc7-mt-gd-1_35/regex.obj vc7/boost_regex-vc7-mt-gd-1_35/regex_debug.obj vc7/boost_regex-vc7-mt-gd-1_35/regex_raw_buffer.obj vc7/boost_regex-vc7-mt-gd-1_35/regex_traits_defaults.obj vc7/boost_regex-vc7-mt-gd-1_35/static_mutex.obj vc7/boost_regex-vc7-mt-gd-1_35/usinstances.obj vc7/boost_regex-vc7-mt-gd-1_35/w32_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/wc_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/wide_posix_api.obj vc7/boost_regex-vc7-mt-gd-1_35/winstances.obj ######################################################## # @@ -492,7 +492,7 @@ boost_regex-vc7-mt-1_35_clean : del vc7\boost_regex-vc7-mt-1_35\*.pch ./vc7/boost_regex-vc7-mt-1_35.lib : vc7/boost_regex-vc7-mt-1_35/c_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/cregex.obj vc7/boost_regex-vc7-mt-1_35/fileiter.obj vc7/boost_regex-vc7-mt-1_35/icu.obj vc7/boost_regex-vc7-mt-1_35/instances.obj vc7/boost_regex-vc7-mt-1_35/posix_api.obj vc7/boost_regex-vc7-mt-1_35/regex.obj vc7/boost_regex-vc7-mt-1_35/regex_debug.obj vc7/boost_regex-vc7-mt-1_35/regex_raw_buffer.obj vc7/boost_regex-vc7-mt-1_35/regex_traits_defaults.obj vc7/boost_regex-vc7-mt-1_35/static_mutex.obj vc7/boost_regex-vc7-mt-1_35/usinstances.obj vc7/boost_regex-vc7-mt-1_35/w32_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/wc_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/wide_posix_api.obj vc7/boost_regex-vc7-mt-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7/boost_regex-vc7-mt-1_35.pdb" /debug /machine:I386 /out:"vc7/boost_regex-vc7-mt-1_35.dll" /implib:"vc7/boost_regex-vc7-mt-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc7/boost_regex-vc7-mt-1_35/c_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/cregex.obj vc7/boost_regex-vc7-mt-1_35/fileiter.obj vc7/boost_regex-vc7-mt-1_35/icu.obj vc7/boost_regex-vc7-mt-1_35/instances.obj vc7/boost_regex-vc7-mt-1_35/posix_api.obj vc7/boost_regex-vc7-mt-1_35/regex.obj vc7/boost_regex-vc7-mt-1_35/regex_debug.obj vc7/boost_regex-vc7-mt-1_35/regex_raw_buffer.obj vc7/boost_regex-vc7-mt-1_35/regex_traits_defaults.obj vc7/boost_regex-vc7-mt-1_35/static_mutex.obj vc7/boost_regex-vc7-mt-1_35/usinstances.obj vc7/boost_regex-vc7-mt-1_35/w32_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/wc_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/wide_posix_api.obj vc7/boost_regex-vc7-mt-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc7/boost_regex-vc7-mt-1_35.pdb" /debug /machine:I386 /out:"vc7/boost_regex-vc7-mt-1_35.dll" /implib:"vc7/boost_regex-vc7-mt-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc7/boost_regex-vc7-mt-1_35/c_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/cregex.obj vc7/boost_regex-vc7-mt-1_35/fileiter.obj vc7/boost_regex-vc7-mt-1_35/icu.obj vc7/boost_regex-vc7-mt-1_35/instances.obj vc7/boost_regex-vc7-mt-1_35/posix_api.obj vc7/boost_regex-vc7-mt-1_35/regex.obj vc7/boost_regex-vc7-mt-1_35/regex_debug.obj vc7/boost_regex-vc7-mt-1_35/regex_raw_buffer.obj vc7/boost_regex-vc7-mt-1_35/regex_traits_defaults.obj vc7/boost_regex-vc7-mt-1_35/static_mutex.obj vc7/boost_regex-vc7-mt-1_35/usinstances.obj vc7/boost_regex-vc7-mt-1_35/w32_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/wc_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/wide_posix_api.obj vc7/boost_regex-vc7-mt-1_35/winstances.obj ######################################################## # diff --git a/build/vc71-stlport.mak b/build/vc71-stlport.mak index aa2743cc..b709f11a 100644 --- a/build/vc71-stlport.mak +++ b/build/vc71-stlport.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc71-mt-sp-1_35_dir ./vc71-stlport/libboost_regex-vc71-mt-sp-1_35.lib boost_regex-vc71-mt-p-1_35_dir ./vc71-stlport/boost_regex-vc71-mt-p-1_35.lib libboost_regex-vc71-mt-p-1_35_dir ./vc71-stlport/libboost_regex-vc71-mt-p-1_35.lib boost_regex-vc71-mt-gdp-1_35_dir ./vc71-stlport/boost_regex-vc71-mt-gdp-1_35.lib libboost_regex-vc71-mt-sgdp-1_35_dir ./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_35.lib libboost_regex-vc71-mt-gdp-1_35_dir ./vc71-stlport/libboost_regex-vc71-mt-gdp-1_35.lib @@ -220,7 +220,7 @@ boost_regex-vc71-mt-p-1_35_clean : del vc71-stlport\boost_regex-vc71-mt-p-1_35\*.pch ./vc71-stlport/boost_regex-vc71-mt-p-1_35.lib : vc71-stlport/boost_regex-vc71-mt-p-1_35/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/cpp_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/cregex.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/fileiter.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/icu.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/instances.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/posix_api.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex_debug.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex_raw_buffer.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex_traits_defaults.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/static_mutex.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/usinstances.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/w32_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/wc_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/wide_posix_api.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/boost_regex-vc71-mt-p-1_35.pdb" /debug /machine:I386 /out:"vc71-stlport/boost_regex-vc71-mt-p-1_35.dll" /implib:"vc71-stlport/boost_regex-vc71-mt-p-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc71-stlport/boost_regex-vc71-mt-p-1_35/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/cpp_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/cregex.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/fileiter.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/icu.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/instances.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/posix_api.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex_debug.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex_raw_buffer.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex_traits_defaults.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/static_mutex.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/usinstances.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/w32_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/wc_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/wide_posix_api.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/boost_regex-vc71-mt-p-1_35.pdb" /debug /machine:I386 /out:"vc71-stlport/boost_regex-vc71-mt-p-1_35.dll" /implib:"vc71-stlport/boost_regex-vc71-mt-p-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc71-stlport/boost_regex-vc71-mt-p-1_35/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/cpp_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/cregex.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/fileiter.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/icu.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/instances.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/posix_api.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex_debug.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex_raw_buffer.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex_traits_defaults.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/static_mutex.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/usinstances.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/w32_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/wc_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/wide_posix_api.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/winstances.obj ######################################################## # @@ -356,7 +356,7 @@ boost_regex-vc71-mt-gdp-1_35_clean : del vc71-stlport\boost_regex-vc71-mt-gdp-1_35\*.pch ./vc71-stlport/boost_regex-vc71-mt-gdp-1_35.lib : vc71-stlport/boost_regex-vc71-mt-gdp-1_35/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/cpp_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/cregex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/fileiter.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/icu.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/instances.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/posix_api.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex_debug.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex_raw_buffer.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex_traits_defaults.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/static_mutex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/usinstances.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/w32_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/wc_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/wide_posix_api.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/boost_regex-vc71-mt-gdp-1_35.pdb" /debug /machine:I386 /out:"vc71-stlport/boost_regex-vc71-mt-gdp-1_35.dll" /implib:"vc71-stlport/boost_regex-vc71-mt-gdp-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc71-stlport/boost_regex-vc71-mt-gdp-1_35/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/cpp_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/cregex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/fileiter.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/icu.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/instances.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/posix_api.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex_debug.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex_raw_buffer.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex_traits_defaults.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/static_mutex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/usinstances.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/w32_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/wc_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/wide_posix_api.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/boost_regex-vc71-mt-gdp-1_35.pdb" /debug /machine:I386 /out:"vc71-stlport/boost_regex-vc71-mt-gdp-1_35.dll" /implib:"vc71-stlport/boost_regex-vc71-mt-gdp-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc71-stlport/boost_regex-vc71-mt-gdp-1_35/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/cpp_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/cregex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/fileiter.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/icu.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/instances.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/posix_api.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex_debug.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex_raw_buffer.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex_traits_defaults.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/static_mutex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/usinstances.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/w32_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/wc_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/wide_posix_api.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/winstances.obj ######################################################## # diff --git a/build/vc71.mak b/build/vc71.mak index 0912478a..742b00ff 100644 --- a/build/vc71.mak +++ b/build/vc71.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc71-s-1_35_dir ./vc71/libboost_regex-vc71-s-1_35.lib libboost_regex-vc71-mt-s-1_35_dir ./vc71/libboost_regex-vc71-mt-s-1_35.lib libboost_regex-vc71-sgd-1_35_dir ./vc71/libboost_regex-vc71-sgd-1_35.lib libboost_regex-vc71-mt-sgd-1_35_dir ./vc71/libboost_regex-vc71-mt-sgd-1_35.lib boost_regex-vc71-mt-gd-1_35_dir ./vc71/boost_regex-vc71-mt-gd-1_35.lib boost_regex-vc71-mt-1_35_dir ./vc71/boost_regex-vc71-mt-1_35.lib libboost_regex-vc71-mt-1_35_dir ./vc71/libboost_regex-vc71-mt-1_35.lib libboost_regex-vc71-mt-gd-1_35_dir ./vc71/libboost_regex-vc71-mt-gd-1_35.lib @@ -424,7 +424,7 @@ boost_regex-vc71-mt-gd-1_35_clean : del vc71\boost_regex-vc71-mt-gd-1_35\*.pch ./vc71/boost_regex-vc71-mt-gd-1_35.lib : vc71/boost_regex-vc71-mt-gd-1_35/c_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/cpp_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/cregex.obj vc71/boost_regex-vc71-mt-gd-1_35/fileiter.obj vc71/boost_regex-vc71-mt-gd-1_35/icu.obj vc71/boost_regex-vc71-mt-gd-1_35/instances.obj vc71/boost_regex-vc71-mt-gd-1_35/posix_api.obj vc71/boost_regex-vc71-mt-gd-1_35/regex.obj vc71/boost_regex-vc71-mt-gd-1_35/regex_debug.obj vc71/boost_regex-vc71-mt-gd-1_35/regex_raw_buffer.obj vc71/boost_regex-vc71-mt-gd-1_35/regex_traits_defaults.obj vc71/boost_regex-vc71-mt-gd-1_35/static_mutex.obj vc71/boost_regex-vc71-mt-gd-1_35/usinstances.obj vc71/boost_regex-vc71-mt-gd-1_35/w32_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/wc_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/wide_posix_api.obj vc71/boost_regex-vc71-mt-gd-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71/boost_regex-vc71-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc71/boost_regex-vc71-mt-gd-1_35.dll" /implib:"vc71/boost_regex-vc71-mt-gd-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc71/boost_regex-vc71-mt-gd-1_35/c_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/cpp_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/cregex.obj vc71/boost_regex-vc71-mt-gd-1_35/fileiter.obj vc71/boost_regex-vc71-mt-gd-1_35/icu.obj vc71/boost_regex-vc71-mt-gd-1_35/instances.obj vc71/boost_regex-vc71-mt-gd-1_35/posix_api.obj vc71/boost_regex-vc71-mt-gd-1_35/regex.obj vc71/boost_regex-vc71-mt-gd-1_35/regex_debug.obj vc71/boost_regex-vc71-mt-gd-1_35/regex_raw_buffer.obj vc71/boost_regex-vc71-mt-gd-1_35/regex_traits_defaults.obj vc71/boost_regex-vc71-mt-gd-1_35/static_mutex.obj vc71/boost_regex-vc71-mt-gd-1_35/usinstances.obj vc71/boost_regex-vc71-mt-gd-1_35/w32_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/wc_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/wide_posix_api.obj vc71/boost_regex-vc71-mt-gd-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc71/boost_regex-vc71-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc71/boost_regex-vc71-mt-gd-1_35.dll" /implib:"vc71/boost_regex-vc71-mt-gd-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc71/boost_regex-vc71-mt-gd-1_35/c_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/cpp_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/cregex.obj vc71/boost_regex-vc71-mt-gd-1_35/fileiter.obj vc71/boost_regex-vc71-mt-gd-1_35/icu.obj vc71/boost_regex-vc71-mt-gd-1_35/instances.obj vc71/boost_regex-vc71-mt-gd-1_35/posix_api.obj vc71/boost_regex-vc71-mt-gd-1_35/regex.obj vc71/boost_regex-vc71-mt-gd-1_35/regex_debug.obj vc71/boost_regex-vc71-mt-gd-1_35/regex_raw_buffer.obj vc71/boost_regex-vc71-mt-gd-1_35/regex_traits_defaults.obj vc71/boost_regex-vc71-mt-gd-1_35/static_mutex.obj vc71/boost_regex-vc71-mt-gd-1_35/usinstances.obj vc71/boost_regex-vc71-mt-gd-1_35/w32_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/wc_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/wide_posix_api.obj vc71/boost_regex-vc71-mt-gd-1_35/winstances.obj ######################################################## # @@ -492,7 +492,7 @@ boost_regex-vc71-mt-1_35_clean : del vc71\boost_regex-vc71-mt-1_35\*.pch ./vc71/boost_regex-vc71-mt-1_35.lib : vc71/boost_regex-vc71-mt-1_35/c_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/cpp_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/cregex.obj vc71/boost_regex-vc71-mt-1_35/fileiter.obj vc71/boost_regex-vc71-mt-1_35/icu.obj vc71/boost_regex-vc71-mt-1_35/instances.obj vc71/boost_regex-vc71-mt-1_35/posix_api.obj vc71/boost_regex-vc71-mt-1_35/regex.obj vc71/boost_regex-vc71-mt-1_35/regex_debug.obj vc71/boost_regex-vc71-mt-1_35/regex_raw_buffer.obj vc71/boost_regex-vc71-mt-1_35/regex_traits_defaults.obj vc71/boost_regex-vc71-mt-1_35/static_mutex.obj vc71/boost_regex-vc71-mt-1_35/usinstances.obj vc71/boost_regex-vc71-mt-1_35/w32_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/wc_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/wide_posix_api.obj vc71/boost_regex-vc71-mt-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71/boost_regex-vc71-mt-1_35.pdb" /debug /machine:I386 /out:"vc71/boost_regex-vc71-mt-1_35.dll" /implib:"vc71/boost_regex-vc71-mt-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc71/boost_regex-vc71-mt-1_35/c_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/cpp_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/cregex.obj vc71/boost_regex-vc71-mt-1_35/fileiter.obj vc71/boost_regex-vc71-mt-1_35/icu.obj vc71/boost_regex-vc71-mt-1_35/instances.obj vc71/boost_regex-vc71-mt-1_35/posix_api.obj vc71/boost_regex-vc71-mt-1_35/regex.obj vc71/boost_regex-vc71-mt-1_35/regex_debug.obj vc71/boost_regex-vc71-mt-1_35/regex_raw_buffer.obj vc71/boost_regex-vc71-mt-1_35/regex_traits_defaults.obj vc71/boost_regex-vc71-mt-1_35/static_mutex.obj vc71/boost_regex-vc71-mt-1_35/usinstances.obj vc71/boost_regex-vc71-mt-1_35/w32_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/wc_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/wide_posix_api.obj vc71/boost_regex-vc71-mt-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc71/boost_regex-vc71-mt-1_35.pdb" /debug /machine:I386 /out:"vc71/boost_regex-vc71-mt-1_35.dll" /implib:"vc71/boost_regex-vc71-mt-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc71/boost_regex-vc71-mt-1_35/c_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/cpp_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/cregex.obj vc71/boost_regex-vc71-mt-1_35/fileiter.obj vc71/boost_regex-vc71-mt-1_35/icu.obj vc71/boost_regex-vc71-mt-1_35/instances.obj vc71/boost_regex-vc71-mt-1_35/posix_api.obj vc71/boost_regex-vc71-mt-1_35/regex.obj vc71/boost_regex-vc71-mt-1_35/regex_debug.obj vc71/boost_regex-vc71-mt-1_35/regex_raw_buffer.obj vc71/boost_regex-vc71-mt-1_35/regex_traits_defaults.obj vc71/boost_regex-vc71-mt-1_35/static_mutex.obj vc71/boost_regex-vc71-mt-1_35/usinstances.obj vc71/boost_regex-vc71-mt-1_35/w32_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/wc_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/wide_posix_api.obj vc71/boost_regex-vc71-mt-1_35/winstances.obj ######################################################## # diff --git a/build/vc8.mak b/build/vc8.mak index ee1fec36..4cb1e2e0 100644 --- a/build/vc8.mak +++ b/build/vc8.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc80-mt-s-1_35_dir ./vc80/libboost_regex-vc80-mt-s-1_35.lib libboost_regex-vc80-mt-sgd-1_35_dir ./vc80/libboost_regex-vc80-mt-sgd-1_35.lib boost_regex-vc80-mt-gd-1_35_dir ./vc80/boost_regex-vc80-mt-gd-1_35.lib boost_regex-vc80-mt-1_35_dir ./vc80/boost_regex-vc80-mt-1_35.lib libboost_regex-vc80-mt-1_35_dir ./vc80/libboost_regex-vc80-mt-1_35.lib libboost_regex-vc80-mt-gd-1_35_dir ./vc80/libboost_regex-vc80-mt-gd-1_35.lib @@ -283,7 +283,7 @@ boost_regex-vc80-mt-gd-1_35_clean : del vc80\boost_regex-vc80-mt-gd-1_35\*.pch ./vc80/boost_regex-vc80-mt-gd-1_35.lib : vc80/boost_regex-vc80-mt-gd-1_35/c_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/cpp_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/cregex.obj vc80/boost_regex-vc80-mt-gd-1_35/fileiter.obj vc80/boost_regex-vc80-mt-gd-1_35/icu.obj vc80/boost_regex-vc80-mt-gd-1_35/instances.obj vc80/boost_regex-vc80-mt-gd-1_35/posix_api.obj vc80/boost_regex-vc80-mt-gd-1_35/regex.obj vc80/boost_regex-vc80-mt-gd-1_35/regex_debug.obj vc80/boost_regex-vc80-mt-gd-1_35/regex_raw_buffer.obj vc80/boost_regex-vc80-mt-gd-1_35/regex_traits_defaults.obj vc80/boost_regex-vc80-mt-gd-1_35/static_mutex.obj vc80/boost_regex-vc80-mt-gd-1_35/usinstances.obj vc80/boost_regex-vc80-mt-gd-1_35/w32_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/wc_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/wide_posix_api.obj vc80/boost_regex-vc80-mt-gd-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc80/boost_regex-vc80-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc80/boost_regex-vc80-mt-gd-1_35.dll" /implib:"vc80/boost_regex-vc80-mt-gd-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc80/boost_regex-vc80-mt-gd-1_35/c_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/cpp_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/cregex.obj vc80/boost_regex-vc80-mt-gd-1_35/fileiter.obj vc80/boost_regex-vc80-mt-gd-1_35/icu.obj vc80/boost_regex-vc80-mt-gd-1_35/instances.obj vc80/boost_regex-vc80-mt-gd-1_35/posix_api.obj vc80/boost_regex-vc80-mt-gd-1_35/regex.obj vc80/boost_regex-vc80-mt-gd-1_35/regex_debug.obj vc80/boost_regex-vc80-mt-gd-1_35/regex_raw_buffer.obj vc80/boost_regex-vc80-mt-gd-1_35/regex_traits_defaults.obj vc80/boost_regex-vc80-mt-gd-1_35/static_mutex.obj vc80/boost_regex-vc80-mt-gd-1_35/usinstances.obj vc80/boost_regex-vc80-mt-gd-1_35/w32_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/wc_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/wide_posix_api.obj vc80/boost_regex-vc80-mt-gd-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc80/boost_regex-vc80-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc80/boost_regex-vc80-mt-gd-1_35.dll" /implib:"vc80/boost_regex-vc80-mt-gd-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc80/boost_regex-vc80-mt-gd-1_35/c_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/cpp_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/cregex.obj vc80/boost_regex-vc80-mt-gd-1_35/fileiter.obj vc80/boost_regex-vc80-mt-gd-1_35/icu.obj vc80/boost_regex-vc80-mt-gd-1_35/instances.obj vc80/boost_regex-vc80-mt-gd-1_35/posix_api.obj vc80/boost_regex-vc80-mt-gd-1_35/regex.obj vc80/boost_regex-vc80-mt-gd-1_35/regex_debug.obj vc80/boost_regex-vc80-mt-gd-1_35/regex_raw_buffer.obj vc80/boost_regex-vc80-mt-gd-1_35/regex_traits_defaults.obj vc80/boost_regex-vc80-mt-gd-1_35/static_mutex.obj vc80/boost_regex-vc80-mt-gd-1_35/usinstances.obj vc80/boost_regex-vc80-mt-gd-1_35/w32_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/wc_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/wide_posix_api.obj vc80/boost_regex-vc80-mt-gd-1_35/winstances.obj ######################################################## # @@ -351,7 +351,7 @@ boost_regex-vc80-mt-1_35_clean : del vc80\boost_regex-vc80-mt-1_35\*.pch ./vc80/boost_regex-vc80-mt-1_35.lib : vc80/boost_regex-vc80-mt-1_35/c_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/cpp_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/cregex.obj vc80/boost_regex-vc80-mt-1_35/fileiter.obj vc80/boost_regex-vc80-mt-1_35/icu.obj vc80/boost_regex-vc80-mt-1_35/instances.obj vc80/boost_regex-vc80-mt-1_35/posix_api.obj vc80/boost_regex-vc80-mt-1_35/regex.obj vc80/boost_regex-vc80-mt-1_35/regex_debug.obj vc80/boost_regex-vc80-mt-1_35/regex_raw_buffer.obj vc80/boost_regex-vc80-mt-1_35/regex_traits_defaults.obj vc80/boost_regex-vc80-mt-1_35/static_mutex.obj vc80/boost_regex-vc80-mt-1_35/usinstances.obj vc80/boost_regex-vc80-mt-1_35/w32_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/wc_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/wide_posix_api.obj vc80/boost_regex-vc80-mt-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc80/boost_regex-vc80-mt-1_35.pdb" /debug /machine:I386 /out:"vc80/boost_regex-vc80-mt-1_35.dll" /implib:"vc80/boost_regex-vc80-mt-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc80/boost_regex-vc80-mt-1_35/c_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/cpp_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/cregex.obj vc80/boost_regex-vc80-mt-1_35/fileiter.obj vc80/boost_regex-vc80-mt-1_35/icu.obj vc80/boost_regex-vc80-mt-1_35/instances.obj vc80/boost_regex-vc80-mt-1_35/posix_api.obj vc80/boost_regex-vc80-mt-1_35/regex.obj vc80/boost_regex-vc80-mt-1_35/regex_debug.obj vc80/boost_regex-vc80-mt-1_35/regex_raw_buffer.obj vc80/boost_regex-vc80-mt-1_35/regex_traits_defaults.obj vc80/boost_regex-vc80-mt-1_35/static_mutex.obj vc80/boost_regex-vc80-mt-1_35/usinstances.obj vc80/boost_regex-vc80-mt-1_35/w32_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/wc_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/wide_posix_api.obj vc80/boost_regex-vc80-mt-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc80/boost_regex-vc80-mt-1_35.pdb" /debug /machine:I386 /out:"vc80/boost_regex-vc80-mt-1_35.dll" /implib:"vc80/boost_regex-vc80-mt-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc80/boost_regex-vc80-mt-1_35/c_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/cpp_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/cregex.obj vc80/boost_regex-vc80-mt-1_35/fileiter.obj vc80/boost_regex-vc80-mt-1_35/icu.obj vc80/boost_regex-vc80-mt-1_35/instances.obj vc80/boost_regex-vc80-mt-1_35/posix_api.obj vc80/boost_regex-vc80-mt-1_35/regex.obj vc80/boost_regex-vc80-mt-1_35/regex_debug.obj vc80/boost_regex-vc80-mt-1_35/regex_raw_buffer.obj vc80/boost_regex-vc80-mt-1_35/regex_traits_defaults.obj vc80/boost_regex-vc80-mt-1_35/static_mutex.obj vc80/boost_regex-vc80-mt-1_35/usinstances.obj vc80/boost_regex-vc80-mt-1_35/w32_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/wc_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/wide_posix_api.obj vc80/boost_regex-vc80-mt-1_35/winstances.obj ######################################################## # diff --git a/build/vc_gen.sh b/build/vc_gen.sh index 6ef5d0f6..2b3cb28a 100644 --- a/build/vc_gen.sh +++ b/build/vc_gen.sh @@ -121,7 +121,7 @@ EOF # # now for the main target for this library: echo ./$subdir$stlport_suffix/$libname.lib : $all_obj >> $tout - echo " link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:\"$subdir$stlport_suffix/$libname.pdb\" /debug /machine:I386 /out:\"$subdir$stlport_suffix/$libname.dll\" /implib:\"$subdir$stlport_suffix/$libname.lib\" /LIBPATH:\"\$(STLPORT_PATH)\\lib\" \$(XLFLAGS) \$(ICU_LINK_OPTS) $all_obj" >> $tout + echo " link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:\"$subdir$stlport_suffix/$libname.pdb\" /debug /machine:I386 /out:\"$subdir$stlport_suffix/$libname.dll\" /implib:\"$subdir$stlport_suffix/$libname.lib\" /LIBPATH:\"\$(STLPORT_PATH)\\lib\" \$(XLFLAGS) \$(ICU_LINK_OPTS) $all_obj" >> $tout echo "" >> $tout } @@ -489,3 +489,4 @@ rm -f $tout $iout + From 22d32e97c967d8df3d3c94a323c2bda6bba092dd Mon Sep 17 00:00:00 2001 From: John Maddock Date: Wed, 24 Oct 2007 17:57:45 +0000 Subject: [PATCH 13/62] Removed files that are no longer used and regenerated the Makefiles so they are no longer dependent on the removed files. Hidden some seldom-used dependencies in static_mutex.hpp to reduce library footprint when extracted with bcp. [SVN r40427] --- build/bcb6.mak | 2 +- build/gcc-shared.mak | 2 +- build/gcc.mak | 2 +- build/generic.mak | 2 +- build/sunpro.mak | 2 +- build/vc6-stlport.mak | 2 +- build/vc6.mak | 2 +- build/vc7-stlport.mak | 2 +- build/vc7.mak | 2 +- build/vc71-stlport.mak | 2 +- build/vc71.mak | 2 +- build/vc8.mak | 2 +- include/boost/regex/pending/static_mutex.hpp | 11 +- include/boost/regex/v4/regex_cstring.hpp | 123 ---------- include/boost/regex/v4/regex_kmp.hpp | 108 --------- include/boost/regex/v4/regex_stack.hpp | 225 ------------------- 16 files changed, 21 insertions(+), 470 deletions(-) delete mode 100644 include/boost/regex/v4/regex_cstring.hpp delete mode 100644 include/boost/regex/v4/regex_kmp.hpp delete mode 100644 include/boost/regex/v4/regex_stack.hpp diff --git a/build/bcb6.mak b/build/bcb6.mak index f779b28d..12526451 100644 --- a/build/bcb6.mak +++ b/build/bcb6.mak @@ -39,7 +39,7 @@ BCROOT=$(MAKEDIR)\.. !endif -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : bcb bcb\libboost_regex-bcb-s-1_35 bcb\libboost_regex-bcb-s-1_35.lib bcb\libboost_regex-bcb-mt-s-1_35 bcb\libboost_regex-bcb-mt-s-1_35.lib bcb\boost_regex-bcb-mt-1_35 bcb\boost_regex-bcb-mt-1_35.lib bcb\boost_regex-bcb-1_35 bcb\boost_regex-bcb-1_35.lib bcb\libboost_regex-bcb-mt-1_35 bcb\libboost_regex-bcb-mt-1_35.lib bcb\libboost_regex-bcb-1_35 bcb\libboost_regex-bcb-1_35.lib bcb\libboost_regex-bcb-sd-1_35 bcb\libboost_regex-bcb-sd-1_35.lib bcb\libboost_regex-bcb-mt-sd-1_35 bcb\libboost_regex-bcb-mt-sd-1_35.lib bcb\boost_regex-bcb-mt-d-1_35 bcb\boost_regex-bcb-mt-d-1_35.lib bcb\boost_regex-bcb-d-1_35 bcb\boost_regex-bcb-d-1_35.lib bcb\libboost_regex-bcb-mt-d-1_35 bcb\libboost_regex-bcb-mt-d-1_35.lib bcb\libboost_regex-bcb-d-1_35 bcb\libboost_regex-bcb-d-1_35.lib diff --git a/build/gcc-shared.mak b/build/gcc-shared.mak index 50dfebdb..e5701d05 100644 --- a/build/gcc-shared.mak +++ b/build/gcc-shared.mak @@ -41,7 +41,7 @@ $(warning "Building Boost.Regex with ICU in $(ICU_PATH)") endif -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : gcc gcc gcc/boost_regex-gcc-1_35_shared ./gcc/libboost_regex-gcc-1_35.so gcc gcc/boost_regex-gcc-d-1_35_shared ./gcc/libboost_regex-gcc-d-1_35.so diff --git a/build/gcc.mak b/build/gcc.mak index 140941da..acbf417e 100644 --- a/build/gcc.mak +++ b/build/gcc.mak @@ -45,7 +45,7 @@ $(warning "Building Boost.Regex with ICU in $(ICU_PATH)") endif -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : gcc gcc gcc/boost_regex-gcc-1_35 ./gcc/libboost_regex-gcc-1_35.a gcc gcc/boost_regex-gcc-d-1_35 ./gcc/libboost_regex-gcc-d-1_35.a diff --git a/build/generic.mak b/build/generic.mak index 37e4d15f..4ef093cc 100644 --- a/build/generic.mak +++ b/build/generic.mak @@ -30,7 +30,7 @@ C1=-c -O2 -I../../../ -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : $(DIRNAME) $(DIRNAME) $(DIRNAME)/boost_regex ./$(DIRNAME)/libboost_regex.so diff --git a/build/sunpro.mak b/build/sunpro.mak index 9e921045..2fd0232d 100644 --- a/build/sunpro.mak +++ b/build/sunpro.mak @@ -38,7 +38,7 @@ SUNWS_CACHE_NAME=SunWS_cache -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : sunpro sunpro/libboost_regex$(LIBSUFFIX) sunpro/libboost_regex$(LIBSUFFIX).a sunpro/libboost_regex_mt$(LIBSUFFIX) sunpro/libboost_regex_mt$(LIBSUFFIX).a sunpro/shared_libboost_regex$(LIBSUFFIX) sunpro/libboost_regex$(LIBSUFFIX).so sunpro/shared_libboost_regex_mt$(LIBSUFFIX) sunpro/libboost_regex_mt$(LIBSUFFIX).so diff --git a/build/vc6-stlport.mak b/build/vc6-stlport.mak index a0e3cf21..7c37ac58 100644 --- a/build/vc6-stlport.mak +++ b/build/vc6-stlport.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc6-mt-sp-1_35_dir ./vc6-stlport/libboost_regex-vc6-mt-sp-1_35.lib boost_regex-vc6-mt-p-1_35_dir ./vc6-stlport/boost_regex-vc6-mt-p-1_35.lib libboost_regex-vc6-mt-p-1_35_dir ./vc6-stlport/libboost_regex-vc6-mt-p-1_35.lib boost_regex-vc6-mt-gdp-1_35_dir ./vc6-stlport/boost_regex-vc6-mt-gdp-1_35.lib libboost_regex-vc6-mt-sgdp-1_35_dir ./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_35.lib libboost_regex-vc6-mt-gdp-1_35_dir ./vc6-stlport/libboost_regex-vc6-mt-gdp-1_35.lib diff --git a/build/vc6.mak b/build/vc6.mak index 602368d0..398f99e5 100644 --- a/build/vc6.mak +++ b/build/vc6.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc6-s-1_35_dir ./vc6/libboost_regex-vc6-s-1_35.lib libboost_regex-vc6-mt-s-1_35_dir ./vc6/libboost_regex-vc6-mt-s-1_35.lib libboost_regex-vc6-sgd-1_35_dir ./vc6/libboost_regex-vc6-sgd-1_35.lib libboost_regex-vc6-mt-sgd-1_35_dir ./vc6/libboost_regex-vc6-mt-sgd-1_35.lib boost_regex-vc6-mt-gd-1_35_dir ./vc6/boost_regex-vc6-mt-gd-1_35.lib boost_regex-vc6-mt-1_35_dir ./vc6/boost_regex-vc6-mt-1_35.lib libboost_regex-vc6-mt-1_35_dir ./vc6/libboost_regex-vc6-mt-1_35.lib libboost_regex-vc6-mt-gd-1_35_dir ./vc6/libboost_regex-vc6-mt-gd-1_35.lib diff --git a/build/vc7-stlport.mak b/build/vc7-stlport.mak index f457ce7d..967b9a7c 100644 --- a/build/vc7-stlport.mak +++ b/build/vc7-stlport.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc7-mt-sp-1_35_dir ./vc7-stlport/libboost_regex-vc7-mt-sp-1_35.lib boost_regex-vc7-mt-p-1_35_dir ./vc7-stlport/boost_regex-vc7-mt-p-1_35.lib libboost_regex-vc7-mt-p-1_35_dir ./vc7-stlport/libboost_regex-vc7-mt-p-1_35.lib boost_regex-vc7-mt-gdp-1_35_dir ./vc7-stlport/boost_regex-vc7-mt-gdp-1_35.lib libboost_regex-vc7-mt-sgdp-1_35_dir ./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_35.lib libboost_regex-vc7-mt-gdp-1_35_dir ./vc7-stlport/libboost_regex-vc7-mt-gdp-1_35.lib diff --git a/build/vc7.mak b/build/vc7.mak index dc0a523b..a5e9984c 100644 --- a/build/vc7.mak +++ b/build/vc7.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc7-s-1_35_dir ./vc7/libboost_regex-vc7-s-1_35.lib libboost_regex-vc7-mt-s-1_35_dir ./vc7/libboost_regex-vc7-mt-s-1_35.lib libboost_regex-vc7-sgd-1_35_dir ./vc7/libboost_regex-vc7-sgd-1_35.lib libboost_regex-vc7-mt-sgd-1_35_dir ./vc7/libboost_regex-vc7-mt-sgd-1_35.lib boost_regex-vc7-mt-gd-1_35_dir ./vc7/boost_regex-vc7-mt-gd-1_35.lib boost_regex-vc7-mt-1_35_dir ./vc7/boost_regex-vc7-mt-1_35.lib libboost_regex-vc7-mt-1_35_dir ./vc7/libboost_regex-vc7-mt-1_35.lib libboost_regex-vc7-mt-gd-1_35_dir ./vc7/libboost_regex-vc7-mt-gd-1_35.lib diff --git a/build/vc71-stlport.mak b/build/vc71-stlport.mak index b709f11a..264b449c 100644 --- a/build/vc71-stlport.mak +++ b/build/vc71-stlport.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc71-mt-sp-1_35_dir ./vc71-stlport/libboost_regex-vc71-mt-sp-1_35.lib boost_regex-vc71-mt-p-1_35_dir ./vc71-stlport/boost_regex-vc71-mt-p-1_35.lib libboost_regex-vc71-mt-p-1_35_dir ./vc71-stlport/libboost_regex-vc71-mt-p-1_35.lib boost_regex-vc71-mt-gdp-1_35_dir ./vc71-stlport/boost_regex-vc71-mt-gdp-1_35.lib libboost_regex-vc71-mt-sgdp-1_35_dir ./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_35.lib libboost_regex-vc71-mt-gdp-1_35_dir ./vc71-stlport/libboost_regex-vc71-mt-gdp-1_35.lib diff --git a/build/vc71.mak b/build/vc71.mak index 742b00ff..1956d4a3 100644 --- a/build/vc71.mak +++ b/build/vc71.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc71-s-1_35_dir ./vc71/libboost_regex-vc71-s-1_35.lib libboost_regex-vc71-mt-s-1_35_dir ./vc71/libboost_regex-vc71-mt-s-1_35.lib libboost_regex-vc71-sgd-1_35_dir ./vc71/libboost_regex-vc71-sgd-1_35.lib libboost_regex-vc71-mt-sgd-1_35_dir ./vc71/libboost_regex-vc71-mt-sgd-1_35.lib boost_regex-vc71-mt-gd-1_35_dir ./vc71/boost_regex-vc71-mt-gd-1_35.lib boost_regex-vc71-mt-1_35_dir ./vc71/boost_regex-vc71-mt-1_35.lib libboost_regex-vc71-mt-1_35_dir ./vc71/libboost_regex-vc71-mt-1_35.lib libboost_regex-vc71-mt-gd-1_35_dir ./vc71/libboost_regex-vc71-mt-gd-1_35.lib diff --git a/build/vc8.mak b/build/vc8.mak index 4cb1e2e0..e14e2073 100644 --- a/build/vc8.mak +++ b/build/vc8.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc80-mt-s-1_35_dir ./vc80/libboost_regex-vc80-mt-s-1_35.lib libboost_regex-vc80-mt-sgd-1_35_dir ./vc80/libboost_regex-vc80-mt-sgd-1_35.lib boost_regex-vc80-mt-gd-1_35_dir ./vc80/boost_regex-vc80-mt-gd-1_35.lib boost_regex-vc80-mt-1_35_dir ./vc80/boost_regex-vc80-mt-1_35.lib libboost_regex-vc80-mt-1_35_dir ./vc80/libboost_regex-vc80-mt-1_35.lib libboost_regex-vc80-mt-gd-1_35_dir ./vc80/libboost_regex-vc80-mt-gd-1_35.lib diff --git a/include/boost/regex/pending/static_mutex.hpp b/include/boost/regex/pending/static_mutex.hpp index 8dbf48e7..218169c3 100644 --- a/include/boost/regex/pending/static_mutex.hpp +++ b/include/boost/regex/pending/static_mutex.hpp @@ -127,8 +127,15 @@ inline bool scoped_static_mutex_lock::locked()const // down to the initialisation proceedure. In fact the initialisation routine // may need to be called more than once - but only once per instance. // -#include -#include +// Since this preprocessor path is almost never taken, we hide these header +// dependencies so that build tools don't find them. +// +#define B1 +#define B2 +#include B1 +#include B2 +#undef B1 +#undef B2 namespace boost{ diff --git a/include/boost/regex/v4/regex_cstring.hpp b/include/boost/regex/v4/regex_cstring.hpp deleted file mode 100644 index 589380d6..00000000 --- a/include/boost/regex/v4/regex_cstring.hpp +++ /dev/null @@ -1,123 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to 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) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_cstring.hpp - * VERSION see - * DESCRIPTION: This is an internal header file, do not include directly. - * String support and helper functions, for regular - * expression library. - */ - -#ifndef BOOST_REGEX_CSTRING_HPP -#define BOOST_REGEX_CSTRING_HPP - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif - -#include - -namespace boost{ - namespace re_detail{ - -// -// start by defining some template function aliases for C API functions: -// - -template -std::size_t BOOST_REGEX_CALL re_strlen(const charT *s) -{ - std::size_t len = 0; - while(*s) - { - ++s; - ++len; - } - return len; -} - -inline std::size_t BOOST_REGEX_CALL re_strlen(const char *s) -{ - return std::strlen(s); -} - -#ifndef BOOST_NO_WREGEX - -inline std::size_t BOOST_REGEX_CALL re_strlen(const wchar_t *s) -{ - return std::wcslen(s); -} - -#endif - -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL void BOOST_REGEX_CALL re_transform(std::basic_string& out, const std::basic_string& in); -#endif -BOOST_REGEX_DECL void BOOST_REGEX_CALL re_transform(std::string& out, const std::string& in); - -template -void BOOST_REGEX_CALL re_trunc_primary(std::basic_string& s) -{ - for(unsigned int i = 0; i < s.size(); ++i) - { - if(s[i] <= 1) - { - s.erase(i); - break; - } - } -} - -inline char* BOOST_REGEX_CALL re_strcpy(char *s1, const char *s2) -{ - #if defined(__BORLANDC__) && defined(strcpy) - return ::strcpy(s1, s2); - #else - return std::strcpy(s1, s2); - #endif -} - -#ifndef BOOST_NO_WREGEX - -inline wchar_t* BOOST_REGEX_CALL re_strcpy(wchar_t *s1, const wchar_t *s2) -{ - return std::wcscpy(s1, s2); -} - -#endif - - -template -charT* BOOST_REGEX_CALL re_strdup(const charT* p) -{ - charT* buf = new charT[re_strlen(p) + 1]; - re_strcpy(buf, p); - return buf; -} - -template -inline void BOOST_REGEX_CALL re_strfree(charT* p) -{ - delete[] p; -} - -} // namespace re_detail -} // namespace boost - -#endif // BOOST_REGEX_CSTRING_HPP - - - - - - diff --git a/include/boost/regex/v4/regex_kmp.hpp b/include/boost/regex/v4/regex_kmp.hpp deleted file mode 100644 index 3607ef71..00000000 --- a/include/boost/regex/v4/regex_kmp.hpp +++ /dev/null @@ -1,108 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to 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) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_kmp.hpp - * VERSION see - * DESCRIPTION: Provides Knuth Morris Pratt search operations. - * Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -#ifndef BOOST_REGEX_KMP_HPP -#define BOOST_REGEX_KMP_HPP - -#ifdef BOOST_REGEX_CONFIG_HPP -#include -#endif - - -namespace boost{ - namespace re_detail{ - -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif - -template -struct kmp_info -{ - unsigned int size; - unsigned int len; - const charT* pstr; - int kmp_next[1]; -}; - -template -void kmp_free(kmp_info* pinfo, const Allocator& a) -{ - typedef typename boost::detail::rebind_allocator::type atype; - atype(a).deallocate(reinterpret_cast(pinfo), pinfo->size); -} - -template -kmp_info* kmp_compile(iterator first, iterator last, charT, Trans translate, const Allocator& a) -{ - typedef typename boost::detail::rebind_allocator::type atype; - int i, j, m; - i = 0; - m = static_cast(::boost::re_detail::distance(first, last)); - ++m; - unsigned int size = sizeof(kmp_info) + sizeof(int)*m + sizeof(charT)*m; - --m; - // - // allocate struct and fill it in: - // - kmp_info* pinfo = reinterpret_cast*>(atype(a).allocate(size)); - BOOST_REGEX_NOEH_ASSERT(pinfo) - pinfo->size = size; - pinfo->len = m; - charT* p = reinterpret_cast(reinterpret_cast(pinfo) + sizeof(kmp_info) + sizeof(int)*(m+1)); - pinfo->pstr = p; - while(first != last) - { - *p = translate(*first); - ++first; - ++p; - } - *p = 0; - // - // finally do regular kmp compile: - // - j = pinfo->kmp_next[0] = -1; - while (i < m) - { - while ((j > -1) && (pinfo->pstr[i] != pinfo->pstr[j])) - j = pinfo->kmp_next[j]; - ++i; - ++j; - if (pinfo->pstr[i] == pinfo->pstr[j]) - pinfo->kmp_next[i] = pinfo->kmp_next[j]; - else - pinfo->kmp_next[i] = j; - } - - return pinfo; -} - -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif - - } // namepsace re_detail -} // namespace boost - -#endif // BOOST_REGEX_KMP_HPP - - - - diff --git a/include/boost/regex/v4/regex_stack.hpp b/include/boost/regex/v4/regex_stack.hpp deleted file mode 100644 index 453df203..00000000 --- a/include/boost/regex/v4/regex_stack.hpp +++ /dev/null @@ -1,225 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * John Maddock - * - * Use, modification and distribution are subject to 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) - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_stack.hpp - * VERSION see - * DESCRIPTION: Implements customised internal regex stacks. - * Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -#ifndef BOOST_REGEX_STACK_HPP -#define BOOST_REGEX_STACK_HPP - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif -#ifndef BOOST_REGEX_RAW_BUFFER_HPP -#include -#endif - -namespace boost{ - namespace re_detail{ - -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif - -// -// class jstack -// simplified stack optimised for push/peek/pop -// operations, we could use std::stack> instead... -// -template -class jstack -{ -public: - typedef typename boost::detail::rebind_allocator::type allocator_type; -private: - typedef typename boost::detail::rebind_allocator::type T_alloc_type; - typedef typename T_alloc_type::size_type size_type; - typedef T value_type; - struct node - { - node* next; - T* start; // first item - T* end; // last item - T* last; // end of storage - }; - - // - // empty base member optimisation: - struct data : public allocator_type - { - padding buf[(sizeof(T) * 16 + sizeof(padding) - 1) / sizeof(padding)]; - data(const Allocator& a) : allocator_type(a){} - }; - - data alloc_inst; - mutable node* m_stack; - mutable node* unused; - node base; - size_type block_size; - - void BOOST_REGEX_CALL pop_aux()const; - void BOOST_REGEX_CALL push_aux(); - -public: - jstack(size_type n = 64, const Allocator& a = Allocator()); - - ~jstack(); - - node* BOOST_REGEX_CALL get_node() - { - node* new_stack = reinterpret_cast(alloc_inst.allocate(sizeof(node) + sizeof(T) * block_size)); - BOOST_REGEX_NOEH_ASSERT(new_stack) - new_stack->last = reinterpret_cast(new_stack+1); - new_stack->start = new_stack->end = new_stack->last + block_size; - new_stack->next = 0; - return new_stack; - } - - bool BOOST_REGEX_CALL empty() - { - return (m_stack->start == m_stack->end) && (m_stack->next == 0); - } - - bool BOOST_REGEX_CALL good() - { - return (m_stack->start != m_stack->end) || (m_stack->next != 0); - } - - T& BOOST_REGEX_CALL peek() - { - if(m_stack->start == m_stack->end) - pop_aux(); - return *m_stack->end; - } - - const T& BOOST_REGEX_CALL peek()const - { - if(m_stack->start == m_stack->end) - pop_aux(); - return *m_stack->end; - } - - void BOOST_REGEX_CALL pop() - { - if(m_stack->start == m_stack->end) - pop_aux(); - ::boost::re_detail::pointer_destroy(m_stack->end); - ++(m_stack->end); - } - - void BOOST_REGEX_CALL pop(T& t) - { - if(m_stack->start == m_stack->end) - pop_aux(); - t = *m_stack->end; - ::boost::re_detail::pointer_destroy(m_stack->end); - ++(m_stack->end); - } - - void BOOST_REGEX_CALL push(const T& t) - { - if(m_stack->end == m_stack->last) - push_aux(); - --(m_stack->end); - pointer_construct(m_stack->end, t); - } - -}; - -template -jstack::jstack(size_type n, const Allocator& a) - : alloc_inst(a) -{ - unused = 0; - block_size = n; - m_stack = &base; - base.last = reinterpret_cast(alloc_inst.buf); - base.end = base.start = base.last + 16; - base.next = 0; -} - -template -void BOOST_REGEX_CALL jstack::push_aux() -{ - // make sure we have spare space on TOS: - register node* new_node; - if(unused) - { - new_node = unused; - unused = new_node->next; - new_node->next = m_stack; - m_stack = new_node; - } - else - { - new_node = get_node(); - new_node->next = m_stack; - m_stack = new_node; - } -} - -template -void BOOST_REGEX_CALL jstack::pop_aux()const -{ - // make sure that we have a valid item - // on TOS: - BOOST_ASSERT(m_stack->next); - register node* p = m_stack; - m_stack = p->next; - p->next = unused; - unused = p; -} - -template -jstack::~jstack() -{ - node* condemned; - while(good()) - pop(); - while(unused) - { - condemned = unused; - unused = unused->next; - alloc_inst.deallocate(reinterpret_cast(condemned), sizeof(node) + sizeof(T) * block_size); - } - while(m_stack != &base) - { - condemned = m_stack; - m_stack = m_stack->next; - alloc_inst.deallocate(reinterpret_cast(condemned), sizeof(node) + sizeof(T) * block_size); - } -} - -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif - -} // namespace re_detail -} // namespace boost - -#endif - - - - - - - - - - - From 005a1b36dff97e6435d633af1281e28fee11fe4e Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Fri, 26 Oct 2007 09:04:25 +0000 Subject: [PATCH 14/62] Make sure every library can be installed by using bjam stage|install in libs//build. [SVN r40475] --- build/Jamfile.v2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index 13d6a568..47f3de94 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -246,7 +246,7 @@ lib boost_regex : ../src/$(SOURCES) $(ICU_EXTRA_SOURCE) alias icu_options : $(ICU_EXTRA_SOURCE) : : : $(BOOST_REGEX_ICU_OPTS) ; - +boost-install boost_regex ; From e84b7e25e1d6d8bb29c00cf95a646216e069deff Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 1 Nov 2007 17:16:41 +0000 Subject: [PATCH 15/62] Fix for http://svn.boost.org/trac/boost/ticket/1381. [SVN r40649] --- include/boost/regex/v4/regex_token_iterator.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/regex/v4/regex_token_iterator.hpp b/include/boost/regex/v4/regex_token_iterator.hpp index 3d99d148..4e8bc36f 100644 --- a/include/boost/regex/v4/regex_token_iterator.hpp +++ b/include/boost/regex/v4/regex_token_iterator.hpp @@ -319,7 +319,7 @@ inline regex_token_iterator::const_ite return regex_token_iterator::const_iterator, charT, traits>(p.begin(), p.end(), e, submatch, m); } -#if BOOST_WORKAROUND(BOOST_MSVC, == 1310) +#if BOOST_WORKAROUND(BOOST_MSVC, > 1300) # pragma warning(pop) #endif #ifdef BOOST_MSVC From 39eb48c805105905488e18d96ddc3989537da61c Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 1 Nov 2007 18:02:37 +0000 Subject: [PATCH 16/62] Ticket #583. [SVN r40652] --- include/boost/regex/v4/basic_regex.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/regex/v4/basic_regex.hpp b/include/boost/regex/v4/basic_regex.hpp index 71a20f4d..2a8c0c6c 100644 --- a/include/boost/regex/v4/basic_regex.hpp +++ b/include/boost/regex/v4/basic_regex.hpp @@ -261,7 +261,7 @@ public: { return do_assign(p1, p2, f); } -#if !defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(__IBMCPP__) +#if !defined(BOOST_NO_MEMBER_TEMPLATES) template unsigned int BOOST_REGEX_CALL set_expression(const std::basic_string& p, flag_type f = regex_constants::normal) @@ -597,7 +597,7 @@ public: return this->assign(that); } -#if !defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(__IBMCPP__) +#if !defined(BOOST_NO_MEMBER_TEMPLATES) template explicit reg_expression(const std::basic_string& p, flag_type f = regex_constants::normal) : basic_regex(p, f) From 15f764a95a3ea04d3d7b1df1f7efb431915f513f Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Wed, 7 Nov 2007 03:23:31 +0000 Subject: [PATCH 17/62] added license info in copyright notice at the footer [SVN r40867] --- .../boost_regex/background_information.html | 15 +- .../acknowledgements.html | 20 +- .../background_information/examples.html | 54 +- .../background_information/faq.html | 67 +- .../background_information/futher.html | 21 +- .../background_information/headers.html | 22 +- .../background_information/history.html | 45 +- .../background_information/locale.html | 75 ++- .../background_information/performance.html | 17 +- .../background_information/redist.html | 18 +- .../background_information/standards.html | 56 +- .../background_information/thread_safety.html | 44 +- doc/html/boost_regex/captures.html | 66 +- doc/html/boost_regex/configuration.html | 14 +- .../boost_regex/configuration/algorithm.html | 18 +- .../boost_regex/configuration/compiler.html | 19 +- .../boost_regex/configuration/linkage.html | 19 +- .../boost_regex/configuration/locale.html | 22 +- .../boost_regex/configuration/tuning.html | 18 +- doc/html/boost_regex/format.html | 26 +- .../format/boost_format_syntax.html | 46 +- doc/html/boost_regex/format/perl_format.html | 19 +- doc/html/boost_regex/format/sed_format.html | 18 +- doc/html/boost_regex/install.html | 101 +-- .../introduction_and_overview.html | 61 +- doc/html/boost_regex/partial_matches.html | 35 +- doc/html/boost_regex/ref.html | 17 +- doc/html/boost_regex/ref/bad_expression.html | 48 +- doc/html/boost_regex/ref/basic_regex.html | 502 +++++++------- doc/html/boost_regex/ref/concepts.html | 18 +- .../ref/concepts/charT_concept.html | 31 +- .../ref/concepts/iterator_concepts.html | 21 +- .../ref/concepts/traits_concept.html | 89 +-- .../ref/deprecated_interfaces.html | 18 +- .../ref/deprecated_interfaces/old_regex.html | 227 ++++--- .../deprecated_interfaces/regex_format.html | 51 +- .../ref/deprecated_interfaces/regex_grep.html | 52 +- .../deprecated_interfaces/regex_split.html | 41 +- doc/html/boost_regex/ref/error_type.html | 32 +- doc/html/boost_regex/ref/match_flag_type.html | 45 +- doc/html/boost_regex/ref/match_results.html | 154 ++--- doc/html/boost_regex/ref/non_std_strings.html | 23 +- .../boost_regex/ref/non_std_strings/icu.html | 25 +- .../ref/non_std_strings/icu/intro.html | 25 +- .../ref/non_std_strings/icu/unicode_algo.html | 73 +- .../ref/non_std_strings/icu/unicode_iter.html | 59 +- .../non_std_strings/icu/unicode_types.html | 47 +- .../ref/non_std_strings/mfc_strings.html | 25 +- .../non_std_strings/mfc_strings/mfc_algo.html | 95 +-- .../mfc_strings/mfc_intro.html | 27 +- .../non_std_strings/mfc_strings/mfc_iter.html | 58 +- .../mfc_strings/mfc_regex_create.html | 29 +- .../mfc_strings/mfc_regex_types.html | 29 +- doc/html/boost_regex/ref/posix.html | 97 +-- doc/html/boost_regex/ref/regex_iterator.html | 140 ++-- doc/html/boost_regex/ref/regex_match.html | 130 ++-- doc/html/boost_regex/ref/regex_replace.html | 62 +- doc/html/boost_regex/ref/regex_search.html | 118 ++-- .../boost_regex/ref/regex_token_iterator.html | 104 +-- doc/html/boost_regex/ref/regex_traits.html | 40 +- doc/html/boost_regex/ref/sub_match.html | 318 ++++----- .../boost_regex/ref/syntax_option_type.html | 19 +- .../syntax_option_type_basic.html | 59 +- .../syntax_option_type_extended.html | 44 +- .../syntax_option_type_literal.html | 23 +- .../syntax_option_type_overview.html | 40 +- .../syntax_option_type_perl.html | 47 +- .../syntax_option_type_synopsis.html | 27 +- doc/html/boost_regex/syntax.html | 26 +- .../boost_regex/syntax/basic_extended.html | 433 ++++++------ doc/html/boost_regex/syntax/basic_syntax.html | 238 +++---- .../boost_regex/syntax/character_classes.html | 24 +- .../optional_char_class_names.html | 26 +- .../character_classes/std_char_clases.html | 25 +- .../boost_regex/syntax/collating_names.html | 19 +- .../syntax/collating_names/digraphs.html | 19 +- .../syntax/collating_names/named_unicode.html | 28 +- .../collating_names/posix_symbolic_names.html | 23 +- .../syntax/leftmost_longest_rule.html | 23 +- doc/html/boost_regex/syntax/perl_syntax.html | 634 +++++++++--------- doc/html/boost_regex/unicode.html | 45 +- doc/html/index.html | 10 +- 82 files changed, 3013 insertions(+), 2625 deletions(-) diff --git a/doc/html/boost_regex/background_information.html b/doc/html/boost_regex/background_information.html index ecf49934..45d793e6 100644 --- a/doc/html/boost_regex/background_information.html +++ b/doc/html/boost_regex/background_information.html @@ -3,11 +3,12 @@ Background Information - + - - + + @@ -24,8 +25,7 @@
Headers
Localization
@@ -65,7 +65,10 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/acknowledgements.html b/doc/html/boost_regex/background_information/acknowledgements.html index d5356278..0e9a5827 100644 --- a/doc/html/boost_regex/background_information/acknowledgements.html +++ b/doc/html/boost_regex/background_information/acknowledgements.html @@ -1,13 +1,14 @@ -Acknowledgements + + Acknowledgements - + - - + + @@ -24,9 +25,9 @@

The author can be contacted at john - at - johnmaddock.co.uk; the home page for this library is at www.boost.org. @@ -74,7 +75,10 @@

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/examples.html b/doc/html/boost_regex/background_information/examples.html index 983c20c4..7c929efe 100644 --- a/doc/html/boost_regex/background_information/examples.html +++ b/doc/html/boost_regex/background_information/examples.html @@ -1,13 +1,16 @@ -Test and Example Programs + Test and + Example Programs - + - - + + @@ -24,16 +27,16 @@ +

+ Test Programs -

+

- regress: + regress:

A regression test application that gives the matching/searching algorithms @@ -49,7 +52,7 @@ Files: See directory.

- bad_expression_test: + bad_expression_test:

Verifies that "bad" regular expressions don't cause the matcher @@ -62,7 +65,7 @@ Files: bad_expression_test.cpp.

- recursion_test: + recursion_test:

Verifies that the matcher can't overrun the stack (no matter what the expression). @@ -74,7 +77,7 @@ Files: recursion_test.cpp.

- concepts: + concepts:

Verifies that the library meets all documented concepts (a compile only test). @@ -86,7 +89,7 @@ Files: concept_check.cpp.

- captures_test: + captures_test:

Test code for captures. @@ -97,13 +100,13 @@

Files: captures_test.cpp.

-
- +

+ Example programs -

+

- grep + grep

A simple grep implementation, run with the -h command line option to find @@ -113,7 +116,7 @@ Files: grep.cpp

- timer.exe + timer.exe

A simple interactive expression matching application, the results of all @@ -123,11 +126,11 @@

Files: regex_timer.cpp.

-
- +

+ Code snippets -

+

The snippets examples contain the code examples used in the documentation:

@@ -208,7 +211,10 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/faq.html b/doc/html/boost_regex/background_information/faq.html index e860f4a3..e2b8b781 100644 --- a/doc/html/boost_regex/background_information/faq.html +++ b/doc/html/boost_regex/background_information/faq.html @@ -1,13 +1,14 @@ -FAQ + FAQ - + - - + + @@ -24,14 +25,13 @@

- FAQ -

+ FAQ

- Q. I can't get regex++ to work with escape + Q. I can't get regex++ to work with escape characters, what's going on?

- A. If you embed regular expressions in C++ + A. If you embed regular expressions in C++ code, then remember that escape characters are processed twice: once by the C++ compiler, and once by the Boost.Regex expression compiler, so to pass the regular expression \d+ to Boost.Regex, you need to embed "\d+" @@ -39,21 +39,21 @@ "\\" in your code.

- Q. No matter what I do regex_match always + Q. No matter what I do regex_match always returns false, what's going on?

- A. The algorithm regex_match only succeeds - if the expression matches all of the text, - if you want to find a sub-string within + A. The algorithm regex_match only succeeds + if the expression matches all of the text, + if you want to find a sub-string within the text that matches the expression then use regex_search instead.

- Q. Why does using parenthesis in a POSIX + Q. Why does using parenthesis in a POSIX regular expression change the result of a match?

- A. For POSIX (extended and basic) regular + A. For POSIX (extended and basic) regular expressions, but not for perl regexes, parentheses don't only mark; they determine what the best match is as well. When the expression is compiled as a POSIX basic or extended regex then Boost.Regex follows the POSIX standard @@ -85,11 +85,11 @@ as the expression.

- Q. Why don't character ranges work properly + Q. Why don't character ranges work properly (POSIX mode only)?

- A. The POSIX standard specifies that character + A. The POSIX standard specifies that character range expressions are locale sensitive - so for example the expression [A-Z] will match any collating element that collates between 'A' and 'Z'. That means that for most locales other than "C" or "POSIX", @@ -97,39 +97,39 @@ most people expect - or at least not what most people have come to expect from regular expression engines. For this reason, the default behaviour of Boost.Regex (perl mode) is to turn locale sensitive collation off by not - setting the regex_constants::collate + setting the regex_constants::collate compile time flag. However if you set a non-default compile time flag - for - example regex_constants::extended or regex_constants::basic, + example regex_constants::extended or regex_constants::basic, then locale dependent collation will be enabled, this also applies to the - POSIX API functions which use either regex_constants::extended - or regex_constants::basic internally. [Note - when regex_constants::nocollate in effect, the library behaves + POSIX API functions which use either regex_constants::extended + or regex_constants::basic internally. [Note - when regex_constants::nocollate in effect, the library behaves "as if" the LC_COLLATE locale category were always "C", regardless of what its actually set to - end note].

- Q. Why are there no throw specifications + Q. Why are there no throw specifications on any of the functions? What exceptions can the library throw?

- A. Not all compilers support (or honor) + A. Not all compilers support (or honor) throw specifications, others support them but with reduced efficiency. Throw specifications may be added at a later date as compilers begin to handle this better. The library should throw only three types of exception: [boost::regex_error] - can be thrown by basic_regex when compiling a regular - expression, std::runtime_error can be thrown when a call - to basic_regex::imbue tries to open a message catalogue - that doesn't exist, or when a call to regex_search or regex_match results in an "everlasting" - search, or when a call to RegEx::GrepFiles - or RegEx::FindFiles tries to open a file that cannot - be opened, finally std::bad_alloc can be thrown by just about any + can be thrown by basic_regex when compiling a regular + expression, std::runtime_error can be thrown when a call + to basic_regex::imbue tries to open a message catalogue + that doesn't exist, or when a call to regex_search or regex_match results in an "everlasting" + search, or when a call to RegEx::GrepFiles + or RegEx::FindFiles tries to open a file that cannot + be opened, finally std::bad_alloc can be thrown by just about any of the functions in this library.

- Q. Why can't I use the "convenience" + Q. Why can't I use the "convenience" versions of regex_match / regex_search / regex_grep / regex_format / regex_merge?

- A. These versions may or may not be available + A. These versions may or may not be available depending upon the capabilities of your compiler, the rules determining the format of these functions are quite complex - and only the versions visible to a standard compliant compiler are given in the help. To find out what @@ -141,7 +141,10 @@

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/futher.html b/doc/html/boost_regex/background_information/futher.html index cb7087ef..4463bda9 100644 --- a/doc/html/boost_regex/background_information/futher.html +++ b/doc/html/boost_regex/background_information/futher.html @@ -1,13 +1,15 @@ -References and Further Information + References + and Further Information - + - - + + @@ -24,9 +26,9 @@

Short tutorials on regular expressions can be found here and here. @@ -62,7 +64,10 @@

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/headers.html b/doc/html/boost_regex/background_information/headers.html index e88973ff..a351f381 100644 --- a/doc/html/boost_regex/background_information/headers.html +++ b/doc/html/boost_regex/background_information/headers.html @@ -1,13 +1,13 @@ -Headers + Headers - + - + @@ -24,23 +24,25 @@

- There are two main headers used by this library: <boost/regex.hpp> - provides full access to the main template library, while <boost/cregex.hpp> + There are two main headers used by this library: <boost/regex.hpp> + provides full access to the main template library, while <boost/cregex.hpp> provides access to the (deprecated) high level class RegEx, and the POSIX API functions.

- There is also a header containing only forward declarations <boost/regex_fwd.hpp> - for use when an interface is dependent upon basic_regex, but otherwise does + There is also a header containing only forward declarations <boost/regex_fwd.hpp> + for use when an interface is dependent upon basic_regex, but otherwise does not need the full definitions.

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/history.html b/doc/html/boost_regex/background_information/history.html index d71e74b2..db846835 100644 --- a/doc/html/boost_regex/background_information/history.html +++ b/doc/html/boost_regex/background_information/history.html @@ -1,12 +1,13 @@ -History + History - + - + @@ -23,13 +24,12 @@ +

+ Boost 1.34 -

+
  • Fix for non-greedy repeats and partial matches not working correctly in @@ -48,11 +48,11 @@ the same as |.
-
- +

+ Boost 1.33.1 -

+
  • Fixed broken makefiles. @@ -118,11 +118,11 @@ Fixed bug that allowed some invalid expressions to be accepted.
-
- +

+ Boost 1.33.0 -

+
  • Completely rewritten expression parsing code, and traits class support; @@ -173,19 +173,19 @@ in the expression the error occured.
-
- +

+ Boost 1.32.1 -

+
  • Fixed bug in partial matches of bounded repeats of '.'.
-
- +

+ Boost 1.31.0 -

+
  • Completely rewritten pattern matching code - it is now up to 10 times faster @@ -220,7 +220,10 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/locale.html b/doc/html/boost_regex/background_information/locale.html index f0e6aefb..78e77de2 100644 --- a/doc/html/boost_regex/background_information/locale.html +++ b/doc/html/boost_regex/background_information/locale.html @@ -1,13 +1,14 @@ -Localization + Localization - + - - + + @@ -24,8 +25,7 @@

Boost.Regex provides extensive support for run-time localization, the localization model used can be split into two parts: front-end and back-end. @@ -57,17 +57,17 @@

There are three separate localization mechanisms supported by Boost.Regex:

-
- +

+ Win32 localization model. -

+

This is the default model when the library is compiled under Win32, and is - encapsulated by the traits class w32_regex_traits. - When this model is in effect each basic_regex object gets it's own + encapsulated by the traits class w32_regex_traits. + When this model is in effect each basic_regex object gets it's own LCID, by default this is the users default setting as returned by GetUserDefaultLCID, - but you can call imbue on the basic_regex + but you can call imbue on the basic_regex object to set it's locale to some other LCID if you wish. All the settings used by Boost.Regex are acquired directly from the operating system bypassing the C run time library. Front-end localization requires a resource dll, containing @@ -80,7 +80,7 @@

which needs to be called with a string identifying the name of the resource dll, before your code compiles any regular expressions (but not necessarily - before you construct any basic_regex + before you construct any basic_regex instances):

@@ -91,18 +91,18 @@
         library degrades gracefully - characters 0 to 255 are supported, the remainder
         are treated as "unknown" graphic characters.
       

-
- +

+ C localization model. -

+

This model has been deprecated in favor of the C++ locale for all non-Windows compilers that support it. This locale is encapsulated by the traits class - c_regex_traits, Win32 users + c_regex_traits, Win32 users can force this model to take effect by defining the pre-processor symbol BOOST_REGEX_USE_C_LOCALE. When this model is in effect there is a single - global locale, as set by setlocale. + global locale, as set by setlocale. All settings are acquired from your run time library, consequently Unicode support is dependent upon your run time library implementation.

@@ -111,24 +111,24 @@

Note that calling setlocale invalidates all compiled regular expressions, - calling setlocale(LC_ALL, "C") + calling setlocale(LC_ALL, "C") will make this library behave equivalent to most traditional regular expression libraries including version 1 of this library.

-
- +

+ C++ localization model. -

+

This model is the default for non-Windows compilers.

- When this model is in effect each instance of basic_regex has its own instance - of std::locale, class basic_regex also has a member function - imbue which allows the locale + When this model is in effect each instance of basic_regex has its own instance + of std::locale, class basic_regex also has a member function + imbue which allows the locale for the expression to be set on a per-instance basis. Front end localization - requires a POSIX message catalogue, which will be loaded via the std::messages + requires a POSIX message catalogue, which will be loaded via the std::messages facet of the expression's locale, the traits class exports the symbol:

@@ -143,22 +143,22 @@
 boost::cpp_regex_traits<char>::set_message_catalogue("mycatalogue");
 

- Note that calling basic_regex<>::imbue - will invalidate any expression currently compiled in that instance of basic_regex. + Note that calling basic_regex<>::imbue + will invalidate any expression currently compiled in that instance of basic_regex.

Finally note that if you build the library with a non-default localization model, then the appropriate pre-processor symbol (BOOST_REGEX_USE_C_LOCALE or BOOST_REGEX_USE_CPP_LOCALE) must be defined both when you build the support - library, and when you include <boost/regex.hpp> - or <boost/cregex.hpp> - in your code. The best way to ensure this is to add the #define to <boost/regex/user.hpp>. + library, and when you include <boost/regex.hpp> + or <boost/cregex.hpp> + in your code. The best way to ensure this is to add the #define to <boost/regex/user.hpp>.

-
- +

+ Providing a message catalogue -

+

In order to localize the front end of the library, you need to provide the library with the appropriate message strings contained either in a resource @@ -1272,7 +1272,7 @@

@@ -178,7 +179,7 @@ @@ -190,7 +191,7 @@ @@ -202,26 +203,26 @@

- "Unmatched [ or " + "Unmatched [ or "

@@ -1779,7 +1779,10 @@ - +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/performance.html b/doc/html/boost_regex/background_information/performance.html index 1732fd58..be5ed7c2 100644 --- a/doc/html/boost_regex/background_information/performance.html +++ b/doc/html/boost_regex/background_information/performance.html @@ -1,13 +1,14 @@ -Performance + Performance - + - - + + @@ -24,8 +25,7 @@

The performance of Boost.Regex in both recursive and non-recursive modes should be broadly comparable to other regular expression libraries: recursive @@ -46,7 +46,10 @@

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/redist.html b/doc/html/boost_regex/background_information/redist.html index 4e3434ce..fb7917f6 100644 --- a/doc/html/boost_regex/background_information/redist.html +++ b/doc/html/boost_regex/background_information/redist.html @@ -1,13 +1,15 @@ -Redistributables + Redistributables - + - - + + @@ -24,8 +26,7 @@

If you are using Microsoft or Borland C++ and link to a dll version of the run time library, then you can choose to also link to a dll version of Boost.Regex @@ -47,7 +48,10 @@

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/standards.html b/doc/html/boost_regex/background_information/standards.html index 910d0d3a..8efaff79 100644 --- a/doc/html/boost_regex/background_information/standards.html +++ b/doc/html/boost_regex/background_information/standards.html @@ -1,13 +1,14 @@ -Standards Conformance + Standards + Conformance - + - - + + @@ -24,22 +25,22 @@ +

+ C++ -

+

Boost.Regex is intended to conform to the Technical Report on C++ Library Extensions.

-
- +

+ ECMAScript / JavaScript -

+

All of the ECMAScript regular expression syntax features are supported, except that: @@ -48,10 +49,10 @@ The escape sequence \u matches any upper case character (the same as [[:upper:]]) rather than a Unicode escape sequence; use \x{DDDD} for Unicode escape sequences.

-
- +

+ Perl -

+

Almost all Perl features are supported, except for:

@@ -61,10 +62,10 @@

(??{code}) Not implementable in a compiled strongly typed language.

-
- +

+ POSIX -

+

All the POSIX basic and extended regular expression features are supported, except that: @@ -81,10 +82,10 @@ implementation doesn't work on your platform, then you will need to supply a custom traits class.

-
- +

+ Unicode -

+

The following comments refer to Unicode Technical Standard #18: Unicode Regular Expressions version 11. @@ -164,13 +165,13 @@ Indirectly support by forward-lookahead:

- (?=[[:X:]])[[:Y:]] + (?=[[:X:]])[[:Y:]]

Gives the intersection of character properties X and Y.

- (?![[:X:]])[[:Y:]] + (?![[:X:]])[[:Y:]]

Gives everything in Y that is not in X (subtraction). @@ -468,7 +469,7 @@

@@ -549,7 +550,10 @@

- Supported: pass the flag match_partial + Supported: pass the flag match_partial to the regex algorithms.

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/thread_safety.html b/doc/html/boost_regex/background_information/thread_safety.html index 86f73d7f..d76d568d 100644 --- a/doc/html/boost_regex/background_information/thread_safety.html +++ b/doc/html/boost_regex/background_information/thread_safety.html @@ -1,13 +1,15 @@ -Thread Safety + Thread + Safety - + - - + + @@ -24,43 +26,44 @@

The Boost.Regex library is thread safe when Boost is: you can verify that - Boost is in thread safe mode by checking to see if BOOST_HAS_THREADS + Boost is in thread safe mode by checking to see if BOOST_HAS_THREADS is defined: this macro is set automatically by the config system when threading support is turned on in your compiler.

- Class basic_regex + Class basic_regex and its typedefs regex and wregex are thread safe, in that compiled regular expressions can safely be shared between threads. The matching algorithms - regex_match, - regex_search, - and regex_replace - are all re-entrant and thread safe. Class match_results is now thread safe, + regex_match, + regex_search, + and regex_replace + are all re-entrant and thread safe. Class match_results is now thread safe, in that the results of a match can be safely copied from one thread to another - (for example one thread may find matches and push match_results instances onto a queue, + (for example one thread may find matches and push match_results instances onto a queue, while another thread pops them off the other end), otherwise use a separate - instance of match_results + instance of match_results per thread.

- The POSIX API functions are + The POSIX API functions are all re-entrant and thread safe, regular expressions compiled with regcomp can also be shared between threads.

- The class + The class RegEx is only thread safe if each thread gets its own RegEx instance (apartment threading) - this is a consequence of RegEx handling both compiling and matching regular expressions.

Finally note that changing the global locale invalidates all compiled regular - expressions, therefore calling set_locale + expressions, therefore calling set_locale from one thread while another uses regular expressions will produce unpredictable results.

@@ -71,7 +74,10 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/captures.html b/doc/html/boost_regex/captures.html index af64a95d..5d984fed 100644 --- a/doc/html/boost_regex/captures.html +++ b/doc/html/boost_regex/captures.html @@ -1,13 +1,14 @@ -Understanding Marked Sub-Expressions and Captures + Understanding Marked Sub-Expressions + and Captures - + - - + + @@ -24,9 +25,9 @@

Captures are the iterator ranges that are "captured" by marked sub-expressions as a regular expression gets matched. Each marked sub-expression can result @@ -34,12 +35,12 @@ how captures and marked sub-expressions in Boost.Regex are represented and accessed.

-
- +

+ Marked sub-expressions -

+

- Every time a Perl regular expression contains a parenthesis group (), it spits out an extra field, known as a + Every time a Perl regular expression contains a parenthesis group (), it spits out an extra field, known as a marked sub-expression, for example the expression:

(\w+)\W+(\w+)
@@ -47,7 +48,7 @@ Has two marked sub-expressions (known as $1 and $2 respectively), in addition the complete match is known as $&, everything before the first match as $`, and everything after the match as $'. So if the above expression is searched - for within "@abc def--", + for within "@abc def--", then we obtain:

@@ -131,8 +132,8 @@

- In Boost.Regex all these are accessible via the match_results class that gets filled - in when calling one of the regular expression matching algorithms ( regex_search, regex_match, or regex_iterator). So given: + In Boost.Regex all these are accessible via the match_results class that gets filled + in when calling one of the regular expression matching algorithms ( regex_search, regex_match, or regex_iterator). So given:

 boost::match_results<IteratorType> m;
@@ -166,7 +167,7 @@
             

- m.prefix() + m.prefix()

- m[0] + m[0]

- m[n] + m[n]

- m.suffix() + m.suffix()

- In Boost.Regex each sub-expression match is represented by a sub_match object, this is basically + In Boost.Regex each sub-expression match is represented by a sub_match object, this is basically just a pair of iterators denoting the start and end position of the sub-expression match, but there are some additional operators provided so that objects of - type sub_match - behave a lot like a std::basic_string: for example they are implicitly - convertible to a basic_string, + type sub_match + behave a lot like a std::basic_string: for example they are implicitly + convertible to a basic_string, they can be compared to a string, added to a string, or streamed out to an output stream.

-
- +

+ Unmatched Sub-Expressions -

+

When a regular expression match is found there is no need for all of the marked sub-expressions to have participated in the match, for example the expression: @@ -229,12 +230,12 @@

(abc)|(def)

can match either $1 or $2, but never both at the same time. In Boost.Regex - you can determine which sub-expressions matched by accessing the sub_match::matched data member. + you can determine which sub-expressions matched by accessing the sub_match::matched data member.

-
- +

+ Repeated Captures -

+

When a marked sub-expression is repeated, then the sub-expression gets "captured" multiple times, however normally only the final capture is available, for example @@ -251,7 +252,7 @@

However, Boost.Regex has an experimental feature that allows all the capture - information to be retained - this is accessed either via the match_results::captures member function or the sub_match::captures member function. These functions + information to be retained - this is accessed either via the match_results::captures member function or the sub_match::captures member function. These functions return a container that contains a sequence of all the captures obtained during the regular expression matching. The following example program shows how this information may be used: @@ -371,7 +372,10 @@ Text: "now is the time for all good men to come to the aid of the party"

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/configuration.html b/doc/html/boost_regex/configuration.html index df6a4d80..fb86953e 100644 --- a/doc/html/boost_regex/configuration.html +++ b/doc/html/boost_regex/configuration.html @@ -1,13 +1,13 @@ -Configuration + Configuration - + - + @@ -24,8 +24,7 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/configuration/algorithm.html b/doc/html/boost_regex/configuration/algorithm.html index 50320abb..1c8cce84 100644 --- a/doc/html/boost_regex/configuration/algorithm.html +++ b/doc/html/boost_regex/configuration/algorithm.html @@ -1,13 +1,13 @@ -Algorithm Selection + Algorithm Selection - + - - - + + + @@ -24,8 +24,7 @@
@@ -79,7 +78,10 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/configuration/compiler.html b/doc/html/boost_regex/configuration/compiler.html index ee8f55ea..6549e66e 100644 --- a/doc/html/boost_regex/configuration/compiler.html +++ b/doc/html/boost_regex/configuration/compiler.html @@ -1,13 +1,14 @@ -Compiler Setup + Compiler Setup - + - - - + + + @@ -24,8 +25,7 @@

You shouldn't need to do anything special to configure Boost.Regex for use with your compiler - the Boost.Config @@ -36,7 +36,10 @@

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/configuration/linkage.html b/doc/html/boost_regex/configuration/linkage.html index a4959292..1711f2fc 100644 --- a/doc/html/boost_regex/configuration/linkage.html +++ b/doc/html/boost_regex/configuration/linkage.html @@ -1,13 +1,14 @@ -Linkage Options + Linkage Options - + - - - + + + @@ -24,8 +25,7 @@
@@ -77,7 +77,10 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/configuration/locale.html b/doc/html/boost_regex/configuration/locale.html index 9b5c16c3..bfab7b14 100644 --- a/doc/html/boost_regex/configuration/locale.html +++ b/doc/html/boost_regex/configuration/locale.html @@ -1,13 +1,14 @@ -Locale and traits class selection + Locale and traits + class selection - + - - - + + + @@ -24,9 +25,9 @@

The following macros (see user.hpp) control how Boost.Regex interacts with the user's locale: @@ -95,7 +96,10 @@

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/configuration/tuning.html b/doc/html/boost_regex/configuration/tuning.html index c58319ac..05412d1d 100644 --- a/doc/html/boost_regex/configuration/tuning.html +++ b/doc/html/boost_regex/configuration/tuning.html @@ -1,13 +1,13 @@ -Algorithm Tuning + Algorithm Tuning - + - - - + + + @@ -24,8 +24,7 @@

The following option applies only if BOOST_REGEX_RECURSIVE is set.

@@ -140,7 +139,10 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/format.html b/doc/html/boost_regex/format.html index 1e24ee79..9efc4524 100644 --- a/doc/html/boost_regex/format.html +++ b/doc/html/boost_regex/format.html @@ -1,13 +1,14 @@ -Search and Replace Format String Syntax + Search and Replace Format String Syntax - + - - + + @@ -24,8 +25,7 @@
Sed Format String Syntax
Perl Format String Syntax
@@ -33,15 +33,16 @@ Format String Syntax

- Format strings are used by the algorithm regex_replace and by match_results<>::format, and are used to transform + Format strings are used by the algorithm regex_replace and by match_results<>::format, and are used to transform one string into another.

- There are three kind of format string: Sed, - Perl and Boost-Extended. + There are three kind of format string: Sed, + Perl and Boost-Extended.

- Alternatively, when the flag format_literal + Alternatively, when the flag format_literal is passed to one of these functions, then the format string is treated as a string literal, and is copied unchanged to the output.

@@ -54,7 +55,10 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/format/boost_format_syntax.html b/doc/html/boost_regex/format/boost_format_syntax.html index b2fc8352..134712c2 100644 --- a/doc/html/boost_regex/format/boost_format_syntax.html +++ b/doc/html/boost_regex/format/boost_format_syntax.html @@ -1,13 +1,14 @@ -Boost-Extended Format String Syntax + Boost-Extended + Format String Syntax - + - - - + + + @@ -24,25 +25,25 @@

Boost-Extended format strings treat all characters as literals except for '$', '\', '(', ')', '?', and ':'.

-
- +

+ Grouping -

+

The characters '(' and ')' perform lexical grouping, so use \( and \) if you want a to output literal parenthesis.

-
- +

+ Conditionals -

+

The character '?' begins a conditional expression, the general form is:

@@ -65,11 +66,11 @@ match found with "foo" if the sub-expression $1 was matched, and with "bar" otherwise.

-
- +

+ Placeholder Sequences -

+

Placeholder sequences specify that some part of what matched the regular expression should be sent to output as follows: @@ -160,11 +161,11 @@ Any $-placeholder sequence not listed above, results in '$' being treated as a literal.

-
- +

+ Escape Sequences -

+

An escape character followed by any character x, outputs that character unless x is one of the escape sequences shown below. @@ -389,7 +390,10 @@

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/format/perl_format.html b/doc/html/boost_regex/format/perl_format.html index a04deb0a..94e2d7f0 100644 --- a/doc/html/boost_regex/format/perl_format.html +++ b/doc/html/boost_regex/format/perl_format.html @@ -1,13 +1,14 @@ -Perl Format String Syntax + Perl Format String Syntax - + - - - + + + @@ -24,8 +25,7 @@

Perl-style format strings treat all characters as literals except '$' and '\' which start placeholder and escape sequences respectively. @@ -344,7 +344,10 @@

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/format/sed_format.html b/doc/html/boost_regex/format/sed_format.html index 6a142e76..7e79ca46 100644 --- a/doc/html/boost_regex/format/sed_format.html +++ b/doc/html/boost_regex/format/sed_format.html @@ -1,13 +1,13 @@ -Sed Format String Syntax + Sed Format String Syntax - + - - - + + + @@ -24,8 +24,7 @@

Sed-style format strings treat all characters as literals except:

@@ -235,7 +234,10 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/install.html b/doc/html/boost_regex/install.html index 9facdc5f..37092833 100644 --- a/doc/html/boost_regex/install.html +++ b/doc/html/boost_regex/install.html @@ -1,13 +1,14 @@ -Building and Installing the Library + Building and Installing the Library - + - - + + @@ -24,8 +25,7 @@

When you extract the library from its zip file, you must preserve its internal directory structure (for example by using the -d option when extracting). If @@ -48,20 +48,20 @@ it is necessary to build the library's support code into a library or archive file before you can use it, instructions for specific platforms are as follows:

-
- +

+ Building with bjam -

+

This is now the preferred method for building and installing this library, please refer to the getting started guide for more information.

-
- +

+ Building With Unicode and ICU Support -

+

A default build of this library does not enable Unciode support via ICU. There is no need to enable this support if you don't need it, but if you use ICU @@ -75,16 +75,16 @@

If you're building on a Unix-like platform, and ICU is already installed in - your compilers search path (with an install prefix of /usr or /usr/local - for example), then set the environment variable HAVE_ICU + your compilers search path (with an install prefix of /usr or /usr/local + for example), then set the environment variable HAVE_ICU to enable ICU support. For example you might build with the command line:

bjam -sHAVE_ICU=1 --toolset=toolset-name install

If ICU is not already in your compiler's path then you need to set the environment - variable ICU_PATH to point + variable ICU_PATH to point to the root directory of your ICU installation, for example if ICU was installed - to /usr/local/icu/3.3 + to /usr/local/icu/3.3 you might use:

bjam -sICU_PATH=/usr/local/icu/3.3 --toolset=toolset-name install
@@ -95,17 +95,17 @@ ensure that this is the case: it is up to you to ensure that the version of ICU you are using is binary compatible with the toolset you use to build Boost.

-
- +

+ Building via makefiles -

-
- +
+
+ Borland C++ Builder: -
+
  • - Open up a console window and change to the <boost>\libs\regex\build + Open up a console window and change to the <boost>\libs\regex\build directory.
  • @@ -127,7 +127,7 @@

    make -fbcb5.mak install

    - library files will be copied to <BCROOT>/lib and the dll's to <BCROOT>/bin, where <BCROOT> + library files will be copied to <BCROOT>/lib and the dll's to <BCROOT>/bin, where <BCROOT> corresponds to the install path of your Borland C++ tools.

    @@ -136,7 +136,7 @@

    make -fbcb5.mak clean

    - Finally when you use Boost.Regex it is only necessary for you to add the <boost> root director to your list of include directories + Finally when you use Boost.Regex it is only necessary for you to add the <boost> root director to your list of include directories for that project. It is not necessary for you to manually add a .lib file to the project; the headers will automatically select the correct .lib file for your build mode and tell the linker to include it. There is one caveat however: @@ -159,17 +159,17 @@ build of the lib) then define BOOST_REGEX_NO_LIB.

    - If you are building with C++ Builder 6, you will find that <boost/regex.hpp> - can not be used in a pre-compiled header (the actual problem is in <locale> which gets included by <boost/regex.hpp>), + If you are building with C++ Builder 6, you will find that <boost/regex.hpp> + can not be used in a pre-compiled header (the actual problem is in <locale> which gets included by <boost/regex.hpp>), if this causes problems for you, then try defining BOOST_NO_STD_LOCALE when building, this will disable some features throughout boost, but may save you a lot in compile times!

    -
    - +

    + Microsoft Visual C++ 6, 7, 7.1 and 8 -

    +

    You need version 6 or later of MSVC to build this library. If you are using VC5 then you may want to look at one of the previous releases of this library. @@ -177,7 +177,7 @@

    Open up a command prompt, which has the necessary MSVC environment variables defined (for example by using the batch file Vcvars32.bat installed by the - Visual Studio installation), and change to the <boost>\libs\regex\build directory. + Visual Studio installation), and change to the <boost>\libs\regex\build directory.

    Select the correct makefile - vc6.mak for "vanilla" Visual C++ 6 @@ -193,7 +193,7 @@

    nmake -fvc6.mak install

    - The lib files will be copied to your <VC6>\lib directory and the dll files to <VC6>\bin, where <VC6> is + The lib files will be copied to your <VC6>\lib directory and the dll files to <VC6>\bin, where <VC6> is the root of your Visual C++ 6 installation.

    @@ -207,7 +207,7 @@

    nmake ICU_PATH=c:\open-source\icu -fvc71.mak install

    - Finally when you use Boost.Regex it is only necessary for you to add the <boost> root directory to your list of include + Finally when you use Boost.Regex it is only necessary for you to add the <boost> root directory to your list of include directories for that project. It is not necessary for you to manually add a .lib file to the project; the headers will automatically select the correct .lib file for your build mode and tell the linker to include it. @@ -252,12 +252,12 @@ to modify the makefile to add /Zc:wchar_t before building the library.

-
- +
+ GCC(2.95 and later) -
+

- You can build with gcc using the normal boost Jamfile in <boost>/libs/regex/build, alternatively + You can build with gcc using the normal boost Jamfile in <boost>/libs/regex/build, alternatively there is a conservative makefile for the g++ compiler. From the command prompt change to the <boost>/libs/regex/build directory and type:

@@ -298,16 +298,16 @@ LIBS: additional library files.

- For the more adventurous there is a configure script in <boost>/libs/config; + For the more adventurous there is a configure script in <boost>/libs/config; see the config library documentation.

-
- +
+ Sun Workshop 6.1 -
+

There is a makefile for the sun (6.1) compiler (C++ version 3.12). From the - command prompt change to the <boost>/libs/regex/build directory + command prompt change to the <boost>/libs/regex/build directory and type:

dmake -f sunpro.mak 
@@ -316,7 +316,7 @@ single and multithread versions of the library (libboost_regex.a, libboost_regex.so, libboost_regex_mt.a and libboost_regex_mt.so). When you build projects that use Boost.Regex, you will need to add the boost install directory to your list - of include paths and add <boost>/libs/regex/build/sunpro/ to + of include paths and add <boost>/libs/regex/build/sunpro/ to your library search path.

@@ -342,23 +342,26 @@ This makefile does not set any architecture specific options like -xarch=v9, you can set these by defining the appropriate macros, for example:

-
dmake CXXFLAGS="-xarchv9" LDFLAGS"-xarchv9" LIBSUFFIX"_v9" -f sunpro.mak
+
dmake CXXFLAGS="-xarchv9" LDFLAGS"-xarchv9" LIBSUFFIX"_v9" -f sunpro.mak

will build v9 variants of the regex library named libboost_regex_v9.a etc.

-
- +
+ Makefiles for Other compilers -
+

- There is a generic makefile (generic.mak ) provided in <boost-root>/libs/regex/build - see that makefile for details of + There is a generic makefile (generic.mak ) provided in <boost-root>/libs/regex/build - see that makefile for details of environment variables that need to be set before use.

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/introduction_and_overview.html b/doc/html/boost_regex/introduction_and_overview.html index a9132aa7..ad97c7eb 100644 --- a/doc/html/boost_regex/introduction_and_overview.html +++ b/doc/html/boost_regex/introduction_and_overview.html @@ -1,13 +1,14 @@ -Introduction and Overview +Introduction and + Overview - + - - + + @@ -24,9 +25,9 @@

Regular expressions are a form of pattern-matching that are often used in text processing; many users will be familiar with the Unix utilities grep, sed and @@ -39,11 +40,11 @@ libraries can not do.

- The class basic_regex + The class basic_regex is the key class in this library; it represents a "machine readable" - regular expression, and is very closely modeled on std::basic_string, + regular expression, and is very closely modeled on std::basic_string, think of it as a string plus the actual state-machine required by the regular - expression algorithms. Like std::basic_string + expression algorithms. Like std::basic_string there are two typedefs that are almost always the means by which this class is referenced:

@@ -99,7 +100,7 @@ regular expression engine, consequently escapes in regular expressions have to be doubled up when embedding them in C/C++ code. Also note that all the examples assume that your compiler supports argument-dependent-lookup lookup, - if yours doesn't (for example VC6), then you will have to add some boost:: prefixes + if yours doesn't (for example VC6), then you will have to add some boost:: prefixes to some of the function calls in the examples.

@@ -112,7 +113,7 @@ the utilities sed and Perl will already be ahead here; we need two strings - one a regular expression - the other a "format string" that provides a description of the text to replace the match with. In Boost.Regex this search - and replace operation is performed with the algorithm regex_replace, for our credit card + and replace operation is performed with the algorithm regex_replace, for our credit card example we can write two algorithms like this to provide the format conversions:

@@ -141,7 +142,7 @@
       expression match, however in general the result of a match contains a number
       of sub-expression matches in addition to the overall match. When the library
       needs to report a regular expression match it does so using an instance of
-      the class match_results,
+      the class match_results,
       as before there are typedefs of this class for the most common cases:
     

@@ -155,12 +156,12 @@
 }
 

- The algorithms regex_search - and regex_match - make use of match_results - to report what matched; the difference between these algorithms is that regex_match + The algorithms regex_search + and regex_match + make use of match_results + to report what matched; the difference between these algorithms is that regex_match will only find matches that consume all of the input text, - where as regex_search + where as regex_search will search for a match anywhere within the text being matched.

@@ -169,21 +170,22 @@ of seamlessly searching almost any kind of data.

- For search and replace operations, in addition to the algorithm regex_replace that we have already - seen, the match_results - class has a format member that + For search and replace operations, in addition to the algorithm regex_replace that we have already + seen, the match_results + class has a format member that takes the result of a match and a format string, and produces a new string by merging the two.

For iterating through all occurences of an expression within a text, there - are two iterator types: regex_iterator will enumerate over - the match_results - objects found, while regex_token_iterator will enumerate + are two iterator types: regex_iterator will enumerate over + the match_results + objects found, while regex_token_iterator will enumerate a series of strings (similar to perl style split operations).

- For those that dislike templates, there is a high level wrapper class RegEx + For those that dislike templates, there is a high level wrapper class RegEx that is an encapsulation of the lower level template code - it provides a simplified interface for those that don't need the full power of the library, and supports only narrow characters, and the "extended" regular expression syntax. @@ -191,12 +193,12 @@ C++ standard library proposal.

- The POSIX API functions: regcomp, regexec, regfree and [regerr], are available + The POSIX API functions: regcomp, regexec, regfree and [regerr], are available in both narrow character and Unicode versions, and are provided for those who need compatibility with these API's.

- Finally, note that the library now has run-time + Finally, note that the library now has run-time localization support, and recognizes the full POSIX regular expression syntax - including advanced features like multi-character collating elements and equivalence classes - as well as providing compatibility with other regular @@ -205,7 +207,10 @@

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/partial_matches.html b/doc/html/boost_regex/partial_matches.html index c02f0333..b5befab7 100644 --- a/doc/html/boost_regex/partial_matches.html +++ b/doc/html/boost_regex/partial_matches.html @@ -1,13 +1,14 @@ -Partial Matches + Partial Matches - + - - + + @@ -24,13 +25,13 @@

- The match_flag_type - match_partial can be passed - to the following algorithms: regex_match, regex_search, and regex_grep, and used with the iterator - regex_iterator. + The match_flag_type + match_partial can be passed + to the following algorithms: regex_match, regex_search, and regex_grep, and used with the iterator + regex_iterator. When used it indicates that partial as well as full matches should be found. A partial match is one that matched one or more characters at the end of the text input, but did not match all of the regular expression (although it may @@ -40,9 +41,10 @@ into memory (or even into a memory mapped file), or are of indeterminate length (for example the source may be a socket or similar). Partial and full matches can be differentiated as shown in the following table (the variable M represents - an instance of match_results as filled in by regex_match, - regex_search - or regex_grep): + an instance of match_results as filled in by regex_match, + regex_search + or regex_grep):

@@ -184,7 +186,7 @@

The following example tests to see whether the text could be a valid credit card number, as the user presses a key, the character entered would be added - to the string being built up, and passed to is_possible_card_number. + to the string being built up, and passed to is_possible_card_number. If this returns true then the text could be a valid card number, so the user interface's OK button would be enabled. If it returns false, then this is not yet a valid card number, but could be with more input, so the user interface @@ -295,7 +297,10 @@

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref.html b/doc/html/boost_regex/ref.html index 814fbecd..5bf87bab 100644 --- a/doc/html/boost_regex/ref.html +++ b/doc/html/boost_regex/ref.html @@ -1,13 +1,14 @@ -Reference + Reference - + - - + + @@ -24,8 +25,7 @@
basic_regex
match_results
@@ -130,7 +130,10 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/bad_expression.html b/doc/html/boost_regex/ref/bad_expression.html index 52d66acd..53c10241 100644 --- a/doc/html/boost_regex/ref/bad_expression.html +++ b/doc/html/boost_regex/ref/bad_expression.html @@ -1,13 +1,13 @@ -bad_expression + bad_expression - + - - - + + + @@ -24,17 +24,16 @@ +

+ Synopsis -

+
 #include <boost/pattern_except.hpp>
 

- The class regex_error defines + The class regex_error defines the type of objects thrown as exceptions to report errors during the conversion from a string representing a regular expression to a finite state machine.

@@ -55,46 +54,49 @@ }// namespace boost -
- +

+ Description -

+
 regex_error(const std::string& s, regex_constants::error_type err, std::ptrdiff_t pos);
 regex_error(boost::regex_constants::error_type err);
 

- Effects: Constructs an object of class regex_error. + Effects: Constructs an object of class regex_error.

 boost::regex_constants::error_type code()const;
 

- Effects: returns the error code that represents + Effects: returns the error code that represents parsing error that occurred.

 std::ptrdiff_t position()const; 
 

- Effects: returns the location in the expression + Effects: returns the location in the expression where parsing stopped.

- Footnotes: the choice of std::runtime_error - as the base class for regex_error + Footnotes: the choice of std::runtime_error + as the base class for regex_error is moot; depending upon how the library is used exceptions may be either logic errors (programmer supplied expressions) or run time errors (user supplied - expressions). The library previously used bad_pattern - and bad_expression for errors, - these have been replaced by the single class regex_error + expressions). The library previously used bad_pattern + and bad_expression for errors, + these have been replaced by the single class regex_error to keep the library in synchronization with the Technical Report on C++ Library Extensions.

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/basic_regex.html b/doc/html/boost_regex/ref/basic_regex.html index 06568384..905f35e0 100644 --- a/doc/html/boost_regex/ref/basic_regex.html +++ b/doc/html/boost_regex/ref/basic_regex.html @@ -1,13 +1,13 @@ -basic_regex + basic_regex - + - - - + + + @@ -24,38 +24,39 @@ +

+ Synopsis -

+
 #include <boost/regex.hpp>
 

- The template class basic_regex + The template class basic_regex encapsulates regular expression parsing and compilation. The class takes two template parameters:

- For ease of use there are two typedefs that define the two standard basic_regex instances, unless you want + For ease of use there are two typedefs that define the two standard basic_regex instances, unless you want to use custom traits classes or non-standard character types (for example - see unicode support), + see unicode support), you won't need to use anything other than these:

@@ -70,9 +71,9 @@
 }
 

- The definition of basic_regex - follows: it is based very closely on class basic_string, - and fulfils the requirements for a constant-container of charT. + The definition of basic_regex + follows: it is based very closely on class basic_string, + and fulfils the requirements for a constant-container of charT.

 namespace boost{
@@ -88,66 +89,66 @@
    typedef          const charT&                         const_reference;           
    typedef          std::ptrdiff_t                       difference_type;                 
    typedef          std::size_t                          size_type;
-   typedef          regex_constants:: syntax_option_type  flag_type;
+   typedef          regex_constants:: syntax_option_type  flag_type;
    typedef typename traits::locale_type                  locale_type;
 
    // constants:
    // main option selection:
-   static const regex_constants:: syntax_option_type normal          
+   static const regex_constants:: syntax_option_type normal          
                                                 = regex_constants::normal;
-   static const regex_constants:: syntax_option_type ECMAScript      
+   static const regex_constants:: syntax_option_type ECMAScript      
                                                 = normal;
-   static const regex_constants:: syntax_option_type JavaScript      
+   static const regex_constants:: syntax_option_type JavaScript      
                                                 = normal;
-   static const regex_constants:: syntax_option_type JScript         
+   static const regex_constants:: syntax_option_type JScript         
                                                 = normal;
-   static const regex_constants:: syntax_option_type basic           
+   static const regex_constants:: syntax_option_type basic           
                                                 = regex_constants::basic;
-   static const regex_constants:: syntax_option_type extended        
+   static const regex_constants:: syntax_option_type extended        
                                                 = regex_constants::extended;
-   static const regex_constants:: syntax_option_type awk             
+   static const regex_constants:: syntax_option_type awk             
                                                 = regex_constants::awk;
-   static const regex_constants:: syntax_option_type grep            
+   static const regex_constants:: syntax_option_type grep            
                                                 = regex_constants::grep;
-   static const regex_constants:: syntax_option_type egrep           
+   static const regex_constants:: syntax_option_type egrep           
                                                 = regex_constants::egrep;
-   static const regex_constants:: syntax_option_type sed             
+   static const regex_constants:: syntax_option_type sed             
                                                 = basic = regex_constants::sed;
-   static const regex_constants:: syntax_option_type perl            
+   static const regex_constants:: syntax_option_type perl            
                                                 = regex_constants::perl;
-   static const regex_constants:: syntax_option_type literal         
+   static const regex_constants:: syntax_option_type literal         
                                                 = regex_constants::literal;
 
    // modifiers specific to perl expressions:
-   static const regex_constants:: syntax_option_type no_mod_m        
+   static const regex_constants:: syntax_option_type no_mod_m        
                                                 = regex_constants::no_mod_m;
-   static const regex_constants:: syntax_option_type no_mod_s        
+   static const regex_constants:: syntax_option_type no_mod_s        
                                                 = regex_constants::no_mod_s;
-   static const regex_constants:: syntax_option_type mod_s           
+   static const regex_constants:: syntax_option_type mod_s           
                                                 = regex_constants::mod_s;
-   static const regex_constants:: syntax_option_type mod_x           
+   static const regex_constants:: syntax_option_type mod_x           
                                                 = regex_constants::mod_x;
 
    // modifiers specific to POSIX basic expressions:
-   static const regex_constants:: syntax_option_type bk_plus_qm      
+   static const regex_constants:: syntax_option_type bk_plus_qm      
                                                 = regex_constants::bk_plus_qm;
-   static const regex_constants:: syntax_option_type bk_vbar         
+   static const regex_constants:: syntax_option_type bk_vbar         
                                                 = regex_constants::bk_vbar
-   static const regex_constants:: syntax_option_type no_char_classes 
+   static const regex_constants:: syntax_option_type no_char_classes 
                                                 = regex_constants::no_char_classes
-   static const regex_constants:: syntax_option_type no_intervals    
+   static const regex_constants:: syntax_option_type no_intervals    
                                                 = regex_constants::no_intervals
 
    // common modifiers:
-   static const regex_constants:: syntax_option_type nosubs          
+   static const regex_constants:: syntax_option_type nosubs          
                                                 = regex_constants::nosubs;
-   static const regex_constants:: syntax_option_type optimize        
+   static const regex_constants:: syntax_option_type optimize        
                                                 = regex_constants::optimize;
-   static const regex_constants:: syntax_option_type collate         
+   static const regex_constants:: syntax_option_type collate         
                                                 = regex_constants::collate;
-   static const regex_constants:: syntax_option_type newline_alt     
+   static const regex_constants:: syntax_option_type newline_alt     
                                                 = regex_constants::newline_alt;
-   static const regex_constants:: syntax_option_type no_except       
+   static const regex_constants:: syntax_option_type no_except       
                                                 = regex_constants::newline_alt;
 
    // construct/copy/destroy:
@@ -245,79 +246,79 @@
 
 } // namespace boost
 
-
- +

+ Description -

+

- Class basic_regex has the + Class basic_regex has the following public members:

 // main option selection:
-static const regex_constants:: syntax_option_type normal           
+static const regex_constants:: syntax_option_type normal           
                                           = regex_constants::normal;
-static const regex_constants:: syntax_option_type ECMAScript       
+static const regex_constants:: syntax_option_type ECMAScript       
                                           = normal;
-static const regex_constants:: syntax_option_type JavaScript       
+static const regex_constants:: syntax_option_type JavaScript       
                                           = normal;
-static const regex_constants:: syntax_option_type JScript          
+static const regex_constants:: syntax_option_type JScript          
                                           = normal;
-static const regex_constants:: syntax_option_type basic            
+static const regex_constants:: syntax_option_type basic            
                                           = regex_constants::basic;
-static const regex_constants:: syntax_option_type extended         
+static const regex_constants:: syntax_option_type extended         
                                           = regex_constants::extended;
-static const regex_constants:: syntax_option_type awk              
+static const regex_constants:: syntax_option_type awk              
                                           = regex_constants::awk;
-static const regex_constants:: syntax_option_type grep             
+static const regex_constants:: syntax_option_type grep             
                                           = regex_constants::grep;
-static const regex_constants:: syntax_option_type egrep            
+static const regex_constants:: syntax_option_type egrep            
                                           = regex_constants::egrep;
-static const regex_constants:: syntax_option_type sed              
+static const regex_constants:: syntax_option_type sed              
                                           = regex_constants::sed;
-static const regex_constants:: syntax_option_type perl             
+static const regex_constants:: syntax_option_type perl             
                                           = regex_constants::perl;
-static const regex_constants:: syntax_option_type literal          
+static const regex_constants:: syntax_option_type literal          
                                           = regex_constants::literal;
 
 // modifiers specific to perl expressions:
-static const regex_constants:: syntax_option_type no_mod_m         
+static const regex_constants:: syntax_option_type no_mod_m         
                                           = regex_constants::no_mod_m;
-static const regex_constants:: syntax_option_type no_mod_s         
+static const regex_constants:: syntax_option_type no_mod_s         
                                           = regex_constants::no_mod_s;
-static const regex_constants:: syntax_option_type mod_s            
+static const regex_constants:: syntax_option_type mod_s            
                                           = regex_constants::mod_s;
-static const regex_constants:: syntax_option_type mod_x            
+static const regex_constants:: syntax_option_type mod_x            
                                           = regex_constants::mod_x;
 
 // modifiers specific to POSIX basic expressions:
-static const regex_constants:: syntax_option_type bk_plus_qm       
+static const regex_constants:: syntax_option_type bk_plus_qm       
                                           = regex_constants::bk_plus_qm;
-static const regex_constants:: syntax_option_type bk_vbar          
+static const regex_constants:: syntax_option_type bk_vbar          
                                           = regex_constants::bk_vbar
-static const regex_constants:: syntax_option_type no_char_classes  
+static const regex_constants:: syntax_option_type no_char_classes  
                                           = regex_constants::no_char_classes
-static const regex_constants:: syntax_option_type no_intervals     
+static const regex_constants:: syntax_option_type no_intervals     
                                           = regex_constants::no_intervals
 
 // common modifiers:
-static const regex_constants:: syntax_option_type nosubs           
+static const regex_constants:: syntax_option_type nosubs           
                                           = regex_constants::nosubs;
-static const regex_constants:: syntax_option_type optimize         
+static const regex_constants:: syntax_option_type optimize         
                                           = regex_constants::optimize;
-static const regex_constants:: syntax_option_type collate          
+static const regex_constants:: syntax_option_type collate          
                                           = regex_constants::collate;
-static const regex_constants:: syntax_option_type newline_alt      
+static const regex_constants:: syntax_option_type newline_alt      
                                           = regex_constants::newline_alt;
 

- The meaning of these options is documented in the syntax_option_type section. + The meaning of these options is documented in the syntax_option_type section.

The static constant members are provided as synonyms for the constants declared - in namespace boost::regex_constants; for each constant of type - syntax_option_type - declared in namespace boost::regex_constants + in namespace boost::regex_constants; for each constant of type + syntax_option_type + declared in namespace boost::regex_constants then a constant with the same name, type and value is declared within the scope of basic_regex.

@@ -327,12 +328,12 @@ basic_regex();

- Effects: Constructs an object of class - basic_regex. + Effects: Constructs an object of class + basic_regex.

-

Table 1. basic_regex default construction postconditions

-
+

Table 1. basic_regex default construction postconditions

+
@@ -353,67 +354,67 @@ -

- empty() + empty()

- true + true

- size() + size()

- 0 + 0

- str() + str()

- basic_string<charT>() + basic_string<charT>()

+
-

+

 basic_regex(const charT* p, flag_type f = regex_constants::normal);
 

- Requires: p shall not + Requires: p shall not be a null pointer.

- Throws: bad_expression if p - is not a valid regular expression, unless the flag no_except + Throws: bad_expression if p + is not a valid regular expression, unless the flag no_except is set in f.

- Effects: Constructs an object of class - basic_regex; + Effects: Constructs an object of class + basic_regex; the object's internal finite state machine is constructed from the regular expression contained in the null-terminated string p, - and interpreted according to the option + and interpreted according to the option flags specified in f.

-

Table 2. Postconditions for basic_regex construction

-
+

Table 2. Postconditions for basic_regex construction

+
@@ -434,43 +435,43 @@ -

- empty() + empty()

- false + false

- size() + size()

- char_traits<charT>::length(p) + char_traits<charT>::length(p)

- str() + str()

- basic_string<charT>(p) + basic_string<charT>(p)

- flags() + flags()

@@ -482,7 +483,7 @@

- mark_count() + mark_count()

@@ -492,34 +493,34 @@
+
-

+

 basic_regex(const charT* p1, const charT* p2, 
             flag_type f = regex_constants::normal);
 

- Requires: p1 and p2 - are not null pointers, p1 < p2. + Requires: p1 and p2 + are not null pointers, p1 < p2.

- Throws: bad_expression if [p1,p2) is not - a valid regular expression, unless the flag no_except + Throws: bad_expression if [p1,p2) is not + a valid regular expression, unless the flag no_except is set in f.

- Effects: Constructs an object of class - basic_regex; + Effects: Constructs an object of class + basic_regex; the object's internal finite state machine is constructed from the regular expression contained in the sequence of characters [p1,p2), and interpreted - according the option flags + according the option flags specified in f.

-

Table 3. Postconditions for basic_regex construction

-
+

Table 3. Postconditions for basic_regex construction

+
@@ -540,43 +541,43 @@ -

- empty() + empty()

- false + false

- size() + size()

- std::distance(p1,p2) + std::distance(p1,p2)

- str() + str()

- basic_string<charT>(p1,p2) + basic_string<charT>(p1,p2)

- flags() + flags()

@@ -588,7 +589,7 @@

- mark_count() + mark_count()

@@ -598,33 +599,33 @@
+
-

+

 basic_regex(const charT* p, size_type len, flag_type f);
 

- Requires: p shall not - be a null pointer, len < - max_size(). + Requires: p shall not + be a null pointer, len < + max_size().

- Throws: bad_expression if p - is not a valid regular expression, unless the flag no_except + Throws: bad_expression if p + is not a valid regular expression, unless the flag no_except is set in f.

- Effects: Constructs an object of class - basic_regex; + Effects: Constructs an object of class + basic_regex; the object's internal finite state machine is constructed from the regular expression contained in the sequence of characters [p, p+len), and interpreted according the option flags specified in f.

-

Table 4. Postconditions for basic_regex construction

-
+

Table 4. Postconditions for basic_regex construction

+
@@ -645,19 +646,19 @@ -

- empty() + empty()

- false + false

- size() + size()

@@ -669,19 +670,19 @@

- str() + str()

- basic_string<charT>(p, len) + basic_string<charT>(p, len)

- flags() + flags()

@@ -693,7 +694,7 @@

- mark_count() + mark_count()

@@ -703,16 +704,16 @@
+
-

+

 basic_regex(const basic_regex& e);
 

- Effects: Constructs an object of class - basic_regex + Effects: Constructs an object of class + basic_regex as a copy of the object e.

@@ -723,21 +724,21 @@ flag_type f = regex_constants::normal);

- Throws: bad_expression if s - is not a valid regular expression, unless the flag no_except + Throws: bad_expression if s + is not a valid regular expression, unless the flag no_except is set in f.

- Effects: Constructs an object of class - basic_regex; + Effects: Constructs an object of class + basic_regex; the object's internal finite state machine is constructed from the regular expression contained in the string s, and interpreted - according to the option + according to the option flags specified in f.

-

Table 5. Postconditions for basic_regex construction

-
+

Table 5. Postconditions for basic_regex construction

+
@@ -758,31 +759,31 @@ -

- empty() + empty()

- false + false

- size() + size()

- s.size() + s.size()

- str() + str()

@@ -794,7 +795,7 @@

- flags() + flags()

@@ -806,7 +807,7 @@

- mark_count() + mark_count()

@@ -816,9 +817,9 @@
+
-

+

 template <class ForwardIterator>
@@ -826,21 +827,21 @@
             flag_type f = regex_constants::normal);
 

- Throws: bad_expression if the sequence [first, - last) is not a valid regular expression, unless the flag no_except + Throws: bad_expression if the sequence [first, + last) is not a valid regular expression, unless the flag no_except is set in f.

- Effects: Constructs an object of class - basic_regex; + Effects: Constructs an object of class + basic_regex; the object's internal finite state machine is constructed from the regular expression contained in the sequence of characters [first, last), and interpreted - according to the option + according to the option flags specified in f.

-

Table 6. Postconditions for basic_regex construction

-
+

Table 6. Postconditions for basic_regex construction

+
@@ -861,43 +862,43 @@ -

- empty() + empty()

- false + false

- size() + size()

- distance(first,last) + distance(first,last)

- str() + str()

- basic_string<charT>(first,last) + basic_string<charT>(first,last)

- flags() + flags()

@@ -909,7 +910,7 @@

- mark_count() + mark_count()

@@ -919,15 +920,15 @@
+
-

+

 basic_regex& operator=(const basic_regex& e);
 

- Effects: Returns the result of assign(e.str(), e.flags()). + Effects: Returns the result of assign(e.str(), e.flags()).

@@ -935,11 +936,11 @@ basic_regex& operator=(const charT* ptr);

- Requires: p shall not + Requires: p shall not be a null pointer.

- Effects: Returns the result of assign(ptr). + Effects: Returns the result of assign(ptr).

@@ -948,7 +949,7 @@ basic_regex& operator=(const basic_string<charT, ST, SA>& p);

- Effects: Returns the result of assign(p). + Effects: Returns the result of assign(p).

@@ -956,7 +957,7 @@ const_iterator begin() const;

- Effects: Returns a starting iterator to + Effects: Returns a starting iterator to a sequence of characters representing the regular expression.

@@ -965,7 +966,7 @@ const_iterator end() const;

- Effects: Returns termination iterator to + Effects: Returns termination iterator to a sequence of characters representing the regular expression.

@@ -974,7 +975,7 @@ size_type size() const;

- Effects: Returns the length of the sequence + Effects: Returns the length of the sequence of characters representing the regular expression.

@@ -983,7 +984,7 @@ size_type max_size() const;

- Effects: Returns the maximum length of the + Effects: Returns the maximum length of the sequence of characters representing the regular expression.

@@ -992,7 +993,7 @@ bool empty() const;

- Effects: Returns true if the object does + Effects: Returns true if the object does not contain a valid regular expression, otherwise false.

@@ -1001,7 +1002,7 @@ unsigned mark_count() const;

- Effects: Returns the number of marked sub-expressions + Effects: Returns the number of marked sub-expressions within the regular expresion.

@@ -1010,7 +1011,7 @@ basic_regex& assign(const basic_regex& that);

- Effects: Returns assign(that.str(), that.flags()). + Effects: Returns assign(that.str(), that.flags()).

@@ -1018,7 +1019,7 @@ basic_regex& assign(const charT* ptr, flag_type f = regex_constants::normal);

- Effects: Returns assign(string_type(ptr), f). + Effects: Returns assign(string_type(ptr), f).

@@ -1026,7 +1027,7 @@ basic_regex& assign(const charT* ptr, unsigned int len, flag_type f);

- Effects: Returns assign(string_type(ptr, len), f). + Effects: Returns assign(string_type(ptr, len), f).

@@ -1036,22 +1037,22 @@ flag_type f = regex_constants::normal);

- Throws: bad_expression if s - is not a valid regular expression, unless the flag no_except + Throws: bad_expression if s + is not a valid regular expression, unless the flag no_except is set in f.

- Returns: *this. + Returns: *this.

- Effects: Assigns the regular expression + Effects: Assigns the regular expression contained in the string s, interpreted according the - option flags specified + option flags specified in f.

-

Table 7. Postconditions for basic_regex::assign

-
+

Table 7. Postconditions for basic_regex::assign

+
@@ -1072,31 +1073,31 @@ -

- empty() + empty()

- false + false

- size() + size()

- s.size() + s.size()

- str() + str()

@@ -1108,7 +1109,7 @@

- flags() + flags()

@@ -1120,7 +1121,7 @@

- mark_count() + mark_count()

@@ -1130,9 +1131,9 @@
+
-

+

 template <class InputIterator>
@@ -1140,12 +1141,12 @@
                     flag_type f = regex_constants::normal);
 

- Requires: The type InputIterator + Requires: The type InputIterator corresponds to the Input Iterator requirements (24.1.1).

- Effects: Returns assign(string_type(first, last), f). + Effects: Returns assign(string_type(first, last), f).

@@ -1153,9 +1154,9 @@ flag_type flags() const;

- Effects: Returns a copy of the regular + Effects: Returns a copy of the regular expression syntax flags that were passed to the object's constructor, - or the last call to assign. + or the last call to assign.

@@ -1163,7 +1164,7 @@ int status() const;

- Effects: Returns zero if the expression + Effects: Returns zero if the expression contains a valid regular expression, otherwise an error code. This member function is retained for use in environments that cannot use exception handling.

@@ -1173,7 +1174,7 @@ basic_string<charT> str() const;

- Effects: Returns a copy of the character + Effects: Returns a copy of the character sequence passed to the object's constructor, or the last call to assign.

@@ -1182,9 +1183,9 @@ int compare(basic_regex& e)const;

- Effects: If flags() == e.flags() then returns str().compare(e.str()), - otherwise returns flags() - - e.flags(). + Effects: If flags() == e.flags() then returns str().compare(e.str()), + otherwise returns flags() + - e.flags().

@@ -1192,14 +1193,14 @@ locale_type imbue(locale_type l);

- Effects: Returns the result of traits_inst.imbue(l) where - traits_inst is a (default - initialized) instance of the template parameter traits - stored within the object. Calls to imbue + Effects: Returns the result of traits_inst.imbue(l) where + traits_inst is a (default + initialized) instance of the template parameter traits + stored within the object. Calls to imbue invalidate any currently contained regular expression.

- Postcondition: empty() == true. + Postcondition: empty() == true.

@@ -1207,8 +1208,8 @@ locale_type getloc() const;

- Effects: Returns the result of traits_inst.getloc() - where traits_inst is a (default + Effects: Returns the result of traits_inst.getloc() + where traits_inst is a (default initialized) instance of the template parameter traits stored within the object.

@@ -1218,28 +1219,28 @@ void swap(basic_regex& e) throw();

- Effects: Swaps the contents of the two regular + Effects: Swaps the contents of the two regular expressions.

- Postcondition: *this contains the regular expression that + Postcondition: *this contains the regular expression that was in e, e contains the regular - expression that was in *this. + expression that was in *this.

- Complexity: constant time. + Complexity: constant time.

-
[Note] Note

- Comparisons between basic_regex objects are provided +

+ Comparisons between basic_regex objects are provided on an experimental basis: please note that these are not present in the Technical Report on C++ Library Extensions, so use with care if you are writing - code that may need to be ported to other implementations of basic_regex. + code that may need to be ported to other implementations of basic_regex.

@@ -1250,8 +1251,8 @@ const basic_regex<charT, traits>& rhs);

- Effects: Returns lhs.compare(rhs) - == 0. + Effects: Returns lhs.compare(rhs) + == 0.

@@ -1261,8 +1262,8 @@ const basic_regex<charT, traits>& rhs);

- Effects: Returns lhs.compare(rhs) - != 0. + Effects: Returns lhs.compare(rhs) + != 0.

@@ -1272,8 +1273,8 @@ const basic_regex<charT, traits>& rhs);

- Effects: Returns lhs.compare(rhs) - < 0. + Effects: Returns lhs.compare(rhs) + < 0.

@@ -1283,8 +1284,8 @@ const basic_regex<charT, traits>& rhs);

- Effects: Returns lhs.compare(rhs) - <= 0. + Effects: Returns lhs.compare(rhs) + <= 0.

@@ -1294,8 +1295,8 @@ const basic_regex<charT, traits>& rhs);

- Effects: Returns lhs.compare(rhs) - >= 0. + Effects: Returns lhs.compare(rhs) + >= 0.

@@ -1305,15 +1306,15 @@ const basic_regex<charT, traits>& rhs);

- Effects: Returns lhs.compare(rhs) - > 0. + Effects: Returns lhs.compare(rhs) + > 0.

- @@ -1327,7 +1328,7 @@ constbasic_regex<charT,re_traits>&e);

- Effects: Returns (os << e.str()). + Effects: Returns (os << e.str()).

@@ -1337,12 +1338,15 @@ basic_regex<charT,traits>&rhs);

- Effects: calls lhs.swap(rhs). + Effects: calls lhs.swap(rhs).

[Note] Note

+

The basic_regex stream inserter is provided on an experimental basis, and outputs the textual representation of the expression to the stream.

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/concepts.html b/doc/html/boost_regex/ref/concepts.html index fe2ea0cb..92dd469b 100644 --- a/doc/html/boost_regex/ref/concepts.html +++ b/doc/html/boost_regex/ref/concepts.html @@ -1,13 +1,13 @@ -Concepts + Concepts - + - - - + + + @@ -24,8 +24,7 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/concepts/charT_concept.html b/doc/html/boost_regex/ref/concepts/charT_concept.html index 5deae2df..b4a51491 100644 --- a/doc/html/boost_regex/ref/concepts/charT_concept.html +++ b/doc/html/boost_regex/ref/concepts/charT_concept.html @@ -1,13 +1,14 @@ -charT Requirements + charT Requirements - + - - - + + + @@ -24,17 +25,16 @@

- Type charT used a template - argument to class template basic_regex, must have a trivial + Type charT used a template + argument to class template basic_regex, must have a trivial default constructor, copy constructor, assignment operator, and destructor. In addition the following requirements must be met for objects; c - of type charT, c1 - and c2 of type charT - const, and i - of type int: + of type charT, c1 + and c2 of type charT + const, and i + of type int:

@@ -258,7 +258,10 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/concepts/iterator_concepts.html b/doc/html/boost_regex/ref/concepts/iterator_concepts.html index f65480a8..8e117a29 100644 --- a/doc/html/boost_regex/ref/concepts/iterator_concepts.html +++ b/doc/html/boost_regex/ref/concepts/iterator_concepts.html @@ -1,12 +1,14 @@ -Iterator Rrequirements + Iterator + Rrequirements - + - - + + @@ -24,16 +26,19 @@

The regular expression algorithms (and iterators) take all require a Bidirectional-Iterator.

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/concepts/traits_concept.html b/doc/html/boost_regex/ref/concepts/traits_concept.html index d791f879..5a634cad 100644 --- a/doc/html/boost_regex/ref/concepts/traits_concept.html +++ b/doc/html/boost_regex/ref/concepts/traits_concept.html @@ -1,13 +1,15 @@ -Traits Class Requirements + Traits Class + Requirements - + - - - + + + @@ -24,37 +26,37 @@

- There are two sets of requirements for the traits - template argument to basic_regex: a mininal interface + There are two sets of requirements for the traits + template argument to basic_regex: a mininal interface (which is part of the regex standardization proposal), and an optional Boost-specific enhanced interface.

-
- +

+ Minimal requirements. -

+

- In the following table X + In the following table X denotes a traits class defining types and functions for the character container - type charT; u - is an object of type X; - v is an object of type const - X; p is - a value of type const charT*; I1 and I2 - are Input Iterators; c is a value of type const charT; - s is an object of type X::string_type; - cs is an object of type const - X::string_type; b is - a value of type bool; I - is a value of type int; F1 - and F2 are values of type const - charT*; - and loc is an object of type X::locale_type. + type charT; u + is an object of type X; + v is an object of type const + X; p is + a value of type const charT*; I1 and I2 + are Input Iterators; c is a value of type const charT; + s is an object of type X::string_type; + cs is an object of type const + X::string_type; b is + a value of type bool; I + is a value of type int; F1 + and F2 are values of type const + charT*; + and loc is an object of type X::locale_type.

@@ -400,17 +402,17 @@
-
- +

+ Additional Optional Requirements -

+

The following additional requirements are strictly optional, however in - order for basic_regex + order for basic_regex to take advantage of these additional interfaces, all of the following - requirements must be met; basic_regex will detect the presence - or absense of the member boost_extensions_tag + requirements must be met; basic_regex will detect the presence + or absense of the member boost_extensions_tag and configure itself appropriately.

@@ -491,8 +493,8 @@ that signifies the meaning of character c within the regular expression grammar, when c has been preceded by an escape character. Precondition: if b is the character preceding c in the expression being parsed - then: v.syntax_type(b) - == syntax_escape + then: v.syntax_type(b) + == syntax_escape

@@ -510,9 +512,9 @@ @@ -529,9 +531,9 @@ @@ -336,17 +338,17 @@ @@ -354,19 +356,19 @@ @@ -513,20 +515,20 @@ @@ -551,20 +553,20 @@ @@ -586,20 +588,20 @@ @@ -623,14 +625,14 @@

Returns a character d such that: for any character d that is to - be considered equivalent to c then v.translate(c,false)==v.translate(d,false). Likewise for all characters C + be considered equivalent to c then v.translate(c,false)==v.translate(d,false). Likewise for all characters C that are to be considered equivalent to c when comparisons are - to be performed without regard to case, then v.translate(c,true)==v.translate(C,true). + to be performed without regard to case, then v.translate(c,true)==v.translate(C,true).

- Behaves as follows: if p - == q - or if *p + Behaves as follows: if p + == q + or if *p is not a digit character then returns -1. Otherwise performs formatted numeric input on the sequence [p,q) and returns the result as an int. Postcondition: either p == q or *p is a non-digit character. @@ -599,7 +601,10 @@ - +
Copyright © 2007 John Maddock


diff --git a/doc/html/boost_regex/ref/deprecated_interfaces.html b/doc/html/boost_regex/ref/deprecated_interfaces.html index 07045e17..7d3f52f1 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces.html @@ -3,11 +3,13 @@ Deprecated Interfaces - + - - - + + + @@ -24,8 +26,7 @@
regex_format (Deprecated)
@@ -47,7 +48,10 @@
- +
Copyright © 2007 John Maddock

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 ba37fb11..ea155135 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html @@ -1,12 +1,14 @@ -High Level Class RegEx (Deprecated) + High + Level Class RegEx (Deprecated) - + - + @@ -24,9 +26,9 @@

The high level wrapper class RegEx is now deprecated and does not form part of the regular expression standardization proposal. This type still @@ -136,7 +138,7 @@

- RegEx(); + RegEx();

@@ -149,7 +151,7 @@

- RegEx(const RegEx& o); + RegEx(const RegEx& o);

@@ -162,40 +164,40 @@

- RegEx(const char* c, bool + RegEx(const char* c, bool icase = - false); + false);

Constructs an instance of RegEx, setting the expression to c, if icase is true then matching is insensitive - to case, otherwise it is sensitive to case. Throws bad_expression on failure. + to case, otherwise it is sensitive to case. Throws bad_expression on failure.

- RegEx(const std::string& s, bool + RegEx(const std::string& s, bool icase = - false); + false);

Constructs an instance of RegEx, setting the expression to s, if icase is true then matching is insensitive - to case, otherwise it is sensitive to case. Throws bad_expression on failure. + to case, otherwise it is sensitive to case. Throws bad_expression on failure.

- RegEx& - operator=(const RegEx& o); + RegEx& + operator=(const RegEx& o);

@@ -207,68 +209,68 @@

- RegEx& - operator=(const char* p); + RegEx& + operator=(const char* p);

- Assignment operator, equivalent to calling SetExpression(p, false). Throws bad_expression on failure. + Assignment operator, equivalent to calling SetExpression(p, false). Throws bad_expression on failure.

- RegEx& - operator=(const std::string& s); + RegEx& + operator=(const std::string& s);

- Assignment operator, equivalent to calling SetExpression(s, false). Throws bad_expression on failure. + Assignment operator, equivalent to calling SetExpression(s, false). Throws bad_expression on failure.

- unsigned int + unsigned int SetExpression(constchar* p, bool icase - = false); + = false);

Sets the current expression to p, if icase is true then matching is insensitive to case, otherwise it is sensitive - to case. Throws bad_expression on failure. + to case. Throws bad_expression on failure.

- unsigned int + unsigned int SetExpression(const std::string& s, bool icase = - false); + false);

Sets the current expression to s, if icase is true then matching is insensitive to case, otherwise it is sensitive - to case. Throws bad_expression on failure. + to case. Throws bad_expression on failure.

- std::string Expression()const; + std::string Expression()const;

@@ -280,17 +282,17 @@

- bool Match(const + bool Match(const char* p, boost::match_flag_type flags - = match_default); + = match_default);

Attempts to match the current expression against the text p - using the match flags flags - see match_flag_type. Returns + using the match flags flags - see match_flag_type. Returns true if the expression matches the whole of the input string.

@@ -299,17 +301,17 @@

- bool Match(const + bool Match(const std::string& s, boost::match_flag_type flags - = match_default); + = match_default);

Attempts to match the current expression against the text s - using the match_flag_type flags. + using the match_flag_type flags. Returns true if the expression matches the whole of the input string.

@@ -318,17 +320,17 @@

- bool Search(const + bool Search(const char* p, boost::match_flag_type flags - = match_default); + = match_default);

Attempts to find a match for the current expression somewhere in - the text p using the match_flag_type flags. + the text p using the match_flag_type flags. Returns true if the match succeeds.

- bool Search(const + bool Search(const std::string& s, boost::match_flag_type flags - = match_default); + = match_default);

Attempts to find a match for the current expression somewhere in - the text s using the match_flag_type flags. + the text s using the match_flag_type flags. Returns true if the match succeeds.

- unsigned int + unsigned int Grep(GrepCallback cb, const char* p, boost::match_flag_type flags - = match_default); + = match_default);

Finds all matches of the current expression in the text p - using the match_flag_type flags. - For each match found calls the call-back function cb as: cb(*this); + using the match_flag_type flags. + For each match found calls the call-back function cb as: cb(*this); If at any stage the call-back function returns false then the grep operation terminates, otherwise continues until no further matches are found. Returns the number of matches found. @@ -376,19 +378,19 @@

- unsigned int + unsigned int Grep(GrepCallback cb, const std::string& s, boost::match_flag_type flags - = match_default); + = match_default);

Finds all matches of the current expression in the text s - using the match_flag_type flags. - For each match found calls the call-back function cb as: cb(*this); + using the match_flag_type flags. + For each match found calls the call-back function cb as: cb(*this); If at any stage the call-back function returns false then the grep operation terminates, otherwise continues until no further matches are found. Returns the number of matches found. @@ -398,18 +400,18 @@

- unsigned int + unsigned int Grep(std::vector<std::string>& v, const char* p, boost::match_flag_type flags = - match_default); + match_default);

Finds all matches of the current expression in the text p - using the match_flag_type flags. + using the match_flag_type flags. For each match pushes a copy of what matched onto v. Returns the number of matches found.

@@ -418,18 +420,18 @@

- unsigned int + unsigned int Grep(std::vector<std::string>& v, const std::string& s, boost::match_flag_type flags = - match_default); + match_default);

Finds all matches of the current expression in the text s - using the match_flag_type flags. + using the match_flag_type flags. For each match pushes a copy of what matched onto v. Returns the number of matches found.

@@ -438,18 +440,18 @@

- unsigned int + unsigned int Grep(std::vector<unsigned int>& v, const char* p, boost::match_flag_type flags - = match_default); + = match_default);

Finds all matches of the current expression in the text p - using the match_flag_type flags. + using the match_flag_type flags. For each match pushes the starting index of what matched onto v. Returns the number of matches found.

@@ -458,18 +460,18 @@

- unsigned int + unsigned int Grep(std::vector<unsigned int>& v, const std::string& s, boost::match_flag_type flags - = match_default); + = match_default);

Finds all matches of the current expression in the text s - using the match_flag_type flags. + using the match_flag_type flags. For each match pushes the starting index of what matched onto v. Returns the number of matches found.

@@ -478,20 +480,20 @@

- unsigned int + unsigned int GrepFiles(GrepFileCallback cb, const char* files, bool recurse = false, boost::match_flag_type flags = - match_default); + match_default);

Finds all matches of the current expression in the files files - using the match_flag_type flags. + using the match_flag_type flags. For each match calls the call-back function cb. If the call-back returns false then the algorithm returns without considering further matches in the current file, or any further files. @@ -505,7 +507,7 @@ Returns the total number of matches found.

- May throw an exception derived from std::runtime_error + May throw an exception derived from std::runtime_error if file io fails.

- unsigned int + unsigned int GrepFiles(GrepFileCallback cb, const std::string& files, bool recurse = false, boost::match_flag_type flags = - match_default); + match_default);

Finds all matches of the current expression in the files files - using the match_flag_type flags. + using the match_flag_type flags. For each match calls the call-back function cb.

@@ -543,7 +545,7 @@ Returns the total number of matches found.

- May throw an exception derived from std::runtime_error + May throw an exception derived from std::runtime_error if file io fails.

- unsigned int + unsigned int FindFiles(FindFilesCallback cb, const char* files, bool recurse = false, boost::match_flag_type flags = - match_default); + match_default);

Searches files to find all those which contain at least one match - of the current expression using the match_flag_type flags. + of the current expression using the match_flag_type flags. For each matching file calls the call-back function cb. If the call-back returns false then the algorithm returns without considering any further files. @@ -578,7 +580,7 @@ Returns the total number of files found.

- May throw an exception derived from std::runtime_error + May throw an exception derived from std::runtime_error if file io fails.

- unsigned int + unsigned int FindFiles(FindFilesCallback cb, const std::string& files, bool recurse = false, boost::match_flag_type flags = - match_default); + match_default);

Searches files to find all those which contain at least one match - of the current expression using the match_flag_type flags. + of the current expression using the match_flag_type flags. For each matching file calls the call-back function cb.

@@ -615,7 +617,7 @@ Returns the total number of files found.

- May throw an exception derived from std::runtime_error + May throw an exception derived from std::runtime_error if file io fails.

- std::string Merge(const + std::string Merge(const std::string& in, const std::string& fmt, bool copy = true, boost::match_flag_type flags - = match_default); + = match_default);

@@ -643,22 +645,22 @@ If copy is true then all unmatched sections of input are copied unchanged to output, if the flag format_first_only is set then only the first occurance of the pattern found is replaced. - Returns the new string. See also format - string syntax, and match_flag_type. + Returns the new string. See also format + string syntax, and match_flag_type.

- std::string Merge(const + std::string Merge(const char* in, const char* fmt, bool copy = true, boost::match_flag_type flags - = match_default); + = match_default);

@@ -671,19 +673,19 @@ If copy is true then all unmatched sections of input are copied unchanged to output, if the flag format_first_only is set then only the first occurance of the pattern found is replaced. - Returns the new string. See also format - string syntax, and match_flag_type. + Returns the new string. See also format + string syntax, and match_flag_type.

- unsigned Split(std::vector<std::string>& v, std::string& s, boost::match_flag_type + unsigned Split(std::vector<std::string>& v, std::string& s, boost::match_flag_type flags = match_default, unsigned max_count - = ~0); + = ~0);

@@ -704,17 +706,17 @@

- unsigned int + unsigned int Position(int i - = 0)const; + = 0)const;

Returns the position of what matched sub-expression i. - If i = - 0 then returns the position - of the whole match. Returns RegEx::npos + If i = + 0 then returns the position + of the whole match. Returns RegEx::npos if the supplied index is invalid, or if the specified sub-expression did not participate in the match.

@@ -723,16 +725,16 @@

- unsigned int + unsigned int Length(int i - = 0)const; + = 0)const;

- Returns the length of what matched sub-expression i. If i = - 0 then returns the length - of the whole match. Returns RegEx::npos + Returns the length of what matched sub-expression i. If i = + 0 then returns the length + of the whole match. Returns RegEx::npos if the supplied index is invalid, or if the specified sub-expression did not participate in the match.

@@ -741,8 +743,8 @@

- bool Matched(int i = - 0)const; + bool Matched(int i = + 0)const;

@@ -755,23 +757,23 @@

- unsigned int - Line()const; + unsigned int + Line()const;

Returns the line on which the match occurred, indexes start from - 1 not zero, if no match occurred then returns RegEx::npos. + 1 not zero, if no match occurred then returns RegEx::npos.

- unsigned int + unsigned int Marks() - const; + const;

@@ -785,14 +787,14 @@

- std::string What(int i)const; + std::string What(int i)const;

Returns a copy of what matched sub-expression i. - If i = - 0 then returns a copy of + If i = + 0 then returns a copy of the whole match. Returns a null string if the index is invalid or if the specified sub-expression did not participate in a match.

@@ -801,13 +803,13 @@

- std::string operator[](int - i)const ; + std::string operator[](int + i)const ;

- Returns what(i); + Returns what(i); Can be used to simplify access to sub-expression matches, and make usage more perl-like.

@@ -818,7 +820,10 @@ - +
Copyright © 2007 John Maddock

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 28ef42c8..559d3a9e 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html @@ -1,13 +1,15 @@ -regex_format (Deprecated) + + regex_format (Deprecated) - + - + @@ -24,27 +26,27 @@

- The algorithm regex_format - is deprecated; new code should use match_results<>::format instead. Existing code + The algorithm regex_format + is deprecated; new code should use match_results<>::format instead. Existing code will continue to compile, the following documentation is taken from the previous version of Boost.Regex and will not be further updated:

-
- +

+ Algorithm regex_format -

+
 #include <boost/regex.hpp>
 

- The algorithm regex_format + The algorithm regex_format takes the results of a match and creates a new string based upon a format - string, regex_format can + string, regex_format can be used for search and replace operations:

@@ -60,7 +62,7 @@
                            match_flag_type flags = 0);
 

- The library also defines the following convenience variation of regex_format, which returns the result + The library also defines the following convenience variation of regex_format, which returns the result directly as a string, rather than outputting to an iterator.

@@ -68,7 +70,7 @@ - @@ -110,7 +112,7 @@ @@ -136,7 +138,7 @@
[Note] Note

+

This version may not be available, or may be available in a more limited form, depending upon your compilers capabilities

- OutputIterator out + OutputIterator out

@@ -123,12 +125,12 @@

- const match_results<iterator, Allocator>& m + const match_results<iterator, Allocator>& m

- An instance of match_results obtained + An instance of match_results obtained from one of the matching algorithms above, and denoting what matched.

- const charT* fmt + const charT* fmt

@@ -149,7 +151,7 @@

- unsigned flags + unsigned flags

@@ -161,16 +163,19 @@

- Format flags are described under match_flag_type. + Format flags are described under match_flag_type.

The format string syntax (and available options) is described more fully - under format strings. + under format strings.

- +
Copyright © 2007 John Maddock

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 33fd7e4e..13d2a5bf 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html @@ -1,13 +1,16 @@ -regex_grep (Deprecated) + + regex_grep (Deprecated) - + - - + + @@ -24,12 +27,12 @@

- The algorithm regex_grep - is deprecated in favor of regex_iterator which provides + The algorithm regex_grep + is deprecated in favor of regex_iterator which provides a more convenient and standard library friendly interface.

@@ -40,7 +43,7 @@ #include <boost/regex.hpp>

- regex_grep allows you to + regex_grep allows you to search through a bidirectional-iterator range and locate all the (non-overlapping) matches with a given regular expression. The function is declared as:

@@ -54,8 +57,8 @@

The library also defines the following convenience versions, which take - either a const charT*, or a const - std::basic_string<>& + either a const charT*, or a const + std::basic_string<>& in place of a pair of iterators.

@@ -72,7 +75,7 @@
             boost::match_flag_type flags = match_default);
 

- The parameters for the primary version of regex_grep + The parameters for the primary version of regex_grep have the following meanings:

@@ -94,9 +97,9 @@

The algorithm finds all of the non-overlapping matches of the expression - e, for each match it fills a match_results<iterator> structure, which contains information + e, for each match it fills a match_results<iterator> structure, which contains information on what matched, and calls the predicate foo, passing - the match_results<iterator> + the match_results<iterator> as a single argument. If the predicate returns true, then the grep operation continues, otherwise it terminates without searching for further matches. The function returns the number of matches found. @@ -120,12 +123,12 @@ utilities would output the results to the screen, another program could index a file based on a regular expression and store a set of bookmarks in a list, or a text file conversion utility would output to file. The - results of one regex_grep - can even be chained into another regex_grep + results of one regex_grep + can even be chained into another regex_grep to create recursive parsers.

- The algorithm may throw std::runtime_error + The algorithm may throw std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured @@ -133,7 +136,7 @@ (if Boost.Regex is configured in non-recursive mode).

- Example: convert the example from regex_search to use regex_grep instead: + Example: convert the example from regex_search to use regex_grep instead:

 #include <string> 
@@ -195,7 +198,7 @@
 }
 

- Example: Use regex_grep + Example: Use regex_grep to call a global callback function:

@@ -255,8 +258,8 @@
 }
 

- Example: use regex_grep - to call a class member function, use the standard library adapters std::mem_fun and std::bind1st + Example: use regex_grep + to call a class member function, use the standard library adapters std::mem_fun and std::bind1st to convert the member function into a predicate:

@@ -370,7 +373,10 @@
 
 
- +
Copyright © 2007 John Maddock

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 dd07bf04..ce02c4a1 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html @@ -1,13 +1,16 @@ -regex_split (deprecated) + + regex_split (deprecated) - + - - + + @@ -24,24 +27,27 @@

- The algorithm regex_split has been deprecated - in favor of the iterator regex_token_iterator which has + The algorithm regex_split has been deprecated + in favor of the iterator regex_token_iterator which has a more flexible and powerful interface, as well as following the more usual standard library "pull" rather than "push" semantics.

- Code which uses regex_split will continue to compile, + Code which uses regex_split will continue to compile, the following documentation is taken from a previous Boost.Regex version:

 #include <boost/regex.hpp> 
 

- Algorithm regex_split performs a similar + Algorithm regex_split performs a similar operation to the perl split operation, and comes in three overloaded forms:

@@ -63,7 +69,7 @@
                         std::basic_string<charT, Traits1, Alloc1>& s);
 

- Effects: Each version of the algorithm + Effects: Each version of the algorithm takes an output-iterator for output, and a string for input. If the expression contains no marked sub-expressions, then the algorithm writes one string onto the output-iterator for each section of input that does not match @@ -74,11 +80,11 @@ processed will be deleted from the string s (if max_split is not reached then all of s will be deleted). Returns the number of strings written to the output-iterator. If the parameter - max_split is not specified then it defaults to UINT_MAX. If no expression is specified, + max_split is not specified then it defaults to UINT_MAX. If no expression is specified, then it defaults to "\s+", and splitting occurs on whitespace.

- Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), @@ -86,7 +92,7 @@ is configured in non-recursive mode).

- Example: the following function will split + Example: the following function will split the input string into a series of tokens, and remove each token from the string s:

@@ -153,7 +159,10 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/error_type.html b/doc/html/boost_regex/ref/error_type.html index d2deb78b..b362c115 100644 --- a/doc/html/boost_regex/ref/error_type.html +++ b/doc/html/boost_regex/ref/error_type.html @@ -1,13 +1,13 @@ -error_type + error_type - + - - - + + + @@ -24,12 +24,11 @@ +

+ Synopsis -

+

Type error type represents the different types of errors that can be raised by the library when parsing a regular expression. @@ -57,12 +56,12 @@ } // namespace regex_constants } // namespace boost -

- +

+ Description -

+

- The type error_type is an + The type error_type is an implementation-specific enumeration type that may take one of the following values:

@@ -258,7 +257,10 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/match_flag_type.html b/doc/html/boost_regex/ref/match_flag_type.html index e0ebccba..bf5a7e95 100644 --- a/doc/html/boost_regex/ref/match_flag_type.html +++ b/doc/html/boost_regex/ref/match_flag_type.html @@ -1,13 +1,14 @@ -match_flag_type + match_flag_type - + - - - + + + @@ -24,13 +25,12 @@

- The type match_flag_type + The type match_flag_type is an implementation specific bitmask type (see C++ std 17.3.2.1.2) that controls how a regular expression is matched against a character sequence. - The behavior of the format flags is described in more detail in the format syntax guide. + The behavior of the format flags is described in more detail in the format syntax guide.

 namespace boost{ namespace regex_constants{
@@ -69,12 +69,12 @@
 } // namespace regex_constants
 } // namespace boost
 
-
- +

+ Description -

+

- The type match_flag_type + The type match_flag_type is an implementation specific bitmask type (see C++ std 17.3.2.1.2). When matching a regular expression against a sequence of characters [first, last) then setting its elements has the effects listed in the table below: @@ -328,7 +328,8 @@

@@ -414,7 +415,7 @@ @@ -442,7 +443,8 @@ @@ -479,7 +481,10 @@

Specifies that the expression should be matched according to the - POSIX leftmost-longest + POSIX leftmost-longest rule, regardless of what kind of expression was compiled. Be warned that these rules do not work well with many Perl-specific features such as non-greedy repeats. @@ -359,7 +360,7 @@

Makes the expression behave as if it had no marked subexpressions, - no matter how many capturing groups are actually present. The match_results + no matter how many capturing groups are actually present. The match_results class will only contain information about the overall match, and not any sub-expressions.

@@ -379,7 +380,7 @@ Specification, Chapter 15 part 5.4.11 String.prototype.replace. (FWD.1).

- This is functionally identical to the Perl + This is functionally identical to the Perl format string rules.

@@ -401,7 +402,7 @@ Specifies that when a regular expression match is to be replaced by a new string, that the new string is constructed using the rules used by the Unix sed utility in IEEE Std 1003.1-2001, Portable Operating - SystemInterface (POSIX ), Shells and Utilities. See also the Sed Format string reference. + SystemInterface (POSIX ), Shells and Utilities. See also the Sed Format string reference.

Specifies that when a regular expression match is to be replaced - by a new string, that the new string is constructed using the + by a new string, that the new string is constructed using the same rules as Perl 5.

Specifies that all syntax extensions are enabled, including conditional - (?ddexpression1:expression2) replacements: see the format + (?ddexpression1:expression2) replacements: see the format string guide for more details.

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/match_results.html b/doc/html/boost_regex/ref/match_results.html index 086ba614..2e6fca10 100644 --- a/doc/html/boost_regex/ref/match_results.html +++ b/doc/html/boost_regex/ref/match_results.html @@ -1,13 +1,13 @@ -match_results + match_results - + - - - + + + @@ -24,12 +24,11 @@ +

+ Synopsis -

+
 #include <boost/regex.hpp>
 
@@ -38,29 +37,29 @@ in that as well as finding an overall match they can also produce sub-expression matches: each sub-expression being delimited in the pattern by a pair of parenthesis (...). There has to be some method for reporting sub-expression - matches back to the user: this is achieved this by defining a class match_results that acts as an indexed collection + matches back to the user: this is achieved this by defining a class match_results that acts as an indexed collection of sub-expression matches, each sub-expression match being contained in an - object of type sub_match. + object of type sub_match.

- Template class match_results + Template class match_results denotes a collection of character sequences representing the result of a - regular expression match. Objects of type match_results - are passed to the algorithms regex_match and regex_search, and are returned by - the iterator regex_iterator. Storage for the + regular expression match. Objects of type match_results + are passed to the algorithms regex_match and regex_search, and are returned by + the iterator regex_iterator. Storage for the collection is allocated and freed as necessary by the member functions of - class match_results. + class match_results.

- The template class match_results + The template class match_results conforms to the requirements of a Sequence, as specified in (lib.sequence.reqmts), except that only operations defined for const-qualified Sequences are supported.

- Class template match_results - is most commonly used as one of the typedefs cmatch, - wcmatch, smatch, - or wsmatch: + Class template match_results + is most commonly used as one of the typedefs cmatch, + wcmatch, smatch, + or wsmatch:

 template <class BidirectionalIterator,
@@ -143,12 +142,12 @@
 void swap(match_results<BidirectionalIterator, Allocator>& m1,
          match_results<BidirectionalIterator, Allocator>& m2);
 
-
- +

+ Description -

+

- In all match_results constructors, + In all match_results constructors, a copy of the Allocator argument is used for any memory allocation performed by the constructor or member functions during the lifetime of the object.

@@ -158,8 +157,8 @@ match_results(constAllocator&a=Allocator());

- Effects: Constructs an object of class - match_results. The postconditions + Effects: Constructs an object of class + match_results. The postconditions of this function are indicated in the table:

@@ -224,7 +223,7 @@ match_results(constmatch_results&m);

- Effects: Constructs an object of class match_results, + Effects: Constructs an object of class match_results, as a copy of m.

@@ -233,7 +232,7 @@ match_results& operator=(const match_results& m);

- Effects: Assigns m to *this. The postconditions + Effects: Assigns m to *this. The postconditions of this function are indicated in the table:

@@ -358,7 +357,7 @@ size_typesize()const;

- Effects: Returns the number of sub_match elements stored in *this; + Effects: Returns the number of sub_match elements stored in *this; that is the number of marked sub-expressions in the regular expression that was matched plus one.

@@ -368,8 +367,8 @@ size_typemax_size()const;

- Effects: Returns the maximum number of - sub_match + Effects: Returns the maximum number of + sub_match elements that can be stored in *this.

@@ -378,7 +377,7 @@ bool empty()const;

- Effects: Returns size() == 0. + Effects: Returns size() == 0.

@@ -386,8 +385,8 @@ difference_typelength(intsub=0)const;

- Effects: Returns the length of sub-expression - sub, that is to say: (*this)[sub].length(). + Effects: Returns the length of sub-expression + sub, that is to say: (*this)[sub].length().

@@ -395,10 +394,10 @@ difference_typeposition(unsignedintsub=0)const;

- Effects: Returns the starting location of + Effects: Returns the starting location of sub-expression sub, or -1 if sub - was not matched. Note that if this represents a partial match , then position() - will return the location of the partial match even though (*this)[0].matched + was not matched. Note that if this represents a partial match , then position() + will return the location of the partial match even though (*this)[0].matched is false.

@@ -407,8 +406,8 @@ string_type str(int sub = 0)const;

- Effects: Returns sub-expression sub - as a string: string_type((*this)[sub]). + Effects: Returns sub-expression sub + as a string: string_type((*this)[sub]).

@@ -416,13 +415,13 @@ const_referenceoperator[](intn)const;

- Effects: Returns a reference to the sub_match + Effects: Returns a reference to the sub_match object representing the character sequence that matched marked sub-expression - n. If n == 0 then returns - a reference to a sub_match object representing the + n. If n == 0 then returns + a reference to a sub_match object representing the character sequence that matched the whole regular expression. If n is out of range, or if n is an unmatched sub-expression, - then returns a sub_match + then returns a sub_match object whose matched member is false.

@@ -431,7 +430,7 @@ const_reference prefix()const;

- Effects: Returns a reference to the sub_match + Effects: Returns a reference to the sub_match object representing the character sequence from the start of the string being matched or searched, to the start of the match found.

@@ -441,7 +440,7 @@ const_referencesuffix()const;

- Effects: Returns a reference to the sub_match + Effects: Returns a reference to the sub_match object representing the character sequence from the end of the match found to the end of the string being matched or searched.

@@ -451,7 +450,7 @@ const_iteratorbegin()const;

- Effects: Returns a starting iterator that + Effects: Returns a starting iterator that enumerates over all the marked sub-expression matches stored in *this.

@@ -460,7 +459,7 @@ const_iterator end()const;

- Effects: Returns a terminating iterator + Effects: Returns a terminating iterator that enumerates over all the marked sub-expression matches stored in *this.

@@ -472,25 +471,25 @@ match_flag_type flags = format_default);

- Requires: The type OutputIterator + Requires: The type OutputIterator conforms to the Output Iterator requirements (C++ std 24.1.2).

- Effects: Copies the character sequence - [fmt.begin(), fmt.end()) - to OutputIterator out. + Effects: Copies the character sequence + [fmt.begin(), fmt.end()) + to OutputIterator out. For each format specifier or escape sequence in fmt, replace that sequence with either the character(s) it represents, or the - sequence of characters within *this to which it refers. The bitmasks specified + sequence of characters within *this to which it refers. The bitmasks specified in flags determines what format specifiers or escape sequences are recognized, by default this is the format used by ECMA-262, ECMAScript Language Specification, Chapter 15 part 5.4.11 String.prototype.replace.

- See the format syntax guide for more information. + See the format syntax guide for more information.

- Returns: out. + Returns: out.

@@ -499,16 +498,16 @@ match_flag_typeflags=format_default);

- Effects: Returns a copy of the string fmt. + Effects: Returns a copy of the string fmt. For each format specifier or escape sequence in fmt, replace that sequence with either the character(s) it represents, or the - sequence of characters within *this to which it refers. The bitmasks specified + sequence of characters within *this to which it refers. The bitmasks specified in flags determines what format specifiers or escape sequences are recognized, by default this is the format used by ECMA-262, ECMAScript Language Specification, Chapter 15 part 5.4.11 String.prototype.replace.

- See the format syntax guide for more information. + See the format syntax guide for more information.

@@ -516,7 +515,7 @@ allocator_typeget_allocator()const;

- Effects: Returns a copy of the Allocator + Effects: Returns a copy of the Allocator that was passed to the object's constructor.

@@ -525,15 +524,15 @@ void swap(match_results& that);

- Effects: Swaps the contents of the two sequences. + Effects: Swaps the contents of the two sequences.

- Postcondition: *this contains the sequence + Postcondition: *this contains the sequence of matched sub-expressions that were in that, that contains the sequence of matched sub-expressions that were in *this.

- Complexity: constant time. + Complexity: constant time.

@@ -543,7 +542,7 @@

Defines an implementation-specific type that satisfies the requirements of a standard library Sequence (21.1.1 including the optional Table 68 operations), - whose value_type is a sub_match<BidirectionalIterator>. This type happens to be std::vector<sub_match<BidirectionalIterator> >, + whose value_type is a sub_match<BidirectionalIterator>. This type happens to be std::vector<sub_match<BidirectionalIterator> >, but you shouldn't actually rely on that.

@@ -552,20 +551,20 @@ const capture_sequence_type& captures(std::size_t i)const;

- Effects: returns a sequence containing all + Effects: returns a sequence containing all the captures obtained for sub-expression i.

- Returns: (*this)[i].captures(); + Returns: (*this)[i].captures();

- Preconditions: the library must be built + Preconditions: the library must be built and used with BOOST_REGEX_MATCH_EXTRA defined, and you must pass the flag - match_extra to the regex matching functions ( regex_match, regex_search, regex_iterator or regex_token_iterator) in order for + match_extra to the regex matching functions ( regex_match, regex_search, regex_iterator or regex_token_iterator) in order for this member function to be defined and return useful information.

- Rationale: Enabling this feature has several + Rationale: Enabling this feature has several consequences:

    @@ -591,7 +590,7 @@ const match_results<BidirectionalIterator, Allocator>& m2);

    - Effects: Compares the two sequences for + Effects: Compares the two sequences for equality.

    @@ -602,7 +601,7 @@ const match_results<BidirectionalIterator, Allocator>& m2);

    - Effects: Compares the two sequences for + Effects: Compares the two sequences for inequality.

    @@ -614,9 +613,9 @@ const match_results<BidirectionalIterator, Allocator>& m);

    - Effects: Writes the contents of m - to the stream os as if by calling os - << m.str(); + Effects: Writes the contents of m + to the stream os as if by calling os + << m.str(); Returns os.

    @@ -627,12 +626,15 @@ match_results<BidirectionalIterator, Allocator>& m2);

    - Effects: Swaps the contents of the two sequences. + Effects: Swaps the contents of the two sequences.

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/non_std_strings.html b/doc/html/boost_regex/ref/non_std_strings.html index 62ad63d5..5d2f434d 100644 --- a/doc/html/boost_regex/ref/non_std_strings.html +++ b/doc/html/boost_regex/ref/non_std_strings.html @@ -1,13 +1,15 @@ -Interfacing With Non-Standard String Types + Interfacing With Non-Standard + String Types - + - - - + + + @@ -24,9 +26,9 @@
- +
Copyright © 2007 John Maddock

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 337c084b..83799cc1 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu.html @@ -1,13 +1,17 @@ -Working With Unicode and ICU String Types + Working With + Unicode and ICU String Types - + - - - + + + @@ -24,9 +28,9 @@
- +
Copyright © 2007 John Maddock

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 5e719f6f..87fe0850 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 @@ -1,13 +1,17 @@ -Introduction to using Regex with ICU + Introduction + to using Regex with ICU - + - - - + + + @@ -24,9 +28,9 @@

The header:

@@ -63,7 +67,10 @@
- +
Copyright © 2007 John Maddock

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 0691e820..5d4ae06e 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 @@ -1,13 +1,17 @@ -Unicode Regular Expression Algorithms + + Unicode Regular Expression Algorithms - + - - - + + + @@ -24,33 +28,33 @@

- The regular expression algorithms regex_match, regex_search and regex_replace all expect that + The regular expression algorithms regex_match, regex_search and regex_replace all expect that the character sequence upon which they operate, is encoded in the same character encoding as the regular expression object with which they are used. For Unicode regular expressions that behavior is undesirable: while we may want to process the data in UTF-32 "chunks", the actual data is much more likely to encoded as either UTF-8 or UTF-16. Therefore the header <boost/regex/icu.hpp> provides a series of thin wrappers - around these algorithms, called u32regex_match, - u32regex_search, and - u32regex_replace. These + around these algorithms, called u32regex_match, + u32regex_search, and + u32regex_replace. These wrappers use iterator-adapters internally to make external UTF-8 or UTF-16 data look as though it's really a UTF-32 sequence, that can then be passed on to the "real" algorithm.

-
- +

+ u32regex_match -

+

- For each regex_match - algorithm defined by <boost/regex.hpp>, - then <boost/regex/icu.hpp> defines an overloaded algorithm that - takes the same arguments, but which is called u32regex_match, + For each regex_match + algorithm defined by <boost/regex.hpp>, + then <boost/regex/icu.hpp> defines an overloaded algorithm that + takes the same arguments, but which is called u32regex_match, and which will accept UTF-8, UTF-16 or UTF-32 encoded data, as well as an ICU UnicodeString as input.

@@ -90,15 +94,15 @@ }} -
- +

+ u32regex_search -

+

- For each regex_search - algorithm defined by <boost/regex.hpp>, - then <boost/regex/icu.hpp> defines an overloaded algorithm that - takes the same arguments, but which is called u32regex_search, + For each regex_search + algorithm defined by <boost/regex.hpp>, + then <boost/regex/icu.hpp> defines an overloaded algorithm that + takes the same arguments, but which is called u32regex_search, and which will accept UTF-8, UTF-16 or UTF-32 encoded data, as well as an ICU UnicodeString as input.

@@ -130,15 +134,15 @@ }} -
- +

+ u32regex_replace -

+

- For each regex_replace algorithm defined - by <boost/regex.hpp>, then <boost/regex/icu.hpp> + For each regex_replace algorithm defined + by <boost/regex.hpp>, then <boost/regex/icu.hpp> defines an overloaded algorithm that takes the same arguments, but which - is called u32regex_replace, + is called u32regex_replace, and which will accept UTF-8, UTF-16 or UTF-32 encoded data, as well as an ICU UnicodeString as input. The input sequence and the format string specifier passed to the algorithm, can be encoded independently (for @@ -170,7 +174,10 @@

- +
Copyright © 2007 John Maddock

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 031f60af..f3c9352c 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 @@ -1,13 +1,17 @@ -Unicode Aware Regex Iterators + + Unicode Aware Regex Iterators - + - - - + + + @@ -24,19 +28,19 @@ +

+ u32regex_iterator -

+

- Type u32regex_iterator - is in all respects the same as regex_iterator except that since - the regular expression type is always u32regex + Type u32regex_iterator + is in all respects the same as regex_iterator except that since + the regular expression type is always u32regex it only takes one template parameter (the iterator type). It also calls - u32regex_search internally, + u32regex_search internally, allowing it to interface correctly with UTF-8, UTF-16, and UTF-32 data:

@@ -51,7 +55,7 @@
 typedef u32regex_iterator<const UChar32*>  utf32regex_iterator;
 

- In order to simplify the construction of a u32regex_iterator + In order to simplify the construction of a u32regex_iterator from a string, there are a series of non-member helper functions called make_u32regex_iterator:

@@ -128,16 +132,16 @@

Provided of course that the input is encoded as UTF-8.

-
- +

+ u32regex_token_iterator -

+

- Type u32regex_token_iterator - is in all respects the same as regex_token_iterator except - that since the regular expression type is always u32regex + Type u32regex_token_iterator + is in all respects the same as regex_token_iterator except + that since the regular expression type is always u32regex it only takes one template parameter (the iterator type). It also calls - u32regex_search internally, + u32regex_search internally, allowing it to interface correctly with UTF-8, UTF-16, and UTF-32 data:

@@ -152,9 +156,9 @@
 typedef u32regex_token_iterator<const UChar32*>  utf32regex_token_iterator;
 

- In order to simplify the construction of a u32regex_token_iterator + In order to simplify the construction of a u32regex_token_iterator from a string, there are a series of non-member helper functions called - make_u32regex_token_iterator: + make_u32regex_token_iterator:

 u32regex_token_iterator<const char*> 
@@ -317,7 +321,10 @@
 
 
- +
Copyright © 2007 John Maddock

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 54c37692..6f42cbf9 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 @@ -1,13 +1,17 @@ -Unicode regular expression types + + Unicode regular expression types - + - - - + + + @@ -24,11 +28,11 @@

- Header <boost/regex/icu.hpp> provides a regular expression traits + Header <boost/regex/icu.hpp> provides a regular expression traits class that handles UTF-32 characters:

@@ -41,15 +45,15 @@
 typedef basic_regex<UChar32,icu_regex_traits> u32regex;
 

- The type u32regex is + The type u32regex is regular expression type to use for all Unicode regular expressions; internally it uses UTF-32 code points, but can be created from, and used to search, either UTF-8, or UTF-16 encoded strings as well as UTF-32 ones.

- The constructors, and assign member functions of u32regex, + The constructors, and assign member functions of u32regex, require UTF-32 encoded strings, but there are a series of overloaded - algorithms called make_u32regex + algorithms called make_u32regex which allow regular expressions to be created from UTF-8, UTF-16, or UTF-32 encoded strings:

@@ -60,7 +64,7 @@ boost::regex_constants::syntax_option_typeopt);

- Effects: Creates a regular expression + Effects: Creates a regular expression object from the iterator sequence [i,j). The character encoding of the sequence is determined based upon sizeof(*i): 1 implies UTF-8, 2 implies UTF-16, and 4 implies UTF-32. @@ -71,7 +75,7 @@ = boost::regex_constants::perl);

- Effects: Creates a regular expression + Effects: Creates a regular expression object from the Null-terminated UTF-8 characater sequence p.

@@ -80,7 +84,7 @@
                            = boost::regex_constants::perl);
 

- Effects: Creates a regular expression + Effects: Creates a regular expression object from the Null-terminated UTF-8 characater sequence p.

@@ -89,7 +93,7 @@
                            = boost::regex_constants::perl);
 

- Effects: Creates a regular expression + Effects: Creates a regular expression object from the Null-terminated characater sequence p. The character encoding of the sequence is determined based upon sizeof(wchar_t): 1 implies UTF-8, 2 implies UTF-16, and 4 implies UTF-32. @@ -100,7 +104,7 @@ = boost::regex_constants::perl);

- Effects: Creates a regular expression + Effects: Creates a regular expression object from the Null-terminated UTF-16 characater sequence p.

@@ -110,7 +114,7 @@
                            = boost::regex_constants::perl);
 

- Effects: Creates a regular expression + Effects: Creates a regular expression object from the string s. The character encoding of the string is determined based upon sizeof(C): 1 implies UTF-8, 2 implies UTF-16, and 4 implies UTF-32. @@ -121,13 +125,16 @@ = boost::regex_constants::perl);

- Effects: Creates a regular expression + Effects: Creates a regular expression object from the UTF-16 encoding string s.

- +
Copyright © 2007 John Maddock

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 3298ba2f..f17f4620 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 @@ -1,13 +1,17 @@ -Using Boost Regex With MFC Strings + Using + Boost Regex With MFC Strings - + - - - + + + @@ -24,9 +28,9 @@
- +
Copyright © 2007 John Maddock

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 76d42e1b..0d05bf1c 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 @@ -1,13 +1,17 @@ -Overloaded Algorithms For MFC String Types + + Overloaded Algorithms For MFC String Types - + - - - + + + @@ -24,27 +28,27 @@

- For each regular expression algorithm that's overloaded for a std::basic_string argument, there is also + For each regular expression algorithm that's overloaded for a std::basic_string argument, there is also one overloaded for the MFC/ATL string types. These algorithm signatures all look a lot more complex than they actually are, but for completeness here they are anyway:

-
- +

+ regex_match -

+

There are two overloads, the first reports what matched in a match_results structure, the second does not.

- All the usual caveats for regex_match apply, in particular + All the usual caveats for regex_match apply, in particular the algorithm will only report a successful match if all of the input - text matches the expression, if this isn't what you want then use regex_search + text matches the expression, if this isn't what you want then use regex_search instead.

@@ -56,12 +60,12 @@
    boost::regex_constants::match_flag_type f = boost::regex_constants::match_default); 
 

- Effects: returns ::boost::regex_match(s.GetString(), + Effects: returns ::boost::regex_match(s.GetString(), s.GetString() - + s.GetLength(), what, e, f); + + s.GetLength(), what, e, f);

- Example: + Example:

 //
@@ -83,11 +87,11 @@
    }
 }
 
-
- +

+ regex_match (second overload) -

+
 template <class charT, class T>
 bool regex_match(
@@ -96,12 +100,12 @@
    boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)
 

- Effects: returns ::boost::regex_match(s.GetString(), + Effects: returns ::boost::regex_match(s.GetString(), s.GetString() - + s.GetLength(), e, f); + + s.GetLength(), e, f);

- Example: + Example:

 //
@@ -113,12 +117,12 @@
    return boost::regex_match(password, boost::make_regex(requirements));
 }      
 
-
- +

+ regex_search -

+

- There are two additional overloads for regex_search, the first reports + There are two additional overloads for regex_search, the first reports what matched the second does not:

@@ -129,11 +133,11 @@
                   boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)
 

- Effects: returns ::boost::regex_search(s.GetString(), + Effects: returns ::boost::regex_search(s.GetString(), s.GetString() + s.GetLength(), what, e, f);

- Example: Postcode extraction from an + Example: Postcode extraction from an address string.

@@ -154,11 +158,11 @@
    }
 }      
 
-
- +

+ regex_search (second overload) -

+
 template <class charT, class T>
 inline bool regex_search(const ATL::CSimpleStringT<charT>& s,
@@ -166,16 +170,16 @@
                boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)
 

- Effects: returns ::boost::regex_search(s.GetString(), + Effects: returns ::boost::regex_search(s.GetString(), s.GetString() - + s.GetLength(), e, f); + + s.GetLength(), e, f);

-
- +

+ regex_replace -

+

- There are two additional overloads for regex_replace, the first sends + There are two additional overloads for regex_replace, the first sends output to an output iterator, while the second creates a new string

@@ -189,8 +193,8 @@
                            match_flag_type flags = match_default)
 

- Effects: returns ::boost::regex_replace(out, first, last, e, fmt.GetString(), - flags); + Effects: returns ::boost::regex_replace(out, first, last, e, fmt.GetString(), + flags);

 template <class traits, charT>
@@ -200,12 +204,12 @@
                            match_flag_type flags = match_default)
 

- Effects: returns a new string created - using regex_replace, + Effects: returns a new string created + using regex_replace, and the same memory manager as string s.

- Example: + Example:

 //
@@ -224,7 +228,10 @@
 
 
- +
Copyright © 2007 John Maddock

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 0923a1f9..017ca050 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 @@ -1,13 +1,17 @@ -Introduction to Boost.Regex and MFC Strings + + Introduction to Boost.Regex and MFC Strings - + - - - + + + @@ -24,11 +28,11 @@

- The header <boost/regex/mfc.hpp> provides Boost.Regex support for + The header <boost/regex/mfc.hpp> provides Boost.Regex support for MFC string types: note that this support requires Visual Studio .NET (Visual C++ 7) or later, where all of the MFC and ATL string types are based around the CSimpleStringT class template. @@ -52,7 +56,10 @@

- +
Copyright © 2007 John Maddock

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 04c5c41e..beabcfcf 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 @@ -1,13 +1,16 @@ -Iterating Over the Matches Within An MFC String + + Iterating Over the Matches Within An MFC String - + - - - + + + @@ -24,18 +27,18 @@

The following helper functions are provided to ease the conversion from - an MFC/ATL string to a regex_iterator or regex_token_iterator: + an MFC/ATL string to a regex_iterator or regex_token_iterator:

-
- +

+ regex_iterator creation helper -

+
 template <class charT>
 regex_iterator<charT const*> 
@@ -45,12 +48,12 @@
       ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default);
 

- Effects: returns regex_iterator(s.GetString(), s.GetString() + s.GetLength(), + Effects: returns regex_iterator(s.GetString(), s.GetString() + s.GetLength(), e, - f); + f);

- Example: + Example:

 void enumerate_links(const CString& html)
@@ -69,11 +72,11 @@
    }
 }
 
-
- +

+ regex_token_iterator creation helpers -

+
 template <class charT> 
 regex_token_iterator<charT const*> 
@@ -84,10 +87,10 @@
       ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default);
 

- Effects: returns regex_token_iterator(s.GetString(), s.GetString() + s.GetLength(), + Effects: returns regex_token_iterator(s.GetString(), s.GetString() + s.GetLength(), e, sub, - f); + f);

 template <class charT> 
@@ -99,10 +102,10 @@
       ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default);
 

- Effects: returns regex_token_iterator(s.GetString(), s.GetString() + s.GetLength(), + Effects: returns regex_token_iterator(s.GetString(), s.GetString() + s.GetLength(), e, subs, - f); + f);

 template <class charT, std::size_t N> 
@@ -114,13 +117,13 @@
       ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default);
 

- Effects: returns regex_token_iterator(s.GetString(), s.GetString() + s.GetLength(), + Effects: returns regex_token_iterator(s.GetString(), s.GetString() + s.GetLength(), e, subs, - f); + f);

- Example: + Example:

 void enumerate_links2(const CString& html)
@@ -142,7 +145,10 @@
 
 
- +
Copyright © 2007 John Maddock

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 7ddd4f7b..5c4f3b44 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 @@ -1,13 +1,17 @@ -Regular Expression Creation From an MFC String + + Regular Expression Creation From an MFC String - + - - - + + + @@ -24,9 +28,9 @@

The following helper function is available to assist in the creation of a regular expression from an MFC/ATL string type: @@ -38,13 +42,16 @@ ::boost::regex_constants::syntax_option_type f = boost::regex_constants::normal);

- Effects: returns basic_regex<charT>(s.GetString(), s.GetString() + s.GetLength(), - f); + Effects: returns basic_regex<charT>(s.GetString(), s.GetString() + s.GetLength(), + f);

- +
Copyright © 2007 John Maddock

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 8edd6c09..452240b8 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 @@ -1,13 +1,17 @@ -Regex Types Used With MFC Strings + + Regex Types Used With MFC Strings - + - - - + + + @@ -24,9 +28,9 @@

The following typedefs are provided for the convenience of those working with TCHAR's: @@ -39,13 +43,16 @@

If you are working with explicitly narrow or wide characters rather than - TCHAR, then use the regular Boost.Regex types regex - and wregex instead. + TCHAR, then use the regular Boost.Regex types regex + and wregex instead.

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/posix.html b/doc/html/boost_regex/ref/posix.html index c2bd5a77..18acf970 100644 --- a/doc/html/boost_regex/ref/posix.html +++ b/doc/html/boost_regex/ref/posix.html @@ -1,13 +1,14 @@ -POSIX Compatible C API's + POSIX Compatible C API's - + - - - + + + @@ -24,14 +25,13 @@
- - @@ -125,13 +125,13 @@ -
[Note] Note

+

this is an abridged reference to the POSIX API functions, these are provided for compatibility with other libraries, rather than as an API to be used in new code (unless you need access from a language other than C++). This @@ -59,9 +59,9 @@

[Important] Important

- Note that all the symbols defined here are enclosed inside namespace boost when used in C++ programs, unless - you use #include <boost/regex.h> +

+ Note that all the symbols defined here are enclosed inside namespace boost when used in C++ programs, unless + you use #include <boost/regex.h> instead - in which case the symbols are still defined in namespace boost, but are made available in the global namespace as well.

- unsigned int - re_nsub + unsigned int + re_nsub

- This is filled in by regcomp + This is filled in by regcomp and indicates the number of sub-expressions contained in the regular expression.

@@ -140,7 +140,7 @@

- const TCHAR* re_endp + const TCHAR* re_endp

@@ -157,23 +157,23 @@ [Note] Note

- regex_t is actually a - #define - it is either - regex_tA or regex_tW depending upon whether UNICODE is defined or not, TCHAR is either char - or wchar_t again depending - upon the macro UNICODE. +

+ regex_t is actually a + #define - it is either + regex_tA or regex_tW depending upon whether UNICODE is defined or not, TCHAR is either char + or wchar_t again depending + upon the macro UNICODE.

-
- +

+ regcomp -

+

- regcomp takes a pointer to - a regex_t, a pointer to the + regcomp takes a pointer to + a regex_t, a pointer to the expression to compile and a flags parameter which can be a combination of:

@@ -202,9 +202,9 @@ @@ -217,12 +217,12 @@ @@ -346,8 +346,8 @@ @@ -359,8 +359,8 @@ @@ -372,8 +372,8 @@ @@ -381,10 +381,10 @@

- Compiles modern regular expressions. Equivalent to regbase::char_classes | + Compiles modern regular expressions. Equivalent to regbase::char_classes | regbase::intervals | - regbase::bk_refs. + regbase::bk_refs.

Compiles basic (obsolete) regular expression syntax. Equivalent to - regbase::char_classes | + regbase::char_classes | regbase::intervals | regbase::limited_ops | regbase::bk_braces | regbase::bk_parens | - regbase::bk_refs. + regbase::bk_refs.

- A shortcut for awk-like behavior: REG_EXTENDED - | REG_ESCAPE_IN_LISTS + A shortcut for awk-like behavior: REG_EXTENDED + | REG_ESCAPE_IN_LISTS

- A shortcut for grep like behavior: REG_BASIC - | REG_NEWLINE_ALT + A shortcut for grep like behavior: REG_BASIC + | REG_NEWLINE_ALT

- A shortcut for egrep like behavior: REG_EXTENDED - | REG_NEWLINE_ALT + A shortcut for egrep like behavior: REG_EXTENDED + | REG_NEWLINE_ALT

-
- +

+ regerror -

+

regerror takes the following parameters, it maps an error code to a human readable string: @@ -469,10 +469,10 @@

-
- +

+ regexec -

+

regexec finds the first occurrence of expression e within string buf. If len is non-zero then *m is filled in with what matched @@ -539,18 +539,21 @@

-
- +

+ regfree -

+

- regfree frees all the memory + regfree frees all the memory that was allocated by regcomp.

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/regex_iterator.html b/doc/html/boost_regex/ref/regex_iterator.html index a77d0d5f..0939d550 100644 --- a/doc/html/boost_regex/ref/regex_iterator.html +++ b/doc/html/boost_regex/ref/regex_iterator.html @@ -1,13 +1,13 @@ -regex_iterator + regex_iterator - + - - - + + + @@ -24,13 +24,12 @@

- The iterator type regex_iterator will enumerate all + The iterator type regex_iterator will enumerate all of the regular expression matches found in some sequence: dereferencing a - regex_iterator - yields a reference to a match_results object. + regex_iterator + yields a reference to a match_results object.

 template <class BidirectionalIterator, 
@@ -78,12 +77,12 @@
                           const basic_regex<charT, traits>& e, 
                           regex_constants::match_flag_type m = regex_constants::match_default);
 
-
- +

+ Description -

+

- A regex_iterator + A regex_iterator is constructed from a pair of iterators, and enumerates all occurrences of a regular expression within that iterator range.

@@ -93,8 +92,8 @@ regex_iterator();

- Effects: constructs an end of sequence - regex_iterator. + Effects: constructs an end of sequence + regex_iterator.

@@ -104,13 +103,13 @@ match_flag_typem=match_default);

- Effects: constructs a regex_iterator that will enumerate + Effects: constructs a regex_iterator that will enumerate all occurrences of the expression re, within the sequence - [a,b), and found using match_flag_type m. - The object re must exist for the lifetime of the regex_iterator. + [a,b), and found using match_flag_type m. + The object re must exist for the lifetime of the regex_iterator.

- Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), or if the @@ -123,10 +122,10 @@ regex_iterator(const regex_iterator& that);

- Effects: constructs a copy of that. + Effects: constructs a copy of that.

- Postconditions: *this == that. + Postconditions: *this == that.

@@ -134,10 +133,10 @@ regex_iterator&operator=(constregex_iterator&);

- Effects: sets *this equal to those in that. + Effects: sets *this equal to those in that.

- Postconditions: *this == that. + Postconditions: *this == that.

@@ -145,7 +144,7 @@ booloperator==(constregex_iterator&that)const;

- Effects: returns true if *this is equal + Effects: returns true if *this is equal to that.

@@ -154,7 +153,7 @@ bool operator!=(const regex_iterator&)const;

- Effects: returns !(*this == that). + Effects: returns !(*this == that).

@@ -162,8 +161,8 @@ constvalue_type&operator*()const;

- Effects: dereferencing a regex_iterator object it yields - a const reference to a match_results object, whose members + Effects: dereferencing a regex_iterator object it yields + a const reference to a match_results object, whose members are set as follows:

@@ -187,31 +186,31 @@ @@ -320,10 +319,10 @@ match_flag_typeflags=match_default);

- Effects: Behaves "as if" by constructing - an instance of match_results<BidirectionalIterator> what, - and then returning the result of regex_match(first, last, what, e, - flags). + Effects: Behaves "as if" by constructing + an instance of match_results<BidirectionalIterator> what, + and then returning the result of regex_match(first, last, what, e, + flags).

 template <class charT, class Allocator, class traits>
@@ -332,9 +331,9 @@
                match_flag_type flags = match_default);
 

- Effects: Returns the result of regex_match(str, str + Effects: Returns the result of regex_match(str, str + char_traits<charT>::length(str), - m, e, flags). + m, e, flags).

 template <class ST, class SA, class Allocator,
@@ -345,7 +344,7 @@
                match_flag_type flags = match_default);
 

- Effects: Returns the result of regex_match(s.begin(), s.end(), m, e, flags). + Effects: Returns the result of regex_match(s.begin(), s.end(), m, e, flags).

 template <class charT, class traits>
@@ -354,9 +353,9 @@
                match_flag_type flags = match_default);
 

- Effects: Returns the result of regex_match(str, str + Effects: Returns the result of regex_match(str, str + char_traits<charT>::length(str), - e, flags). + e, flags).

 template <class ST, class SA, class charT, class traits>
@@ -365,12 +364,12 @@
                match_flag_type flags = match_default);
 

- Effects: Returns the result of regex_match(s.begin(), s.end(), e, flags). + Effects: Returns the result of regex_match(s.begin(), s.end(), e, flags).

-
- +

+ Examples -

+

The following example processes an ftp response:

@@ -409,7 +408,10 @@

- (*it).size() + (*it).size()

- re.mark_count() + re.mark_count()

- (*it).empty() + (*it).empty()

- false + false

- (*it).prefix().first + (*it).prefix().first

@@ -224,44 +223,44 @@

- (*it).prefix().last + (*it).prefix().last

- The same as the start of the match found: (*it)[0].first + The same as the start of the match found: (*it)[0].first

- (*it).prefix().matched + (*it).prefix().matched

- True if the prefix did not match an empty string: (*it).prefix().first != - (*it).prefix().second + True if the prefix did not match an empty string: (*it).prefix().first != + (*it).prefix().second

- (*it).suffix().first + (*it).suffix().first

- The same as the end of the match found: (*it)[0].second + The same as the end of the match found: (*it)[0].second

- (*it).suffix().last + (*it).suffix().last

@@ -273,20 +272,20 @@

- (*it).suffix().matched + (*it).suffix().matched

- True if the suffix did not match an empty string: (*it).suffix().first != - (*it).suffix().second + True if the suffix did not match an empty string: (*it).suffix().first != + (*it).suffix().second

- (*it)[0].first + (*it)[0].first

@@ -299,7 +298,7 @@

- (*it)[0].second + (*it)[0].second

@@ -311,7 +310,7 @@

- (*it)[0].matched + (*it)[0].matched

@@ -324,12 +323,12 @@

- (*it)[n].first + (*it)[n].first

- For all integers n < (*it).size(), + For all integers n < (*it).size(), the start of the sequence that matched sub-expression n. Alternatively, if sub-expression n did not participate in the match, then last. @@ -339,12 +338,12 @@

- (*it)[n].second + (*it)[n].second

- For all integers n < (*it).size(), + For all integers n < (*it).size(), the end of the sequence that matched sub-expression n. Alternatively, if sub-expression n did not participate in the match, then last. @@ -354,12 +353,12 @@

- (*it)[n].matched + (*it)[n].matched

- For all integers n < (*it).size(), + For all integers n < (*it).size(), true if sub-expression n participated in the match, false otherwise.

@@ -368,12 +367,12 @@

- (*it).position(n) + (*it).position(n)

- For all integers n < (*it).size(), + For all integers n < (*it).size(), then the distance from the start of the underlying sequence to the start of sub-expression match n.

@@ -387,7 +386,7 @@ const value_type* operator->()const;

- Effects: returns &(*this). + Effects: returns &(*this).

@@ -395,17 +394,17 @@ regex_iterator& operator++();

- Effects: moves the iterator to the next + Effects: moves the iterator to the next match in the underlying sequence, or the end of sequence iterator if none if found. When the last match found matched a zero length string, then the - regex_iterator + regex_iterator will find the next match as follows: if there exists a non-zero length match that starts at the same location as the last one, then returns it, otherwise starts looking for the next (possibly zero length) match from one position to the right of the last match.

- Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), or if the @@ -413,7 +412,7 @@ in non-recursive mode).

- Returns: *this. + Returns: *this.

@@ -421,11 +420,11 @@ regex_iterator operator++(int);

- Effects: constructs a copy result of *this, then - calls ++(*this). + Effects: constructs a copy result of *this, then + calls ++(*this).

- Returns: result. + Returns: result.

@@ -442,15 +441,15 @@ regex_constants::match_flag_type m = regex_constants::match_default);

- Effects: returns an iterator that enumerates + Effects: returns an iterator that enumerates all occurences of expression e in text p - using match_flag_type + using match_flag_type m.

-
- +

+ Examples -

+

The following example takes a C++ source file and builds up an index of class names, and the location of that class in the file. @@ -550,7 +549,10 @@ - +
Copyright © 2007 John Maddock


diff --git a/doc/html/boost_regex/ref/regex_match.html b/doc/html/boost_regex/ref/regex_match.html index 3cc9fb34..55bd6752 100644 --- a/doc/html/boost_regex/ref/regex_match.html +++ b/doc/html/boost_regex/ref/regex_match.html @@ -1,13 +1,13 @@ -regex_match + regex_match - + - - - + + + @@ -24,14 +24,13 @@
 #include <boost/regex.hpp> 
 

- The algorithm regex_match - determines whether a given regular expression matches all + The algorithm regex_match + determines whether a given regular expression matches all of a given character sequence denoted by a pair of bidirectional-iterators, the algorithm is defined as follows, the main use of this function is data input validation. @@ -41,10 +40,10 @@

-
[Important] Important

- Note that the result is true only if the expression matches the whole of the input sequence. If you want to search - for an expression somewhere within the sequence then use regex_search. If you want to match - a prefix of the character string then use regex_search with the flag match_continuous +

+ Note that the result is true only if the expression matches the whole of the input sequence. If you want to search + for an expression somewhere within the sequence then use regex_search. If you want to match + a prefix of the character string then use regex_search with the flag match_continuous set.

@@ -81,10 +80,10 @@ const basic_regex <charT, traits>& e, match_flag_type flags = match_default); -
- +

+ Description -

+
 template <class BidirectionalIterator, class Allocator, class charT, class traits>
 bool regex_match(BidirectionalIterator first, BidirectionalIterator last,
@@ -93,19 +92,19 @@
                  match_flag_type flags = match_default);
 

- Requires: Type BidirectionalIterator meets + Requires: Type BidirectionalIterator meets the requirements of a Bidirectional Iterator (24.1.4).

- Effects: Determines whether there is an + Effects: Determines whether there is an exact match between the regular expression e, and all of the character sequence [first, last), parameter flags - (see match_flag_type) + (see match_flag_type) is used to control how the expression is matched against the character sequence. Returns true if such a match exists, false otherwise.

- Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), or if the @@ -113,7 +112,7 @@ in non-recursive mode).

- Postconditions: If the function returns + Postconditions: If the function returns false, then the effect on parameter m is undefined, otherwise the effects on parameter m are given in the table: @@ -139,127 +138,127 @@

- m.size() + m.size()

- e.mark_count() + e.mark_count()

- m.empty() + m.empty()

- false + false

- m.prefix().first + m.prefix().first

- first + first

- m.prefix().last + m.prefix().last

- first + first

- m.prefix().matched + m.prefix().matched

- false + false

- m.suffix().first + m.suffix().first

- last + last

- m.suffix().last + m.suffix().last

- last + last

- m.suffix().matched + m.suffix().matched

- false + false

- m[0].first + m[0].first

- first + first

- m[0].second + m[0].second

- last + last

- m[0].matched + m[0].matched

@@ -272,41 +271,41 @@

- m[n].first + m[n].first

- For all integers n < m.size(), the start of the sequence that + For all integers n < m.size(), the start of the sequence that matched sub-expression n. Alternatively, if sub-expression n did not participate in the - match, then last. + match, then last.

- m[n].second + m[n].second

- For all integers n < m.size(), the end of the sequence that matched + For all integers n < m.size(), the end of the sequence that matched sub-expression n. Alternatively, if sub-expression - n did not participate in the match, then last. + n did not participate in the match, then last.

- m[n].matched + m[n].matched

- For all integers n < m.size(), true if sub-expression n + For all integers n < m.size(), true if sub-expression n participated in the match, false otherwise.

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/regex_replace.html b/doc/html/boost_regex/ref/regex_replace.html index f8a9c96c..5c47aaf3 100644 --- a/doc/html/boost_regex/ref/regex_replace.html +++ b/doc/html/boost_regex/ref/regex_replace.html @@ -1,13 +1,13 @@ -regex_replace + regex_replace - + - - - + + + @@ -24,19 +24,18 @@
 #include <boost/regex.hpp> 
 

- The algorithm regex_replace searches through a + The algorithm regex_replace searches through a string finding all the matches to the regular expression: for each match - it then calls match_results<>::format to format the string and + it then calls match_results<>::format to format the string and sends the result to the output iterator. Sections of text that do not match are copied to the output unchanged only if the flags - parameter does not have the flag format_no_copy - set. If the flag format_first_only + parameter does not have the flag format_no_copy + set. If the flag format_first_only is set then only the first occurrence is replaced rather than all occurrences.

@@ -54,10 +53,10 @@
                                   const basic_string<charT>& fmt,
                                   match_flag_type flags = match_default);
 
-
- +

+ Description -

+
 template <class OutputIterator, class BidirectionalIterator, class traits, class charT>
 OutputIterator regex_replace(OutputIterator out,
@@ -74,22 +73,22 @@
         and copies the resulting string to out.
       

- If the flag format_no_copy + If the flag format_no_copy is set in flags then unmatched sections of text are not copied to output.

- If the flag format_first_only + If the flag format_first_only is set in flags then only the first occurence of e is replaced.

The manner in which the format string fmt is interpretted, along with the rules used for finding matches, are determined by the flags - set in flags: see match_flag_type. + set in flags: see match_flag_type.

- Effects: Constructs an regex_iterator object: + Effects: Constructs an regex_iterator object:

 regex_iterator<BidirectionalIterator, charT, traits, Allocator> 
@@ -97,7 +96,7 @@
 

and uses i to enumerate through all of the matches - m of type match_results <BidirectionalIterator> + m of type match_results <BidirectionalIterator> that occur within the sequence [first, last).

@@ -146,12 +145,12 @@ where last_m is a copy of the last match found.

- If flags & - format_first_only is non-zero then + If flags & + format_first_only is non-zero then only the first match found is replaced.

- Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), or if the @@ -159,7 +158,7 @@ in non-recursive mode).

- Returns: out. + Returns: out.

 template <class traits, class charT>
@@ -169,15 +168,15 @@
                                   match_flag_type flags = match_default);
 

- Effects: Constructs an object basic_string<charT> result, calls regex_replace(back_inserter(result), s.begin(), s.end(), e, + Effects: Constructs an object basic_string<charT> result, calls regex_replace(back_inserter(result), s.begin(), s.end(), e, fmt, - flags), - and then returns result. + flags), + and then returns result.

-
- +

+ Examples -

+

The following example takes C/C++ source code as input, and outputs syntax highlighted HTML code. @@ -295,7 +294,10 @@

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/regex_search.html b/doc/html/boost_regex/ref/regex_search.html index c80a4a38..196ac687 100644 --- a/doc/html/boost_regex/ref/regex_search.html +++ b/doc/html/boost_regex/ref/regex_search.html @@ -1,13 +1,13 @@ -regex_search + regex_search - + - - - + + + @@ -24,13 +24,12 @@
 #include <boost/regex.hpp> 
 

- The algorithm regex_search will search a range + The algorithm regex_search will search a range denoted by a pair of bidirectional-iterators for a given regular expression. The algorithm uses various heuristics to reduce the search time by only checking for a match if a match could conceivably start at that position. The algorithm @@ -74,10 +73,10 @@ const basic_regex<charT, traits>& e, match_flag_type flags = match_default); -

- +

+ Description -

+
 template <class BidirectionalIterator, class Allocator, class charT, class traits>
 bool regex_search(BidirectionalIterator first, BidirectionalIterator last,
@@ -86,18 +85,18 @@
                   match_flag_type flags = match_default);
 

- Requires: Type BidirectionalIterator meets + Requires: Type BidirectionalIterator meets the requirements of a Bidirectional Iterator (24.1.4).

- Effects: Determines whether there is some + Effects: Determines whether there is some sub-sequence within [first,last) that matches the regular expression e, parameter flags is used to control how the expression is matched against the character sequence. Returns true if such a sequence exists, false otherwise.

- Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), or if the @@ -105,7 +104,7 @@ in non-recursive mode).

- Postconditions: If the function returns + Postconditions: If the function returns false, then the effect on parameter m is undefined, otherwise the effects on parameter m are given in the table: @@ -131,105 +130,105 @@

@@ -315,9 +314,9 @@ match_flag_typeflags=match_default);

- Effects: Returns the result of regex_search(str, str + Effects: Returns the result of regex_search(str, str + char_traits<charT>::length(str), - m, e, flags). + m, e, flags).

 template <class ST, class SA, class Allocator, class charT,
@@ -328,7 +327,7 @@
                   match_flag_type flags = match_default);
 

- Effects: Returns the result of regex_search(s.begin(), s.end(), m, e, flags). + Effects: Returns the result of regex_search(s.begin(), s.end(), m, e, flags).

 template <class iterator, class charT, class traits>
@@ -337,10 +336,10 @@
                   match_flag_type flags = match_default);
 

- Effects: Behaves "as if" by constructing - an instance of match_results<BidirectionalIterator> what, - and then returning the result of regex_search(first, last, what, e, - flags). + Effects: Behaves "as if" by constructing + an instance of match_results<BidirectionalIterator> what, + and then returning the result of regex_search(first, last, what, e, + flags).

 template <class charT, class traits>
@@ -349,9 +348,9 @@
                   match_flag_type flags = match_default);
 

- Effects: Returns the result of regex_search(str, str + Effects: Returns the result of regex_search(str, str + char_traits<charT>::length(str), - e, flags). + e, flags).

 template <class ST, class SA, class charT, class traits>
@@ -360,16 +359,16 @@
                   match_flag_type flags = match_default);
 

- Effects: Returns the result of regex_search(s.begin(), s.end(), e, flags). + Effects: Returns the result of regex_search(s.begin(), s.end(), e, flags).

-
- +

+ Examples -

+

The following example, takes the contents of a file in the form of a string, and searches for all the C++ class declarations in the file. The code will - work regardless of the way that std::string + work regardless of the way that std::string is implemented, for example it could easily be modified to work with the SGI rope class, which uses a non-contiguous storage strategy.

@@ -418,7 +417,10 @@

- m.size() + m.size()

- e.mark_count() + e.mark_count()

- m.empty() + m.empty()

- false + false

- m.prefix().first + m.prefix().first

- first + first

- m.prefix().last + m.prefix().last

- m[0].first + m[0].first

- m.prefix().matched + m.prefix().matched

- m.prefix().first != - m.prefix().second + m.prefix().first != + m.prefix().second

- m.suffix().first + m.suffix().first

- m[0].second + m[0].second

- m.suffix().last + m.suffix().last

- last + last

- m.suffix().matched + m.suffix().matched

- m.suffix().first != - m.suffix().second + m.suffix().first != + m.suffix().second

- m[0].first + m[0].first

@@ -242,7 +241,7 @@

- m[0].second + m[0].second

@@ -254,7 +253,7 @@

- m[0].matched + m[0].matched

@@ -267,12 +266,12 @@

- m[n].first + m[n].first

- For all integers n < m.size(), the start of the sequence that + For all integers n < m.size(), the start of the sequence that matched sub-expression n. Alternatively, if sub-expression n did not participate in the match, then last. @@ -282,26 +281,26 @@

- m[n].second + m[n].second

- For all integers n < m.size(), the end of the sequence that matched + For all integers n < m.size(), the end of the sequence that matched sub-expression n. Alternatively, if sub-expression - n did not participate in the match, then last. + n did not participate in the match, then last.

- m[n].matched + m[n].matched

- For all integers n < m.size(), true if sub-expression n + For all integers n < m.size(), true if sub-expression n participated in the match, false otherwise.

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/regex_token_iterator.html b/doc/html/boost_regex/ref/regex_token_iterator.html index ac17d494..292ff6b0 100644 --- a/doc/html/boost_regex/ref/regex_token_iterator.html +++ b/doc/html/boost_regex/ref/regex_token_iterator.html @@ -1,13 +1,13 @@ -regex_token_iterator + regex_token_iterator - + - - - + + + @@ -24,16 +24,15 @@

- The template class regex_token_iterator is an iterator + The template class regex_token_iterator is an iterator adapter; that is to say it represents a new view of an existing iterator sequence, by enumerating all the occurrences of a regular expression within that sequence, and presenting one or more character sequence for each match - found. Each position enumerated by the iterator is a sub_match object that represents + found. Each position enumerated by the iterator is a sub_match object that represents what matched a particular sub-expression within the regular expression. When - class regex_token_iterator is used to + class regex_token_iterator is used to enumerate a single sub-expression with index -1, then the iterator performs field splitting: that is to say it enumerates one character sequence for each section of the character container sequence that does not match the @@ -136,17 +135,17 @@ const std::vector<int>& submatch, regex_constants::match_flag_type m = regex_constants::match_default); -

- +

+ Description -

+

 regex_token_iterator();
 

- Effects: constructs an end of sequence iterator. + Effects: constructs an end of sequence iterator.

@@ -158,21 +157,21 @@ match_flag_typem=match_default);

- Preconditions: !re.empty(). Object re shall exist + Preconditions: !re.empty(). Object re shall exist for the lifetime of the iterator constructed from it.

- Effects: constructs a regex_token_iterator that will enumerate + Effects: constructs a regex_token_iterator that will enumerate one string for each regular expression match of the expression re found within the sequence [a,b), using match flags m - (see match_flag_type). + (see match_flag_type). The string enumerated is the sub-expression submatch for each match found; if submatch is -1, then enumerates all the text sequences that did not match the expression re (that is to performs field splitting).

- Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), or if the @@ -189,25 +188,25 @@ match_flag_type m = match_default);

- Preconditions: submatches.size() - && !re.empty(). Object re shall exist + Preconditions: submatches.size() + && !re.empty(). Object re shall exist for the lifetime of the iterator constructed from it.

- Effects: constructs a regex_token_iterator that will enumerate - submatches.size() + Effects: constructs a regex_token_iterator that will enumerate + submatches.size() strings for each regular expression match of the expression re found within the sequence [a,b), using match flags m - (see match_flag_type). + (see match_flag_type). For each match found one string will be enumerated for each sub-expression - index contained within submatches vector; if submatches[0] + index contained within submatches vector; if submatches[0] is -1, then the first string enumerated for each match will be all of the text from end of the last match to the start of the current match, in addition there will be one extra string enumerated when no more matches can be found: from the end of the last match found, to the end of the underlying sequence.

- Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), or if the @@ -225,23 +224,23 @@ match_flag_type m = match_default);

- Preconditions: !re.empty(). Object re shall exist + Preconditions: !re.empty(). Object re shall exist for the lifetime of the iterator constructed from it.

- Effects: constructs a regex_token_iterator that will enumerate + Effects: constructs a regex_token_iterator that will enumerate R strings for each regular expression match of the expression re found within the sequence [a,b), using match flags - m (see match_flag_type). For each match + m (see match_flag_type). For each match found one string will be enumerated for each sub-expression index contained - within the submatches array; if submatches[0] + within the submatches array; if submatches[0] is -1, then the first string enumerated for each match will be all of the text from end of the last match to the start of the current match, in addition there will be one extra string enumerated when no more matches can be found: from the end of the last match found, to the end of the underlying sequence.

- Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), or if the @@ -254,10 +253,10 @@ regex_token_iterator(const regex_token_iterator& that);

- Effects: constructs a copy of that. + Effects: constructs a copy of that.

- Postconditions: *this == that. + Postconditions: *this == that.

@@ -265,10 +264,10 @@ regex_token_iterator&operator=(constregex_token_iterator&that);

- Effects: sets *this to be equal to that. + Effects: sets *this to be equal to that.

- Postconditions: *this == that. + Postconditions: *this == that.

@@ -276,7 +275,7 @@ booloperator==(constregex_token_iterator&)const;

- Effects: returns true if *this is the same position as that. + Effects: returns true if *this is the same position as that.

@@ -284,7 +283,7 @@ booloperator!=(constregex_token_iterator&)const;

- Effects: returns !(*this == that). + Effects: returns !(*this == that).

@@ -292,7 +291,7 @@ constvalue_type&operator*()const;

- Effects: returns the current character sequence + Effects: returns the current character sequence being enumerated.

@@ -301,7 +300,7 @@ const value_type* operator->()const;

- Effects: returns &(*this). + Effects: returns &(*this).

@@ -309,11 +308,11 @@ regex_token_iterator&operator++();

- Effects: Moves on to the next character + Effects: Moves on to the next character sequence to be enumerated.

- Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), or if the @@ -321,7 +320,7 @@ in non-recursive mode).

- Returns: *this. + Returns: *this.

@@ -329,11 +328,11 @@ regex_token_iterator&operator++(int);

- Effects: constructs a copy result of *this, then - calls ++(*this). + Effects: constructs a copy result of *this, then + calls ++(*this).

- Returns: result. + Returns: result.

@@ -389,17 +388,17 @@ regex_constants::match_flag_typem=regex_constants::match_default);

- Effects: returns a regex_token_iterator that enumerates - one sub_match + Effects: returns a regex_token_iterator that enumerates + one sub_match for each value in submatch for each occurrence of regular expression e in string p, matched - using match_flag_type + using match_flag_type m.

-
- +

+ Examples -

+

The following example takes a string and splits it into a series of tokens:

@@ -512,7 +511,10 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/regex_traits.html b/doc/html/boost_regex/ref/regex_traits.html index 6ba48c1c..f358fb18 100644 --- a/doc/html/boost_regex/ref/regex_traits.html +++ b/doc/html/boost_regex/ref/regex_traits.html @@ -1,13 +1,14 @@ -regex_traits + regex_traits - + - - - + + + @@ -24,8 +25,7 @@
 namespace boost{
 
@@ -46,28 +46,28 @@
 
 } // namespace boost
 
-
- +

+ Description -

+

- The class regex_traits is + The class regex_traits is just a thin wrapper around an actual implemention class, which may be one of:

  • -c_regex_traits: this class +c_regex_traits: this class is deprecated, it wraps the C locale, and is used as the default implementation when the platform is not Win32, and the C++ locale is not available.
  • -cpp_regex_traits: the default +cpp_regex_traits: the default traits class for non-Win32 platforms, allows the regex class to be imbued with a std::locale instance.
  • -w32_regex_traits: the default +w32_regex_traits: the default traits class implementation on Win32 platforms, allows the regex class to be imbued with an LCID.
  • @@ -78,22 +78,26 @@

    • - BOOST_REGEX_USE_C_LOCALE: makes c_regex_traits + BOOST_REGEX_USE_C_LOCALE: makes c_regex_traits the default.
    • - BOOST_REGEX_USE_CPP_LOCALE: makes cpp_regex_traits + BOOST_REGEX_USE_CPP_LOCALE: makes cpp_regex_traits the default.

    - All these traits classes fulfil the traits + All these traits classes fulfil the traits class requirements.

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/sub_match.html b/doc/html/boost_regex/ref/sub_match.html index bf321f1b..25d88d03 100644 --- a/doc/html/boost_regex/ref/sub_match.html +++ b/doc/html/boost_regex/ref/sub_match.html @@ -1,13 +1,13 @@ -sub_match + sub_match - + - - - + + + @@ -24,8 +24,7 @@
 #include <boost/regex.hpp>
 
@@ -34,29 +33,29 @@ in that as well as finding an overall match they can also produce sub-expression matches: each sub-expression being delimited in the pattern by a pair of parenthesis (...). There has to be some method for reporting sub-expression - matches back to the user: this is achieved this by defining a class match_results + matches back to the user: this is achieved this by defining a class match_results that acts as an indexed collection of sub-expression matches, each sub-expression - match being contained in an object of type sub_match. + match being contained in an object of type sub_match.

- Objects of type sub_match - may only be obtained by subscripting an object of type match_results. + Objects of type sub_match + may only be obtained by subscripting an object of type match_results.

- Objects of type sub_match - may be compared to objects of type std::basic_string, - or const charT* or const - charT. + Objects of type sub_match + may be compared to objects of type std::basic_string, + or const charT* or const + charT.

- Objects of type sub_match - may be added to objects of type std::basic_string, - or const charT* or const - charT, to produce a new std::basic_string + Objects of type sub_match + may be added to objects of type std::basic_string, + or const charT* or const + charT, to produce a new std::basic_string object.

- When the marked sub-expression denoted by an object of type sub_match participated in a regular + When the marked sub-expression denoted by an object of type sub_match participated in a regular expression match then member matched evaluates to true, and members first and second denote the range of characters [first,second) which formed that match. Otherwise @@ -65,18 +64,18 @@ values.

- When the marked sub-expression denoted by an object of type sub_match was repeated, then the - sub_match + When the marked sub-expression denoted by an object of type sub_match was repeated, then the + sub_match object represents the match obtained by the last repeat. The complete set of all the captures obtained for all the repeats, may be accessed via the captures() member function (Note: this has serious performance implications, you have to explicitly enable this feature).

- If an object of type sub_match represents sub-expression + If an object of type sub_match represents sub-expression 0 - that is to say the whole match - then member matched - is always true, unless a partial - match was obtained as a result of the flag match_partial + is always true, unless a partial + match was obtained as a result of the flag match_partial being passed to a regular expression algorithm, in which case member matched is false, and members first and second represent the character range that formed the @@ -330,14 +329,14 @@ } // namespace boost -

- +

+ Description -

-
- +
+
+ Members -
+

@@ -393,8 +392,8 @@
 static difference_type length();
 

- Effects: returns the length of this matched - sub-expression, or 0 if this sub-expression was not matched: matched ? distance(first, second) : 0). + Effects: returns the length of this matched + sub-expression, or 0 if this sub-expression was not matched: matched ? distance(first, second) : 0).

@@ -402,7 +401,7 @@ operatorbasic_string<value_type>()const;

- Effects: converts *this into a string: returns (matched ? basic_string<value_type>(first, second) : basic_string<value_type>()). + Effects: converts *this into a string: returns (matched ? basic_string<value_type>(first, second) : basic_string<value_type>()).

@@ -410,10 +409,10 @@ basic_string<value_type>str()const;

- Effects: returns a string representation - of *this: - (matched - ? basic_string<value_type>(first, second) : basic_string<value_type>()). + Effects: returns a string representation + of *this: + (matched + ? basic_string<value_type>(first, second) : basic_string<value_type>()).

@@ -421,8 +420,8 @@ intcompare(constsub_match&s)const;

- Effects: performs a lexical comparison to - s: returns str().compare(s.str()). + Effects: performs a lexical comparison to + s: returns str().compare(s.str()).

@@ -430,8 +429,8 @@ intcompare(constbasic_string<value_type>&s)const;

- Effects: compares *this to the string s: - returns str().compare(s). + Effects: compares *this to the string s: + returns str().compare(s).

@@ -439,8 +438,8 @@ intcompare(constvalue_type*s)const;

- Effects: compares *this to the null-terminated string s: - returns str().compare(s). + Effects: compares *this to the null-terminated string s: + returns str().compare(s).

@@ -450,7 +449,7 @@

Defines an implementation-specific type that satisfies the requirements of a standard library Sequence (21.1.1 including the optional Table 68 operations), - whose value_type is a sub_match<BidirectionalIterator>. This type happens to be std::vector<sub_match<BidirectionalIterator> >, + whose value_type is a sub_match<BidirectionalIterator>. This type happens to be std::vector<sub_match<BidirectionalIterator> >, but you shouldn't actually rely on that.

@@ -459,18 +458,18 @@ const capture_sequence_type& captures()const;

- Effects: returns a sequence containing all + Effects: returns a sequence containing all the captures obtained for this sub-expression.

- Preconditions: the library must be built + Preconditions: the library must be built and used with BOOST_REGEX_MATCH_EXTRA defined, and you must pass the flag - match_extra to the regex - matching functions ( regex_match, regex_search, regex_iterator or regex_token_iterator) in order for + match_extra to the regex + matching functions ( regex_match, regex_search, regex_iterator or regex_token_iterator) in order for this member #function to be defined and return useful information.

- Rationale: Enabling this feature has several + Rationale: Enabling this feature has several consequences:

    @@ -488,11 +487,11 @@ to take place.
-
- +
+ sub_match non-member operators -
+

@@ -501,8 +500,8 @@
                   const sub_match<BidirectionalIterator>& rhs);
 

- Effects: returns lhs.compare(rhs) - == 0. + Effects: returns lhs.compare(rhs) + == 0.

@@ -512,8 +511,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs.compare(rhs) - != 0. + Effects: returns lhs.compare(rhs) + != 0.

@@ -523,8 +522,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs.compare(rhs) - < 0. + Effects: returns lhs.compare(rhs) + < 0.

@@ -534,8 +533,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs.compare(rhs) - <= 0. + Effects: returns lhs.compare(rhs) + <= 0.

@@ -545,8 +544,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs.compare(rhs) - >= 0. + Effects: returns lhs.compare(rhs) + >= 0.

@@ -556,8 +555,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs.compare(rhs) - > 0. + Effects: returns lhs.compare(rhs) + > 0.

@@ -569,8 +568,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs - == rhs.str(). + Effects: returns lhs + == rhs.str().

@@ -582,8 +581,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs - != rhs.str(). + Effects: returns lhs + != rhs.str().

@@ -595,8 +594,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs - < rhs.str(). + Effects: returns lhs + < rhs.str().

@@ -608,8 +607,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs - > rhs.str(). + Effects: returns lhs + > rhs.str().

@@ -621,8 +620,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs - >= rhs.str(). + Effects: returns lhs + >= rhs.str().

@@ -634,8 +633,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs - <= rhs.str(). + Effects: returns lhs + <= rhs.str().

@@ -647,8 +646,8 @@ Allocator>&rhs);

- Effects: returns lhs.str() - == rhs. + Effects: returns lhs.str() + == rhs.

@@ -660,8 +659,8 @@ Allocator>&rhs);

- Effects: returns lhs.str() - != rhs. + Effects: returns lhs.str() + != rhs.

@@ -673,8 +672,8 @@ Allocator>&rhs);

- Effects: returns lhs.str() - < rhs. + Effects: returns lhs.str() + < rhs.

@@ -686,8 +685,8 @@ Allocator>&rhs);

- Effects: returns lhs.str() - > rhs. + Effects: returns lhs.str() + > rhs.

@@ -699,8 +698,8 @@ Allocator>&rhs);

- Effects: returns lhs.str() - >= rhs. + Effects: returns lhs.str() + >= rhs.

@@ -712,8 +711,8 @@ Allocator>&rhs);

- Effects: returns lhs.str() - <= rhs. + Effects: returns lhs.str() + <= rhs.

@@ -723,8 +722,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs - == rhs.str(). + Effects: returns lhs + == rhs.str().

@@ -734,8 +733,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs - != rhs.str(). + Effects: returns lhs + != rhs.str().

@@ -745,8 +744,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs - < rhs.str(). + Effects: returns lhs + < rhs.str().

@@ -756,8 +755,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs - > rhs.str(). + Effects: returns lhs + > rhs.str().

@@ -767,8 +766,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs - >= rhs.str(). + Effects: returns lhs + >= rhs.str().

@@ -778,8 +777,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs - <= rhs.str(). + Effects: returns lhs + <= rhs.str().

@@ -789,8 +788,8 @@ typenameiterator_traits<BidirectionalIterator>::value_typeconst*rhs);

- Effects: returns lhs.str() - == rhs. + Effects: returns lhs.str() + == rhs.

@@ -800,8 +799,8 @@ typenameiterator_traits<BidirectionalIterator>::value_typeconst*rhs);

- Effects: returns lhs.str() - != rhs. + Effects: returns lhs.str() + != rhs.

@@ -811,8 +810,8 @@ typenameiterator_traits<BidirectionalIterator>::value_typeconst*rhs);

- Effects: returns lhs.str() - < rhs. + Effects: returns lhs.str() + < rhs.

@@ -822,8 +821,8 @@ typenameiterator_traits<BidirectionalIterator>::value_typeconst*rhs);

- Effects: returns lhs.str() - > rhs. + Effects: returns lhs.str() + > rhs.

@@ -833,8 +832,8 @@ typenameiterator_traits<BidirectionalIterator>::value_typeconst*rhs);

- Effects: returns lhs.str() - >= rhs. + Effects: returns lhs.str() + >= rhs.

@@ -844,8 +843,8 @@ typenameiterator_traits<BidirectionalIterator>::value_typeconst*rhs);

- Effects: returns lhs.str() - <= rhs. + Effects: returns lhs.str() + <= rhs.

@@ -855,8 +854,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs - == rhs.str(). + Effects: returns lhs + == rhs.str().

@@ -866,8 +865,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs - != rhs.str(). + Effects: returns lhs + != rhs.str().

@@ -877,8 +876,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs - < rhs.str(). + Effects: returns lhs + < rhs.str().

@@ -888,8 +887,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs - > rhs.str(). + Effects: returns lhs + > rhs.str().

@@ -899,8 +898,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs - >= rhs.str(). + Effects: returns lhs + >= rhs.str().

@@ -910,8 +909,8 @@ constsub_match<BidirectionalIterator>&rhs);

- Effects: returns lhs - <= rhs.str(). + Effects: returns lhs + <= rhs.str().

@@ -921,8 +920,8 @@ typenameiterator_traits<BidirectionalIterator>::value_typeconst&rhs);

- Effects: returns lhs.str() - == rhs. + Effects: returns lhs.str() + == rhs.

@@ -932,8 +931,8 @@ typenameiterator_traits<BidirectionalIterator>::value_typeconst&rhs);

- Effects: returns lhs.str() - != rhs. + Effects: returns lhs.str() + != rhs.

@@ -943,8 +942,8 @@ typenameiterator_traits<BidirectionalIterator>::value_typeconst&rhs);

- Effects: returns lhs.str() - < rhs. + Effects: returns lhs.str() + < rhs.

@@ -954,8 +953,8 @@ typenameiterator_traits<BidirectionalIterator>::value_typeconst&rhs);

- Effects: returns lhs.str() - > rhs. + Effects: returns lhs.str() + > rhs.

@@ -965,8 +964,8 @@ typenameiterator_traits<BidirectionalIterator>::value_typeconst&rhs);

- Effects: returns lhs.str() - >= rhs. + Effects: returns lhs.str() + >= rhs.

@@ -976,12 +975,12 @@ typenameiterator_traits<BidirectionalIterator>::value_typeconst&rhs);

- Effects: returns lhs.str() - <= rhs. + Effects: returns lhs.str() + <= rhs.

- The addition operators for sub_match allow you to add a sub_match - to any type to which you can add a std::string + The addition operators for sub_match allow you to add a sub_match + to any type to which you can add a std::string and obtain a new string as the result.

@@ -995,8 +994,8 @@ const sub_match<BidirectionalIterator>& m);

- Effects: returns s - + m.str(). + Effects: returns s + + m.str().

@@ -1009,8 +1008,8 @@ Allocator>&s);

- Effects: returns m.str() - + s. + Effects: returns m.str() + + s.

@@ -1021,8 +1020,8 @@ constsub_match<BidirectionalIterator>&m);

- Effects: returns s - + m.str(). + Effects: returns s + + m.str().

@@ -1033,8 +1032,8 @@ typenameiterator_traits<BidirectionalIterator>::value_typeconst*s);

- Effects: returns m.str() - + s. + Effects: returns m.str() + + s.

@@ -1045,8 +1044,8 @@ constsub_match<BidirectionalIterator>&m);

- Effects: returns s - + m.str(). + Effects: returns s + + m.str().

@@ -1057,8 +1056,8 @@ typenameiterator_traits<BidirectionalIterator>::value_typeconst&s);

- Effects: returns m.str() - + s. + Effects: returns m.str() + + s.

@@ -1069,13 +1068,13 @@ constsub_match<BidirectionalIterator>&m2);

- Effects: returns m1.str() - + m2.str(). + Effects: returns m1.str() + + m2.str().

-
- +
+ Stream inserter -
+

@@ -1085,12 +1084,15 @@
                const sub_match<BidirectionalIterator>& m);
 

- Effects: returns (os << m.str()). + Effects: returns (os << m.str()).

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/syntax_option_type.html b/doc/html/boost_regex/ref/syntax_option_type.html index 05d85304..9a4e4ab1 100644 --- a/doc/html/boost_regex/ref/syntax_option_type.html +++ b/doc/html/boost_regex/ref/syntax_option_type.html @@ -1,13 +1,14 @@ -syntax_option_type + syntax_option_type - + - - - + + + @@ -24,8 +25,7 @@
syntax_option_type Synopsis
@@ -43,7 +43,10 @@
- +
Copyright © 2007 John Maddock

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 28d5b5c4..6a93eee2 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 @@ -1,13 +1,16 @@ -Options for POSIX Basic Regular Expressions + + Options for POSIX Basic Regular Expressions - + - - - + + + @@ -24,9 +27,9 @@

Exactly one of the following must always be set for POSIX basic regular expressions: @@ -69,7 +72,8 @@

@@ -199,7 +205,7 @@

Specifies that when a regular expression is matched against a character container sequence, then no sub-expression matches are to be stored - in the supplied match_results structure. + in the supplied match_results structure.

@@ -237,8 +243,9 @@ @@ -258,7 +265,7 @@

Specifies that the \n character has the same effect as the alternation operator |. Allows newline separated lists to be used as a list - of alternatives. This bit is already set, if you use the grep option. + of alternatives. This bit is already set, if you use the grep option.

@@ -275,7 +282,7 @@ @@ -294,8 +301,9 @@ @@ -350,7 +358,7 @@ @@ -368,7 +376,7 @@ @@ -378,7 +386,10 @@

Specifies that the grammar recognized by the regular expression - engine is the same as that used by POSIX + engine is the same as that used by POSIX basic regular expressions in IEEE Std 1003.1-2001, Portable Operating System Interface (POSIX ), Base Definitions and Headers, Section 9, Regular Expressions (FWD.1). @@ -107,12 +111,13 @@

Specifies that the grammar recognized by the regular expression - engine is the same as that used by POSIX utility grep in IEEE Std 1003.1-2001, + engine is the same as that used by POSIX utility grep in IEEE Std 1003.1-2001, Portable Operating System Interface (POSIX ), Shells and Utilities, Section 4, Utilit\ies, grep (FWD.1).

- That is to say, the same as POSIX + That is to say, the same as POSIX basic syntax, but with the newline character acting as an alternation character; the expression is treated as a newline separated list of alternatives. @@ -132,7 +137,8 @@

- Specifies that the grammar recognised is the superset of the POSIX-Basic syntax + Specifies that the grammar recognised is the superset of the POSIX-Basic syntax used by the emacs program.

- Specifies that character ranges of the form [a-b] - should be locale sensitive. This bit is on by default for POSIX-Basic regular expressions, + Specifies that character ranges of the form [a-b] + should be locale sensitive. This bit is on by default for POSIX-Basic regular expressions, but can be unset to force ranges to be compared by code point only.

- When set then character classes such as [[:alnum:]] + When set then character classes such as [[:alnum:]] are not allowed.

When set this makes the escape character ordinary inside lists, - so that [\b] would match either '\' or 'b'. - This bit is on by default for POSIX-basic + so that [\b] would match either '\' or 'b'. + This bit is on by default for POSIX-basic regular expressions, but can be unset to force escapes to be recognised inside lists.

@@ -331,8 +339,8 @@

- When set then \? acts - as a zero-or-one repeat operator, and \+ + When set then \? acts + as a zero-or-one repeat operator, and \+ acts as a one-or-more repeat operator.

- When set then \| acts + When set then \| acts as the alternation operator.

- Prevents basic_regex from throwing + Prevents basic_regex from throwing an exception when an invalid expression is encountered.

- +
Copyright © 2007 John Maddock

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 f2690f5e..9c11ca00 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 @@ -1,13 +1,16 @@ -Options for POSIX Extended Regular Expressions + + Options for POSIX Extended Regular Expressions - + - - - + + + @@ -24,11 +27,12 @@

- Exactly one of the following must always be set for POSIX + Exactly one of the following must always be set for POSIX extended regular expressions:

@@ -75,7 +79,8 @@ (FWD.1).

- Refer to the POSIX + Refer to the POSIX extended regular expression guide for more information.

@@ -106,7 +111,8 @@ grep (FWD.1).

- That is to say, the same as POSIX + That is to say, the same as POSIX extended syntax, but with the newline character acting as an alternation character in addition to "|".

@@ -131,7 +137,8 @@ and Utilities, Section 4, awk (FWD.1).

- That is to say: the same as POSIX + That is to say: the same as POSIX extended syntax, but with escape sequences in character classes permitted.

@@ -207,7 +214,7 @@

Specifies that when a regular expression is matched against a character container sequence, then no sub-expression matches are to be stored - in the supplied match_results structure. + in the supplied match_results structure.

@@ -245,7 +252,7 @@ @@ -333,7 +340,10 @@

- Specifies that character ranges of the form [a-b] + Specifies that character ranges of the form [a-b] should be locale sensitive. This bit is on by default for POSIX-Extended regular expressions, but can be unset to force ranges to be compared by code point only. @@ -285,7 +292,7 @@

When set this makes the escape character ordinary inside lists, - so that [\b] would match either '\' or 'b'. + so that [\b] would match either '\' or 'b'. This bit is on by default for POSIX-Extended regular expressions, but can be unset to force escapes to be recognised inside lists.

@@ -323,7 +330,7 @@

- Prevents basic_regex from throwing + Prevents basic_regex from throwing an exception when an invalid expression is encountered.

- +
Copyright © 2007 John Maddock

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 d8d50cdf..7e1ad83c 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 @@ -1,13 +1,15 @@ -Options for Literal Strings + + Options for Literal Strings - + - - - + + + @@ -24,9 +26,9 @@

The following must always be set to interpret the expression as a string literal: @@ -143,7 +145,10 @@

- +
Copyright © 2007 John Maddock

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 7a3b9eee..e8d09cca 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 @@ -1,13 +1,16 @@ -Overview of syntax_option_type + + Overview of syntax_option_type - + - - - + + + @@ -24,22 +27,22 @@

- The type syntax_option_type is an implementation + The type syntax_option_type is an implementation specific bitmask type (see C++ standard 17.3.2.1.2). Setting its elements - has the effects listed in the table below, a valid value of type syntax_option_type - will always have exactly one of the elements normal, - basic, extended, - awk, grep, - egrep, sed, - literal or perl set. + has the effects listed in the table below, a valid value of type syntax_option_type + will always have exactly one of the elements normal, + basic, extended, + awk, grep, + egrep, sed, + literal or perl set.

Note that for convenience all the constants listed here are duplicated - within the scope of class template basic_regex, so you can use any + within the scope of class template basic_regex, so you can use any of:

@@ -63,7 +66,10 @@
 
 
- +
Copyright © 2007 John Maddock

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 95eaac41..36fea83b 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 @@ -1,13 +1,16 @@ -Options for Perl Regular Expressions + + Options for Perl Regular Expressions - + - - - + + + @@ -24,9 +27,9 @@

One of the following must always be set for perl regular expressions:

@@ -73,11 +76,12 @@ part 10, RegExp (Regular Expression) Objects (FWD.1).

- This is functionally identical to the Perl + This is functionally identical to the Perl regular expression syntax.

- Boost.Regex also recognizes all of the perl-compatible (?...) extensions in this mode. + Boost.Regex also recognizes all of the perl-compatible (?...) extensions in this mode.

@@ -211,7 +215,7 @@

Specifies that when a regular expression is matched against a character container sequence, then no sub-expression matches are to be stored - in the supplied match_results structure. + in the supplied match_results structure.

@@ -249,7 +253,7 @@ @@ -286,7 +290,7 @@ @@ -325,9 +329,9 @@ @@ -346,9 +350,9 @@ @@ -376,7 +380,10 @@

- Specifies that character ranges of the form [a-b] + Specifies that character ranges of the form [a-b] should be locale sensitive.

- Prevents basic_regex from throwing + Prevents basic_regex from throwing an exception when an invalid expression is encountered.

Normally whether Boost.Regex will match "." against a - newline character is determined by the match flag match_dot_not_newline. Specifying - this flag is equivalent to prefixing the expression with (?-s) and therefore causes "." - not to match a newline character regardless of whether match_not_dot_newline is set + newline character is determined by the match flag match_dot_not_newline. Specifying + this flag is equivalent to prefixing the expression with (?-s) and therefore causes "." + not to match a newline character regardless of whether match_not_dot_newline is set in the match flags.

Normally whether Boost.Regex will match "." against a - newline character is determined by the match flag match_dot_not_newline. Specifying - this flag is equivalent to prefixing the expression with (?s) and therefore causes "." - to match a newline character regardless of whether match_not_dot_newline is set + newline character is determined by the match flag match_dot_not_newline. Specifying + this flag is equivalent to prefixing the expression with (?s) and therefore causes "." + to match a newline character regardless of whether match_not_dot_newline is set in the match flags.

- +
Copyright © 2007 John Maddock

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 9e01046a..40e6d61f 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 @@ -1,13 +1,15 @@ -syntax_option_type Synopsis + + syntax_option_type Synopsis - + - - - + + + @@ -24,15 +26,15 @@

- Type syntax_option_type + Type syntax_option_type is an implementation specific bitmask type that controls how a regular expression string is to be interpreted. For convenience note that all the constants listed here, are also duplicated within the scope of class template - basic_regex. + basic_regex.

 namespace std{ namespace regex_constants{
@@ -63,7 +65,10 @@
 
 
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/syntax.html b/doc/html/boost_regex/syntax.html index 4a9c6b84..df1cc1bc 100644 --- a/doc/html/boost_regex/syntax.html +++ b/doc/html/boost_regex/syntax.html @@ -1,13 +1,14 @@ -Regular Expression Syntax + Regular Expression Syntax - + - - + + @@ -24,8 +25,7 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/syntax/basic_extended.html b/doc/html/boost_regex/syntax/basic_extended.html index cb3b7125..ba068602 100644 --- a/doc/html/boost_regex/syntax/basic_extended.html +++ b/doc/html/boost_regex/syntax/basic_extended.html @@ -1,13 +1,16 @@ -POSIX Extended Regular Expression Syntax + POSIX Extended Regular + Expression Syntax - + - - - + + + @@ -24,18 +27,18 @@ +

+ Synopsis -

+

The POSIX-Extended regular expression syntax is supported by the POSIX C - regular expression API's, and variations are used by the utilities egrep and awk. + regular expression API's, and variations are used by the utilities egrep and awk. You can construct POSIX extended regular expressions in Boost.Regex by passing - the flag extended to the + the flag extended to the regex constructor, for example:

@@ -46,38 +49,38 @@
 

-

- +

+ POSIX Extended Syntax -

+

In POSIX-Extended regular expressions, all characters match themselves except for the following special characters:

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

+ Wildcard: -

+

The single character '.' when used outside of a character set will match any single character except:

  • - The NULL character when the flag match_no_dot_null + The NULL character when the flag match_no_dot_null is passed to the matching algorithms.
  • - The newline character when the flag match_not_dot_newline + The newline character when the flag match_not_dot_newline is passed to the matching algorithms.
-
- +

+ Anchors: -

+

A '^' character shall match the start of a line when used as the first character of an expression, or the first character of a sub-expression. @@ -86,39 +89,39 @@ A '$' character shall match the end of a line when used as the last character of an expression, or the last character of a sub-expression.

-
- +

+ Marked sub-expressions: -

+

- A section beginning ( and ending - ) acts as a marked sub-expression. + A section beginning ( and ending + ) acts as a marked sub-expression. Whatever matched the sub-expression is split out in a separate field by the matching algorithms. Marked sub-expressions can also repeated, or referred to by a back-reference.

-
- +

+ Repeats: -

+

Any atom (a single character, a marked sub-expression, or a character class) - can be repeated with the *, - +, ?, - and {} operators. + can be repeated with the *, + +, ?, + and {} operators.

- The * operator will match the + The * operator will match the preceding atom zero or more times, for example the expression - a*b will match any of the following: + a*b will match any of the following:

b
 ab
 aaaaaaaab
 

- The + operator will match the + The + operator will match the preceding atom one or more times, for example the expression a+b will match any of the following:

@@ -131,9 +134,9 @@ aaaaaaaab
b
 

- The ? operator will match the + The ? operator will match the preceding atom zero or one times, for example the expression - ca?b will match any of the following: + ca?b will match any of the following:

cb
 cab
@@ -147,15 +150,15 @@ cab
         An atom can also be repeated with a bounded repeat:
       

- a{n} Matches + a{n} Matches 'a' repeated exactly n times.

- a{n,} Matches + a{n,} Matches 'a' repeated n or more times.

- a{n, m} Matches 'a' repeated between n + a{n, m} Matches 'a' repeated between n and m times inclusive.

@@ -184,13 +187,13 @@ cab a(*)

- Will raise an error, as there is nothing for the * + Will raise an error, as there is nothing for the * operator to be applied to.

-
- +

+ Back references: -

+

An escape character followed by a digit n, where n is in the range 1-9, matches the same string that was matched by sub-expression @@ -214,29 +217,29 @@ cab

-
[Caution] Caution

+

The POSIX standard does not support back-references for "extended" regular expressions, this is a compatible extension to that standard.

-
- +

+ Alternation -

+

- The | operator will match either - of its arguments, so for example: abc|def will + The | operator will match either + of its arguments, so for example: abc|def will match either "abc" or "def".

- Parenthesis can be used to group alternations, for example: ab(d|ef) + Parenthesis can be used to group alternations, for example: ab(d|ef) will match either of "abd" or "abef".

-
- +

+ Character sets: -

+

A character set is a bracket-expression starting with [ and ending with ], it defines a set of characters, and matches any single character that is @@ -245,72 +248,73 @@ cab

A bracket expression may contain any combination of the following:

-
- +
+ Single characters: -
+

- For example [abc], will match any of the characters 'a', 'b', + For example [abc], will match any of the characters 'a', 'b', or 'c'.

-
- +
+ Character ranges: -
+

- For example [a-c] + For example [a-c] will match any single character in the range 'a' to 'c'. By default, for POSIX-Extended regular expressions, a character x is within the range y to z, if it collates within that range; this results in locale specific behavior . This - behavior can be turned off by unsetting the collate - option flag - in + behavior can be turned off by unsetting the collate + option flag - in which case whether a character appears within a range is determined by comparing the code points of the characters only.

-
- +
+ Negation: -
+

If the bracket-expression begins with the ^ character, then it matches the - complement of the characters it contains, for example [^a-c] matches any character that is not in the - range a-c. + complement of the characters it contains, for example [^a-c] matches any character that is not in the + range a-c.

-
- +
+ Character classes: -
+

- An expression of the form [[:name:]] - matches the named character class "name", for example [[:lower:]] matches any lower case character. See - character class names. + An expression of the form [[:name:]] + matches the named character class "name", for example [[:lower:]] matches any lower case character. See + character class names.

-
- +
+ Collating Elements: -
+

- An expression of the form [[.col.] matches + An expression of the form [[.col.] matches the collating element col. A collating element is any single character, or any sequence of characters that collates as a single unit. Collating elements may also be used as the end point of a range, for - example: [[.ae.]-c] + example: [[.ae.]-c] matches the character sequence "ae", plus any single character in the range "ae"-c, assuming that "ae" is treated as a single collating element in the current locale.

Collating elements may be used in place of escapes (which are not normally - allowed inside character sets), for example [[.^.]abc] would + allowed inside character sets), for example [[.^.]abc] would match either one of the characters 'abc^'.

- As an extension, a collating element may also be specified via its symbolic name, for example: + As an extension, a collating element may also be specified via its symbolic name, for example:

 [[.NUL.]]
@@ -318,35 +322,35 @@ cab
 

matches a NUL character.

-
- +
+ Equivalence classes: -
+

- An expression of the form [[=col=]], + An expression of the form [[=col=]], matches any character or collating element whose primary sort key is the same as that for collating element col, as with colating - elements the name col may be a symbolic + elements the name col may be a symbolic name. A primary sort key is one that ignores case, accentation, or - locale-specific tailorings; so for example [[=a=]] matches + locale-specific tailorings; so for example [[=a=]] matches any of the characters: a, À, Á, Â, Ã, Ä, Å, A, à, á, â, ã, ä and å. Unfortunately implementation of this is reliant on the platform's collation and localisation support; this feature can not be relied upon to work portably across all platforms, or even all locales on one platform.

-
- +
+ Combinations: -
+

All of the above can be combined in one character set declaration, for example: - [[:digit:]a-c[.NUL.]]. + [[:digit:]a-c[.NUL.]].

-
- +

+ Escapes -

+

The POSIX standard defines no escape sequences for POSIX-Extended regular expressions, except that: @@ -361,7 +365,7 @@ cab

  • An escape inside a character class declaration shall match itself: in other words the escape character is not "special" inside a character - class declaration; so [\^] + class declaration; so [\^] will match either a literal '\' or a '^'.
  • @@ -369,11 +373,11 @@ cab However, that's rather restrictive, so the following standard-compatible extensions are also supported by Boost.Regex:

    -
    - +
    + Escapes matching a specific character -
    +

    The following escape sequences are all synonyms for single characters:

    @@ -552,17 +556,17 @@ cab

    Matches the single character which has the symbolic name name. For - example \\N{newline} matches the single character \n. + example \\N{newline} matches the single character \n.

    -
    - +
    + "Single character" character classes: -
    +

    Any escaped character x, if x is the name of a character class shall match any character that is a member @@ -593,130 +597,130 @@ cab

    - \d + \d

    - [[:digit:]] + [[:digit:]]

    - \l + \l

    - [[:lower:]] + [[:lower:]]

    - \s + \s

    - [[:space:]] + [[:space:]]

    - \u + \u

    - [[:upper:]] + [[:upper:]]

    - \w + \w

    - [[:word:]] + [[:word:]]

    - \D + \D

    - [^[:digit:]] + [^[:digit:]]

    - \L + \L

    - [^[:lower:]] + [^[:lower:]]

    - \S + \S

    - [^[:space:]] + [^[:space:]]

    - \U + \U

    - [^[:upper:]] + [^[:upper:]]

    - \W + \W

    - [^[:word:]] + [^[:word:]]

    -
    - +
    + Character Properties -
    +

    The character property names in the following table are all equivalent to the names used in character classes. @@ -748,7 +752,7 @@ cab

    - \pX + \pX

    @@ -758,14 +762,14 @@ cab

    - [[:X:]] + [[:X:]]

    - \p{Name} + \p{Name}

    @@ -775,14 +779,14 @@ cab

    - [[:Name:]] + [[:Name:]]

    - \PX + \PX

    @@ -792,14 +796,14 @@ cab

    - [^[:X:]] + [^[:X:]]

    - \P{Name} + \P{Name}

    @@ -809,20 +813,20 @@ cab

    - [^[:Name:]] + [^[:Name:]]

    - For example \pd - matches any "digit" character, as does \p{digit}. + For example \pd + matches any "digit" character, as does \p{digit}.

    -
    - +
    + Word Boundaries -
    +

    The following escape sequences match the boundaries of words:

    @@ -847,7 +851,7 @@ cab

    - \< + \<

    @@ -859,7 +863,7 @@ cab

    - \> + \>

    @@ -871,7 +875,7 @@ cab

    - \b + \b

    @@ -883,7 +887,7 @@ cab

    - \B + \B

    @@ -894,11 +898,11 @@ cab
    -
    - +
    + Buffer boundaries -
    +

    The following match only at buffer boundaries: a "buffer" in this context is the whole of the input text that is being matched against (note @@ -949,7 +953,7 @@ cab

    - \A + \A

    @@ -961,7 +965,7 @@ cab

    - \z + \z

    @@ -973,50 +977,50 @@ cab

    - \Z + \Z

    Matches an optional sequence of newlines at the end of a buffer: - equivalent to the regular expression \n*\z + equivalent to the regular expression \n*\z

    -
    - +
    + Continuation Escape -
    +

    - The sequence \G + The sequence \G matches only at the end of the last match found, or at the start of the text being matched if no previous match was found. This escape useful if you're iterating over the matches contained within a text, and you want each subsequence match to start where the last one ended.

    -
    - +
    + Quoting escape -
    +

    - The escape sequence \Q + The escape sequence \Q begins a "quoted sequence": all the subsequent characters are treated - as literals, until either the end of the regular expression or \E is found. - For example the expression: \Q\*+\Ea+ would match either of: + as literals, until either the end of the regular expression or \E is found. + For example the expression: \Q\*+\Ea+ would match either of:

     \*+a
     \*+aaa
     
    -
    - +
    + Unicode escapes -
    +
    @@ -1038,7 +1042,7 @@ cab

    - \C + \C

    @@ -1051,7 +1055,7 @@ cab

    - \X + \X

    @@ -1063,40 +1067,40 @@ cab
    -
    - +
    + Any other escape -
    +

    Any other escape sequence matches the character that is escaped, for example \@ matches a literal '@'.

    -
    - +

    + Operator precedence -

    +

    The order of precedence for of operators is as follows:

    1. - Collation-related bracket symbols [==] - [::] [..] + Collation-related bracket symbols [==] + [::] [..]
    2. - Escaped characters \ + Escaped characters \
    3. - Character set (bracket expression) [] + Character set (bracket expression) []
    4. - Grouping () + Grouping ()
    5. - Single-character-ERE duplication * - + ? {m,n} + Single-character-ERE duplication * + + ? {m,n}
    6. Concatenation @@ -1105,30 +1109,31 @@ cab Anchoring ^$
    7. - Alternation | + Alternation |
    -
    - +

    + What Gets Matched -

    +

    When there is more that one way to match a regular expression, the "best" - possible match is obtained using the leftmost-longest + possible match is obtained using the leftmost-longest rule.

    -

    - +

    + Variations -

    -
    - +
    +

    + Egrep -

    +

    - When an expression is compiled with the flag - egrep set, then the + When an expression is compiled with the flag + egrep set, then the expression is treated as a newline separated list of POSIX-Extended expressions, a match is found if any of the expressions in the list match, for example: @@ -1141,13 +1146,13 @@ cab

    As its name suggests, this behavior is consistent with the Unix utility - egrep, and with grep when + egrep, and with grep when used with the -E option.

    -
    - +

    + awk -

    +

    In addition to the POSIX-Extended features the escape character is special inside a character class @@ -1158,23 +1163,26 @@ cab specification are required to be supported - however Boost.Regex supports these by default anyway.

    -

    - +

    + Options -

    +

    - There are a variety - of flags that may be combined with the extended - and egrep options when constructing - the regular expression, in particular note that the newline_alt option alters the syntax, - while the collate, nosubs - and icase options + There are a variety + of flags that may be combined with the extended + and egrep options when constructing + the regular expression, in particular note that the newline_alt option alters the syntax, + while the collate, nosubs + and icase options modify how the case and locale sensitivity are to be applied.

    -

    - +

    + References -

    +

    IEEE Std 1003.1-2001, Portable Operating System Interface (POSIX ), Base Definitions @@ -1193,7 +1201,10 @@ cab

    - +
    Copyright © 2007 John Maddock

    diff --git a/doc/html/boost_regex/syntax/basic_syntax.html b/doc/html/boost_regex/syntax/basic_syntax.html index 1c6da9c4..2e1fbf33 100644 --- a/doc/html/boost_regex/syntax/basic_syntax.html +++ b/doc/html/boost_regex/syntax/basic_syntax.html @@ -1,13 +1,16 @@ -POSIX Basic Regular Expression Syntax + POSIX Basic Regular + Expression Syntax - + - - - + + + @@ -24,18 +27,18 @@ +

    + Synopsis -

    +

    - The POSIX-Basic regular expression syntax is used by the Unix utility sed, and variations are used by grep and emacs. + The POSIX-Basic regular expression syntax is used by the Unix utility sed, and variations are used by grep and emacs. You can construct POSIX basic regular expressions in Boost.Regex by passing - the flag basic to the regex - constructor (see syntax_option_type), for example: + the flag basic to the regex + constructor (see syntax_option_type), for example:

     // e1 is a case sensitive POSIX-Basic expression:
    @@ -45,38 +48,38 @@
     

    -

    - +

    + POSIX Basic Syntax -

    +

    In POSIX-Basic regular expressions, all characters are match themselves except for the following special characters:

    .[\*^$
    -
    - +

    + Wildcard: -

    +

    The single character '.' when used outside of a character set will match any single character except:

    • - The NULL character when the flag match_no_dot_null + The NULL character when the flag match_no_dot_null is passed to the matching algorithms.
    • - The newline character when the flag match_not_dot_newline + The newline character when the flag match_not_dot_newline is passed to the matching algorithms.
    -
    - +

    + Anchors: -

    +

    A '^' character shall match the start of a line when used as the first character of an expression, or the first character of a sub-expression. @@ -85,30 +88,30 @@ A '$' character shall match the end of a line when used as the last character of an expression, or the last character of a sub-expression.

    -
    - +

    + Marked sub-expressions: -

    +

    - A section beginning \( and ending - \) acts as a marked sub-expression. + A section beginning \( and ending + \) acts as a marked sub-expression. Whatever matched the sub-expression is split out in a separate field by the matching algorithms. Marked sub-expressions can also repeated, or referred-to by a back-reference.

    -
    - +

    + Repeats: -

    +

    Any atom (a single character, a marked sub-expression, or a character class) can be repeated with the * operator.

    - For example a* + For example a* will match any number of letter a's repeated zero or more times (an atom - repeated zero times matches an empty string), so the expression a*b + repeated zero times matches an empty string), so the expression a*b will match any of the following:

    b
    @@ -119,15 +122,15 @@ aaaaaaaab
             An atom can also be repeated with a bounded repeat:
           

    - a\{n\} Matches + a\{n\} Matches 'a' repeated exactly n times.

    - a\{n,\} Matches + a\{n,\} Matches 'a' repeated n or more times.

    - a\{n, m\} Matches 'a' repeated between n and m times + a\{n, m\} Matches 'a' repeated between n and m times inclusive.

    @@ -155,10 +158,10 @@ aaaa Will raise an error, as there is nothing for the * operator to be applied to.

    -
    - +

    + Back references: -

    +

    An escape character followed by a digit n, where n is in the range 1-9, matches the same string that was matched by sub-expression @@ -173,11 +176,11 @@ aaaa But not the string:

    aaabba
    -
    - +

    + Character sets: -

    +

    A character set is a bracket-expression starting with [ and ending with ], it defines a set of characters, and matches any single character that is @@ -186,68 +189,69 @@ aaaa

    A bracket expression may contain any combination of the following:

    -
    - +
    + Single characters: -
    +

    - For example [abc], will match any of the characters 'a', 'b', + For example [abc], will match any of the characters 'a', 'b', or 'c'.

    -
    - +
    + Character ranges: -
    +

    - For example [a-c] + For example [a-c] will match any single character in the range 'a' to 'c'. By default, for POSIX-Basic regular expressions, a character x is within the range y to z, if it collates within that range; this results in locale specific behavior. This behavior - can be turned off by unsetting the collate + can be turned off by unsetting the collate option flag when constructing the regular expression - in which case whether a character appears within a range is determined by comparing the code points of the characters only.

    -
    - +
    + Negation: -
    +

    If the bracket-expression begins with the ^ character, then it matches the - complement of the characters it contains, for example [^a-c] matches any character that is not in the + complement of the characters it contains, for example [^a-c] matches any character that is not in the range a-c.

    -
    - +
    + Character classes: -
    +

    - An expression of the form [[:name:]] - matches the named character class "name", for example [[:lower:]] matches any lower case character. See - character class names. + An expression of the form [[:name:]] + matches the named character class "name", for example [[:lower:]] matches any lower case character. See + character class names.

    -
    - +
    + Collating Elements: -
    +

    - An expression of the form [[.col.] matches + An expression of the form [[.col.] matches the collating element col. A collating element is any single character, or any sequence of characters that collates as a single unit. Collating elements may also be used as the end point of a range, for - example: [[.ae.]-c] + example: [[.ae.]-c] matches the character sequence "ae", plus any single character in the rangle "ae"-c, assuming that "ae" is treated as a single collating element in the current locale.

    Collating elements may be used in place of escapes (which are not normally - allowed inside character sets), for example [[.^.]abc] would + allowed inside character sets), for example [[.^.]abc] would match either one of the characters 'abc^'.

    @@ -256,38 +260,38 @@ aaaa

    [[.NUL.]]

    - matches a 'NUL' character. See collating + matches a 'NUL' character. See collating element names.

    -
    - +
    + Equivalence classes: -
    +

    - An expression of theform [[=col=]], + An expression of theform [[=col=]], matches any character or collating element whose primary sort key is the same as that for collating element col, as with collating - elements the name col may be a collating + elements the name col may be a collating symbolic name. A primary sort key is one that ignores case, accentation, - or locale-specific tailorings; so for example [[=a=]] matches + or locale-specific tailorings; so for example [[=a=]] matches any of the characters: a, À, Á, Â, Ã, Ä, Å, A, à, á, â, ã, ä and å. Unfortunately implementation of this is reliant on the platform's collation and localisation support; this feature can not be relied upon to work portably across all platforms, or even all locales on one platform.

    -
    - +
    + Combinations: -
    +

    All of the above can be combined in one character set declaration, for example: - [[:digit:]a-c[.NUL.]]. + [[:digit:]a-c[.NUL.]].

    -
    - +

    + Escapes -

    +

    With the exception of the escape sequences \{, \}, \(, and \), which are documented above, an escape followed by any character matches that character. @@ -296,31 +300,32 @@ aaaa

    .[\*^$

    "ordinary". Note that the escape character loses its special meaning - inside a character set, so [\^] + inside a character set, so [\^] will match either a literal '\' or a '^'.

    -

    - +

    + What Gets Matched -

    +

    When there is more that one way to match a regular expression, the "best" - possible match is obtained using the leftmost-longest + possible match is obtained using the leftmost-longest rule.

    -

    - +

    + Variations -

    +

    -
    - +

    + Grep -

    +

    - When an expression is compiled with the flag grep + When an expression is compiled with the flag grep set, then the expression is treated as a newline separated list of POSIX-Basic expressions, a match is found if any of the expressions in the list match, for example:

    @@ -334,10 +339,10 @@ aaaa

    As its name suggests, this behavior is consistent with the Unix utility grep.

    -
    - +

    + emacs -

    +

    In addition to the POSIX-Basic features the following characters are also special: @@ -611,27 +616,31 @@ aaaa according to the Perl "depth first search" rules. Emacs expressions are matched this way because they contain Perl-like extensions, that do not interact - well with the POSIX-style + well with the POSIX-style leftmost-longest rule.

    -

    - +

    + Options -

    +

    - There are a variety - of flags that may be combined with the basic - and grep options when constructing - the regular expression, in particular note that the newline_alt, no_char_classes, - no-intervals, bk_plus_qm - and bk_plus_vbar options - all alter the syntax, while the collate and icase + There are a variety + of flags that may be combined with the basic + and grep options when constructing + the regular expression, in particular note that the newline_alt, no_char_classes, + no-intervals, bk_plus_qm + and bk_plus_vbar options + all alter the syntax, while the collate and icase options modify how the case and locale sensitivity are to be applied.

    -

    - +

    + References -

    +

    IEEE Std 1003.1-2001, Portable Operating System Interface (POSIX ), Base Definitions @@ -648,7 +657,10 @@ aaaa

    - +
    Copyright © 2007 John Maddock

    diff --git a/doc/html/boost_regex/syntax/character_classes.html b/doc/html/boost_regex/syntax/character_classes.html index baf9fa93..12d9356e 100644 --- a/doc/html/boost_regex/syntax/character_classes.html +++ b/doc/html/boost_regex/syntax/character_classes.html @@ -1,13 +1,16 @@ -Character Class Names + Character Class + Names - + - - - + + + @@ -24,9 +27,9 @@
    - +
    Copyright © 2007 John Maddock

    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 d8b7c5a9..631ddf24 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 @@ -1,13 +1,16 @@ -Character classes that are supported by Unicode Regular Expressions + + Character classes that are supported by Unicode Regular Expressions - + - - - + + + @@ -24,12 +27,12 @@

    The following character classes are only supported by Unicode Regular Expressions: - that is those that use the u32regex + that is those that use the u32regex type. The names used are the same as those from Chapter 4 of the Unicode standard.

    @@ -533,7 +536,10 @@
    - +
    Copyright © 2007 John Maddock

    diff --git a/doc/html/boost_regex/syntax/character_classes/std_char_clases.html b/doc/html/boost_regex/syntax/character_classes/std_char_clases.html index b3f24808..4a6bbd08 100644 --- a/doc/html/boost_regex/syntax/character_classes/std_char_clases.html +++ b/doc/html/boost_regex/syntax/character_classes/std_char_clases.html @@ -1,13 +1,17 @@ -Character Classes that are Always Supported + + Character Classes that are Always Supported - + - - - + + + @@ -24,9 +28,9 @@

    The following character class names are always supported by Boost.Regex:

    @@ -382,7 +386,10 @@
    - +
    Copyright © 2007 John Maddock

    diff --git a/doc/html/boost_regex/syntax/collating_names.html b/doc/html/boost_regex/syntax/collating_names.html index b837a1a6..991967a1 100644 --- a/doc/html/boost_regex/syntax/collating_names.html +++ b/doc/html/boost_regex/syntax/collating_names.html @@ -1,13 +1,14 @@ -Collating Names + Collating Names - + - - - + + + @@ -24,8 +25,7 @@
    - +
    Copyright © 2007 John Maddock

    diff --git a/doc/html/boost_regex/syntax/collating_names/digraphs.html b/doc/html/boost_regex/syntax/collating_names/digraphs.html index 90a30186..de77c8cc 100644 --- a/doc/html/boost_regex/syntax/collating_names/digraphs.html +++ b/doc/html/boost_regex/syntax/collating_names/digraphs.html @@ -1,13 +1,14 @@ -Digraphs + Digraphs - + - - - + + + @@ -24,8 +25,7 @@

    The following are treated as valid digraphs when used as a collating name:

    @@ -47,7 +47,10 @@
    - +
    Copyright © 2007 John Maddock

    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 ac4c46af..4d8e0ca4 100644 --- a/doc/html/boost_regex/syntax/collating_names/named_unicode.html +++ b/doc/html/boost_regex/syntax/collating_names/named_unicode.html @@ -1,13 +1,16 @@ -Named Unicode Characters + + Named Unicode Characters - + - - - + + + @@ -24,12 +27,12 @@

    - When using Unicode aware regular expressions - (with the u32regex type), + When using Unicode aware regular expressions + (with the u32regex type), all the normal symbolic names for Unicode characters (those given in Unidata.txt) are recognised. So for example:

    @@ -40,7 +43,10 @@
    - +
    Copyright © 2007 John Maddock

    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 91e5ce27..91f5931b 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 @@ -1,13 +1,15 @@ -POSIX Symbolic Names + + POSIX Symbolic Names - + - - - + + + @@ -24,9 +26,9 @@

    The following symbolic names are recognised as valid collating element names, in addition to any single character, this allows you to write for @@ -971,7 +973,10 @@

    - +
    Copyright © 2007 John Maddock

    diff --git a/doc/html/boost_regex/syntax/leftmost_longest_rule.html b/doc/html/boost_regex/syntax/leftmost_longest_rule.html index aa5a57b9..27d5a838 100644 --- a/doc/html/boost_regex/syntax/leftmost_longest_rule.html +++ b/doc/html/boost_regex/syntax/leftmost_longest_rule.html @@ -1,13 +1,15 @@ -The Leftmost Longest Rule + The Leftmost + Longest Rule - + - - - + + + @@ -24,9 +26,9 @@

    Often there is more than one way of matching a regular expression at a particular location, for POSIX basic and extended regular expressions, the "best" @@ -65,7 +67,10 @@

    - +
    Copyright © 2007 John Maddock

    diff --git a/doc/html/boost_regex/syntax/perl_syntax.html b/doc/html/boost_regex/syntax/perl_syntax.html index 0750577a..dc98edba 100644 --- a/doc/html/boost_regex/syntax/perl_syntax.html +++ b/doc/html/boost_regex/syntax/perl_syntax.html @@ -1,13 +1,15 @@ -Perl Regular Expression Syntax + Perl Regular Expression + Syntax - + - - - + + + @@ -24,18 +26,18 @@ +

    + Synopsis -

    +

    The Perl regular expression syntax is based on that used by the programming language Perl . Perl regular expressions are the default behavior in Boost.Regex - or you can pass the flag perl - to the basic_regex + or you can pass the flag perl + to the basic_regex constructor, for example:

    @@ -45,85 +47,85 @@
     // e2 a case insensitive Perl regular expression:
     boost::regex e2(my_expression, boost::regex::perl|boost::regex::icase);
     
    -

    - +

    + Perl Regular Expression Syntax -

    +

    In Perl regular expressions, all characters match themselves except for the following special characters:

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

    + Wildcard -

    +

    The single character '.' when used outside of a character set will match any single character except:

    -
    - +

    + Anchors -

    +

    A '^' character shall match the start of a line.

    A '$' character shall match the end of a line.

    -
    - +

    + Marked sub-expressions -

    +

    - A section beginning ( and ending - ) acts as a marked sub-expression. + A section beginning ( and ending + ) acts as a marked sub-expression. Whatever matched the sub-expression is split out in a separate field by the matching algorithms. Marked sub-expressions can also repeated, or referred to by a back-reference.

    -
    - +

    + Non-marking grouping -

    +

    A marked sub-expression is useful to lexically group part of a regular expression, but has the side-effect of spitting out an extra field in the result. As an alternative you can lexically group part of a regular expression, without - generating a marked sub-expression by using (?: - and ) , for example (?:ab)+ - will repeat ab without splitting + generating a marked sub-expression by using (?: + and ) , for example (?:ab)+ + will repeat ab without splitting out any separate sub-expressions.

    -
    - +

    + Repeats -

    +

    Any atom (a single character, a marked sub-expression, or a character class) - can be repeated with the *, - +, ?, - and {} operators. + can be repeated with the *, + +, ?, + and {} operators.

    - The * operator will match the - preceding atom zero or more times, for example the expression a*b + The * operator will match the + preceding atom zero or more times, for example the expression a*b will match any of the following:

    @@ -132,8 +134,8 @@
     aaaaaaaab
     

    - The + operator will match the - preceding atom one or more times, for example the expression a+b + The + operator will match the + preceding atom one or more times, for example the expression a+b will match any of the following:

    @@ -147,7 +149,7 @@
     b
     

    - The ? operator will match the + The ? operator will match the preceding atom zero or one times, for example the expression ca?b will match any of the following:

    @@ -165,15 +167,15 @@ An atom can also be repeated with a bounded repeat:

    - a{n} Matches + a{n} Matches 'a' repeated exactly n times.

    - a{n,} Matches + a{n,} Matches 'a' repeated n or more times.

    - a{n, m} Matches 'a' repeated between n and m times + a{n, m} Matches 'a' repeated between n and m times inclusive.

    @@ -202,44 +204,44 @@ a(*)

    - Will raise an error, as there is nothing for the * + Will raise an error, as there is nothing for the * operator to be applied to.

    -
    - +

    + Non greedy repeats -

    +

    The normal repeat operators are "greedy", that is to say they will consume as much input as possible. There are non-greedy versions available that will consume as little input as possible while still producing a match.

    - *? Matches the previous atom + *? Matches the previous atom zero or more times, while consuming as little input as possible.

    - +? Matches the previous atom + +? Matches the previous atom one or more times, while consuming as little input as possible.

    - ?? Matches the previous atom + ?? Matches the previous atom zero or one times, while consuming as little input as possible.

    - {n,}? Matches the previous atom n or more times, + {n,}? Matches the previous atom n or more times, while consuming as little input as possible.

    - {n,m}? + {n,m}? Matches the previous atom between n and m times, while consuming as little input as possible.

    -
    - +

    + Back references -

    +

    An escape character followed by a digit n, where n is in the range 1-9, matches the same string that was matched by sub-expression @@ -258,154 +260,156 @@

     aaabba
     
    -
    - +

    + Alternation -

    +

    - The | operator will match either - of its arguments, so for example: abc|def will + The | operator will match either + of its arguments, so for example: abc|def will match either "abc" or "def".

    - Parenthesis can be used to group alternations, for example: ab(d|ef) + Parenthesis can be used to group alternations, for example: ab(d|ef) will match either of "abd" or "abef".

    Empty alternatives are not allowed (these are almost always a mistake), but - if you really want an empty alternative use (?:) + if you really want an empty alternative use (?:) as a placeholder, for example:

    - |abc + |abc is not a valid expression, but

    - (?:)|abc + (?:)|abc is and is equivalent, also the expression:

    - (?:abc)?? has exactly the same effect. + (?:abc)?? has exactly the same effect.

    -
    - +

    + Character sets -

    +

    - A character set is a bracket-expression starting with [ - and ending with ], it defines + A character set is a bracket-expression starting with [ + and ending with ], it defines a set of characters, and matches any single character that is a member of that set.

    A bracket expression may contain any combination of the following:

    -
    - +
    + Single characters -
    +

    - For example [abc], will match any of the characters 'a', 'b', + For example [abc], will match any of the characters 'a', 'b', or 'c'.

    -
    - +
    + Character ranges -
    +

    - For example [a-c] + For example [a-c] will match any single character in the range 'a' to 'c'. By default, for Perl regular expressions, a character x is within the range y to z, if the code point of the character lies within the codepoints of the endpoints of - the range. Alternatively, if you set the collate flag when constructing the + the range. Alternatively, if you set the collate flag when constructing the regular expression, then ranges are locale sensitive.

    -
    - +
    + Negation -
    +

    If the bracket-expression begins with the ^ character, then it matches the - complement of the characters it contains, for example [^a-c] matches any character that is not in the - range a-c. + complement of the characters it contains, for example [^a-c] matches any character that is not in the + range a-c.

    -
    - +
    + Character classes -
    +

    - An expression of the form [[:name:]] - matches the named character class "name", for example [[:lower:]] matches any lower case character. See - character class names. + An expression of the form [[:name:]] + matches the named character class "name", for example [[:lower:]] matches any lower case character. See + character class names.

    -
    - +
    + Collating Elements -
    +

    - An expression of the form [[.col.] matches + An expression of the form [[.col.] matches the collating element col. A collating element is any single character, or any sequence of characters that collates as a single unit. Collating elements may also be used as the end point of a range, for - example: [[.ae.]-c] + example: [[.ae.]-c] matches the character sequence "ae", plus any single character in the range "ae"-c, assuming that "ae" is treated as a single collating element in the current locale.

    - As an extension, a collating element may also be specified via it's symbolic name, for example: + As an extension, a collating element may also be specified via it's symbolic name, for example:

     [[.NUL.]]
     

    - matches a \0 + matches a \0 character.

    -
    - +
    + Equivalence classes -
    +

    - An expression of the form [[=col=]], + An expression of the form [[=col=]], matches any character or collating element whose primary sort key is the same as that for collating element col, as with collating - elements the name col may be a symbolic + elements the name col may be a symbolic name. A primary sort key is one that ignores case, accentation, or - locale-specific tailorings; so for example [[=a=]] matches + locale-specific tailorings; so for example [[=a=]] matches any of the characters: a, À, Á, Â, Ã, Ä, Å, A, à, á, â, ã, ä and å. Unfortunately implementation of this is reliant on the platform's collation and localisation support; this feature can not be relied upon to work portably across all platforms, or even all locales on one platform.

    -
    - +
    + Escaped Characters -
    +

    All the escape sequences that match a single character, or a single character - class are permitted within a character class definition. For example [\[\]] would match either of [ or ] - while [\W\d] + class are permitted within a character class definition. For example [\[\]] would match either of [ or ] + while [\W\d] would match any character that is either a "digit", or is not a "word" character.

    -
    - +
    + Combinations -
    +

    All of the above can be combined in one character set declaration, for example: - [[:digit:]a-c[.NUL.]]. + [[:digit:]a-c[.NUL.]].

    -
    - +

    + Escapes -

    +

    Any special character preceded by an escape shall match itself.

    @@ -433,97 +437,97 @@ @@ -531,7 +535,7 @@

    - \a + \a

    - \a + \a

    - \e + \e

    - 0x1B + 0x1B

    - \f + \f

    - \f + \f

    - \n + \n

    - \n + \n

    - \r + \r

    - \r + \r

    - \t + \t

    - \t + \t

    - \v - + \v +

    - \v + \v

    - \b + \b

    - \b + \b (but only inside a character class declaration).

    - \cX + \cX

    @@ -544,7 +548,7 @@

    - \xdd + \xdd

    @@ -557,7 +561,7 @@

    - \x{dddd} + \x{dddd}

    @@ -570,7 +574,7 @@

    - \0ddd + \0ddd

    @@ -583,23 +587,23 @@

    - \N{name} + \N{name}

    - Matches the single character which has the symbolic - name name. For example \N{newline} matches the single character \n. + Matches the single character which has the symbolic + name name. For example \N{newline} matches the single character \n.

    -
    - +
    + "Single character" character classes: -
    +

    Any escaped character x, if x is the name of a character class shall match any character that is a member @@ -630,133 +634,134 @@

    - \d + \d

    - [[:digit:]] + [[:digit:]]

    - \l + \l

    - [[:lower:]] + [[:lower:]]

    - \s + \s

    - [[:space:]] + [[:space:]]

    - \u + \u

    - [[:upper:]] + [[:upper:]]

    - \w + \w

    - [[:word:]] + [[:word:]]

    - \D + \D

    - [^[:digit:]] + [^[:digit:]]

    - \L + \L

    - [^[:lower:]] + [^[:lower:]]

    - \S + \S

    - [^[:space:]] + [^[:space:]]

    - \U + \U

    - [^[:upper:]] + [^[:upper:]]

    - \W + \W

    - [^[:word:]] + [^[:word:]]

    -
    - +
    + Character Properties -
    +

    The character property names in the following table are all equivalent to - the names used in character + the names used in character classes.

    @@ -786,7 +791,7 @@

    - \pX + \pX

    @@ -796,14 +801,14 @@

    - [[:X:]] + [[:X:]]

    - \p{Name} + \p{Name}

    @@ -813,14 +818,14 @@

    - [[:Name:]] + [[:Name:]]

    - \PX + \PX

    @@ -830,14 +835,14 @@

    - [^[:X:]] + [^[:X:]]

    - \P{Name} + \P{Name}

    @@ -847,42 +852,42 @@

    - [^[:Name:]] + [^[:Name:]]

    - For example \pd - matches any "digit" character, as does \p{digit}. + For example \pd + matches any "digit" character, as does \p{digit}.

    -
    - +
    + Word Boundaries -
    +

    The following escape sequences match the boundaries of words:

    - \< Matches the start of a + \< Matches the start of a word.

    - \> Matches the end of a word. + \> Matches the end of a word.

    - \b + \b Matches a word boundary (the start or end of a word).

    - \B + \B Matches only when not at a word boundary.

    -
    - +
    + Buffer boundaries -
    +

    The following match only at buffer boundaries: a "buffer" in this context is the whole of the input text that is being matched against (note @@ -902,106 +907,106 @@

    \Z Matches an optional sequence of newlines at the end of a buffer: equivalent - to the regular expression \n*\z + to the regular expression \n*\z

    -
    - +
    + Continuation Escape -
    +

    - The sequence \G + The sequence \G matches only at the end of the last match found, or at the start of the text being matched if no previous match was found. This escape useful if you're iterating over the matches contained within a text, and you want each subsequence match to start where the last one ended.

    -
    - +
    + Quoting escape -
    +

    - The escape sequence \Q + The escape sequence \Q begins a "quoted sequence": all the subsequent characters are treated as literals, until either the end of the regular expression or \E is found. - For example the expression: \Q\*+\Ea+ would match either of: + For example the expression: \Q\*+\Ea+ would match either of:

     \*+a
     \*+aaa
     
    -
    - +
    + Unicode escapes -
    +

    - \C + \C Matches a single code point: in Boost regex this has exactly the same effect - as a "." operator. \X Matches a combining character sequence: + as a "." operator. \X Matches a combining character sequence: that is any non-combining character followed by a sequence of zero or more combining characters.

    -
    - +
    + Any other escape -
    +

    Any other escape sequence matches the character that is escaped, for example \@ matches a literal '@'.

    -
    - +

    + Perl Extended Patterns -

    +

    Perl-specific extensions to the regular expression syntax all start with - (?. + (?.

    -
    - +
    + Comments -
    +

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

    -
    - +
    + Modifiers -
    +

    - (?imsx-imsx ... ) alters + (?imsx-imsx ... ) alters which of the perl modifiers are in effect within the pattern, changes take effect from the point that the block is first seen and extend to any enclosing - ). Letters before a '-' turn + ). Letters before a '-' turn that perl modifier on, letters afterward, turn it off.

    - (?imsx-imsx:pattern) + (?imsx-imsx:pattern) applies the specified modifiers to pattern only.

    -
    - +
    + Non-marking groups -
    +

    - (?:pattern) lexically groups pattern, without generating + (?:pattern) lexically groups pattern, without generating an additional sub-expression.

    -
    - +
    + Lookahead -
    +

    - (?=pattern) consumes zero characters, only if pattern + (?=pattern) consumes zero characters, only if pattern matches.

    - (?!pattern) consumes zero characters, only if pattern + (?!pattern) consumes zero characters, only if pattern does not match.

    @@ -1016,45 +1021,45 @@

    could be used to validate the password.

    -
    - +
    + Lookbehind -
    +

    - (?<=pattern) consumes zero characters, only if pattern + (?<=pattern) consumes zero characters, only if pattern could be matched against the characters preceding the current position (pattern must be of fixed length).

    - (?<!pattern) consumes zero characters, only if pattern + (?<!pattern) consumes zero characters, only if pattern could not be matched against the characters preceding the current position (pattern must be of fixed length).

    -
    - +
    + Independent sub-expressions -
    +

    - (?>pattern) pattern is matched + (?>pattern) pattern is matched independently of the surrounding patterns, the expression will never backtrack into pattern. Independent sub-expressions are typically used to improve performance; only the best possible match for pattern will be considered, if this doesn't allow the expression as a whole to match then no match is found at all.

    -
    - +
    + Conditional Expressions -
    +

    - (?(condition)yes-pattern|no-pattern) attempts to match yes-pattern + (?(condition)yes-pattern|no-pattern) attempts to match yes-pattern if the condition is true, otherwise attempts to match no-pattern.

    - (?(condition)yes-pattern) + (?(condition)yes-pattern) attempts to match yes-pattern if the condition is true, otherwise fails.

    @@ -1063,31 +1068,31 @@ or the index of a marked sub-expression (the condition becomes true if the sub-expression has been matched).

    -
    - +

    + Operator precedence -

    +

    The order of precedence for of operators is as follows:

    1. - Collation-related bracket symbols [==] - [::] [..] + Collation-related bracket symbols [==] + [::] [..]
    2. - Escaped characters \ + Escaped characters \
    3. - Character set (bracket expression) [] + Character set (bracket expression) []
    4. - Grouping () + Grouping ()
    5. - Single-character-ERE duplication * - + ? {m,n} + Single-character-ERE duplication * + + ? {m,n}
    6. Concatenation @@ -1099,11 +1104,11 @@ Alternation |
    -

    - +

    + What gets matched -

    +

    If you view the regular expression as a directed (possibly cyclic) graph, then the best match found is the first match found by a depth-first-search @@ -1113,7 +1118,8 @@ Alternatively:

    - The best match found is the leftmost + The best match found is the leftmost match, with individual elements matched as follows;

    @@ -1137,7 +1143,7 @@ @@ -1217,16 +1223,16 @@ @@ -1234,7 +1240,7 @@

    - AtomA AtomB + AtomA AtomB

    @@ -1150,8 +1156,8 @@

    - Expression1 | - Expression2 + Expression1 | + Expression2

    @@ -1164,7 +1170,7 @@

    - S{N} + S{N}

    @@ -1176,7 +1182,7 @@

    - S{N,M} + S{N,M}

    @@ -1188,7 +1194,7 @@

    - S{N,M}? + S{N,M}?

    @@ -1200,16 +1206,16 @@

    - S?, + S?, S*, - S+ + S+

    - The same as S{0,1}, - S{0,UINT_MAX}, - S{1,UINT_MAX} + The same as S{0,1}, + S{0,UINT_MAX}, + S{1,UINT_MAX} respectively.

    - S??, + S??, S*?, - S+? + S+?

    - The same as S{0,1}?, - S{0,UINT_MAX}?, - S{1,UINT_MAX}? + The same as S{0,1}?, + S{0,UINT_MAX}?, + S{1,UINT_MAX}? respectively.

    - (?>S) + (?>S)

    @@ -1246,7 +1252,7 @@

    - (?=S), (?<=S) + (?=S), (?<=S)

    @@ -1259,7 +1265,7 @@

    - (?!S), (?<!S) + (?!S), (?<!S)

    @@ -1271,8 +1277,8 @@

    - (?(condition)yes-pattern - | no-pattern) + (?(condition)yes-pattern + | no-pattern)

    @@ -1284,51 +1290,57 @@
    -

    - +

    + Variations -

    +

    - The options - normal, ECMAScript, - JavaScript and JScript are all synonyms for perl. + The options + normal, ECMAScript, + JavaScript and JScript are all synonyms for perl.

    -

    - +

    + Options -

    +

    - There are a variety - of flags that may be combined with the perl + There are a variety + of flags that may be combined with the perl option when constructing the regular expression, in particular note that - the newline_alt option alters - the syntax, while the collate, - nosubs and icase options modify how the case and locale + the newline_alt option alters + the syntax, while the collate, + nosubs and icase options modify how the case and locale sensitivity are to be applied.

    -

    - +

    + Pattern Modifiers -

    +

    - The perl smix modifiers can - either be applied using a (?smix-smix) prefix to the regular expression, or with - one of the regex-compile - time flags no_mod_m, mod_x, mod_s, - and no_mod_s. + The perl smix modifiers can + either be applied using a (?smix-smix) prefix to the regular expression, or with + one of the regex-compile + time flags no_mod_m, mod_x, mod_s, + and no_mod_s.

    -

    - +

    + References -

    +

    Perl 5.8.

    - +
    Copyright © 2007 John Maddock

    diff --git a/doc/html/boost_regex/unicode.html b/doc/html/boost_regex/unicode.html index a723e309..0c0fdc7f 100644 --- a/doc/html/boost_regex/unicode.html +++ b/doc/html/boost_regex/unicode.html @@ -1,13 +1,15 @@ -Unicode and Boost.Regex + Unicode and Boost.Regex - + - - + + @@ -24,54 +26,57 @@

    There are two ways to use Boost.Regex with Unicode strings:

    -
    - +

    + Rely on wchar_t -

    +

    - If your platform's wchar_t type + If your platform's wchar_t type can hold Unicode strings, and your platform's C/C++ runtime correctly handles - wide character constants (when passed to std::iswspace - std::iswlower etc), then you can use boost::wregex + wide character constants (when passed to std::iswspace + std::iswlower etc), then you can use boost::wregex to process Unicode. However, there are several disadvantages to this approach:

    • - It's not portable: there's no guarantee on the width of wchar_t, + It's not portable: there's no guarantee on the width of wchar_t, or even whether the runtime treats wide characters as Unicode at all, most Windows compilers do so, but many Unix systems do not.
    • - There's no support for Unicode-specific character classes: [[:Nd:]], - [[:Po:]] etc. + There's no support for Unicode-specific character classes: [[:Nd:]], + [[:Po:]] etc.
    • You can only search strings that are encoded as sequences of wide characters, it is not possible to search UTF-8, or even UTF-16 on many platforms.
    -
    - +

    + Use a Unicode Aware Regular Expression Type. -

    +

    If you have the ICU library, then Boost.Regex can be configured to make use of it, and provide a distinct regular expression type (boost::u32regex), that supports both Unicode specific character properties, and the searching - of text that is encoded in either UTF-8, UTF-16, or UTF-32. See: ICU + of text that is encoded in either UTF-8, UTF-16, or UTF-32. See: ICU string class support.

    - +
    Copyright © 2007 John Maddock

    diff --git a/doc/html/index.html b/doc/html/index.html index dbbf8618..cfe70342 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -3,9 +3,9 @@ Boost.Regex - + - + @@ -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)

    @@ -202,8 +202,8 @@

    - - + +

    Last revised: October 06, 2007 at 17:41:11 GMT

    Last revised: November 07, 2007 at 02:57:53 GMT


    Next
    From f11333d3527a1b8584590d137dd94ae3250c9943 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Wed, 7 Nov 2007 18:26:11 +0000 Subject: [PATCH 18/62] Added license info. [SVN r40900] --- build/gcc-shared.mak | 5 +++++ build/gcc.mak | 3 ++- build/gcc_gen.sh | 7 ++++++- doc/acknowledgements.qbk | 8 ++++++++ doc/bad_expression.qbk | 9 ++++++++- doc/basic_regex.qbk | 8 ++++++++ doc/captures.qbk | 8 ++++++++ doc/character_class_names.qbk | 8 ++++++++ doc/collating_names.qbk | 8 ++++++++ doc/concepts.qbk | 8 ++++++++ doc/configuration.qbk | 8 ++++++++ doc/error_type.qbk | 8 ++++++++ doc/examples.qbk | 8 ++++++++ doc/faq.qbk | 7 +++++++ doc/format_boost_syntax.qbk | 8 ++++++++ doc/format_perl_syntax.qbk | 8 ++++++++ doc/format_sed_syntax.qbk | 8 ++++++++ doc/format_syntax.qbk | 8 ++++++++ doc/further_info.qbk | 8 ++++++++ doc/headers.qbk | 8 ++++++++ doc/history.qbk | 8 ++++++++ doc/icu_strings.qbk | 8 ++++++++ doc/install.qbk | 8 ++++++++ doc/introduction.qbk | 8 ++++++++ doc/leftmost_longest.qbk | 8 ++++++++ doc/locale.qbk | 8 ++++++++ doc/match_flag_type.qbk | 8 ++++++++ doc/match_result.qbk | 8 ++++++++ doc/mfc_strings.qbk | 8 ++++++++ doc/non_std_strings.qbk | 8 ++++++++ doc/old_regex.qbk | 8 ++++++++ doc/partial_matches.qbk | 8 ++++++++ doc/performance.qbk | 8 ++++++++ doc/posix_api.qbk | 8 ++++++++ doc/redistributables.qbk | 8 ++++++++ doc/regex_format.qbk | 8 ++++++++ doc/regex_grep.qbk | 8 ++++++++ doc/regex_iterator.qbk | 8 ++++++++ doc/regex_match.qbk | 8 ++++++++ doc/regex_replace.qbk | 8 ++++++++ doc/regex_search.qbk | 8 ++++++++ doc/regex_split.qbk | 8 ++++++++ doc/regex_token_iterator.qbk | 8 ++++++++ doc/regex_traits.qbk | 8 ++++++++ doc/standards.qbk | 8 ++++++++ doc/sub_match.qbk | 8 ++++++++ doc/syntax.qbk | 8 ++++++++ doc/syntax_basic.qbk | 8 ++++++++ doc/syntax_extended.qbk | 8 ++++++++ doc/syntax_option_type.qbk | 8 ++++++++ doc/syntax_perl.qbk | 8 ++++++++ doc/thread_safety.qbk | 8 ++++++++ doc/unicode.qbk | 8 ++++++++ example/timer/input_script.txt | 7 +++++++ 54 files changed, 419 insertions(+), 3 deletions(-) diff --git a/build/gcc-shared.mak b/build/gcc-shared.mak index e5701d05..7aca2a0d 100644 --- a/build/gcc-shared.mak +++ b/build/gcc-shared.mak @@ -1,3 +1,7 @@ +# copyright John Maddock 2006-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. # # auto generated makefile for gcc compiler # @@ -184,3 +188,4 @@ boost_regex-gcc-d-1_35_clean : ./gcc/libboost_regex-gcc-d-1_35.so : gcc/boost_regex-gcc-d-1_35_shared/c_regex_traits.o gcc/boost_regex-gcc-d-1_35_shared/cpp_regex_traits.o gcc/boost_regex-gcc-d-1_35_shared/cregex.o gcc/boost_regex-gcc-d-1_35_shared/fileiter.o gcc/boost_regex-gcc-d-1_35_shared/icu.o gcc/boost_regex-gcc-d-1_35_shared/instances.o gcc/boost_regex-gcc-d-1_35_shared/posix_api.o gcc/boost_regex-gcc-d-1_35_shared/regex.o gcc/boost_regex-gcc-d-1_35_shared/regex_debug.o gcc/boost_regex-gcc-d-1_35_shared/regex_raw_buffer.o gcc/boost_regex-gcc-d-1_35_shared/regex_traits_defaults.o gcc/boost_regex-gcc-d-1_35_shared/static_mutex.o gcc/boost_regex-gcc-d-1_35_shared/usinstances.o gcc/boost_regex-gcc-d-1_35_shared/w32_regex_traits.o gcc/boost_regex-gcc-d-1_35_shared/wc_regex_traits.o gcc/boost_regex-gcc-d-1_35_shared/wide_posix_api.o gcc/boost_regex-gcc-d-1_35_shared/winstances.o $(LINKER) -o gcc/libboost_regex-gcc-d-1_35.so $(LDFLAGS) $(ICU_LDFLAGS) gcc/boost_regex-gcc-d-1_35_shared/c_regex_traits.o gcc/boost_regex-gcc-d-1_35_shared/cpp_regex_traits.o gcc/boost_regex-gcc-d-1_35_shared/cregex.o gcc/boost_regex-gcc-d-1_35_shared/fileiter.o gcc/boost_regex-gcc-d-1_35_shared/icu.o gcc/boost_regex-gcc-d-1_35_shared/instances.o gcc/boost_regex-gcc-d-1_35_shared/posix_api.o gcc/boost_regex-gcc-d-1_35_shared/regex.o gcc/boost_regex-gcc-d-1_35_shared/regex_debug.o gcc/boost_regex-gcc-d-1_35_shared/regex_raw_buffer.o gcc/boost_regex-gcc-d-1_35_shared/regex_traits_defaults.o gcc/boost_regex-gcc-d-1_35_shared/static_mutex.o gcc/boost_regex-gcc-d-1_35_shared/usinstances.o gcc/boost_regex-gcc-d-1_35_shared/w32_regex_traits.o gcc/boost_regex-gcc-d-1_35_shared/wc_regex_traits.o gcc/boost_regex-gcc-d-1_35_shared/wide_posix_api.o gcc/boost_regex-gcc-d-1_35_shared/winstances.o $(ICU_LIBS) $(LIBS) + diff --git a/build/gcc.mak b/build/gcc.mak index acbf417e..715a02ca 100644 --- a/build/gcc.mak +++ b/build/gcc.mak @@ -1,4 +1,4 @@ -# copyright John Maddock 2006 +# copyright John Maddock 2006-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. @@ -190,3 +190,4 @@ boost_regex-gcc-d-1_35_clean : ar -r gcc/libboost_regex-gcc-d-1_35.a gcc/boost_regex-gcc-d-1_35/c_regex_traits.o gcc/boost_regex-gcc-d-1_35/cpp_regex_traits.o gcc/boost_regex-gcc-d-1_35/cregex.o gcc/boost_regex-gcc-d-1_35/fileiter.o gcc/boost_regex-gcc-d-1_35/icu.o gcc/boost_regex-gcc-d-1_35/instances.o gcc/boost_regex-gcc-d-1_35/posix_api.o gcc/boost_regex-gcc-d-1_35/regex.o gcc/boost_regex-gcc-d-1_35/regex_debug.o gcc/boost_regex-gcc-d-1_35/regex_raw_buffer.o gcc/boost_regex-gcc-d-1_35/regex_traits_defaults.o gcc/boost_regex-gcc-d-1_35/static_mutex.o gcc/boost_regex-gcc-d-1_35/usinstances.o gcc/boost_regex-gcc-d-1_35/w32_regex_traits.o gcc/boost_regex-gcc-d-1_35/wc_regex_traits.o gcc/boost_regex-gcc-d-1_35/wide_posix_api.o gcc/boost_regex-gcc-d-1_35/winstances.o -ar -s gcc/libboost_regex-gcc-d-1_35.a + diff --git a/build/gcc_gen.sh b/build/gcc_gen.sh index 9492e8ec..2c9ece45 100644 --- a/build/gcc_gen.sh +++ b/build/gcc_gen.sh @@ -108,7 +108,7 @@ function gcc_gen() cat > $out << EOF -# copyright John Maddock 2006 +# copyright John Maddock 2006-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. @@ -192,6 +192,10 @@ function gcc_gen_shared() cat > $out << EOF +# copyright John Maddock 2006-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. # # auto generated makefile for gcc compiler # @@ -271,3 +275,4 @@ rm -f $tout $iout + diff --git a/doc/acknowledgements.qbk b/doc/acknowledgements.qbk index 62a175f1..d35a7962 100644 --- a/doc/acknowledgements.qbk +++ b/doc/acknowledgements.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:acknowledgements Acknowledgements] @@ -39,3 +46,4 @@ spot any bugs, please get in touch. [endsect] + diff --git a/doc/bad_expression.qbk b/doc/bad_expression.qbk index 20d30d77..267bc365 100644 --- a/doc/bad_expression.qbk +++ b/doc/bad_expression.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:bad_expression bad_expression] @@ -48,4 +55,4 @@ and `bad_expression` for errors, these have been replaced by the single class `regex_error` to keep the library in synchronization with the [tr1]. -[endsect] \ No newline at end of file +[endsect] diff --git a/doc/basic_regex.qbk b/doc/basic_regex.qbk index eb8bb03a..2aa1aae4 100644 --- a/doc/basic_regex.qbk +++ b/doc/basic_regex.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:basic_regex basic_regex] [h4 Synopsis] @@ -657,3 +664,4 @@ and outputs the textual representation of the expression to the stream.] [*Effects]: calls `lhs.swap(rhs)`. [endsect] + diff --git a/doc/captures.qbk b/doc/captures.qbk index 8a1ac05e..08abbf9d 100644 --- a/doc/captures.qbk +++ b/doc/captures.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:captures Understanding Marked Sub-Expressions and Captures] @@ -190,3 +197,4 @@ therefore to use this feature you need to: * Pass the match_extra flag to the particular algorithms where you actually need the captures information (regex_search, regex_match, or regex_iterator). [endsect] + diff --git a/doc/character_class_names.qbk b/doc/character_class_names.qbk index e2480a13..e4771aa5 100644 --- a/doc/character_class_names.qbk +++ b/doc/character_class_names.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:character_classes Character Class Names] @@ -82,3 +89,4 @@ those from Chapter 4 of the Unicode standard. [endsect] [endsect] + diff --git a/doc/collating_names.qbk b/doc/collating_names.qbk index 5dd4e4c0..6f7aab97 100644 --- a/doc/collating_names.qbk +++ b/doc/collating_names.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:collating_names Collating Names] @@ -118,3 +125,4 @@ would match the Unicode character 0x0418. [endsect] [endsect] + diff --git a/doc/concepts.qbk b/doc/concepts.qbk index c1d33c1d..58822659 100644 --- a/doc/concepts.qbk +++ b/doc/concepts.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:concepts Concepts] @@ -98,3 +105,4 @@ Bidirectional-Iterator. [endsect] + diff --git a/doc/configuration.qbk b/doc/configuration.qbk index a4e04dcc..2acb55bb 100644 --- a/doc/configuration.qbk +++ b/doc/configuration.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:configuration Configuration] @@ -76,3 +83,4 @@ multi-threaded systems, you may find that a higher value is in order.]] [endsect] + diff --git a/doc/error_type.qbk b/doc/error_type.qbk index adb94ea8..70441998 100644 --- a/doc/error_type.qbk +++ b/doc/error_type.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:error_type error_type] @@ -53,3 +60,4 @@ take one of the following values: ] [endsect] + diff --git a/doc/examples.qbk b/doc/examples.qbk index e0bca347..f3692954 100644 --- a/doc/examples.qbk +++ b/doc/examples.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:examples Test and Example Programs] @@ -105,3 +112,4 @@ The following are deprecated: [@../../example/snippets/regex_split_example_2.cpp regex_split_example_2.cpp] : regex_split example: spit out linked URL's. [endsect] + diff --git a/doc/faq.qbk b/doc/faq.qbk index 0ae3e660..585425fb 100644 --- a/doc/faq.qbk +++ b/doc/faq.qbk @@ -1,3 +1,9 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] [section:faq FAQ] @@ -89,3 +95,4 @@ that you are interested in. Note however, that very few current compilers still have problems with these overloaded functions. [endsect] + diff --git a/doc/format_boost_syntax.qbk b/doc/format_boost_syntax.qbk index 0d96dba8..cba57dd8 100644 --- a/doc/format_boost_syntax.qbk +++ b/doc/format_boost_syntax.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:boost_format_syntax Boost-Extended Format String Syntax] @@ -71,3 +78,4 @@ x is one of the escape sequences shown below. [endsect] + diff --git a/doc/format_perl_syntax.qbk b/doc/format_perl_syntax.qbk index 291192d5..35bd9f45 100644 --- a/doc/format_perl_syntax.qbk +++ b/doc/format_perl_syntax.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:perl_format Perl Format String Syntax] @@ -47,3 +54,4 @@ x is one of the escape sequences shown below. [endsect] + diff --git a/doc/format_sed_syntax.qbk b/doc/format_sed_syntax.qbk index 374d5b16..30706ebe 100644 --- a/doc/format_sed_syntax.qbk +++ b/doc/format_sed_syntax.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:sed_format Sed Format String Syntax] @@ -31,3 +38,4 @@ is one of the escape sequences shown below. [endsect] + diff --git a/doc/format_syntax.qbk b/doc/format_syntax.qbk index f9dd8b12..43065703 100644 --- a/doc/format_syntax.qbk +++ b/doc/format_syntax.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:format Search and Replace Format String Syntax] @@ -16,3 +23,4 @@ to the output. [endsect] + diff --git a/doc/further_info.qbk b/doc/further_info.qbk index b9e2b36e..08c5d0ff 100644 --- a/doc/further_info.qbk +++ b/doc/further_info.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:futher References and Further Information] @@ -26,3 +33,4 @@ selection of useful pattern matching papers available from their respective web [endsect] + diff --git a/doc/headers.qbk b/doc/headers.qbk index f9eecfa6..d7b8e7cc 100644 --- a/doc/headers.qbk +++ b/doc/headers.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:headers Headers] @@ -12,3 +19,4 @@ There is also a header containing only forward declarations [endsect] + diff --git a/doc/history.qbk b/doc/history.qbk index bafc642f..fea29663 100644 --- a/doc/history.qbk +++ b/doc/history.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:history History] @@ -59,3 +66,4 @@ [endsect] + diff --git a/doc/icu_strings.qbk b/doc/icu_strings.qbk index 4a4e13ec..758f1d25 100644 --- a/doc/icu_strings.qbk +++ b/doc/icu_strings.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:icu Working With Unicode and ICU String Types] @@ -474,3 +481,4 @@ Example: search for international currency symbols, along with their associated [endsect] [endsect] + diff --git a/doc/install.qbk b/doc/install.qbk index f46b6f65..016759f8 100644 --- a/doc/install.qbk +++ b/doc/install.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:install Building and Installing the Library] When you extract the library from its zip file, you must preserve its internal @@ -244,3 +251,4 @@ There is a generic makefile (generic.mak ) provided in `/libs/regex/ before use. [endsect] + diff --git a/doc/introduction.qbk b/doc/introduction.qbk index 5329e90d..b7a5184c 100644 --- a/doc/introduction.qbk +++ b/doc/introduction.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section Introduction and Overview] Regular expressions are a form of pattern-matching that are often used in @@ -153,3 +160,4 @@ libraries including GNU and BSD4 regex packages, PCRE and Perl 5. [endsect] + diff --git a/doc/leftmost_longest.qbk b/doc/leftmost_longest.qbk index fd1a3323..c50cde23 100644 --- a/doc/leftmost_longest.qbk +++ b/doc/leftmost_longest.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:leftmost_longest_rule The Leftmost Longest Rule] @@ -22,3 +29,4 @@ indistinguishable; return the first one found. [endsect] + diff --git a/doc/locale.qbk b/doc/locale.qbk index 12699572..1e3c15c5 100644 --- a/doc/locale.qbk +++ b/doc/locale.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:locale Localization] Boost.Regex provides extensive support for run-time localization, the @@ -221,3 +228,4 @@ custom error messages, and custom syntax messages replace the default ones. [endsect] + diff --git a/doc/match_flag_type.qbk b/doc/match_flag_type.qbk index 5b047eb5..4bccf1af 100644 --- a/doc/match_flag_type.qbk +++ b/doc/match_flag_type.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:match_flag_type match_flag_type] The type `match_flag_type` is an implementation specific bitmask type @@ -113,3 +120,4 @@ This flag is used when matching incomplete or very long texts, see the partial m [endsect] + diff --git a/doc/match_result.qbk b/doc/match_result.qbk index 7aa48a5e..eb3861fd 100644 --- a/doc/match_result.qbk +++ b/doc/match_result.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:match_results match_results] [h4 Synopsis] @@ -369,3 +376,4 @@ order for this member function to be defined and return useful information. [*Effects]: Swaps the contents of the two sequences. [endsect] + diff --git a/doc/mfc_strings.qbk b/doc/mfc_strings.qbk index 14db8ce6..8d70fec4 100644 --- a/doc/mfc_strings.qbk +++ b/doc/mfc_strings.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:mfc_strings Using Boost Regex With MFC Strings] [section:mfc_intro Introduction to Boost.Regex and MFC Strings] @@ -285,3 +292,4 @@ MFC/ATL string to a [regex_iterator] or [regex_token_iterator]: [endsect] [endsect] + diff --git a/doc/non_std_strings.qbk b/doc/non_std_strings.qbk index ac037176..63851a77 100644 --- a/doc/non_std_strings.qbk +++ b/doc/non_std_strings.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:non_std_strings Interfacing With Non-Standard String Types] The Boost.Regex algorithms and iterators are all iterator-based, @@ -20,3 +27,4 @@ types. [endsect] + diff --git a/doc/old_regex.qbk b/doc/old_regex.qbk index bd1f1cda..7e1e1ca8 100644 --- a/doc/old_regex.qbk +++ b/doc/old_regex.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:old_regex High Level Class RegEx (Deprecated)] @@ -273,3 +280,4 @@ Member functions for class RegEx are defined as follows: ] [endsect] + diff --git a/doc/partial_matches.qbk b/doc/partial_matches.qbk index 12e39212..65801b2c 100644 --- a/doc/partial_matches.qbk +++ b/doc/partial_matches.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:partial_matches Partial Matches] The [match_flag_type] `match_partial` can be passed to the following algorithms: @@ -139,3 +146,4 @@ gets searched a second time as the start of the next batch of text: [endsect] + diff --git a/doc/performance.qbk b/doc/performance.qbk index 63b3cc37..47d72779 100644 --- a/doc/performance.qbk +++ b/doc/performance.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:performance Performance] The performance of Boost.Regex in both recursive and non-recursive modes @@ -13,3 +20,4 @@ following compilers: [endsect] + diff --git a/doc/posix_api.qbk b/doc/posix_api.qbk index f1fab14c..beffa464 100644 --- a/doc/posix_api.qbk +++ b/doc/posix_api.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:posix POSIX Compatible C API's] [note this is an abridged reference to the POSIX API functions, these are provided @@ -132,3 +139,4 @@ for more details. The eflags parameter can be a combination of: [endsect] + diff --git a/doc/redistributables.qbk b/doc/redistributables.qbk index 7c42858e..c310ff67 100644 --- a/doc/redistributables.qbk +++ b/doc/redistributables.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:redist Redistributables] @@ -18,3 +25,4 @@ symbol BOOST_REGEX_NO_LIB when compiling, this is useful if you want to build Boost.Regex yourself in your IDE, or if you need to debug Boost.Regex. [endsect] + diff --git a/doc/regex_format.qbk b/doc/regex_format.qbk index a090c7bf..e59549e1 100644 --- a/doc/regex_format.qbk +++ b/doc/regex_format.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:regex_format regex_format (Deprecated)] @@ -60,3 +67,4 @@ The format string syntax (and available options) is described more fully under [link boost_regex.format format strings]. [endsect] + diff --git a/doc/regex_grep.qbk b/doc/regex_grep.qbk index f2b94bb2..7d47a401 100644 --- a/doc/regex_grep.qbk +++ b/doc/regex_grep.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:regex_grep regex_grep (Deprecated)] @@ -310,3 +317,4 @@ Finally, C++ Builder users can use C++ Builder's closure type as a callback argu [endsect] + diff --git a/doc/regex_iterator.qbk b/doc/regex_iterator.qbk index 9485974a..9789bcae 100644 --- a/doc/regex_iterator.qbk +++ b/doc/regex_iterator.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:regex_iterator regex_iterator] @@ -297,3 +304,4 @@ names, and the location of that class in the file. [endsect] + diff --git a/doc/regex_match.qbk b/doc/regex_match.qbk index f734ec76..55856c41 100644 --- a/doc/regex_match.qbk +++ b/doc/regex_match.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:regex_match regex_match] @@ -174,3 +181,4 @@ The following example processes an ftp response: [endsect] + diff --git a/doc/regex_replace.qbk b/doc/regex_replace.qbk index c2e9717d..e87c0303 100644 --- a/doc/regex_replace.qbk +++ b/doc/regex_replace.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:regex_replace regex_replace] @@ -226,3 +233,4 @@ syntax highlighted HTML code. [endsect] + diff --git a/doc/regex_search.qbk b/doc/regex_search.qbk index ca231d3d..3b712d0c 100644 --- a/doc/regex_search.qbk +++ b/doc/regex_search.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:regex_search regex_search] @@ -183,3 +190,4 @@ non-contiguous storage strategy. } [endsect] + diff --git a/doc/regex_split.qbk b/doc/regex_split.qbk index 3f0a218c..d05e7f05 100644 --- a/doc/regex_split.qbk +++ b/doc/regex_split.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:regex_split regex_split (deprecated)] @@ -112,3 +119,4 @@ from a html file, and print them out to cout: } [endsect] + diff --git a/doc/regex_token_iterator.qbk b/doc/regex_token_iterator.qbk index 930aaa7f..c975c5af 100644 --- a/doc/regex_token_iterator.qbk +++ b/doc/regex_token_iterator.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:regex_token_iterator regex_token_iterator] @@ -421,3 +428,4 @@ The following example takes a html file and outputs a list of all the linked fil [endsect] + diff --git a/doc/regex_traits.qbk b/doc/regex_traits.qbk index 9d8196fa..08175dec 100644 --- a/doc/regex_traits.qbk +++ b/doc/regex_traits.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:regex_traits regex_traits] @@ -40,3 +47,4 @@ All these traits classes fulfil the [link boost_regex.ref.concepts.traits_concept traits class requirements]. [endsect] + diff --git a/doc/standards.qbk b/doc/standards.qbk index 0a5ae494..8467e52a 100644 --- a/doc/standards.qbk +++ b/doc/standards.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:standards Standards Conformance] @@ -77,3 +84,4 @@ Gives everything in Y that is not in X (subtraction).]] ] [endsect] + diff --git a/doc/sub_match.qbk b/doc/sub_match.qbk index d500bb4b..653c0f37 100644 --- a/doc/sub_match.qbk +++ b/doc/sub_match.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:sub_match sub_match] @@ -840,3 +847,4 @@ string as the result. [*Effects]: returns `(os << m.str())`. [endsect] + diff --git a/doc/syntax.qbk b/doc/syntax.qbk index 315de274..ec3e3189 100644 --- a/doc/syntax.qbk +++ b/doc/syntax.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:syntax Regular Expression Syntax] @@ -23,3 +30,4 @@ literal, but that's not really a "syntax"! [include leftmost_longest.qbk] [endsect] + diff --git a/doc/syntax_basic.qbk b/doc/syntax_basic.qbk index 43393dcb..75f7ce5f 100644 --- a/doc/syntax_basic.qbk +++ b/doc/syntax_basic.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:basic_syntax POSIX Basic Regular Expression Syntax] @@ -279,3 +286,4 @@ are to be applied. [endsect] + diff --git a/doc/syntax_extended.qbk b/doc/syntax_extended.qbk index 86aa988c..103a0888 100644 --- a/doc/syntax_extended.qbk +++ b/doc/syntax_extended.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:basic_extended POSIX Extended Regular Expression Syntax] @@ -420,3 +427,4 @@ IEEE Std 1003.1-2001, Portable Operating System Interface (POSIX ), Shells and U [endsect] + diff --git a/doc/syntax_option_type.qbk b/doc/syntax_option_type.qbk index 7bce8cc3..6fca76f9 100644 --- a/doc/syntax_option_type.qbk +++ b/doc/syntax_option_type.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:syntax_option_type syntax_option_type] @@ -290,3 +297,4 @@ The following options may also be combined with the literal flag: [endsect] [endsect] + diff --git a/doc/syntax_perl.qbk b/doc/syntax_perl.qbk index cf8ed7b4..916ed018 100644 --- a/doc/syntax_perl.qbk +++ b/doc/syntax_perl.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:perl_syntax Perl Regular Expression Syntax] @@ -506,3 +513,4 @@ flags `no_mod_m`, `mod_x`, `mod_s`, and `no_mod_s`]. [endsect] + diff --git a/doc/thread_safety.qbk b/doc/thread_safety.qbk index 7fbc62fc..a95a7ac7 100644 --- a/doc/thread_safety.qbk +++ b/doc/thread_safety.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:thread_safety Thread Safety] @@ -31,3 +38,4 @@ There is also a requirement that there is only one thread executing prior to the start of main(). [endsect] + diff --git a/doc/unicode.qbk b/doc/unicode.qbk index 85fe7515..5028921f 100644 --- a/doc/unicode.qbk +++ b/doc/unicode.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + 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). +] + [section:unicode Unicode and Boost.Regex] @@ -32,3 +39,4 @@ of text that is encoded in either UTF-8, UTF-16, or UTF-32. See: ICU string class support]. [endsect] + diff --git a/example/timer/input_script.txt b/example/timer/input_script.txt index 0c068787..4a9e3e2d 100644 --- a/example/timer/input_script.txt +++ b/example/timer/input_script.txt @@ -5,3 +5,10 @@ quit 100- this is a line of ftp response which contains a message string quit quit + +# Copyright 2007 John Maddock. +# 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). + + From bed800b3157ee6c5007a095a20e2ce6ecbbd86e7 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Wed, 14 Nov 2007 13:03:15 +0000 Subject: [PATCH 19/62] Catch exceptions thrown from thread creation. [SVN r41089] --- test/regress/main.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/regress/main.cpp b/test/regress/main.cpp index b157caab..c09dd581 100644 --- a/test/regress/main.cpp +++ b/test/regress/main.cpp @@ -75,7 +75,13 @@ int cpp_main(int /*argc*/, char * /*argv*/[]) std::list > threads; for(int i = 0; i < 5; ++i) { - threads.push_back(boost::shared_ptr(new boost::thread(&run_tests))); + try{ + threads.push_back(boost::shared_ptr(new boost::thread(&run_tests))); + } + catch(const std::exception& e) + { + std::cerr << "Thread creation failed with message: " << e.what() << "" << std::endl; + } } std::list >::const_iterator a(threads.begin()), b(threads.end()); while(a != b) From 326f120ffd1e22de11106ecebcd2f760aafb9859 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 16 Nov 2007 12:00:32 +0000 Subject: [PATCH 20/62] Disabled use of MS-specific narrow character functions when _WIN32_WCE is defined. [SVN r41143] --- src/cregex.cpp | 2 +- src/posix_api.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cregex.cpp b/src/cregex.cpp index 2a9adc26..64811a03 100644 --- a/src/cregex.cpp +++ b/src/cregex.cpp @@ -354,7 +354,7 @@ void BuildFileList(std::list* pl, const char* files, bool recurse) while(dstart != dend) { -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) (::sprintf_s)(buf, sizeof(buf), "%s%s%s", dstart.path(), directory_iterator::separator(), ptr); #else (std::sprintf)(buf, "%s%s%s", dstart.path(), directory_iterator::separator(), ptr); diff --git a/src/posix_api.cpp b/src/posix_api.cpp index 64cb5dc2..f1a8b87e 100644 --- a/src/posix_api.cpp +++ b/src/posix_api.cpp @@ -164,7 +164,7 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int code, const regex_tA* { if(std::strcmp(e->re_endp, names[i]) == 0) { -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) (::sprintf_s)(localbuf, 5, "%d", i); #else (std::sprintf)(localbuf, "%d", i); @@ -174,7 +174,7 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int code, const regex_tA* return std::strlen(localbuf) + 1; } } -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) (::sprintf_s)(localbuf, 5, "%d", 0); #else (std::sprintf)(localbuf, "%d", 0); From 217c31721912fde05474a94306acebb3c11ceab5 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sat, 17 Nov 2007 12:17:05 +0000 Subject: [PATCH 21/62] Fix WinCE issues. [SVN r41170] --- src/wide_posix_api.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/wide_posix_api.cpp b/src/wide_posix_api.cpp index 0673e17d..67675620 100644 --- a/src/wide_posix_api.cpp +++ b/src/wide_posix_api.cpp @@ -157,7 +157,7 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int code, const regex_tW* { result = std::wcslen(wnames[code]) + 1; if(buf_size >= result) -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) ::wcscpy_s(buf, buf_size, wnames[code]); #else std::wcscpy(buf, wnames[code]); @@ -176,9 +176,13 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int code, const regex_tW* { if(std::wcscmp(e->re_endp, wnames[i]) == 0) { +#if defined(_WIN32_WCE) + (std::swprintf)(localbuf, L"%d", i); +#else (std::swprintf)(localbuf, 5, L"%d", i); +#endif if(std::wcslen(localbuf) < buf_size) -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) ::wcscpy_s(buf, buf_size, localbuf); #else std::wcscpy(buf, localbuf); @@ -186,9 +190,13 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int code, const regex_tW* return std::wcslen(localbuf) + 1; } } +#if defined(_WIN32_WCE) + (std::swprintf)(localbuf, L"%d", 0); +#else (std::swprintf)(localbuf, 5, L"%d", 0); +#endif if(std::wcslen(localbuf) < buf_size) -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) ::wcscpy_s(buf, buf_size, localbuf); #else std::wcscpy(buf, localbuf); From bddeb83175c5dc3312ea212334f76697e7fdd03c Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sat, 17 Nov 2007 18:41:29 +0000 Subject: [PATCH 22/62] Changed test to catch throw exceptions from thread creation. [SVN r41172] --- test/static_mutex/static_mutex_test.cpp | 49 +++++++++++++++++++------ 1 file changed, 37 insertions(+), 12 deletions(-) diff --git a/test/static_mutex/static_mutex_test.cpp b/test/static_mutex/static_mutex_test.cpp index 14c5379b..72a8cd49 100644 --- a/test/static_mutex/static_mutex_test.cpp +++ b/test/static_mutex/static_mutex_test.cpp @@ -163,19 +163,44 @@ int main() { BOOST_TEST(0 != &up1); - boost::thread thrd1(&thread1_proc); - boost::thread thrd2(&thread1_proc); - boost::thread thrd3(&thread2_proc); - boost::thread thrd4(&thread2_proc); - boost::thread thrd5(&thread3_proc); - boost::thread thrd6(&thread3_proc); + std::list > threads; + for(int i = 0; i < 2; ++i) + { + try{ + threads.push_back(boost::shared_ptr(new boost::thread(&thread1_proc))); + } + catch(const std::exception& e) + { + std::cerr << "Thread creation failed with message: " << e.what() << "" << std::endl; + } + } + for(int i = 0; i < 2; ++i) + { + try{ + threads.push_back(boost::shared_ptr(new boost::thread(&thread2_proc))); + } + catch(const std::exception& e) + { + std::cerr << "Thread creation failed with message: " << e.what() << "" << std::endl; + } + } + for(int i = 0; i < 2; ++i) + { + try{ + threads.push_back(boost::shared_ptr(new boost::thread(&thread3_proc))); + } + catch(const std::exception& e) + { + std::cerr << "Thread creation failed with message: " << e.what() << "" << std::endl; + } + } - thrd1.join(); - thrd2.join(); - thrd3.join(); - thrd4.join(); - thrd5.join(); - thrd6.join(); + std::list >::const_iterator a(threads.begin()), b(threads.end()); + while(a != b) + { + (*a)->join(); + ++a; + } return total_failures; } From 6b83bf86aa1901ad2137cb1ffde35f40b50153eb Mon Sep 17 00:00:00 2001 From: John Maddock Date: Mon, 19 Nov 2007 10:20:36 +0000 Subject: [PATCH 23/62] No user32.lib on WinCE [SVN r41219] --- src/w32_regex_traits.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/w32_regex_traits.cpp b/src/w32_regex_traits.cpp index 64fd2ce4..e953c9f4 100644 --- a/src/w32_regex_traits.cpp +++ b/src/w32_regex_traits.cpp @@ -30,7 +30,7 @@ #define NOGDI #include -#ifdef _MSC_VER +#if defined(_MSC_VER) && !defined(_WIN32_WCE) #pragma comment(lib, "user32.lib") #endif From d3d99ef6f8df6af5152a2b88dda5c917fdc0082a Mon Sep 17 00:00:00 2001 From: John Maddock Date: Tue, 20 Nov 2007 11:18:48 +0000 Subject: [PATCH 24/62] Changed order of #includes to keep Borland C++ 5.5.1 happy. [SVN r41252] --- src/cregex.cpp | 2 +- src/posix_api.cpp | 2 +- src/wide_posix_api.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cregex.cpp b/src/cregex.cpp index 64811a03..e1f9aa40 100644 --- a/src/cregex.cpp +++ b/src/cregex.cpp @@ -19,8 +19,8 @@ #define BOOST_REGEX_SOURCE -#include #include +#include #if !defined(BOOST_NO_STD_STRING) #include #include diff --git a/src/posix_api.cpp b/src/posix_api.cpp index f1a8b87e..6383fa48 100644 --- a/src/posix_api.cpp +++ b/src/posix_api.cpp @@ -19,8 +19,8 @@ #define BOOST_REGEX_SOURCE #include -#include #include +#include #if defined(BOOST_NO_STDC_NAMESPACE) namespace std{ diff --git a/src/wide_posix_api.cpp b/src/wide_posix_api.cpp index 67675620..78252819 100644 --- a/src/wide_posix_api.cpp +++ b/src/wide_posix_api.cpp @@ -22,8 +22,8 @@ #ifndef BOOST_NO_WREGEX -#include #include +#include #include #include From cf876f58f0cfc50e904f3b77edfd69fe101a7984 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 22 Nov 2007 09:59:38 +0000 Subject: [PATCH 25/62] Added try...catch around TSS initialisation. [SVN r41301] --- test/regress/main.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/test/regress/main.cpp b/test/regress/main.cpp index c09dd581..f3324c24 100644 --- a/test/regress/main.cpp +++ b/test/regress/main.cpp @@ -70,7 +70,14 @@ void run_tests() int cpp_main(int /*argc*/, char * /*argv*/[]) { #ifdef TEST_THREADS - get_array_data(); // initialises data. + try{ + get_array_data(); // initialises data. + } + catch(const std::exception& e) + { + std::cerr << "TSS Initialisation failed with message: " << e.what() << std::endl; + return -1; + } std::list > threads; for(int i = 0; i < 5; ++i) From 4199529fd03e33caf193cc8d74ddf7dc652b5a1d Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sat, 24 Nov 2007 12:25:25 +0000 Subject: [PATCH 26/62] Apply patches for building regex on WinCE see: http://lists.boost.org/Archives/boost/2007/11/130839.php [SVN r41327] --- example/timer/regex_timer.cpp | 18 +- include/boost/regex/v4/fileiter.hpp | 4 + src/cregex.cpp | 2 +- src/fileiter.cpp | 71 ++++++-- src/posix_api.cpp | 4 +- src/w32_regex_traits.cpp | 181 ++++++++++++++++++++- src/wide_posix_api.cpp | 10 +- test/c_compiler_checks/posix_api_check.c | 14 +- test/c_compiler_checks/posix_api_check.cpp | 14 +- test/regress/test_locale.cpp | 44 +++++ 10 files changed, 319 insertions(+), 43 deletions(-) diff --git a/example/timer/regex_timer.cpp b/example/timer/regex_timer.cpp index 2b2694c1..834ebfbf 100644 --- a/example/timer/regex_timer.cpp +++ b/example/timer/regex_timer.cpp @@ -143,7 +143,7 @@ int main(int argc, char**argv) boost::match_results::iterator> dm; std::string s1, s2, ts; std::deque ds; - boost::regex_t r; + boost::regex_tA r; boost::scoped_array matches; std::size_t nsubs; boost::timer t; @@ -175,12 +175,12 @@ int main(int argc, char**argv) cout << "Error in expression: \"" << e.what() << "\"" << endl; continue; } - int code = regcomp(&r, s1.c_str(), boost::REG_PERL); + int code = regcompA(&r, s1.c_str(), boost::REG_PERL); if(code != 0) { char buf[256]; - regerror(code, &r, buf, 256); - cout << "regcomp error: \"" << buf << "\"" << endl; + regerrorA(code, &r, buf, 256); + cout << "regcompA error: \"" << buf << "\"" << endl; continue; } nsubs = r.re_nsub + 1; @@ -324,17 +324,17 @@ int main(int argc, char**argv) iters = 10; tim = 1.1; // cache load: - regexec(&r, s2.c_str(), nsubs, matches.get(), 0); + regex_tA(&r, s2.c_str(), nsubs, matches.get(), 0); do{ iters *= (tim > 0.001) ? (1.1/tim) : 100; t.restart(); for(i = 0; i < iters; ++i) { - result = regexec(&r, s2.c_str(), nsubs, matches.get(), 0); + result = regex_tA(&r, s2.c_str(), nsubs, matches.get(), 0); } tim = t.elapsed(); }while(tim < wait_time); - cout << "POSIX regexec time: " << (tim * 1000000 / iters) << "us" << endl; + cout << "POSIX regex_tA time: " << (tim * 1000000 / iters) << "us" << endl; if(result == 0) { @@ -360,7 +360,7 @@ int main(int argc, char**argv) cout << "\" (matched=" << (matches[0].rm_eo != s2.size()) << ")" << endl << endl; } } - regfree(&r); + regfreeA(&r); } if(pbuf) @@ -372,7 +372,7 @@ int main(int argc, char**argv) return 0; } -#if defined(_WIN32) && defined(BOOST_REGEX_USE_WIN32_LOCALE) +#if defined(_WIN32) && defined(BOOST_REGEX_USE_WIN32_LOCALE) && !defined(UNDER_CE) #pragma comment(lib, "user32.lib") #endif diff --git a/include/boost/regex/v4/fileiter.hpp b/include/boost/regex/v4/fileiter.hpp index 0c600d72..f13c4b2f 100644 --- a/include/boost/regex/v4/fileiter.hpp +++ b/include/boost/regex/v4/fileiter.hpp @@ -51,7 +51,11 @@ namespace boost{ namespace re_detail{ +#ifndef BOOST_NO_ANSI_APIS typedef WIN32_FIND_DATAA _fi_find_data; +#else +typedef WIN32_FIND_DATAW _fi_find_data; +#endif typedef HANDLE _fi_find_handle; } // namespace re_detail diff --git a/src/cregex.cpp b/src/cregex.cpp index e1f9aa40..99d48a7b 100644 --- a/src/cregex.cpp +++ b/src/cregex.cpp @@ -354,7 +354,7 @@ void BuildFileList(std::list* pl, const char* files, bool recurse) while(dstart != dend) { -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE) (::sprintf_s)(buf, sizeof(buf), "%s%s%s", dstart.path(), directory_iterator::separator(), ptr); #else (std::sprintf)(buf, "%s%s%s", dstart.path(), directory_iterator::separator(), ptr); diff --git a/src/fileiter.cpp b/src/fileiter.cpp index cbb46c01..7d9c7f88 100644 --- a/src/fileiter.cpp +++ b/src/fileiter.cpp @@ -86,7 +86,14 @@ const char* _fi_sep_alt = _fi_sep; void mapfile::open(const char* file) { -#if defined(__CYGWIN__)||defined(__CYGWIN32__) +#if defined(BOOST_NO_ANSI_APIS) + int filename_size = strlen(file); + LPWSTR wide_file = (LPWSTR)_alloca( (filename_size + 1) * sizeof(WCHAR) ); + if(::MultiByteToWideChar(CP_ACP, 0, file, filename_size, wide_file, filename_size + 1) == 0) + hfile = INVALID_HANDLE_VALUE; + else + hfile = CreateFileW(wide_file, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); +#elif defined(__CYGWIN__)||defined(__CYGWIN32__) char win32file[ MAX_PATH ]; cygwin_conv_to_win32_path( file, win32file ); hfile = CreateFileA(win32file, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); @@ -350,6 +357,48 @@ void mapfile::close() #endif +inline _fi_find_handle find_first_file(const char* wild, _fi_find_data& data) +{ +#ifdef BOOST_NO_ANSI_APIS + std::size_t wild_size = std::strlen(wild); + LPWSTR wide_wild = (LPWSTR)_alloca( (wild_size + 1) * sizeof(WCHAR) ); + if (::MultiByteToWideChar(CP_ACP, 0, wild, wild_size, wide_wild, wild_size + 1) == 0) + return _fi_invalid_handle; + + return FindFirstFileW(wide_wild, &data); +#else + return FindFirstFileA(wild, &data); +#endif +} + +inline bool find_next_file(_fi_find_handle hf, _fi_find_data& data) +{ +#ifdef BOOST_NO_ANSI_APIS + return FindNextFileW(hf, &data); +#else + return FindNextFileA(hf, &data); +#endif +} + +inline void copy_find_file_result_with_overflow_check(const _fi_find_data& data, char* path, size_t max_size) +{ +#ifdef BOOST_NO_ANSI_APIS + if (::WideCharToMultiByte(CP_ACP, 0, data.cFileName, -1, path, max_size, NULL, NULL) == 0) + re_detail::overflow_error_if_not_zero(1); +#else + re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(path, max_size, data.cFileName)); +#endif +} + +inline bool is_not_current_or_parent_path_string(const _fi_find_data& data) +{ +#ifdef BOOST_NO_ANSI_APIS + return (std::wcscmp(data.cFileName, L".") && std::wcscmp(data.cFileName, L"..")); +#else + return (std::strcmp(data.cFileName, ".") && std::strcmp(data.cFileName, "..")); +#endif +} + file_iterator::file_iterator() { @@ -413,7 +462,7 @@ file_iterator::file_iterator(const char* wild) ref = new file_iterator_ref(); BOOST_REGEX_NOEH_ASSERT(ref) - ref->hf = FindFirstFileA(wild, &(ref->_data)); + ref->hf = find_first_file(wild, ref->_data); ref->count = 1; if(ref->hf == _fi_invalid_handle) @@ -423,7 +472,7 @@ file_iterator::file_iterator(const char* wild) } else { - re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(ptr, (MAX_PATH - (ptr - _path)), ref->_data.cFileName)); + copy_find_file_result_with_overflow_check(ref->_data, ptr, (MAX_PATH - (ptr - _path))); if(ref->_data.dwFileAttributes & _fi_dir) next(); } @@ -510,7 +559,7 @@ void file_iterator::next() bool cont = true; while(cont) { - cont = FindNextFileA(ref->hf, &(ref->_data)); + cont = find_next_file(ref->hf, ref->_data); if(cont && ((ref->_data.dwFileAttributes & _fi_dir) == 0)) break; } @@ -523,7 +572,7 @@ void file_iterator::next() ptr = _path; } else - re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(ptr, MAX_PATH - (ptr - _path), ref->_data.cFileName)); + copy_find_file_result_with_overflow_check(ref->_data, ptr, MAX_PATH - (ptr - _path)); } } @@ -593,7 +642,7 @@ directory_iterator::directory_iterator(const char* wild) ref = new file_iterator_ref(); BOOST_REGEX_NOEH_ASSERT(ref) ref->count = 1; - ref->hf = FindFirstFileA(wild, &(ref->_data)); + ref->hf = find_first_file(wild, ref->_data); if(ref->hf == _fi_invalid_handle) { *_path = 0; @@ -601,8 +650,8 @@ directory_iterator::directory_iterator(const char* wild) } else { - re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(ptr, MAX_PATH - (ptr - _path), ref->_data.cFileName)); - if(((ref->_data.dwFileAttributes & _fi_dir) == 0) || (std::strcmp(ref->_data.cFileName, ".") == 0) || (std::strcmp(ref->_data.cFileName, "..") == 0)) + copy_find_file_result_with_overflow_check(ref->_data, ptr, MAX_PATH - (ptr - _path)); + if(((ref->_data.dwFileAttributes & _fi_dir) == 0) || (std::strcmp(ptr, ".") == 0) || (std::strcmp(ptr, "..") == 0)) next(); } #ifndef BOOST_NO_EXCEPTIONS @@ -686,10 +735,10 @@ void directory_iterator::next() bool cont = true; while(cont) { - cont = FindNextFileA(ref->hf, &(ref->_data)); + cont = find_next_file(ref->hf, ref->_data); if(cont && (ref->_data.dwFileAttributes & _fi_dir)) { - if(std::strcmp(ref->_data.cFileName, ".") && std::strcmp(ref->_data.cFileName, "..")) + if(is_not_current_or_parent_path_string(ref->_data)) break; } } @@ -702,7 +751,7 @@ void directory_iterator::next() ptr = _path; } else - re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(ptr, MAX_PATH - (ptr - _path), ref->_data.cFileName)); + copy_find_file_result_with_overflow_check(ref->_data, ptr, MAX_PATH - (ptr - _path)); } } diff --git a/src/posix_api.cpp b/src/posix_api.cpp index 6383fa48..907c60c3 100644 --- a/src/posix_api.cpp +++ b/src/posix_api.cpp @@ -164,7 +164,7 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int code, const regex_tA* { if(std::strcmp(e->re_endp, names[i]) == 0) { -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE) (::sprintf_s)(localbuf, 5, "%d", i); #else (std::sprintf)(localbuf, "%d", i); @@ -174,7 +174,7 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int code, const regex_tA* return std::strlen(localbuf) + 1; } } -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE) (::sprintf_s)(localbuf, 5, "%d", 0); #else (std::sprintf)(localbuf, "%d", 0); diff --git a/src/w32_regex_traits.cpp b/src/w32_regex_traits.cpp index e953c9f4..47f8d05d 100644 --- a/src/w32_regex_traits.cpp +++ b/src/w32_regex_traits.cpp @@ -30,7 +30,7 @@ #define NOGDI #include -#if defined(_MSC_VER) && !defined(_WIN32_WCE) +#if defined(_MSC_VER) && !defined(_WIN32_WCE) && !defined(UNDER_CE) #pragma comment(lib, "user32.lib") #endif @@ -42,6 +42,18 @@ namespace std{ namespace boost{ namespace re_detail{ +#ifdef BOOST_NO_ANSI_APIS +UINT get_code_page_for_locale_id(lcid_type id) +{ + WCHAR code_page_string[7]; + if (::GetLocaleInfoW(id, LOCALE_IDEFAULTANSICODEPAGE, code_page_string, 7) == 0) + return 0; + + return static_cast(_wtol(code_page_string)); +} +#endif + + void w32_regex_traits_char_layer::init() { // we need to start by initialising our syntax map so we know which @@ -106,8 +118,24 @@ void w32_regex_traits_char_layer::init() char char_map[1 << CHAR_BIT]; for(int ii = 0; ii < (1 << CHAR_BIT); ++ii) char_map[ii] = static_cast(ii); +#ifndef BOOST_NO_ANSI_APIS int r = ::LCMapStringA(this->m_locale, LCMAP_LOWERCASE, char_map, 1 << CHAR_BIT, this->m_lower_map, 1 << CHAR_BIT); BOOST_ASSERT(r != 0); +#else + UINT code_page = get_code_page_for_locale_id(this->m_locale); + BOOST_ASSERT(code_page != 0); + + WCHAR wide_char_map[1 << CHAR_BIT]; + int conv_r = ::MultiByteToWideChar(code_page, 0, char_map, 1 << CHAR_BIT, wide_char_map, 1 << CHAR_BIT); + BOOST_ASSERT(conv_r != 0); + + WCHAR wide_lower_map[1 << CHAR_BIT]; + int r = ::LCMapStringW(this->m_locale, LCMAP_LOWERCASE, wide_char_map, 1 << CHAR_BIT, wide_lower_map, 1 << CHAR_BIT); + BOOST_ASSERT(r != 0); + + conv_r = ::WideCharToMultiByte(code_page, 0, wide_lower_map, r, this->m_lower_map, 1 << CHAR_BIT, NULL, NULL); + BOOST_ASSERT(conv_r != 0); +#endif if(r < (1 << CHAR_BIT)) { // if we have multibyte characters then not all may have been given @@ -115,7 +143,12 @@ void w32_regex_traits_char_layer::init() for(int jj = r; jj < (1 << CHAR_BIT); ++jj) this->m_lower_map[jj] = static_cast(jj); } + +#ifndef BOOST_NO_ANSI_APIS r = ::GetStringTypeExA(this->m_locale, CT_CTYPE1, char_map, 1 << CHAR_BIT, this->m_type_map); +#else + r = ::GetStringTypeExW(this->m_locale, CT_CTYPE1, wide_char_map, 1 << CHAR_BIT, this->m_type_map); +#endif BOOST_ASSERT(0 != r); } @@ -126,18 +159,48 @@ BOOST_REGEX_DECL lcid_type BOOST_REGEX_CALL w32_get_default_locale() BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(char c, lcid_type id) { +#ifndef BOOST_NO_ANSI_APIS WORD mask; if(::GetStringTypeExA(id, CT_CTYPE1, &c, 1, &mask) && (mask & C1_LOWER)) return true; return false; +#else + UINT code_page = get_code_page_for_locale_id(id); + if (code_page == 0) + return false; + + WCHAR wide_c; + if (::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) + return false; + + WORD mask; + if(::GetStringTypeExW(id, CT_CTYPE1, &wide_c, 1, &mask) && (mask & C1_LOWER)) + return true; + return false; +#endif } BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(wchar_t c, lcid_type id) { +#ifndef BOOST_NO_ANSI_APIS WORD mask; if(::GetStringTypeExW(id, CT_CTYPE1, &c, 1, &mask) && (mask & C1_LOWER)) return true; return false; +#else + UINT code_page = get_code_page_for_locale_id(id); + if (code_page == 0) + return false; + + WCHAR wide_c; + if (::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) + return false; + + WORD mask; + if(::GetStringTypeExW(id, CT_CTYPE1, &wide_c, 1, &mask) && (mask & C1_UPPER)) + return true; + return false; +#endif } #ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(unsigned short ca, lcid_type id) @@ -183,12 +246,21 @@ void free_module(void* mod) BOOST_REGEX_DECL cat_type BOOST_REGEX_CALL w32_cat_open(const std::string& name) { +#ifndef BOOST_NO_ANSI_APIS cat_type result(::LoadLibraryA(name.c_str()), &free_module); return result; +#else + LPWSTR wide_name = (LPWSTR)_alloca( (name.size() + 1) * sizeof(WCHAR) ); + if (::MultiByteToWideChar(CP_ACP, 0, name.c_str(), name.size(), wide_name, name.size() + 1) == 0) + return cat_type(); + + cat_type result(::LoadLibraryW(wide_name), &free_module); +#endif } BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type, int i, const std::string& def) { +#ifndef BOOST_NO_ANSI_APIS char buf[256]; if(0 == ::LoadStringA( static_cast(cat.get()), @@ -199,6 +271,21 @@ BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, l { return def; } +#else + WCHAR wbuf[256]; + int r = ::LoadStringW( + static_cast(cat.get()), + i, + wbuf, + 256 + ); + if (r == 0) + return def; + + LPSTR buf = (LPSTR)_alloca( (r + 1) * 2 ); + if (::WideCharToMultiByte(CP_ACP, 0, wbuf, r, buf, (r + 1) * 2, NULL, NULL) == 0) + return def; +#endif return std::string(buf); } @@ -236,6 +323,7 @@ BOOST_REGEX_DECL std::basic_string BOOST_REGEX_CALL w32_cat_get( #endif BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_transform(lcid_type id, const char* p1, const char* p2) { +#ifndef BOOST_NO_ANSI_APIS int bytes = ::LCMapStringA( id, // locale identifier LCMAP_SORTKEY, // mapping transformation type @@ -255,6 +343,36 @@ BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_transform(lcid_type id, const &*result.begin(), // destination buffer bytes // size of destination buffer ); +#else + UINT code_page = get_code_page_for_locale_id(id); + if(code_page == 0) + return std::string(p1, p2); + + int src_len = static_cast(p2 - p1); + LPWSTR wide_p1 = (LPWSTR)_alloca( (src_len + 1) * 2 ); + if(::MultiByteToWideChar(code_page, 0, p1, src_len, wide_p1, src_len + 1) == 0) + return std::string(p1, p2); + + int bytes = ::LCMapStringW( + id, // locale identifier + LCMAP_SORTKEY, // mapping transformation type + wide_p1, // source string + src_len, // number of characters in source string + 0, // destination buffer + 0 // size of destination buffer + ); + if(!bytes) + return std::string(p1, p2); + std::string result(++bytes, '\0'); + bytes = ::LCMapStringW( + id, // locale identifier + LCMAP_SORTKEY, // mapping transformation type + wide_p1, // source string + src_len, // number of characters in source string + (LPWSTR)&*result.begin(), // destination buffer + bytes // size of destination buffer + ); +#endif if(bytes > static_cast(result.size())) return std::string(p1, p2); while(result.size() && result[result.size()-1] == '\0') @@ -335,6 +453,7 @@ BOOST_REGEX_DECL std::basic_string BOOST_REGEX_CALL w32_transfor BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_tolower(char c, lcid_type id) { char result[2]; +#ifndef BOOST_NO_ANSI_APIS int b = ::LCMapStringA( id, // locale identifier LCMAP_LOWERCASE, // mapping transformation type @@ -344,6 +463,29 @@ BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_tolower(char c, lcid_type id) 1); // size of destination buffer if(b == 0) return c; +#else + UINT code_page = get_code_page_for_locale_id(id); + if (code_page == 0) + return c; + + WCHAR wide_c; + if (::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) + return c; + + WCHAR wide_result; + int b = ::LCMapStringW( + id, // locale identifier + LCMAP_LOWERCASE, // mapping transformation type + &wide_c, // source string + 1, // number of characters in source string + &wide_result, // destination buffer + 1); // size of destination buffer + if(b == 0) + return c; + + if (::WideCharToMultiByte(code_page, 0, &wide_result, 1, result, 2, NULL, NULL) == 0) + return c; +#endif return result[0]; } @@ -382,6 +524,7 @@ BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_tolower(unsigned short c, l BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_toupper(char c, lcid_type id) { char result[2]; +#ifndef BOOST_NO_ANSI_APIS int b = ::LCMapStringA( id, // locale identifier LCMAP_UPPERCASE, // mapping transformation type @@ -391,6 +534,29 @@ BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_toupper(char c, lcid_type id) 1); // size of destination buffer if(b == 0) return c; +#else + UINT code_page = get_code_page_for_locale_id(id); + if(code_page == 0) + return c; + + WCHAR wide_c; + if (::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) + return c; + + WCHAR wide_result; + int b = ::LCMapStringW( + id, // locale identifier + LCMAP_UPPERCASE, // mapping transformation type + &wide_c, // source string + 1, // number of characters in source string + &wide_result, // destination buffer + 1); // size of destination buffer + if(b == 0) + return c; + + if (::WideCharToMultiByte(code_page, 0, &wide_result, 1, result, 2, NULL, NULL) == 0) + return c; +#endif return result[0]; } @@ -429,8 +595,21 @@ BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_toupper(unsigned short c, l BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type id, boost::uint32_t m, char c) { WORD mask; +#ifndef BOOST_NO_ANSI_APIS if(::GetStringTypeExA(id, CT_CTYPE1, &c, 1, &mask) && (mask & m & w32_regex_traits_implementation::mask_base)) return true; +#else + UINT code_page = get_code_page_for_locale_id(id); + if(code_page == 0) + return false; + + WCHAR wide_c; + if (::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) + return false; + + if(::GetStringTypeExW(id, CT_CTYPE1, &wide_c, 1, &mask) && (mask & m & w32_regex_traits_implementation::mask_base)) + return true; +#endif if((m & w32_regex_traits_implementation::mask_word) && (c == '_')) return true; return false; diff --git a/src/wide_posix_api.cpp b/src/wide_posix_api.cpp index 78252819..184b1cea 100644 --- a/src/wide_posix_api.cpp +++ b/src/wide_posix_api.cpp @@ -157,7 +157,7 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int code, const regex_tW* { result = std::wcslen(wnames[code]) + 1; if(buf_size >= result) -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE) ::wcscpy_s(buf, buf_size, wnames[code]); #else std::wcscpy(buf, wnames[code]); @@ -176,13 +176,13 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int code, const regex_tW* { if(std::wcscmp(e->re_endp, wnames[i]) == 0) { -#if defined(_WIN32_WCE) +#if defined(_WIN32_WCE) && !defined(UNDER_CE) (std::swprintf)(localbuf, L"%d", i); #else (std::swprintf)(localbuf, 5, L"%d", i); #endif if(std::wcslen(localbuf) < buf_size) -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE) ::wcscpy_s(buf, buf_size, localbuf); #else std::wcscpy(buf, localbuf); @@ -190,13 +190,13 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int code, const regex_tW* return std::wcslen(localbuf) + 1; } } -#if defined(_WIN32_WCE) +#if defined(_WIN32_WCE) && !defined(UNDER_CE) (std::swprintf)(localbuf, L"%d", 0); #else (std::swprintf)(localbuf, 5, L"%d", 0); #endif if(std::wcslen(localbuf) < buf_size) -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE) ::wcscpy_s(buf, buf_size, localbuf); #else std::wcscpy(buf, localbuf); diff --git a/test/c_compiler_checks/posix_api_check.c b/test/c_compiler_checks/posix_api_check.c index 2653a981..b7498aaa 100644 --- a/test/c_compiler_checks/posix_api_check.c +++ b/test/c_compiler_checks/posix_api_check.c @@ -32,30 +32,30 @@ int flags = REG_EXTENDED | REG_BASIC | REG_NOSPEC | REG_ICASE | REG_NOSUB | int main() { - regex_t re; + regex_tA re; int result; - result = regcomp(&re, expression, REG_AWK); + result = regcompA(&re, expression, REG_AWK); if(result > REG_NOERROR) { char buf[256]; - regerror(result, &re, buf, sizeof(buf)); + regerrorA(result, &re, buf, sizeof(buf)); printf(buf); return result; } assert(re.re_nsub == 0); matches[0].rm_so = 0; matches[0].rm_eo = strlen(text); - result = regexec(&re, text, 1, matches, REG_NOTBOL | REG_NOTEOL | REG_STARTEND); + result = regexecA(&re, text, 1, matches, REG_NOTBOL | REG_NOTEOL | REG_STARTEND); if(result > REG_NOERROR) { char buf[256]; - regerror(result, &re, buf, sizeof(buf)); + regerrorA(result, &re, buf, sizeof(buf)); printf(buf); - regfree(&re); + regfreeA(&re); return result; } assert(matches[0].rm_so == matches[0].rm_eo == 1); - regfree(&re); + regfreeA(&re); printf("no errors found\n"); return 0; } diff --git a/test/c_compiler_checks/posix_api_check.cpp b/test/c_compiler_checks/posix_api_check.cpp index 46d8aed9..9a94c651 100644 --- a/test/c_compiler_checks/posix_api_check.cpp +++ b/test/c_compiler_checks/posix_api_check.cpp @@ -33,30 +33,30 @@ int flags = REG_EXTENDED | REG_BASIC | REG_NOSPEC | REG_ICASE | REG_NOSUB | int main() { - regex_t re; + regex_tA re; int result; - result = regcomp(&re, expression, REG_AWK); + result = regcompA(&re, expression, REG_AWK); if(result > REG_NOERROR) { char buf[256]; - regerror(result, &re, buf, sizeof(buf)); + regerrorA(result, &re, buf, sizeof(buf)); printf(buf); return result; } BOOST_TEST(re.re_nsub == 0); matches[0].rm_so = 0; matches[0].rm_eo = strlen(text); - result = regexec(&re, text, 1, matches, REG_NOTBOL | REG_NOTEOL | REG_STARTEND); + result = regexecA(&re, text, 1, matches, REG_NOTBOL | REG_NOTEOL | REG_STARTEND); if(result > REG_NOERROR) { char buf[256]; - regerror(result, &re, buf, sizeof(buf)); + regerrorA(result, &re, buf, sizeof(buf)); printf(buf); - regfree(&re); + regfreeA(&re); return result; } BOOST_TEST(matches[0].rm_so == matches[0].rm_eo == 1); - regfree(&re); + regfreeA(&re); printf("no errors found\n"); return boost::report_errors(); } diff --git a/test/regress/test_locale.cpp b/test/regress/test_locale.cpp index 1eb37cc4..7bbefa4e 100644 --- a/test/regress/test_locale.cpp +++ b/test/regress/test_locale.cpp @@ -26,6 +26,7 @@ namespace std{ using ::setlocale; } test_locale::test_locale(const char* c_name, boost::uint32_t lcid) { +#ifndef UNDER_CE // store the name: m_old_name = m_name; m_name = c_name; @@ -43,6 +44,9 @@ test_locale::test_locale(const char* c_name, boost::uint32_t lcid) s_c_locale = no_test; std::cout << "The global C locale: " << c_name << " is not available and will not be tested." << std::endl; } +#else + s_c_locale = no_test; +#endif #ifndef BOOST_NO_STD_LOCALE // back up the C++ locale and create the new one: m_old_cpp_locale = s_cpp_locale_inst; @@ -69,6 +73,7 @@ test_locale::test_locale(const char* c_name, boost::uint32_t lcid) // Start by geting the printable name of the locale. // We use this for debugging purposes only: // +#ifndef BOOST_NO_ANSI_APIS boost::scoped_array p; int r = ::GetLocaleInfoA( lcid, // locale identifier @@ -83,6 +88,43 @@ test_locale::test_locale(const char* c_name, boost::uint32_t lcid) p.get(), // information buffer r+1 // size of buffer ); +#else + WCHAR code_page_string[7]; + int r = ::GetLocaleInfoW( + lcid, + LOCALE_IDEFAULTANSICODEPAGE, + code_page_string, + 7); + BOOST_ASSERT(r != 0); + + UINT code_page = static_cast(_wtol(code_page_string)); + + boost::scoped_array wp; + r = ::GetLocaleInfoW( + lcid, // locale identifier + LOCALE_SCOUNTRY, // information type + 0, // information buffer + 0 // size of buffer + ); + wp.reset(new wchar_t[r+1]); + r = ::GetLocaleInfoW( + lcid, // locale identifier + LOCALE_SCOUNTRY, // information type + wp.get(), // information buffer + r+1 // size of buffer + ); + + int name_size = (r+1) * 2; + boost::scoped_array p(new char[name_size]); + int conv_r = ::WideCharToMultiByte( + code_page, + 0, + wp.get(), r, + p.get(), name_size, + NULL, NULL + ); + BOOST_ASSERT(conv_r != 0); +#endif // // now see if locale is installed and behave accordingly: // @@ -104,8 +146,10 @@ test_locale::test_locale(const char* c_name, boost::uint32_t lcid) test_locale::~test_locale() { // restore to previous state: +#ifndef UNDER_CE std::setlocale(LC_ALL, m_old_c_locale.c_str()); s_c_locale = m_old_c_state; +#endif #ifndef BOOST_NO_STD_LOCALE s_cpp_locale_inst = m_old_cpp_locale; #endif From 70155122921fcc93be28fbae8218e79e5733fbbc Mon Sep 17 00:00:00 2001 From: David Deakins Date: Sun, 25 Nov 2007 04:30:02 +0000 Subject: [PATCH 27/62] A few corrections to the WinCE patches [SVN r41350] --- src/w32_regex_traits.cpp | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/src/w32_regex_traits.cpp b/src/w32_regex_traits.cpp index 47f8d05d..365fccc0 100644 --- a/src/w32_regex_traits.cpp +++ b/src/w32_regex_traits.cpp @@ -182,11 +182,29 @@ BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(char c, lcid_type id) BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(wchar_t c, lcid_type id) { -#ifndef BOOST_NO_ANSI_APIS WORD mask; if(::GetStringTypeExW(id, CT_CTYPE1, &c, 1, &mask) && (mask & C1_LOWER)) return true; return false; +} +#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T +BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(unsigned short ca, lcid_type id) +{ + WORD mask; + wchar_t c = ca; + if(::GetStringTypeExW(id, CT_CTYPE1, &c, 1, &mask) && (mask & C1_LOWER)) + return true; + return false; +} +#endif + +BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(char c, lcid_type id) +{ +#ifndef BOOST_NO_ANSI_APIS + WORD mask; + if(::GetStringTypeExA(id, CT_CTYPE1, &c, 1, &mask) && (mask & C1_UPPER)) + return true; + return false; #else UINT code_page = get_code_page_for_locale_id(id); if (code_page == 0) @@ -202,24 +220,6 @@ BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(wchar_t c, lcid_type id) return false; #endif } -#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(unsigned short ca, lcid_type id) -{ - WORD mask; - wchar_t c = ca; - if(::GetStringTypeExW(id, CT_CTYPE1, &c, 1, &mask) && (mask & C1_LOWER)) - return true; - return false; -} -#endif - -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(char c, lcid_type id) -{ - WORD mask; - if(::GetStringTypeExA(id, CT_CTYPE1, &c, 1, &mask) && (mask & C1_UPPER)) - return true; - return false; -} BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(wchar_t c, lcid_type id) { @@ -255,6 +255,7 @@ BOOST_REGEX_DECL cat_type BOOST_REGEX_CALL w32_cat_open(const std::string& name) return cat_type(); cat_type result(::LoadLibraryW(wide_name), &free_module); + return result; #endif } From 299539360929ae9580708bb9777faac7c6f0c25f Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sun, 25 Nov 2007 15:47:58 +0000 Subject: [PATCH 28/62] Oops, previous commit messed up POSIX timing code, now fixed. [SVN r41359] --- example/timer/regex_timer.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/example/timer/regex_timer.cpp b/example/timer/regex_timer.cpp index 834ebfbf..112b0cb0 100644 --- a/example/timer/regex_timer.cpp +++ b/example/timer/regex_timer.cpp @@ -324,17 +324,17 @@ int main(int argc, char**argv) iters = 10; tim = 1.1; // cache load: - regex_tA(&r, s2.c_str(), nsubs, matches.get(), 0); + regexecA(&r, s2.c_str(), nsubs, matches.get(), 0); do{ iters *= (tim > 0.001) ? (1.1/tim) : 100; t.restart(); for(i = 0; i < iters; ++i) { - result = regex_tA(&r, s2.c_str(), nsubs, matches.get(), 0); + result = regexecA(&r, s2.c_str(), nsubs, matches.get(), 0); } tim = t.elapsed(); }while(tim < wait_time); - cout << "POSIX regex_tA time: " << (tim * 1000000 / iters) << "us" << endl; + cout << "POSIX regexecA time: " << (tim * 1000000 / iters) << "us" << endl; if(result == 0) { From f72c7518be83fed59520c381974267b059382244 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Tue, 11 Dec 2007 17:19:03 +0000 Subject: [PATCH 29/62] Fixes #1455. [SVN r41970] --- example/snippets/regex_match_example.cpp | 2 +- example/snippets/regex_split_example_1.cpp | 2 +- example/snippets/regex_token_iterator_eg_1.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/example/snippets/regex_match_example.cpp b/example/snippets/regex_match_example.cpp index a711ffd4..bd35d169 100644 --- a/example/snippets/regex_match_example.cpp +++ b/example/snippets/regex_match_example.cpp @@ -65,7 +65,7 @@ istream& getline(istream& is, std::string& s) } #endif -int main(int argc) +int main(int argc, const char*[]) { std::string in, out; do diff --git a/example/snippets/regex_split_example_1.cpp b/example/snippets/regex_split_example_1.cpp index 10d64036..25d2e576 100644 --- a/example/snippets/regex_split_example_1.cpp +++ b/example/snippets/regex_split_example_1.cpp @@ -47,7 +47,7 @@ istream& getline(istream& is, std::string& s) #endif -int main(int argc) +int main(int argc, const char*[]) { string s; list l; diff --git a/example/snippets/regex_token_iterator_eg_1.cpp b/example/snippets/regex_token_iterator_eg_1.cpp index fbf7f5b0..e12881e8 100644 --- a/example/snippets/regex_token_iterator_eg_1.cpp +++ b/example/snippets/regex_token_iterator_eg_1.cpp @@ -40,7 +40,7 @@ istream& getline(istream& is, std::string& s) #endif -int main(int argc) +int main(int argc, const char*[]) { string s; do{ From 31668ed4bee4fc2d2828c79e75949600f4582613 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Tue, 11 Dec 2007 17:28:15 +0000 Subject: [PATCH 30/62] Fixes #1471. [SVN r41973] --- include/boost/regex/v4/cpp_regex_traits.hpp | 2 +- include/boost/regex/v4/regex_workaround.hpp | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/include/boost/regex/v4/cpp_regex_traits.hpp b/include/boost/regex/v4/cpp_regex_traits.hpp index dbec293c..ddcbef43 100644 --- a/include/boost/regex/v4/cpp_regex_traits.hpp +++ b/include/boost/regex/v4/cpp_regex_traits.hpp @@ -128,7 +128,7 @@ parser_buf::seekoff(off_type off, ::std::ios_base::seekdir way, : break; case ::std::ios_base::cur: { - std::ptrdiff_t newpos = pos + off; + std::ptrdiff_t newpos = static_cast(pos + off); if((newpos < 0) || (newpos > size)) return pos_type(off_type(-1)); else diff --git a/include/boost/regex/v4/regex_workaround.hpp b/include/boost/regex/v4/regex_workaround.hpp index 917320ca..fc3c2123 100644 --- a/include/boost/regex/v4/regex_workaround.hpp +++ b/include/boost/regex/v4/regex_workaround.hpp @@ -150,13 +150,16 @@ namespace boost{ namespace re_detail{ return stdext::unchecked_equal(first, last, with); } +#else + using std::copy; + using std::equal; +#endif +#if BOOST_WORKAROUND(BOOST_MSVC,>=1400) && defined(__STDC_WANT_SECURE_LIB__) && __STDC_WANT_SECURE_LIB__ + // use safe versions of strcpy etc: using ::strcpy_s; using ::strcat_s; #else - using std::copy; - using std::equal; - inline std::size_t strcpy_s( char *strDestination, std::size_t sizeInBytes, From 71fdd5eb44303e665c5181200af393fd610dbb86 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 14 Dec 2007 10:11:21 +0000 Subject: [PATCH 31/62] Fix typos reported by Sebastian Pipping. [SVN r42025] --- doc/Jamfile.v2 | 3 +- doc/concepts.qbk | 7 +- .../boost_regex/background_information.html | 33 +- .../acknowledgements.html | 20 +- .../background_information/examples.html | 54 +- .../background_information/faq.html | 67 +- .../background_information/futher.html | 21 +- .../background_information/headers.html | 22 +- .../background_information/history.html | 45 +- .../background_information/locale.html | 87 ++- .../background_information/performance.html | 17 +- .../background_information/redist.html | 18 +- .../background_information/standards.html | 56 +- .../background_information/thread_safety.html | 44 +- doc/html/boost_regex/captures.html | 72 +- doc/html/boost_regex/configuration.html | 14 +- .../boost_regex/configuration/algorithm.html | 18 +- .../boost_regex/configuration/compiler.html | 19 +- .../boost_regex/configuration/linkage.html | 19 +- .../boost_regex/configuration/locale.html | 22 +- .../boost_regex/configuration/tuning.html | 18 +- doc/html/boost_regex/format.html | 32 +- .../format/boost_format_syntax.html | 46 +- doc/html/boost_regex/format/perl_format.html | 19 +- doc/html/boost_regex/format/sed_format.html | 18 +- doc/html/boost_regex/install.html | 101 +-- .../introduction_and_overview.html | 73 +- doc/html/boost_regex/partial_matches.html | 41 +- doc/html/boost_regex/ref.html | 41 +- doc/html/boost_regex/ref/bad_expression.html | 63 +- doc/html/boost_regex/ref/basic_regex.html | 622 ++++++++-------- doc/html/boost_regex/ref/concepts.html | 20 +- .../ref/concepts/charT_concept.html | 31 +- .../ref/concepts/iterator_concepts.html | 21 +- .../ref/concepts/traits_concept.html | 117 ++- .../ref/deprecated_interfaces.html | 26 +- .../ref/deprecated_interfaces/old_regex.html | 233 +++--- .../deprecated_interfaces/regex_format.html | 60 +- .../ref/deprecated_interfaces/regex_grep.html | 76 +- .../deprecated_interfaces/regex_split.html | 53 +- doc/html/boost_regex/ref/error_type.html | 35 +- doc/html/boost_regex/ref/match_flag_type.html | 48 +- doc/html/boost_regex/ref/match_results.html | 232 +++--- doc/html/boost_regex/ref/non_std_strings.html | 25 +- .../boost_regex/ref/non_std_strings/icu.html | 25 +- .../ref/non_std_strings/icu/intro.html | 28 +- .../ref/non_std_strings/icu/unicode_algo.html | 85 +-- .../ref/non_std_strings/icu/unicode_iter.html | 83 +-- .../non_std_strings/icu/unicode_types.html | 74 +- .../ref/non_std_strings/mfc_strings.html | 25 +- .../non_std_strings/mfc_strings/mfc_algo.html | 125 ++-- .../mfc_strings/mfc_intro.html | 30 +- .../non_std_strings/mfc_strings/mfc_iter.html | 76 +- .../mfc_strings/mfc_regex_create.html | 32 +- .../mfc_strings/mfc_regex_types.html | 32 +- doc/html/boost_regex/ref/posix.html | 106 ++- doc/html/boost_regex/ref/regex_iterator.html | 179 +++-- doc/html/boost_regex/ref/regex_match.html | 157 ++-- doc/html/boost_regex/ref/regex_replace.html | 101 ++- doc/html/boost_regex/ref/regex_search.html | 145 ++-- .../boost_regex/ref/regex_token_iterator.html | 152 ++-- doc/html/boost_regex/ref/regex_traits.html | 47 +- doc/html/boost_regex/ref/sub_match.html | 516 ++++++------- .../boost_regex/ref/syntax_option_type.html | 19 +- .../syntax_option_type_basic.html | 59 +- .../syntax_option_type_extended.html | 44 +- .../syntax_option_type_literal.html | 23 +- .../syntax_option_type_overview.html | 49 +- .../syntax_option_type_perl.html | 47 +- .../syntax_option_type_synopsis.html | 30 +- doc/html/boost_regex/syntax.html | 38 +- .../boost_regex/syntax/basic_extended.html | 460 ++++++------ doc/html/boost_regex/syntax/basic_syntax.html | 258 ++++--- .../boost_regex/syntax/character_classes.html | 24 +- .../optional_char_class_names.html | 26 +- .../character_classes/std_char_clases.html | 25 +- .../boost_regex/syntax/collating_names.html | 19 +- .../syntax/collating_names/digraphs.html | 19 +- .../syntax/collating_names/named_unicode.html | 28 +- .../collating_names/posix_symbolic_names.html | 23 +- .../syntax/leftmost_longest_rule.html | 23 +- doc/html/boost_regex/syntax/perl_syntax.html | 676 +++++++++--------- doc/html/boost_regex/unicode.html | 45 +- doc/html/index.html | 24 +- doc/regex.qbk | 2 +- doc/regex_traits.qbk | 4 +- 86 files changed, 3114 insertions(+), 3578 deletions(-) diff --git a/doc/Jamfile.v2 b/doc/Jamfile.v2 index 38357c9e..5dedf523 100644 --- a/doc/Jamfile.v2 +++ b/doc/Jamfile.v2 @@ -34,7 +34,7 @@ boostbook standalone # PDF Options: # TOC Generation: this is needed for FOP-0.9 and later: - #fop1.extensions=1 + fop1.extensions=0 # Or enable this if you're using XEP: xep.extensions=1 # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9! @@ -55,3 +55,4 @@ boostbook standalone ; + diff --git a/doc/concepts.qbk b/doc/concepts.qbk index 58822659..d6758967 100644 --- a/doc/concepts.qbk +++ b/doc/concepts.qbk @@ -67,10 +67,9 @@ an object of type `X::locale_type`. [[v.lookup_classname(F1, F2)][X::char_class_type][Converts the character sequence designated by the iterator range \[F1,F2) into a bitmask type that can subsequently be passed to isctype. Values returned from lookup_classname can be safely bitwise or'ed together. Returns 0 if the character sequence is not the name of a character class recognized by X. The value returned shall be independent of the case of the characters in the sequence.]] [[v.lookup_collatename(F1, F2)][X::string_type][Returns a sequence of characters that represents the collating element consisting of the character sequence designated by the iterator range \[F1, F2). Returns an empty string if the character sequence is not a valid collating element.]] [[v.isctype(c, v.lookup_classname (F1, F2))][bool][Returns true if character c is a member of the character class designated by the iterator range \[F1, F2), false otherwise.]] -[[v.value(c, i)][int][Returns the value represented by the digit c in base I if the character c is a valid digit in base I; otherwise returns -1. \[Note: the value of I will only be 8, 10, or 16. -end note\]]] +[[v.value(c, I)][int][Returns the value represented by the digit c in base I if the character c is a valid digit in base I; otherwise returns -1. \[Note: the value of I will only be 8, 10, or 16. -end note\]]] [[u.imbue(loc)][X::locale_type][Imbues u with the locale loc, returns the previous locale used by u if any. ]] [[v.getloc()][X::locale_type][Returns the current locale used by v if any. ]] -[[v.error_string(i)][std::string][Returns a human readable error string for the error condition i, where i is one of the values enumerated by type regex_constants::error_type. If the value i is not recognized then returns the string "Unknown error" or a localized equivalent.]] ] [h4 Additional Optional Requirements] @@ -89,14 +88,14 @@ configure itself appropriately. [[v.escape_syntax_type(c)][regex_constants::escape_syntax_type][Returns a symbolic value of type regex_constants::escape_syntax_type, that signifies the meaning of character c within the regular expression grammar, when c has been preceded by an escape character. Precondition: if b is the character preceding c in the expression being parsed then: `v.syntax_type(b) == syntax_escape`]] [[v.translate(c, b)][X::char_type][Returns a character d such that: for any character d that is to be considered equivalent to c then `v.translate(c,false)==v.translate(d,false)`. Likewise for all characters C that are to be considered equivalent to c when comparisons are to be performed without regard to case, then `v.translate(c,true)==v.translate(C,true)`.]] [[v.toi(I1, I2, i)][An integer type capable of holding either a charT or an int.][Behaves as follows: if `p == q` or if `*p` is not a digit character then returns -1. Otherwise performs formatted numeric input on the sequence \[p,q) and returns the result as an int. Postcondition: either p == q or *p is a non-digit character.]] -[[v.error_string(i)][std::string][Returns a human readable error string for the error condition i, where i is one of the values enumerated by type regex_constants::error_type. If the value i is not recognized then returns the string "Unknown error" or a localized equivalent.]] +[[v.error_string(I)][std::string][Returns a human readable error string for the error condition i, where i is one of the values enumerated by type regex_constants::error_type. If the value /I/ is not recognized then returns the string "Unknown error" or a localized equivalent.]] [[v.tolower(c)][X::char_type][Converts c to lower case, used for Perl-style \l and \L formating operations.]] [[v.toupper(c)][X::char_type][Converts c to upper case, used for Perl-style \u and \U formating operations.]] ] [endsect] -[section:iterator_concepts Iterator Rrequirements] +[section:iterator_concepts Iterator Requirements] The regular expression algorithms (and iterators) take all require a Bidirectional-Iterator. diff --git a/doc/html/boost_regex/background_information.html b/doc/html/boost_regex/background_information.html index 45d793e6..97e723cd 100644 --- a/doc/html/boost_regex/background_information.html +++ b/doc/html/boost_regex/background_information.html @@ -3,12 +3,11 @@ Background Information - + - - + + @@ -25,7 +24,8 @@
    Headers
    Localization
    @@ -44,31 +44,14 @@ Acknowledgements
    History
    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    - +

    +

    diff --git a/doc/html/boost_regex/background_information/acknowledgements.html b/doc/html/boost_regex/background_information/acknowledgements.html index 0e9a5827..6226d770 100644 --- a/doc/html/boost_regex/background_information/acknowledgements.html +++ b/doc/html/boost_regex/background_information/acknowledgements.html @@ -1,14 +1,13 @@ - - Acknowledgements +Acknowledgements - + - - + + @@ -25,9 +24,9 @@

    The author can be contacted at john - at - johnmaddock.co.uk; the home page for this library is at www.boost.org. @@ -75,10 +74,11 @@

    - +

    +

    diff --git a/doc/html/boost_regex/background_information/examples.html b/doc/html/boost_regex/background_information/examples.html index 7c929efe..42421ebe 100644 --- a/doc/html/boost_regex/background_information/examples.html +++ b/doc/html/boost_regex/background_information/examples.html @@ -1,16 +1,13 @@ - Test and - Example Programs +Test and Example Programs - + - - + + @@ -27,16 +24,16 @@ +
    + Test Programs -
    +

    - regress: + regress:

    A regression test application that gives the matching/searching algorithms @@ -52,7 +49,7 @@ Files: See directory.

    - bad_expression_test: + bad_expression_test:

    Verifies that "bad" regular expressions don't cause the matcher @@ -65,7 +62,7 @@ Files: bad_expression_test.cpp.

    - recursion_test: + recursion_test:

    Verifies that the matcher can't overrun the stack (no matter what the expression). @@ -77,7 +74,7 @@ Files: recursion_test.cpp.

    - concepts: + concepts:

    Verifies that the library meets all documented concepts (a compile only test). @@ -89,7 +86,7 @@ Files: concept_check.cpp.

    - captures_test: + captures_test:

    Test code for captures. @@ -100,13 +97,13 @@

    Files: captures_test.cpp.

    -

    - +

    + Example programs -
    +

    - grep + grep

    A simple grep implementation, run with the -h command line option to find @@ -116,7 +113,7 @@ Files: grep.cpp

    - timer.exe + timer.exe

    A simple interactive expression matching application, the results of all @@ -126,11 +123,11 @@

    Files: regex_timer.cpp.

    -

    - +

    + Code snippets -
    +

    The snippets examples contain the code examples used in the documentation:

    @@ -211,10 +208,11 @@
    - +

    +

    diff --git a/doc/html/boost_regex/background_information/faq.html b/doc/html/boost_regex/background_information/faq.html index e2b8b781..31ab358f 100644 --- a/doc/html/boost_regex/background_information/faq.html +++ b/doc/html/boost_regex/background_information/faq.html @@ -1,14 +1,13 @@ - FAQ +FAQ - + - - + + @@ -25,13 +24,14 @@
    + FAQ +

    - Q. I can't get regex++ to work with escape + Q. I can't get regex++ to work with escape characters, what's going on?

    - A. If you embed regular expressions in C++ + A. If you embed regular expressions in C++ code, then remember that escape characters are processed twice: once by the C++ compiler, and once by the Boost.Regex expression compiler, so to pass the regular expression \d+ to Boost.Regex, you need to embed "\d+" @@ -39,21 +39,21 @@ "\\" in your code.

    - Q. No matter what I do regex_match always + Q. No matter what I do regex_match always returns false, what's going on?

    - A. The algorithm regex_match only succeeds - if the expression matches all of the text, - if you want to find a sub-string within + A. The algorithm regex_match only succeeds + if the expression matches all of the text, + if you want to find a sub-string within the text that matches the expression then use regex_search instead.

    - Q. Why does using parenthesis in a POSIX + Q. Why does using parenthesis in a POSIX regular expression change the result of a match?

    - A. For POSIX (extended and basic) regular + A. For POSIX (extended and basic) regular expressions, but not for perl regexes, parentheses don't only mark; they determine what the best match is as well. When the expression is compiled as a POSIX basic or extended regex then Boost.Regex follows the POSIX standard @@ -85,11 +85,11 @@ as the expression.

    - Q. Why don't character ranges work properly + Q. Why don't character ranges work properly (POSIX mode only)?

    - A. The POSIX standard specifies that character + A. The POSIX standard specifies that character range expressions are locale sensitive - so for example the expression [A-Z] will match any collating element that collates between 'A' and 'Z'. That means that for most locales other than "C" or "POSIX", @@ -97,39 +97,39 @@ most people expect - or at least not what most people have come to expect from regular expression engines. For this reason, the default behaviour of Boost.Regex (perl mode) is to turn locale sensitive collation off by not - setting the regex_constants::collate + setting the regex_constants::collate compile time flag. However if you set a non-default compile time flag - for - example regex_constants::extended or regex_constants::basic, + example regex_constants::extended or regex_constants::basic, then locale dependent collation will be enabled, this also applies to the - POSIX API functions which use either regex_constants::extended - or regex_constants::basic internally. [Note - when regex_constants::nocollate in effect, the library behaves + POSIX API functions which use either regex_constants::extended + or regex_constants::basic internally. [Note - when regex_constants::nocollate in effect, the library behaves "as if" the LC_COLLATE locale category were always "C", regardless of what its actually set to - end note].

    - Q. Why are there no throw specifications + Q. Why are there no throw specifications on any of the functions? What exceptions can the library throw?

    - A. Not all compilers support (or honor) + A. Not all compilers support (or honor) throw specifications, others support them but with reduced efficiency. Throw specifications may be added at a later date as compilers begin to handle this better. The library should throw only three types of exception: [boost::regex_error] - can be thrown by basic_regex when compiling a regular - expression, std::runtime_error can be thrown when a call - to basic_regex::imbue tries to open a message catalogue - that doesn't exist, or when a call to regex_search or regex_match results in an "everlasting" - search, or when a call to RegEx::GrepFiles - or RegEx::FindFiles tries to open a file that cannot - be opened, finally std::bad_alloc can be thrown by just about any + can be thrown by basic_regex when compiling a regular + expression, std::runtime_error can be thrown when a call + to basic_regex::imbue tries to open a message catalogue + that doesn't exist, or when a call to regex_search or regex_match results in an "everlasting" + search, or when a call to RegEx::GrepFiles + or RegEx::FindFiles tries to open a file that cannot + be opened, finally std::bad_alloc can be thrown by just about any of the functions in this library.

    - Q. Why can't I use the "convenience" + Q. Why can't I use the "convenience" versions of regex_match / regex_search / regex_grep / regex_format / regex_merge?

    - A. These versions may or may not be available + A. These versions may or may not be available depending upon the capabilities of your compiler, the rules determining the format of these functions are quite complex - and only the versions visible to a standard compliant compiler are given in the help. To find out what @@ -141,10 +141,11 @@

    - +

    +

    diff --git a/doc/html/boost_regex/background_information/futher.html b/doc/html/boost_regex/background_information/futher.html index 4463bda9..f238a3db 100644 --- a/doc/html/boost_regex/background_information/futher.html +++ b/doc/html/boost_regex/background_information/futher.html @@ -1,15 +1,13 @@ - References - and Further Information +References and Further Information - + - - + + @@ -26,9 +24,9 @@

    Short tutorials on regular expressions can be found here and here. @@ -64,10 +62,11 @@

    - +

    +

    diff --git a/doc/html/boost_regex/background_information/headers.html b/doc/html/boost_regex/background_information/headers.html index a351f381..cf275901 100644 --- a/doc/html/boost_regex/background_information/headers.html +++ b/doc/html/boost_regex/background_information/headers.html @@ -1,13 +1,13 @@ - Headers +Headers - + - + @@ -24,25 +24,27 @@

    - There are two main headers used by this library: <boost/regex.hpp> - provides full access to the main template library, while <boost/cregex.hpp> + There are two main headers used by this library: <boost/regex.hpp> + provides full access to the main template library, while <boost/cregex.hpp> provides access to the (deprecated) high level class RegEx, and the POSIX API functions.

    - There is also a header containing only forward declarations <boost/regex_fwd.hpp> - for use when an interface is dependent upon basic_regex, but otherwise does + There is also a header containing only forward declarations <boost/regex_fwd.hpp> + for use when an interface is dependent upon basic_regex, but otherwise does not need the full definitions.

    - +

    +

    diff --git a/doc/html/boost_regex/background_information/history.html b/doc/html/boost_regex/background_information/history.html index db846835..82728a7b 100644 --- a/doc/html/boost_regex/background_information/history.html +++ b/doc/html/boost_regex/background_information/history.html @@ -1,13 +1,12 @@ - History +History - + - + @@ -24,12 +23,13 @@ +
    + Boost 1.34 -
    +
    • Fix for non-greedy repeats and partial matches not working correctly in @@ -48,11 +48,11 @@ the same as |.
    -

    - +

    + Boost 1.33.1 -
    +
    • Fixed broken makefiles. @@ -118,11 +118,11 @@ Fixed bug that allowed some invalid expressions to be accepted.
    -

    - +

    + Boost 1.33.0 -
    +
    • Completely rewritten expression parsing code, and traits class support; @@ -173,19 +173,19 @@ in the expression the error occured.
    -

    - +

    + Boost 1.32.1 -
    +
    • Fixed bug in partial matches of bounded repeats of '.'.
    -

    - +

    + Boost 1.31.0 -
    +
    • Completely rewritten pattern matching code - it is now up to 10 times faster @@ -220,10 +220,11 @@
    - +

    +

    diff --git a/doc/html/boost_regex/background_information/locale.html b/doc/html/boost_regex/background_information/locale.html index 78e77de2..4916676f 100644 --- a/doc/html/boost_regex/background_information/locale.html +++ b/doc/html/boost_regex/background_information/locale.html @@ -1,14 +1,13 @@ - Localization +Localization - + - - + + @@ -25,7 +24,8 @@

    Boost.Regex provides extensive support for run-time localization, the localization model used can be split into two parts: front-end and back-end. @@ -57,52 +57,50 @@

    There are three separate localization mechanisms supported by Boost.Regex:

    -

    - +

    + Win32 localization model. -
    +

    This is the default model when the library is compiled under Win32, and is - encapsulated by the traits class w32_regex_traits. - When this model is in effect each basic_regex object gets it's own + encapsulated by the traits class w32_regex_traits. + When this model is in effect each basic_regex object gets it's own LCID, by default this is the users default setting as returned by GetUserDefaultLCID, - but you can call imbue on the basic_regex + but you can call imbue on the basic_regex object to set it's locale to some other LCID if you wish. All the settings used by Boost.Regex are acquired directly from the operating system bypassing the C run time library. Front-end localization requires a resource dll, containing a string table with the user-defined strings. The traits class exports the function:

    -
    -static std::string set_message_catalogue(const std::string& s);
    +
    static std::string set_message_catalogue(const std::string& s);
     

    which needs to be called with a string identifying the name of the resource dll, before your code compiles any regular expressions (but not necessarily - before you construct any basic_regex + before you construct any basic_regex instances):

    -
    -boost::w32_regex_traits<char>::set_message_catalogue("mydll.dll");
    +
    boost::w32_regex_traits<char>::set_message_catalogue("mydll.dll");
     

    The library provides full Unicode support under NT, under Windows 9x the library degrades gracefully - characters 0 to 255 are supported, the remainder are treated as "unknown" graphic characters.

    -

    - +

    + C localization model. -
    +

    This model has been deprecated in favor of the C++ locale for all non-Windows compilers that support it. This locale is encapsulated by the traits class - c_regex_traits, Win32 users + c_regex_traits, Win32 users can force this model to take effect by defining the pre-processor symbol BOOST_REGEX_USE_C_LOCALE. When this model is in effect there is a single - global locale, as set by setlocale. + global locale, as set by setlocale. All settings are acquired from your run time library, consequently Unicode support is dependent upon your run time library implementation.

    @@ -111,54 +109,52 @@

    Note that calling setlocale invalidates all compiled regular expressions, - calling setlocale(LC_ALL, "C") + calling setlocale(LC_ALL, "C") will make this library behave equivalent to most traditional regular expression libraries including version 1 of this library.

    -

    - +

    + C++ localization model. -
    +

    This model is the default for non-Windows compilers.

    - When this model is in effect each instance of basic_regex has its own instance - of std::locale, class basic_regex also has a member function - imbue which allows the locale + When this model is in effect each instance of basic_regex has its own instance + of std::locale, class basic_regex also has a member function + imbue which allows the locale for the expression to be set on a per-instance basis. Front end localization - requires a POSIX message catalogue, which will be loaded via the std::messages + requires a POSIX message catalogue, which will be loaded via the std::messages facet of the expression's locale, the traits class exports the symbol:

    -
    -static std::string set_message_catalogue(const std::string& s);
    +
    static std::string set_message_catalogue(const std::string& s);
     

    which needs to be called with a string identifying the name of the message catalogue, before your code compiles any regular expressions (but not necessarily before you construct any basic_regex instances):

    -
    -boost::cpp_regex_traits<char>::set_message_catalogue("mycatalogue");
    +
    boost::cpp_regex_traits<char>::set_message_catalogue("mycatalogue");
     

    - Note that calling basic_regex<>::imbue - will invalidate any expression currently compiled in that instance of basic_regex. + Note that calling basic_regex<>::imbue + will invalidate any expression currently compiled in that instance of basic_regex.

    Finally note that if you build the library with a non-default localization model, then the appropriate pre-processor symbol (BOOST_REGEX_USE_C_LOCALE or BOOST_REGEX_USE_CPP_LOCALE) must be defined both when you build the support - library, and when you include <boost/regex.hpp> - or <boost/cregex.hpp> - in your code. The best way to ensure this is to add the #define to <boost/regex/user.hpp>. + library, and when you include <boost/regex.hpp> + or <boost/cregex.hpp> + in your code. The best way to ensure this is to add the #define to <boost/regex/user.hpp>.

    -

    - +

    + Providing a message catalogue -
    +

    In order to localize the front end of the library, you need to provide the library with the appropriate message strings contained either in a resource @@ -1272,7 +1268,7 @@

    @@ -179,7 +177,7 @@ @@ -191,7 +189,7 @@ @@ -203,26 +201,26 @@

    - "Unmatched [ or " + "Unmatched [ or "

    @@ -1779,10 +1775,11 @@ - +

    +

    diff --git a/doc/html/boost_regex/background_information/performance.html b/doc/html/boost_regex/background_information/performance.html index be5ed7c2..c0513ebb 100644 --- a/doc/html/boost_regex/background_information/performance.html +++ b/doc/html/boost_regex/background_information/performance.html @@ -1,14 +1,13 @@ - Performance +Performance - + - - + + @@ -25,7 +24,8 @@

    The performance of Boost.Regex in both recursive and non-recursive modes should be broadly comparable to other regular expression libraries: recursive @@ -46,10 +46,11 @@

    - +

    +

    diff --git a/doc/html/boost_regex/background_information/redist.html b/doc/html/boost_regex/background_information/redist.html index fb7917f6..de272a08 100644 --- a/doc/html/boost_regex/background_information/redist.html +++ b/doc/html/boost_regex/background_information/redist.html @@ -1,15 +1,13 @@ - Redistributables +Redistributables - + - - + + @@ -26,7 +24,8 @@

    If you are using Microsoft or Borland C++ and link to a dll version of the run time library, then you can choose to also link to a dll version of Boost.Regex @@ -48,10 +47,11 @@

    - +

    +

    diff --git a/doc/html/boost_regex/background_information/standards.html b/doc/html/boost_regex/background_information/standards.html index 8efaff79..4ca1f3d9 100644 --- a/doc/html/boost_regex/background_information/standards.html +++ b/doc/html/boost_regex/background_information/standards.html @@ -1,14 +1,13 @@ - Standards - Conformance +Standards Conformance - + - - + + @@ -25,22 +24,22 @@ +
    + C++ -
    +

    Boost.Regex is intended to conform to the Technical Report on C++ Library Extensions.

    -

    - +

    + ECMAScript / JavaScript -
    +

    All of the ECMAScript regular expression syntax features are supported, except that: @@ -49,10 +48,10 @@ The escape sequence \u matches any upper case character (the same as [[:upper:]]) rather than a Unicode escape sequence; use \x{DDDD} for Unicode escape sequences.

    -

    - +

    + Perl -
    +

    Almost all Perl features are supported, except for:

    @@ -62,10 +61,10 @@

    (??{code}) Not implementable in a compiled strongly typed language.

    -

    - +

    + POSIX -
    +

    All the POSIX basic and extended regular expression features are supported, except that: @@ -82,10 +81,10 @@ implementation doesn't work on your platform, then you will need to supply a custom traits class.

    -

    - +

    + Unicode -
    +

    The following comments refer to Unicode Technical Standard #18: Unicode Regular Expressions version 11. @@ -165,13 +164,13 @@ Indirectly support by forward-lookahead:

    - (?=[[:X:]])[[:Y:]] + (?=[[:X:]])[[:Y:]]

    Gives the intersection of character properties X and Y.

    - (?![[:X:]])[[:Y:]] + (?![[:X:]])[[:Y:]]

    Gives everything in Y that is not in X (subtraction). @@ -469,7 +468,7 @@

    @@ -550,10 +549,11 @@

    - Supported: pass the flag match_partial + Supported: pass the flag match_partial to the regex algorithms.

    - +

    +

    diff --git a/doc/html/boost_regex/background_information/thread_safety.html b/doc/html/boost_regex/background_information/thread_safety.html index d76d568d..47a0f190 100644 --- a/doc/html/boost_regex/background_information/thread_safety.html +++ b/doc/html/boost_regex/background_information/thread_safety.html @@ -1,15 +1,13 @@ - Thread - Safety +Thread Safety - + - - + + @@ -26,44 +24,43 @@

    The Boost.Regex library is thread safe when Boost is: you can verify that - Boost is in thread safe mode by checking to see if BOOST_HAS_THREADS + Boost is in thread safe mode by checking to see if BOOST_HAS_THREADS is defined: this macro is set automatically by the config system when threading support is turned on in your compiler.

    - Class basic_regex + Class basic_regex and its typedefs regex and wregex are thread safe, in that compiled regular expressions can safely be shared between threads. The matching algorithms - regex_match, - regex_search, - and regex_replace - are all re-entrant and thread safe. Class match_results is now thread safe, + regex_match, + regex_search, + and regex_replace + are all re-entrant and thread safe. Class match_results is now thread safe, in that the results of a match can be safely copied from one thread to another - (for example one thread may find matches and push match_results instances onto a queue, + (for example one thread may find matches and push match_results instances onto a queue, while another thread pops them off the other end), otherwise use a separate - instance of match_results + instance of match_results per thread.

    - The POSIX API functions are + The POSIX API functions are all re-entrant and thread safe, regular expressions compiled with regcomp can also be shared between threads.

    - The class + The class RegEx is only thread safe if each thread gets its own RegEx instance (apartment threading) - this is a consequence of RegEx handling both compiling and matching regular expressions.

    Finally note that changing the global locale invalidates all compiled regular - expressions, therefore calling set_locale + expressions, therefore calling set_locale from one thread while another uses regular expressions will produce unpredictable results.

    @@ -74,10 +71,11 @@
    - +

    +

    diff --git a/doc/html/boost_regex/captures.html b/doc/html/boost_regex/captures.html index 5d984fed..af1acd15 100644 --- a/doc/html/boost_regex/captures.html +++ b/doc/html/boost_regex/captures.html @@ -1,14 +1,13 @@ - Understanding Marked Sub-Expressions - and Captures +Understanding Marked Sub-Expressions and Captures - + - - + + @@ -25,9 +24,9 @@

    Captures are the iterator ranges that are "captured" by marked sub-expressions as a regular expression gets matched. Each marked sub-expression can result @@ -35,12 +34,12 @@ how captures and marked sub-expressions in Boost.Regex are represented and accessed.

    -

    - +

    + Marked sub-expressions -
    +

    - Every time a Perl regular expression contains a parenthesis group (), it spits out an extra field, known as a + Every time a Perl regular expression contains a parenthesis group (), it spits out an extra field, known as a marked sub-expression, for example the expression:

    (\w+)\W+(\w+)
    @@ -48,7 +47,7 @@ Has two marked sub-expressions (known as $1 and $2 respectively), in addition the complete match is known as $&, everything before the first match as $`, and everything after the match as $'. So if the above expression is searched - for within "@abc def--", + for within "@abc def--", then we obtain:

    @@ -132,11 +131,10 @@

    - In Boost.Regex all these are accessible via the match_results class that gets filled - in when calling one of the regular expression matching algorithms ( regex_search, regex_match, or regex_iterator). So given: + In Boost.Regex all these are accessible via the match_results class that gets filled + in when calling one of the regular expression matching algorithms ( regex_search, regex_match, or regex_iterator). So given:

    -
    -boost::match_results<IteratorType> m;
    +
    boost::match_results<IteratorType> m;
     

    The Perl and Boost.Regex equivalents are as follows: @@ -167,7 +165,7 @@

    - m.prefix() + m.prefix()

    - m[0] + m[0]

    - m[n] + m[n]

    - m.suffix() + m.suffix()

    - In Boost.Regex each sub-expression match is represented by a sub_match object, this is basically + In Boost.Regex each sub-expression match is represented by a sub_match object, this is basically just a pair of iterators denoting the start and end position of the sub-expression match, but there are some additional operators provided so that objects of - type sub_match - behave a lot like a std::basic_string: for example they are implicitly - convertible to a basic_string, + type sub_match + behave a lot like a std::basic_string: for example they are implicitly + convertible to a basic_string, they can be compared to a string, added to a string, or streamed out to an output stream.

    -

    - +

    + Unmatched Sub-Expressions -
    +

    When a regular expression match is found there is no need for all of the marked sub-expressions to have participated in the match, for example the expression: @@ -230,12 +228,12 @@

    (abc)|(def)

    can match either $1 or $2, but never both at the same time. In Boost.Regex - you can determine which sub-expressions matched by accessing the sub_match::matched data member. + you can determine which sub-expressions matched by accessing the sub_match::matched data member.

    -

    - +

    + Repeated Captures -
    +

    When a marked sub-expression is repeated, then the sub-expression gets "captured" multiple times, however normally only the final capture is available, for example @@ -252,13 +250,12 @@

    However, Boost.Regex has an experimental feature that allows all the capture - information to be retained - this is accessed either via the match_results::captures member function or the sub_match::captures member function. These functions + information to be retained - this is accessed either via the match_results::captures member function or the sub_match::captures member function. These functions return a container that contains a sequence of all the captures obtained during the regular expression matching. The following example program shows how this information may be used:

    -
    -#include <boost/regex.hpp>
    +
    #include <boost/regex.hpp>
     #include <iostream>
     
     void print_captures(const std::string& regx, const std::string& text)
    @@ -372,10 +369,11 @@ Text:        "now is the time for all good men to come to the aid of the party"
     
    - +

    +

    diff --git a/doc/html/boost_regex/configuration.html b/doc/html/boost_regex/configuration.html index fb86953e..8d8b2a42 100644 --- a/doc/html/boost_regex/configuration.html +++ b/doc/html/boost_regex/configuration.html @@ -1,13 +1,13 @@ - Configuration +Configuration - + - + @@ -24,7 +24,8 @@
    - +

    +

    diff --git a/doc/html/boost_regex/configuration/algorithm.html b/doc/html/boost_regex/configuration/algorithm.html index 1c8cce84..970cba82 100644 --- a/doc/html/boost_regex/configuration/algorithm.html +++ b/doc/html/boost_regex/configuration/algorithm.html @@ -1,13 +1,13 @@ - Algorithm Selection +Algorithm Selection - + - - - + + + @@ -24,7 +24,8 @@
    @@ -78,10 +79,11 @@
    - +

    +

    diff --git a/doc/html/boost_regex/configuration/compiler.html b/doc/html/boost_regex/configuration/compiler.html index 6549e66e..03814ff1 100644 --- a/doc/html/boost_regex/configuration/compiler.html +++ b/doc/html/boost_regex/configuration/compiler.html @@ -1,14 +1,13 @@ - Compiler Setup +Compiler Setup - + - - - + + + @@ -25,7 +24,8 @@

    You shouldn't need to do anything special to configure Boost.Regex for use with your compiler - the Boost.Config @@ -36,10 +36,11 @@

    - +

    +

    diff --git a/doc/html/boost_regex/configuration/linkage.html b/doc/html/boost_regex/configuration/linkage.html index 1711f2fc..e9012060 100644 --- a/doc/html/boost_regex/configuration/linkage.html +++ b/doc/html/boost_regex/configuration/linkage.html @@ -1,14 +1,13 @@ - Linkage Options +Linkage Options - + - - - + + + @@ -25,7 +24,8 @@
    @@ -77,10 +77,11 @@
    - +

    +

    diff --git a/doc/html/boost_regex/configuration/locale.html b/doc/html/boost_regex/configuration/locale.html index bfab7b14..da0e4e63 100644 --- a/doc/html/boost_regex/configuration/locale.html +++ b/doc/html/boost_regex/configuration/locale.html @@ -1,14 +1,13 @@ - Locale and traits - class selection +Locale and traits class selection - + - - - + + + @@ -25,9 +24,9 @@

    The following macros (see user.hpp) control how Boost.Regex interacts with the user's locale: @@ -96,10 +95,11 @@

    - +

    +

    diff --git a/doc/html/boost_regex/configuration/tuning.html b/doc/html/boost_regex/configuration/tuning.html index 05412d1d..deba73fb 100644 --- a/doc/html/boost_regex/configuration/tuning.html +++ b/doc/html/boost_regex/configuration/tuning.html @@ -1,13 +1,13 @@ - Algorithm Tuning +Algorithm Tuning - + - - - + + + @@ -24,7 +24,8 @@

    The following option applies only if BOOST_REGEX_RECURSIVE is set.

    @@ -139,10 +140,11 @@
    - +

    +

    diff --git a/doc/html/boost_regex/format.html b/doc/html/boost_regex/format.html index 9efc4524..ac34fbbf 100644 --- a/doc/html/boost_regex/format.html +++ b/doc/html/boost_regex/format.html @@ -1,14 +1,13 @@ - Search and Replace Format String Syntax +Search and Replace Format String Syntax - + - - + + @@ -25,7 +24,8 @@
    Sed Format String Syntax
    Perl Format String Syntax
    @@ -33,32 +33,26 @@ Format String Syntax

    - Format strings are used by the algorithm regex_replace and by match_results<>::format, and are used to transform + Format strings are used by the algorithm regex_replace and by match_results<>::format, and are used to transform one string into another.

    - There are three kind of format string: Sed, - Perl and Boost-Extended. + There are three kind of format string: Sed, + Perl and Boost-Extended.

    - Alternatively, when the flag format_literal + Alternatively, when the flag format_literal is passed to one of these functions, then the format string is treated as a string literal, and is copied unchanged to the output.

    -

    -

    -

    -

    -

    -

    - +

    +

    diff --git a/doc/html/boost_regex/format/boost_format_syntax.html b/doc/html/boost_regex/format/boost_format_syntax.html index 134712c2..4ea00314 100644 --- a/doc/html/boost_regex/format/boost_format_syntax.html +++ b/doc/html/boost_regex/format/boost_format_syntax.html @@ -1,14 +1,13 @@ - Boost-Extended - Format String Syntax +Boost-Extended Format String Syntax - + - - - + + + @@ -25,25 +24,25 @@

    Boost-Extended format strings treat all characters as literals except for '$', '\', '(', ')', '?', and ':'.

    -

    - +

    + Grouping -
    +

    The characters '(' and ')' perform lexical grouping, so use \( and \) if you want a to output literal parenthesis.

    -

    - +

    + Conditionals -
    +

    The character '?' begins a conditional expression, the general form is:

    @@ -66,11 +65,11 @@ match found with "foo" if the sub-expression $1 was matched, and with "bar" otherwise.

    -

    - +

    + Placeholder Sequences -
    +

    Placeholder sequences specify that some part of what matched the regular expression should be sent to output as follows: @@ -161,11 +160,11 @@ Any $-placeholder sequence not listed above, results in '$' being treated as a literal.

    -

    - +

    + Escape Sequences -
    +

    An escape character followed by any character x, outputs that character unless x is one of the escape sequences shown below. @@ -390,10 +389,11 @@

    - +

    +

    diff --git a/doc/html/boost_regex/format/perl_format.html b/doc/html/boost_regex/format/perl_format.html index 94e2d7f0..0d248545 100644 --- a/doc/html/boost_regex/format/perl_format.html +++ b/doc/html/boost_regex/format/perl_format.html @@ -1,14 +1,13 @@ - Perl Format String Syntax +Perl Format String Syntax - + - - - + + + @@ -25,7 +24,8 @@

    Perl-style format strings treat all characters as literals except '$' and '\' which start placeholder and escape sequences respectively. @@ -344,10 +344,11 @@

    - +

    +

    diff --git a/doc/html/boost_regex/format/sed_format.html b/doc/html/boost_regex/format/sed_format.html index 7e79ca46..7cb783bb 100644 --- a/doc/html/boost_regex/format/sed_format.html +++ b/doc/html/boost_regex/format/sed_format.html @@ -1,13 +1,13 @@ - Sed Format String Syntax +Sed Format String Syntax - + - - - + + + @@ -24,7 +24,8 @@

    Sed-style format strings treat all characters as literals except:

    @@ -234,10 +235,11 @@
    - +

    +

    diff --git a/doc/html/boost_regex/install.html b/doc/html/boost_regex/install.html index 37092833..769edc11 100644 --- a/doc/html/boost_regex/install.html +++ b/doc/html/boost_regex/install.html @@ -1,14 +1,13 @@ - Building and Installing the Library +Building and Installing the Library - + - - + + @@ -25,7 +24,8 @@

    When you extract the library from its zip file, you must preserve its internal directory structure (for example by using the -d option when extracting). If @@ -48,20 +48,20 @@ it is necessary to build the library's support code into a library or archive file before you can use it, instructions for specific platforms are as follows:

    -

    - +

    + Building with bjam -
    +

    This is now the preferred method for building and installing this library, please refer to the getting started guide for more information.

    -

    - +

    + Building With Unicode and ICU Support -
    +

    A default build of this library does not enable Unciode support via ICU. There is no need to enable this support if you don't need it, but if you use ICU @@ -75,16 +75,16 @@

    If you're building on a Unix-like platform, and ICU is already installed in - your compilers search path (with an install prefix of /usr or /usr/local - for example), then set the environment variable HAVE_ICU + your compilers search path (with an install prefix of /usr or /usr/local + for example), then set the environment variable HAVE_ICU to enable ICU support. For example you might build with the command line:

    bjam -sHAVE_ICU=1 --toolset=toolset-name install

    If ICU is not already in your compiler's path then you need to set the environment - variable ICU_PATH to point + variable ICU_PATH to point to the root directory of your ICU installation, for example if ICU was installed - to /usr/local/icu/3.3 + to /usr/local/icu/3.3 you might use:

    bjam -sICU_PATH=/usr/local/icu/3.3 --toolset=toolset-name install
    @@ -95,17 +95,17 @@ ensure that this is the case: it is up to you to ensure that the version of ICU you are using is binary compatible with the toolset you use to build Boost.

    -

    - +

    + Building via makefiles -
    -
    - - Borland C++ Builder:
    +
    + + Borland C++ Builder: +
    • - Open up a console window and change to the <boost>\libs\regex\build + Open up a console window and change to the <boost>\libs\regex\build directory.
    • @@ -127,7 +127,7 @@

      make -fbcb5.mak install

      - library files will be copied to <BCROOT>/lib and the dll's to <BCROOT>/bin, where <BCROOT> + library files will be copied to <BCROOT>/lib and the dll's to <BCROOT>/bin, where <BCROOT> corresponds to the install path of your Borland C++ tools.

      @@ -136,7 +136,7 @@

      make -fbcb5.mak clean

      - Finally when you use Boost.Regex it is only necessary for you to add the <boost> root director to your list of include directories + Finally when you use Boost.Regex it is only necessary for you to add the <boost> root director to your list of include directories for that project. It is not necessary for you to manually add a .lib file to the project; the headers will automatically select the correct .lib file for your build mode and tell the linker to include it. There is one caveat however: @@ -159,17 +159,17 @@ build of the lib) then define BOOST_REGEX_NO_LIB.

      - If you are building with C++ Builder 6, you will find that <boost/regex.hpp> - can not be used in a pre-compiled header (the actual problem is in <locale> which gets included by <boost/regex.hpp>), + If you are building with C++ Builder 6, you will find that <boost/regex.hpp> + can not be used in a pre-compiled header (the actual problem is in <locale> which gets included by <boost/regex.hpp>), if this causes problems for you, then try defining BOOST_NO_STD_LOCALE when building, this will disable some features throughout boost, but may save you a lot in compile times!

      -

      - +

      + Microsoft Visual C++ 6, 7, 7.1 and 8 -
      +

      You need version 6 or later of MSVC to build this library. If you are using VC5 then you may want to look at one of the previous releases of this library. @@ -177,7 +177,7 @@

      Open up a command prompt, which has the necessary MSVC environment variables defined (for example by using the batch file Vcvars32.bat installed by the - Visual Studio installation), and change to the <boost>\libs\regex\build directory. + Visual Studio installation), and change to the <boost>\libs\regex\build directory.

      Select the correct makefile - vc6.mak for "vanilla" Visual C++ 6 @@ -193,7 +193,7 @@

      nmake -fvc6.mak install

      - The lib files will be copied to your <VC6>\lib directory and the dll files to <VC6>\bin, where <VC6> is + The lib files will be copied to your <VC6>\lib directory and the dll files to <VC6>\bin, where <VC6> is the root of your Visual C++ 6 installation.

      @@ -207,7 +207,7 @@

      nmake ICU_PATH=c:\open-source\icu -fvc71.mak install

      - Finally when you use Boost.Regex it is only necessary for you to add the <boost> root directory to your list of include + Finally when you use Boost.Regex it is only necessary for you to add the <boost> root directory to your list of include directories for that project. It is not necessary for you to manually add a .lib file to the project; the headers will automatically select the correct .lib file for your build mode and tell the linker to include it. @@ -252,12 +252,12 @@ to modify the makefile to add /Zc:wchar_t before building the library.

    -
    - +
    + GCC(2.95 and later) -
    +

    - You can build with gcc using the normal boost Jamfile in <boost>/libs/regex/build, alternatively + You can build with gcc using the normal boost Jamfile in <boost>/libs/regex/build, alternatively there is a conservative makefile for the g++ compiler. From the command prompt change to the <boost>/libs/regex/build directory and type:

    @@ -298,16 +298,16 @@ LIBS: additional library files.

    - For the more adventurous there is a configure script in <boost>/libs/config; + For the more adventurous there is a configure script in <boost>/libs/config; see the config library documentation.

    -
    - +
    + Sun Workshop 6.1 -
    +

    There is a makefile for the sun (6.1) compiler (C++ version 3.12). From the - command prompt change to the <boost>/libs/regex/build directory + command prompt change to the <boost>/libs/regex/build directory and type:

    dmake -f sunpro.mak 
    @@ -316,7 +316,7 @@ single and multithread versions of the library (libboost_regex.a, libboost_regex.so, libboost_regex_mt.a and libboost_regex_mt.so). When you build projects that use Boost.Regex, you will need to add the boost install directory to your list - of include paths and add <boost>/libs/regex/build/sunpro/ to + of include paths and add <boost>/libs/regex/build/sunpro/ to your library search path.

    @@ -342,26 +342,27 @@ This makefile does not set any architecture specific options like -xarch=v9, you can set these by defining the appropriate macros, for example:

    -
    dmake CXXFLAGS="-xarchv9" LDFLAGS"-xarchv9" LIBSUFFIX"_v9" -f sunpro.mak
    +
    dmake CXXFLAGS="-xarchv9" LDFLAGS"-xarchv9" LIBSUFFIX"_v9" -f sunpro.mak

    will build v9 variants of the regex library named libboost_regex_v9.a etc.

    -
    - +
    + Makefiles for Other compilers -
    +

    - There is a generic makefile (generic.mak ) provided in <boost-root>/libs/regex/build - see that makefile for details of + There is a generic makefile (generic.mak ) provided in <boost-root>/libs/regex/build - see that makefile for details of environment variables that need to be set before use.

    - +

    +

    diff --git a/doc/html/boost_regex/introduction_and_overview.html b/doc/html/boost_regex/introduction_and_overview.html index ad97c7eb..b43e443a 100644 --- a/doc/html/boost_regex/introduction_and_overview.html +++ b/doc/html/boost_regex/introduction_and_overview.html @@ -1,14 +1,13 @@ -Introduction and - Overview +Introduction and Overview - + - - + + @@ -25,9 +24,9 @@

    Regular expressions are a form of pattern-matching that are often used in text processing; many users will be familiar with the Unix utilities grep, sed and @@ -40,16 +39,15 @@ libraries can not do.

    - The class basic_regex + The class basic_regex is the key class in this library; it represents a "machine readable" - regular expression, and is very closely modeled on std::basic_string, + regular expression, and is very closely modeled on std::basic_string, think of it as a string plus the actual state-machine required by the regular - expression algorithms. Like std::basic_string + expression algorithms. Like std::basic_string there are two typedefs that are almost always the means by which this class is referenced:

    -
    -namespace boost{
    +
    namespace boost{
     
     template <class charT, 
              class traits = regex_traits<charT> >
    @@ -87,8 +85,7 @@
           Now let's take that expression and place it in some C++ code to validate the
           format of a credit card number:
         

    -
    -bool validate_card_format(const std::string& s)
    +
    bool validate_card_format(const std::string& s)
     {
        static const boost::regex e("(\\d{4}[- ]){3}\\d{4}");
        return regex_match(s, e);
    @@ -100,7 +97,7 @@
           regular expression engine, consequently escapes in regular expressions have
           to be doubled up when embedding them in C/C++ code. Also note that all the
           examples assume that your compiler supports argument-dependent-lookup lookup,
    -      if yours doesn't (for example VC6), then you will have to add some boost:: prefixes
    +      if yours doesn't (for example VC6), then you will have to add some boost:: prefixes
           to some of the function calls in the examples.
         

    @@ -113,11 +110,10 @@ the utilities sed and Perl will already be ahead here; we need two strings - one a regular expression - the other a "format string" that provides a description of the text to replace the match with. In Boost.Regex this search - and replace operation is performed with the algorithm regex_replace, for our credit card + and replace operation is performed with the algorithm regex_replace, for our credit card example we can write two algorithms like this to provide the format conversions:

    -
    -// match any format with the regular expression:
    +
    // match any format with the regular expression:
     const boost::regex e("\\A(\\d{3,4})[- ]?(\\d{4})[- ]?(\\d{4})[- ]?(\\d{4})\\z");
     const std::string machine_format("\\1\\2\\3\\4");
     const std::string human_format("\\1-\\2-\\3-\\4");
    @@ -142,11 +138,10 @@
           expression match, however in general the result of a match contains a number
           of sub-expression matches in addition to the overall match. When the library
           needs to report a regular expression match it does so using an instance of
    -      the class match_results,
    +      the class match_results,
           as before there are typedefs of this class for the most common cases:
         

    -
    -namespace boost{
    +
    namespace boost{
     
     typedef match_results<const char*>                  cmatch;
     typedef match_results<const wchar_t*>               wcmatch;
    @@ -156,12 +151,12 @@
     }
     

    - The algorithms regex_search - and regex_match - make use of match_results - to report what matched; the difference between these algorithms is that regex_match + The algorithms regex_search + and regex_match + make use of match_results + to report what matched; the difference between these algorithms is that regex_match will only find matches that consume all of the input text, - where as regex_search + where as regex_search will search for a match anywhere within the text being matched.

    @@ -170,22 +165,21 @@ of seamlessly searching almost any kind of data.

    - For search and replace operations, in addition to the algorithm regex_replace that we have already - seen, the match_results - class has a format member that + For search and replace operations, in addition to the algorithm regex_replace that we have already + seen, the match_results + class has a format member that takes the result of a match and a format string, and produces a new string by merging the two.

    For iterating through all occurences of an expression within a text, there - are two iterator types: regex_iterator will enumerate over - the match_results - objects found, while regex_token_iterator will enumerate + are two iterator types: regex_iterator will enumerate over + the match_results + objects found, while regex_token_iterator will enumerate a series of strings (similar to perl style split operations).

    - For those that dislike templates, there is a high level wrapper class RegEx + For those that dislike templates, there is a high level wrapper class RegEx that is an encapsulation of the lower level template code - it provides a simplified interface for those that don't need the full power of the library, and supports only narrow characters, and the "extended" regular expression syntax. @@ -193,12 +187,12 @@ C++ standard library proposal.

    - The POSIX API functions: regcomp, regexec, regfree and [regerr], are available + The POSIX API functions: regcomp, regexec, regfree and [regerr], are available in both narrow character and Unicode versions, and are provided for those who need compatibility with these API's.

    - Finally, note that the library now has run-time + Finally, note that the library now has run-time localization support, and recognizes the full POSIX regular expression syntax - including advanced features like multi-character collating elements and equivalence classes - as well as providing compatibility with other regular @@ -207,10 +201,11 @@

    - +

    +

    diff --git a/doc/html/boost_regex/partial_matches.html b/doc/html/boost_regex/partial_matches.html index b5befab7..16614be2 100644 --- a/doc/html/boost_regex/partial_matches.html +++ b/doc/html/boost_regex/partial_matches.html @@ -1,14 +1,13 @@ - Partial Matches +Partial Matches - + - - + + @@ -25,13 +24,13 @@

    - The match_flag_type - match_partial can be passed - to the following algorithms: regex_match, regex_search, and regex_grep, and used with the iterator - regex_iterator. + The match_flag_type + match_partial can be passed + to the following algorithms: regex_match, regex_search, and regex_grep, and used with the iterator + regex_iterator. When used it indicates that partial as well as full matches should be found. A partial match is one that matched one or more characters at the end of the text input, but did not match all of the regular expression (although it may @@ -41,10 +40,9 @@ into memory (or even into a memory mapped file), or are of indeterminate length (for example the source may be a socket or similar). Partial and full matches can be differentiated as shown in the following table (the variable M represents - an instance of match_results as filled in by regex_match, - regex_search - or regex_grep): + an instance of match_results as filled in by regex_match, + regex_search + or regex_grep):

    @@ -186,7 +184,7 @@

    The following example tests to see whether the text could be a valid credit card number, as the user presses a key, the character entered would be added - to the string being built up, and passed to is_possible_card_number. + to the string being built up, and passed to is_possible_card_number. If this returns true then the text could be a valid card number, so the user interface's OK button would be enabled. If it returns false, then this is not yet a valid card number, but could be with more input, so the user interface @@ -194,8 +192,7 @@ the input could never become a valid number, and the inputted character must be discarded, and a suitable error indication displayed to the user.

    -
    -#include <string>
    +
    #include <string>
     #include <iostream>
     #include <boost/regex.hpp>
     
    @@ -230,8 +227,7 @@
           if a partial match was encountered, then the partial match gets searched a
           second time as the start of the next batch of text:
         

    -
    -#include <iostream>
    +
    #include <iostream>
     #include <fstream>
     #include <sstream>
     #include <string>
    @@ -297,10 +293,11 @@
     
     
    - +

    +

    diff --git a/doc/html/boost_regex/ref.html b/doc/html/boost_regex/ref.html index 5bf87bab..dc6e496c 100644 --- a/doc/html/boost_regex/ref.html +++ b/doc/html/boost_regex/ref.html @@ -1,14 +1,13 @@ - Reference +Reference - + - - + + @@ -25,7 +24,8 @@
    basic_regex
    match_results
    @@ -91,7 +91,7 @@
    Traits Class Requirements
    Iterator - Rrequirements
    + Requirements
    Deprecated Interfaces
    @@ -105,35 +105,14 @@ Level Class RegEx (Deprecated)
    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    - +

    +

    diff --git a/doc/html/boost_regex/ref/bad_expression.html b/doc/html/boost_regex/ref/bad_expression.html index 53c10241..bbffbd53 100644 --- a/doc/html/boost_regex/ref/bad_expression.html +++ b/doc/html/boost_regex/ref/bad_expression.html @@ -1,13 +1,13 @@ - bad_expression +bad_expression - + - - - + + + @@ -24,21 +24,20 @@ +
    + Synopsis -
    -
    -#include <boost/pattern_except.hpp>
    +      
    +
    #include <boost/pattern_except.hpp>
     

    - The class regex_error defines + The class regex_error defines the type of objects thrown as exceptions to report errors during the conversion from a string representing a regular expression to a finite state machine.

    -
    -namespace boost{
    +
    namespace boost{
     
     class regex_error : public std::runtime_error
     {
    @@ -54,49 +53,47 @@
     
     } // namespace boost
     
    -

    - +

    + Description -
    -
    -regex_error(const std::string& s, regex_constants::error_type err, std::ptrdiff_t pos);
    +      
    +
    regex_error(const std::string& s, regex_constants::error_type err, std::ptrdiff_t pos);
     regex_error(boost::regex_constants::error_type err);
     

    - Effects: Constructs an object of class regex_error. + Effects: Constructs an object of class regex_error.

    -
    -boost::regex_constants::error_type code()const;
    +
    boost::regex_constants::error_type code()const;
     

    - Effects: returns the error code that represents + Effects: returns the error code that represents parsing error that occurred.

    -
    -std::ptrdiff_t position()const; 
    +
    std::ptrdiff_t position()const; 
     

    - Effects: returns the location in the expression + Effects: returns the location in the expression where parsing stopped.

    - Footnotes: the choice of std::runtime_error - as the base class for regex_error + Footnotes: the choice of std::runtime_error + as the base class for regex_error is moot; depending upon how the library is used exceptions may be either logic errors (programmer supplied expressions) or run time errors (user supplied - expressions). The library previously used bad_pattern - and bad_expression for errors, - these have been replaced by the single class regex_error + expressions). The library previously used bad_pattern + and bad_expression for errors, + these have been replaced by the single class regex_error to keep the library in synchronization with the Technical Report on C++ Library Extensions.

    - +

    +

    diff --git a/doc/html/boost_regex/ref/basic_regex.html b/doc/html/boost_regex/ref/basic_regex.html index 905f35e0..6c312c65 100644 --- a/doc/html/boost_regex/ref/basic_regex.html +++ b/doc/html/boost_regex/ref/basic_regex.html @@ -1,13 +1,13 @@ - basic_regex +basic_regex - + - - - + + + @@ -24,43 +24,40 @@ +
    + Synopsis -
    -
    -#include <boost/regex.hpp>
    +      
    +
    #include <boost/regex.hpp>
     

    - The template class basic_regex + The template class basic_regex encapsulates regular expression parsing and compilation. The class takes two template parameters:

    - For ease of use there are two typedefs that define the two standard basic_regex instances, unless you want + For ease of use there are two typedefs that define the two standard basic_regex instances, unless you want to use custom traits classes or non-standard character types (for example - see unicode support), + see unicode support), you won't need to use anything other than these:

    -
    -namespace boost{
    +
    namespace boost{
     
     template <class charT, class traits = regex_traits<charT>  >
     class basic_regex;
    @@ -71,12 +68,11 @@
     }
     

    - The definition of basic_regex - follows: it is based very closely on class basic_string, - and fulfils the requirements for a constant-container of charT. + The definition of basic_regex + follows: it is based very closely on class basic_string, + and fulfils the requirements for a constant-container of charT.

    -
    -namespace boost{
    +
    namespace boost{
     
     template <class  charT, class traits = regex_traits<charT> >
     class basic_regex {
    @@ -89,66 +85,66 @@
        typedef          const charT&                         const_reference;           
        typedef          std::ptrdiff_t                       difference_type;                 
        typedef          std::size_t                          size_type;
    -   typedef          regex_constants:: syntax_option_type  flag_type;
    +   typedef          regex_constants:: syntax_option_type  flag_type;
        typedef typename traits::locale_type                  locale_type;
     
        // constants:
        // main option selection:
    -   static const regex_constants:: syntax_option_type normal          
    +   static const regex_constants:: syntax_option_type normal          
                                                     = regex_constants::normal;
    -   static const regex_constants:: syntax_option_type ECMAScript      
    +   static const regex_constants:: syntax_option_type ECMAScript      
                                                     = normal;
    -   static const regex_constants:: syntax_option_type JavaScript      
    +   static const regex_constants:: syntax_option_type JavaScript      
                                                     = normal;
    -   static const regex_constants:: syntax_option_type JScript         
    +   static const regex_constants:: syntax_option_type JScript         
                                                     = normal;
    -   static const regex_constants:: syntax_option_type basic           
    +   static const regex_constants:: syntax_option_type basic           
                                                     = regex_constants::basic;
    -   static const regex_constants:: syntax_option_type extended        
    +   static const regex_constants:: syntax_option_type extended        
                                                     = regex_constants::extended;
    -   static const regex_constants:: syntax_option_type awk             
    +   static const regex_constants:: syntax_option_type awk             
                                                     = regex_constants::awk;
    -   static const regex_constants:: syntax_option_type grep            
    +   static const regex_constants:: syntax_option_type grep            
                                                     = regex_constants::grep;
    -   static const regex_constants:: syntax_option_type egrep           
    +   static const regex_constants:: syntax_option_type egrep           
                                                     = regex_constants::egrep;
    -   static const regex_constants:: syntax_option_type sed             
    +   static const regex_constants:: syntax_option_type sed             
                                                     = basic = regex_constants::sed;
    -   static const regex_constants:: syntax_option_type perl            
    +   static const regex_constants:: syntax_option_type perl            
                                                     = regex_constants::perl;
    -   static const regex_constants:: syntax_option_type literal         
    +   static const regex_constants:: syntax_option_type literal         
                                                     = regex_constants::literal;
     
        // modifiers specific to perl expressions:
    -   static const regex_constants:: syntax_option_type no_mod_m        
    +   static const regex_constants:: syntax_option_type no_mod_m        
                                                     = regex_constants::no_mod_m;
    -   static const regex_constants:: syntax_option_type no_mod_s        
    +   static const regex_constants:: syntax_option_type no_mod_s        
                                                     = regex_constants::no_mod_s;
    -   static const regex_constants:: syntax_option_type mod_s           
    +   static const regex_constants:: syntax_option_type mod_s           
                                                     = regex_constants::mod_s;
    -   static const regex_constants:: syntax_option_type mod_x           
    +   static const regex_constants:: syntax_option_type mod_x           
                                                     = regex_constants::mod_x;
     
        // modifiers specific to POSIX basic expressions:
    -   static const regex_constants:: syntax_option_type bk_plus_qm      
    +   static const regex_constants:: syntax_option_type bk_plus_qm      
                                                     = regex_constants::bk_plus_qm;
    -   static const regex_constants:: syntax_option_type bk_vbar         
    +   static const regex_constants:: syntax_option_type bk_vbar         
                                                     = regex_constants::bk_vbar
    -   static const regex_constants:: syntax_option_type no_char_classes 
    +   static const regex_constants:: syntax_option_type no_char_classes 
                                                     = regex_constants::no_char_classes
    -   static const regex_constants:: syntax_option_type no_intervals    
    +   static const regex_constants:: syntax_option_type no_intervals    
                                                     = regex_constants::no_intervals
     
        // common modifiers:
    -   static const regex_constants:: syntax_option_type nosubs          
    +   static const regex_constants:: syntax_option_type nosubs          
                                                     = regex_constants::nosubs;
    -   static const regex_constants:: syntax_option_type optimize        
    +   static const regex_constants:: syntax_option_type optimize        
                                                     = regex_constants::optimize;
    -   static const regex_constants:: syntax_option_type collate         
    +   static const regex_constants:: syntax_option_type collate         
                                                     = regex_constants::collate;
    -   static const regex_constants:: syntax_option_type newline_alt     
    +   static const regex_constants:: syntax_option_type newline_alt     
                                                     = regex_constants::newline_alt;
    -   static const regex_constants:: syntax_option_type no_except       
    +   static const regex_constants:: syntax_option_type no_except       
                                                     = regex_constants::newline_alt;
     
        // construct/copy/destroy:
    @@ -246,94 +242,92 @@
     
     } // namespace boost
     
    -

    - +

    + Description -
    +

    - Class basic_regex has the + Class basic_regex has the following public members:

    -
    -// main option selection:
    -static const regex_constants:: syntax_option_type normal           
    +
    // main option selection:
    +static const regex_constants:: syntax_option_type normal           
                                               = regex_constants::normal;
    -static const regex_constants:: syntax_option_type ECMAScript       
    +static const regex_constants:: syntax_option_type ECMAScript       
                                               = normal;
    -static const regex_constants:: syntax_option_type JavaScript       
    +static const regex_constants:: syntax_option_type JavaScript       
                                               = normal;
    -static const regex_constants:: syntax_option_type JScript          
    +static const regex_constants:: syntax_option_type JScript          
                                               = normal;
    -static const regex_constants:: syntax_option_type basic            
    +static const regex_constants:: syntax_option_type basic            
                                               = regex_constants::basic;
    -static const regex_constants:: syntax_option_type extended         
    +static const regex_constants:: syntax_option_type extended         
                                               = regex_constants::extended;
    -static const regex_constants:: syntax_option_type awk              
    +static const regex_constants:: syntax_option_type awk              
                                               = regex_constants::awk;
    -static const regex_constants:: syntax_option_type grep             
    +static const regex_constants:: syntax_option_type grep             
                                               = regex_constants::grep;
    -static const regex_constants:: syntax_option_type egrep            
    +static const regex_constants:: syntax_option_type egrep            
                                               = regex_constants::egrep;
    -static const regex_constants:: syntax_option_type sed              
    +static const regex_constants:: syntax_option_type sed              
                                               = regex_constants::sed;
    -static const regex_constants:: syntax_option_type perl             
    +static const regex_constants:: syntax_option_type perl             
                                               = regex_constants::perl;
    -static const regex_constants:: syntax_option_type literal          
    +static const regex_constants:: syntax_option_type literal          
                                               = regex_constants::literal;
     
     // modifiers specific to perl expressions:
    -static const regex_constants:: syntax_option_type no_mod_m         
    +static const regex_constants:: syntax_option_type no_mod_m         
                                               = regex_constants::no_mod_m;
    -static const regex_constants:: syntax_option_type no_mod_s         
    +static const regex_constants:: syntax_option_type no_mod_s         
                                               = regex_constants::no_mod_s;
    -static const regex_constants:: syntax_option_type mod_s            
    +static const regex_constants:: syntax_option_type mod_s            
                                               = regex_constants::mod_s;
    -static const regex_constants:: syntax_option_type mod_x            
    +static const regex_constants:: syntax_option_type mod_x            
                                               = regex_constants::mod_x;
     
     // modifiers specific to POSIX basic expressions:
    -static const regex_constants:: syntax_option_type bk_plus_qm       
    +static const regex_constants:: syntax_option_type bk_plus_qm       
                                               = regex_constants::bk_plus_qm;
    -static const regex_constants:: syntax_option_type bk_vbar          
    +static const regex_constants:: syntax_option_type bk_vbar          
                                               = regex_constants::bk_vbar
    -static const regex_constants:: syntax_option_type no_char_classes  
    +static const regex_constants:: syntax_option_type no_char_classes  
                                               = regex_constants::no_char_classes
    -static const regex_constants:: syntax_option_type no_intervals     
    +static const regex_constants:: syntax_option_type no_intervals     
                                               = regex_constants::no_intervals
     
     // common modifiers:
    -static const regex_constants:: syntax_option_type nosubs           
    +static const regex_constants:: syntax_option_type nosubs           
                                               = regex_constants::nosubs;
    -static const regex_constants:: syntax_option_type optimize         
    +static const regex_constants:: syntax_option_type optimize         
                                               = regex_constants::optimize;
    -static const regex_constants:: syntax_option_type collate          
    +static const regex_constants:: syntax_option_type collate          
                                               = regex_constants::collate;
    -static const regex_constants:: syntax_option_type newline_alt      
    +static const regex_constants:: syntax_option_type newline_alt      
                                               = regex_constants::newline_alt;
     

    - The meaning of these options is documented in the syntax_option_type section. + The meaning of these options is documented in the syntax_option_type section.

    The static constant members are provided as synonyms for the constants declared - in namespace boost::regex_constants; for each constant of type - syntax_option_type - declared in namespace boost::regex_constants + in namespace boost::regex_constants; for each constant of type + syntax_option_type + declared in namespace boost::regex_constants then a constant with the same name, type and value is declared within the scope of basic_regex.

    -
    -basic_regex();
    +
    basic_regex();
     

    - Effects: Constructs an object of class - basic_regex. + Effects: Constructs an object of class + basic_regex.

    -

    Table 1. basic_regex default construction postconditions

    -
    +

    Table 1. basic_regex default construction postconditions

    +
    @@ -354,67 +348,66 @@ -

    - empty() + empty()

    - true + true

    - size() + size()

    - 0 + 0

    - str() + str()

    - basic_string<charT>() + basic_string<charT>()

    +
    -

    +

    -
    -basic_regex(const charT* p, flag_type f = regex_constants::normal);
    +
    basic_regex(const charT* p, flag_type f = regex_constants::normal);
     

    - Requires: p shall not + Requires: p shall not be a null pointer.

    - Throws: bad_expression if p - is not a valid regular expression, unless the flag no_except + Throws: bad_expression if p + is not a valid regular expression, unless the flag no_except is set in f.

    - Effects: Constructs an object of class - basic_regex; + Effects: Constructs an object of class + basic_regex; the object's internal finite state machine is constructed from the regular expression contained in the null-terminated string p, - and interpreted according to the option + and interpreted according to the option flags specified in f.

    -

    Table 2. Postconditions for basic_regex construction

    - +

    Table 2. Postconditions for basic_regex construction

    +
    @@ -435,43 +428,43 @@ -

    - empty() + empty()

    - false + false

    - size() + size()

    - char_traits<charT>::length(p) + char_traits<charT>::length(p)

    - str() + str()

    - basic_string<charT>(p) + basic_string<charT>(p)

    - flags() + flags()

    @@ -483,7 +476,7 @@

    - mark_count() + mark_count()

    @@ -493,34 +486,33 @@
    +
    -

    +

    -
    -basic_regex(const charT* p1, const charT* p2, 
    +
    basic_regex(const charT* p1, const charT* p2, 
                 flag_type f = regex_constants::normal);
     

    - Requires: p1 and p2 - are not null pointers, p1 < p2. + Requires: p1 and p2 + are not null pointers, p1 < p2.

    - Throws: bad_expression if [p1,p2) is not - a valid regular expression, unless the flag no_except + Throws: bad_expression if [p1,p2) is not + a valid regular expression, unless the flag no_except is set in f.

    - Effects: Constructs an object of class - basic_regex; + Effects: Constructs an object of class + basic_regex; the object's internal finite state machine is constructed from the regular expression contained in the sequence of characters [p1,p2), and interpreted - according the option flags + according the option flags specified in f.

    -

    Table 3. Postconditions for basic_regex construction

    - +

    Table 3. Postconditions for basic_regex construction

    +
    @@ -541,43 +533,43 @@ -

    - empty() + empty()

    - false + false

    - size() + size()

    - std::distance(p1,p2) + std::distance(p1,p2)

    - str() + str()

    - basic_string<charT>(p1,p2) + basic_string<charT>(p1,p2)

    - flags() + flags()

    @@ -589,7 +581,7 @@

    - mark_count() + mark_count()

    @@ -599,33 +591,32 @@
    +
    -

    +

    -
    -basic_regex(const charT* p, size_type len, flag_type f);
    +
    basic_regex(const charT* p, size_type len, flag_type f);
     

    - Requires: p shall not - be a null pointer, len < - max_size(). + Requires: p shall not + be a null pointer, len < + max_size().

    - Throws: bad_expression if p - is not a valid regular expression, unless the flag no_except + Throws: bad_expression if p + is not a valid regular expression, unless the flag no_except is set in f.

    - Effects: Constructs an object of class - basic_regex; + Effects: Constructs an object of class + basic_regex; the object's internal finite state machine is constructed from the regular expression contained in the sequence of characters [p, p+len), and interpreted according the option flags specified in f.

    -

    Table 4. Postconditions for basic_regex construction

    - +

    Table 4. Postconditions for basic_regex construction

    +
    @@ -646,19 +637,19 @@ -

    - empty() + empty()

    - false + false

    - size() + size()

    @@ -670,19 +661,19 @@

    - str() + str()

    - basic_string<charT>(p, len) + basic_string<charT>(p, len)

    - flags() + flags()

    @@ -694,7 +685,7 @@

    - mark_count() + mark_count()

    @@ -704,41 +695,39 @@
    +
    -

    +

    -
    -basic_regex(const basic_regex& e);
    +
    basic_regex(const basic_regex& e);
     

    - Effects: Constructs an object of class - basic_regex + Effects: Constructs an object of class + basic_regex as a copy of the object e.

    -
    -template <class ST, class SA>
    +
    template <class ST, class SA>
     basic_regex(const basic_string<charT, ST, SA>& s, 
                 flag_type f = regex_constants::normal);
     

    - Throws: bad_expression if s - is not a valid regular expression, unless the flag no_except + Throws: bad_expression if s + is not a valid regular expression, unless the flag no_except is set in f.

    - Effects: Constructs an object of class - basic_regex; + Effects: Constructs an object of class + basic_regex; the object's internal finite state machine is constructed from the regular expression contained in the string s, and interpreted - according to the option + according to the option flags specified in f.

    -

    Table 5. Postconditions for basic_regex construction

    - +

    Table 5. Postconditions for basic_regex construction

    +
    @@ -759,31 +748,31 @@ -

    - empty() + empty()

    - false + false

    - size() + size()

    - s.size() + s.size()

    - str() + str()

    @@ -795,7 +784,7 @@

    - flags() + flags()

    @@ -807,7 +796,7 @@

    - mark_count() + mark_count()

    @@ -817,31 +806,30 @@
    +
    -

    +

    -
    -template <class ForwardIterator>
    +
    template <class ForwardIterator>
     basic_regex(ForwardIterator first, ForwardIterator last, 
                 flag_type f = regex_constants::normal);
     

    - Throws: bad_expression if the sequence [first, - last) is not a valid regular expression, unless the flag no_except + Throws: bad_expression if the sequence [first, + last) is not a valid regular expression, unless the flag no_except is set in f.

    - Effects: Constructs an object of class - basic_regex; + Effects: Constructs an object of class + basic_regex; the object's internal finite state machine is constructed from the regular expression contained in the sequence of characters [first, last), and interpreted - according to the option + according to the option flags specified in f.

    -

    Table 6. Postconditions for basic_regex construction

    - +

    Table 6. Postconditions for basic_regex construction

    +
    @@ -862,43 +850,43 @@ -

    - empty() + empty()

    - false + false

    - size() + size()

    - distance(first,last) + distance(first,last)

    - str() + str()

    - basic_string<charT>(first,last) + basic_string<charT>(first,last)

    - flags() + flags()

    @@ -910,7 +898,7 @@

    - mark_count() + mark_count()

    @@ -920,139 +908,126 @@
    +
    -

    +

    -
    -basic_regex& operator=(const basic_regex& e);
    +
    basic_regex& operator=(const basic_regex& e);
     

    - Effects: Returns the result of assign(e.str(), e.flags()). + Effects: Returns the result of assign(e.str(), e.flags()).

    -
    -basic_regex& operator=(const charT* ptr);
    +
    basic_regex& operator=(const charT* ptr);
     

    - Requires: p shall not + Requires: p shall not be a null pointer.

    - Effects: Returns the result of assign(ptr). + Effects: Returns the result of assign(ptr).

    -
    -template <class ST, class SA>
    +
    template <class ST, class SA>
     basic_regex& operator=(const basic_string<charT, ST, SA>& p);
     

    - Effects: Returns the result of assign(p). + Effects: Returns the result of assign(p).

    -
    -const_iterator begin() const;
    +
    const_iterator begin() const;
     

    - Effects: Returns a starting iterator to + Effects: Returns a starting iterator to a sequence of characters representing the regular expression.

    -
    -const_iterator end() const;
    +
    const_iterator end() const;
     

    - Effects: Returns termination iterator to + Effects: Returns termination iterator to a sequence of characters representing the regular expression.

    -
    -size_type size() const;
    +
    size_type size() const;
     

    - Effects: Returns the length of the sequence + Effects: Returns the length of the sequence of characters representing the regular expression.

    -
    -size_type max_size() const;
    +
    size_type max_size() const;
     

    - Effects: Returns the maximum length of the + Effects: Returns the maximum length of the sequence of characters representing the regular expression.

    -
    -bool empty() const;
    +
    bool empty() const;
     

    - Effects: Returns true if the object does + Effects: Returns true if the object does not contain a valid regular expression, otherwise false.

    -
    -unsigned mark_count() const;
    +
    unsigned mark_count() const;
     

    - Effects: Returns the number of marked sub-expressions + Effects: Returns the number of marked sub-expressions within the regular expresion.

    -
    -basic_regex& assign(const basic_regex& that);
    +
    basic_regex& assign(const basic_regex& that);
     

    - Effects: Returns assign(that.str(), that.flags()). + Effects: Returns assign(that.str(), that.flags()).

    -
    -basic_regex& assign(const charT* ptr, flag_type f = regex_constants::normal);
    +
    basic_regex& assign(const charT* ptr, flag_type f = regex_constants::normal);
     

    - Effects: Returns assign(string_type(ptr), f). + Effects: Returns assign(string_type(ptr), f).

    -
    -basic_regex& assign(const charT* ptr, unsigned int len, flag_type f);
    +
    basic_regex& assign(const charT* ptr, unsigned int len, flag_type f);
     

    - Effects: Returns assign(string_type(ptr, len), f). + Effects: Returns assign(string_type(ptr, len), f).

    -
    -template <class string_traits, class A>
    +
    template <class string_traits, class A>
     basic_regex& assign(const basic_string<charT, string_traits, A>& s,
                       flag_type f = regex_constants::normal);
     

    - Throws: bad_expression if s - is not a valid regular expression, unless the flag no_except + Throws: bad_expression if s + is not a valid regular expression, unless the flag no_except is set in f.

    - Returns: *this. + Returns: *this.

    - Effects: Assigns the regular expression + Effects: Assigns the regular expression contained in the string s, interpreted according the - option flags specified + option flags specified in f.

    -

    Table 7. Postconditions for basic_regex::assign

    - +

    Table 7. Postconditions for basic_regex::assign

    +
    @@ -1073,31 +1048,31 @@ -

    - empty() + empty()

    - false + false

    - size() + size()

    - s.size() + s.size()

    - str() + str()

    @@ -1109,7 +1084,7 @@

    - flags() + flags()

    @@ -1121,7 +1096,7 @@

    - mark_count() + mark_count()

    @@ -1131,222 +1106,207 @@
    +
    -

    +

    -
    -template <class InputIterator>
    +
    template <class InputIterator>
     basic_regex& assign(InputIterator first, InputIterator last,
                         flag_type f = regex_constants::normal);
     

    - Requires: The type InputIterator + Requires: The type InputIterator corresponds to the Input Iterator requirements (24.1.1).

    - Effects: Returns assign(string_type(first, last), f). + Effects: Returns assign(string_type(first, last), f).

    -
    -flag_type flags() const;
    +
    flag_type flags() const;
     

    - Effects: Returns a copy of the regular + Effects: Returns a copy of the regular expression syntax flags that were passed to the object's constructor, - or the last call to assign. + or the last call to assign.

    -
    -int status() const;
    +
    int status() const;
     

    - Effects: Returns zero if the expression + Effects: Returns zero if the expression contains a valid regular expression, otherwise an error code. This member function is retained for use in environments that cannot use exception handling.

    -
    -basic_string<charT> str() const;
    +
    basic_string<charT> str() const;
     

    - Effects: Returns a copy of the character + Effects: Returns a copy of the character sequence passed to the object's constructor, or the last call to assign.

    -
    -int compare(basic_regex& e)const;
    +
    int compare(basic_regex& e)const;
     

    - Effects: If flags() == e.flags() then returns str().compare(e.str()), - otherwise returns flags() - - e.flags(). + Effects: If flags() == e.flags() then returns str().compare(e.str()), + otherwise returns flags() + - e.flags().

    -
    -locale_type imbue(locale_type l);
    +
    locale_type imbue(locale_type l);
     

    - Effects: Returns the result of traits_inst.imbue(l) where - traits_inst is a (default - initialized) instance of the template parameter traits - stored within the object. Calls to imbue + Effects: Returns the result of traits_inst.imbue(l) where + traits_inst is a (default + initialized) instance of the template parameter traits + stored within the object. Calls to imbue invalidate any currently contained regular expression.

    - Postcondition: empty() == true. + Postcondition: empty() == true.

    -
    -locale_type getloc() const;
    +
    locale_type getloc() const;
     

    - Effects: Returns the result of traits_inst.getloc() - where traits_inst is a (default + Effects: Returns the result of traits_inst.getloc() + where traits_inst is a (default initialized) instance of the template parameter traits stored within the object.

    -
    -void swap(basic_regex& e) throw();
    +
    void swap(basic_regex& e) throw();
     

    - Effects: Swaps the contents of the two regular + Effects: Swaps the contents of the two regular expressions.

    - Postcondition: *this contains the regular expression that + Postcondition: *this contains the regular expression that was in e, e contains the regular - expression that was in *this. + expression that was in *this.

    - Complexity: constant time. + Complexity: constant time.

    -
    [Note] Note

    - Comparisons between basic_regex objects are provided +

    + Comparisons between basic_regex objects are provided on an experimental basis: please note that these are not present in the Technical Report on C++ Library Extensions, so use with care if you are writing - code that may need to be ported to other implementations of basic_regex. + code that may need to be ported to other implementations of basic_regex.

    -
    -template <class charT, class traits>
    +
    template <class charT, class traits>
     bool operator == (const basic_regex<charT, traits>& lhs,
                       const basic_regex<charT, traits>& rhs);
     

    - Effects: Returns lhs.compare(rhs) - == 0. + Effects: Returns lhs.compare(rhs) + == 0.

    -
    -template <class charT, class traits>
    +
    template <class charT, class traits>
     bool operator != (const basic_regex<charT, traits>& lhs,
                       const basic_regex<charT, traits>& rhs);
     

    - Effects: Returns lhs.compare(rhs) - != 0. + Effects: Returns lhs.compare(rhs) + != 0.

    -
    -template <class charT, class traits>
    +
    template <class charT, class traits>
     bool operator < (const basic_regex<charT, traits>& lhs,
                    const basic_regex<charT, traits>& rhs);
     

    - Effects: Returns lhs.compare(rhs) - < 0. + Effects: Returns lhs.compare(rhs) + < 0.

    -
    -template <class charT, class traits>
    +
    template <class charT, class traits>
     bool operator <= (const basic_regex<charT, traits>& lhs,
                       const basic_regex<charT, traits>& rhs);
     

    - Effects: Returns lhs.compare(rhs) - <= 0. + Effects: Returns lhs.compare(rhs) + <= 0.

    -
    -template <class charT, class traits>
    +
    template <class charT, class traits>
     bool operator >= (const basic_regex<charT, traits>& lhs,
                       const basic_regex<charT, traits>& rhs);
     

    - Effects: Returns lhs.compare(rhs) - >= 0. + Effects: Returns lhs.compare(rhs) + >= 0.

    -
    -template <class charT, class traits>
    +
    template <class charT, class traits>
     bool operator > (const basic_regex<charT, traits>& lhs,
                    const basic_regex<charT, traits>& rhs);
     

    - Effects: Returns lhs.compare(rhs) - > 0. + Effects: Returns lhs.compare(rhs) + > 0.

    -
    [Note] Note

    +

    The basic_regex stream inserter is provided on an experimental basis, and outputs the textual representation of the expression to the stream.

    -
    -template <class charT, class io_traits, class re_traits>
    +
    template <class charT, class io_traits, class re_traits>
     basic_ostream<charT, io_traits>&
        operator << (basic_ostream<charT, io_traits>& os
                    const basic_regex<charT, re_traits>& e);
     

    - Effects: Returns (os << e.str()). + Effects: Returns (os << e.str()).

    -
    -template <class charT, class traits>
    +
    template <class charT, class traits>
     void swap(basic_regex<charT, traits>& lhs,
              basic_regex<charT, traits>& rhs);
     

    - Effects: calls lhs.swap(rhs). + Effects: calls lhs.swap(rhs).

    - +

    +

    diff --git a/doc/html/boost_regex/ref/concepts.html b/doc/html/boost_regex/ref/concepts.html index 92dd469b..528bfbb8 100644 --- a/doc/html/boost_regex/ref/concepts.html +++ b/doc/html/boost_regex/ref/concepts.html @@ -1,13 +1,13 @@ - Concepts +Concepts - + - - - + + + @@ -24,21 +24,23 @@
    - +

    +

    diff --git a/doc/html/boost_regex/ref/concepts/charT_concept.html b/doc/html/boost_regex/ref/concepts/charT_concept.html index b4a51491..fe73b1e5 100644 --- a/doc/html/boost_regex/ref/concepts/charT_concept.html +++ b/doc/html/boost_regex/ref/concepts/charT_concept.html @@ -1,14 +1,13 @@ - charT Requirements +charT Requirements - + - - - + + + @@ -25,16 +24,17 @@

    - Type charT used a template - argument to class template basic_regex, must have a trivial + Type charT used a template + argument to class template basic_regex, must have a trivial default constructor, copy constructor, assignment operator, and destructor. In addition the following requirements must be met for objects; c - of type charT, c1 - and c2 of type charT - const, and i - of type int: + of type charT, c1 + and c2 of type charT + const, and i + of type int:

    @@ -258,10 +258,11 @@
    - +

    +

    diff --git a/doc/html/boost_regex/ref/concepts/iterator_concepts.html b/doc/html/boost_regex/ref/concepts/iterator_concepts.html index 8e117a29..5f624d52 100644 --- a/doc/html/boost_regex/ref/concepts/iterator_concepts.html +++ b/doc/html/boost_regex/ref/concepts/iterator_concepts.html @@ -1,14 +1,12 @@ - Iterator - Rrequirements +Iterator Requirements - + - - + + @@ -26,19 +24,20 @@

    The regular expression algorithms (and iterators) take all require a Bidirectional-Iterator.

    - +

    +

    diff --git a/doc/html/boost_regex/ref/concepts/traits_concept.html b/doc/html/boost_regex/ref/concepts/traits_concept.html index 5a634cad..3ddc5295 100644 --- a/doc/html/boost_regex/ref/concepts/traits_concept.html +++ b/doc/html/boost_regex/ref/concepts/traits_concept.html @@ -1,15 +1,13 @@ - Traits Class - Requirements +Traits Class Requirements - + - - - + + + @@ -26,37 +24,37 @@

    - There are two sets of requirements for the traits - template argument to basic_regex: a mininal interface + There are two sets of requirements for the traits + template argument to basic_regex: a mininal interface (which is part of the regex standardization proposal), and an optional Boost-specific enhanced interface.

    -

    - +

    + Minimal requirements. -
    +

    - In the following table X + In the following table X denotes a traits class defining types and functions for the character container - type charT; u - is an object of type X; - v is an object of type const - X; p is - a value of type const charT*; I1 and I2 - are Input Iterators; c is a value of type const charT; - s is an object of type X::string_type; - cs is an object of type const - X::string_type; b is - a value of type bool; I - is a value of type int; F1 - and F2 are values of type const - charT*; - and loc is an object of type X::locale_type. + type charT; u + is an object of type X; + v is an object of type const + X; p is + a value of type const charT*; I1 and I2 + are Input Iterators; c is a value of type const charT; + s is an object of type X::string_type; + cs is an object of type const + X::string_type; b is + a value of type bool; I + is a value of type int; F1 + and F2 are values of type const + charT*; + and loc is an object of type X::locale_type.

    @@ -329,7 +327,7 @@ - - - - -

    - v.value(c, i) + v.value(c, I)

    @@ -380,39 +378,19 @@

    -

    - v.error_string(i) -

    -
    -

    - std::string -

    -
    -

    - Returns a human readable error string for the error condition i, - where i is one of the values enumerated by type regex_constants::error_type. - If the value i is not recognized then returns the string "Unknown - error" or a localized equivalent. -

    -
    -

    - +

    + Additional Optional Requirements -
    +

    The following additional requirements are strictly optional, however in - order for basic_regex + order for basic_regex to take advantage of these additional interfaces, all of the following - requirements must be met; basic_regex will detect the presence - or absense of the member boost_extensions_tag + requirements must be met; basic_regex will detect the presence + or absense of the member boost_extensions_tag and configure itself appropriately.

    @@ -493,8 +471,8 @@ that signifies the meaning of character c within the regular expression grammar, when c has been preceded by an escape character. Precondition: if b is the character preceding c in the expression being parsed - then: v.syntax_type(b) - == syntax_escape + then: v.syntax_type(b) + == syntax_escape

    @@ -512,9 +490,9 @@ @@ -531,9 +509,9 @@ @@ -601,10 +579,11 @@

    Returns a character d such that: for any character d that is to - be considered equivalent to c then v.translate(c,false)==v.translate(d,false). Likewise for all characters C + be considered equivalent to c then v.translate(c,false)==v.translate(d,false). Likewise for all characters C that are to be considered equivalent to c when comparisons are - to be performed without regard to case, then v.translate(c,true)==v.translate(C,true). + to be performed without regard to case, then v.translate(c,true)==v.translate(C,true).

    - Behaves as follows: if p - == q - or if *p + Behaves as follows: if p + == q + or if *p is not a digit character then returns -1. Otherwise performs formatted numeric input on the sequence [p,q) and returns the result as an int. Postcondition: either p == q or *p is a non-digit character. @@ -543,7 +521,7 @@

    - v.error_string(i) + v.error_string(I)

    @@ -555,8 +533,8 @@

    Returns a human readable error string for the error condition i, where i is one of the values enumerated by type regex_constants::error_type. - If the value i is not recognized then returns the string "Unknown - error" or a localized equivalent. + If the value I is not recognized then returns + the string "Unknown error" or a localized equivalent.

    - +

    +

    diff --git a/doc/html/boost_regex/ref/deprecated_interfaces.html b/doc/html/boost_regex/ref/deprecated_interfaces.html index 7d3f52f1..4a3ee0b5 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces.html @@ -3,13 +3,11 @@ Deprecated Interfaces - + - - - + + + @@ -26,7 +24,8 @@ -

    -

    -

    -

    -

    -

    -

    -

    - +

    +

    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 ea155135..8afa58db 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html @@ -1,14 +1,12 @@ - High - Level Class RegEx (Deprecated) +High Level Class RegEx (Deprecated) - + - + @@ -26,17 +24,16 @@

    The high level wrapper class RegEx is now deprecated and does not form part of the regular expression standardization proposal. This type still exists, and existing code will continue to compile, however the following documentation is unlikely to be further updated.

    -
    -#include <boost/cregex.hpp>
    +
    #include <boost/cregex.hpp>
     

    The class RegEx provides a high level simplified interface to the regular @@ -44,8 +41,7 @@ regular expressions always follow the "normal" syntax - that is the same as the perl / ECMAScript synatx.

    -
    -typedef bool (*GrepCallback)(const RegEx& expression);
    +
    typedef bool (*GrepCallback)(const RegEx& expression);
     typedef bool (*GrepFileCallback)(const char* file, const RegEx& expression);
     typedef bool (*FindFilesCallback)(const char* file);
     
    @@ -138,7 +134,7 @@
     
     
                     

    - RegEx(); + RegEx();

    @@ -151,7 +147,7 @@

    - RegEx(const RegEx& o); + RegEx(const RegEx& o);

    @@ -164,40 +160,40 @@

    - RegEx(const char* c, bool + RegEx(const char* c, bool icase = - false); + false);

    Constructs an instance of RegEx, setting the expression to c, if icase is true then matching is insensitive - to case, otherwise it is sensitive to case. Throws bad_expression on failure. + to case, otherwise it is sensitive to case. Throws bad_expression on failure.

    - RegEx(const std::string& s, bool + RegEx(const std::string& s, bool icase = - false); + false);

    Constructs an instance of RegEx, setting the expression to s, if icase is true then matching is insensitive - to case, otherwise it is sensitive to case. Throws bad_expression on failure. + to case, otherwise it is sensitive to case. Throws bad_expression on failure.

    - RegEx& - operator=(const RegEx& o); + RegEx& + operator=(const RegEx& o);

    @@ -209,68 +205,68 @@

    - RegEx& - operator=(const char* p); + RegEx& + operator=(const char* p);

    - Assignment operator, equivalent to calling SetExpression(p, false). Throws bad_expression on failure. + Assignment operator, equivalent to calling SetExpression(p, false). Throws bad_expression on failure.

    - RegEx& - operator=(const std::string& s); + RegEx& + operator=(const std::string& s);

    - Assignment operator, equivalent to calling SetExpression(s, false). Throws bad_expression on failure. + Assignment operator, equivalent to calling SetExpression(s, false). Throws bad_expression on failure.

    - unsigned int + unsigned int SetExpression(constchar* p, bool icase - = false); + = false);

    Sets the current expression to p, if icase is true then matching is insensitive to case, otherwise it is sensitive - to case. Throws bad_expression on failure. + to case. Throws bad_expression on failure.

    - unsigned int + unsigned int SetExpression(const std::string& s, bool icase = - false); + false);

    Sets the current expression to s, if icase is true then matching is insensitive to case, otherwise it is sensitive - to case. Throws bad_expression on failure. + to case. Throws bad_expression on failure.

    - std::string Expression()const; + std::string Expression()const;

    @@ -282,17 +278,17 @@

    - bool Match(const + bool Match(const char* p, boost::match_flag_type flags - = match_default); + = match_default);

    Attempts to match the current expression against the text p - using the match flags flags - see match_flag_type. Returns + using the match flags flags - see match_flag_type. Returns true if the expression matches the whole of the input string.

    @@ -301,17 +297,17 @@

    - bool Match(const + bool Match(const std::string& s, boost::match_flag_type flags - = match_default); + = match_default);

    Attempts to match the current expression against the text s - using the match_flag_type flags. + using the match_flag_type flags. Returns true if the expression matches the whole of the input string.

    @@ -320,17 +316,17 @@

    - bool Search(const + bool Search(const char* p, boost::match_flag_type flags - = match_default); + = match_default);

    Attempts to find a match for the current expression somewhere in - the text p using the match_flag_type flags. + the text p using the match_flag_type flags. Returns true if the match succeeds.

    @@ -338,17 +334,17 @@

    - bool Search(const + bool Search(const std::string& s, boost::match_flag_type flags - = match_default); + = match_default);

    Attempts to find a match for the current expression somewhere in - the text s using the match_flag_type flags. + the text s using the match_flag_type flags. Returns true if the match succeeds.

    @@ -356,19 +352,19 @@

    - unsigned int + unsigned int Grep(GrepCallback cb, const char* p, boost::match_flag_type flags - = match_default); + = match_default);

    Finds all matches of the current expression in the text p - using the match_flag_type flags. - For each match found calls the call-back function cb as: cb(*this); + using the match_flag_type flags. + For each match found calls the call-back function cb as: cb(*this); If at any stage the call-back function returns false then the grep operation terminates, otherwise continues until no further matches are found. Returns the number of matches found. @@ -378,19 +374,19 @@

    - unsigned int + unsigned int Grep(GrepCallback cb, const std::string& s, boost::match_flag_type flags - = match_default); + = match_default);

    Finds all matches of the current expression in the text s - using the match_flag_type flags. - For each match found calls the call-back function cb as: cb(*this); + using the match_flag_type flags. + For each match found calls the call-back function cb as: cb(*this); If at any stage the call-back function returns false then the grep operation terminates, otherwise continues until no further matches are found. Returns the number of matches found. @@ -400,18 +396,18 @@

    - unsigned int + unsigned int Grep(std::vector<std::string>& v, const char* p, boost::match_flag_type flags = - match_default); + match_default);

    Finds all matches of the current expression in the text p - using the match_flag_type flags. + using the match_flag_type flags. For each match pushes a copy of what matched onto v. Returns the number of matches found.

    @@ -420,18 +416,18 @@

    - unsigned int + unsigned int Grep(std::vector<std::string>& v, const std::string& s, boost::match_flag_type flags = - match_default); + match_default);

    Finds all matches of the current expression in the text s - using the match_flag_type flags. + using the match_flag_type flags. For each match pushes a copy of what matched onto v. Returns the number of matches found.

    @@ -440,18 +436,18 @@

    - unsigned int + unsigned int Grep(std::vector<unsigned int>& v, const char* p, boost::match_flag_type flags - = match_default); + = match_default);

    Finds all matches of the current expression in the text p - using the match_flag_type flags. + using the match_flag_type flags. For each match pushes the starting index of what matched onto v. Returns the number of matches found.

    @@ -460,18 +456,18 @@

    - unsigned int + unsigned int Grep(std::vector<unsigned int>& v, const std::string& s, boost::match_flag_type flags - = match_default); + = match_default);

    Finds all matches of the current expression in the text s - using the match_flag_type flags. + using the match_flag_type flags. For each match pushes the starting index of what matched onto v. Returns the number of matches found.

    @@ -480,20 +476,20 @@

    - unsigned int + unsigned int GrepFiles(GrepFileCallback cb, const char* files, bool recurse = false, boost::match_flag_type flags = - match_default); + match_default);

    Finds all matches of the current expression in the files files - using the match_flag_type flags. + using the match_flag_type flags. For each match calls the call-back function cb. If the call-back returns false then the algorithm returns without considering further matches in the current file, or any further files. @@ -507,7 +503,7 @@ Returns the total number of matches found.

    - May throw an exception derived from std::runtime_error + May throw an exception derived from std::runtime_error if file io fails.

    @@ -515,20 +511,20 @@

    - unsigned int + unsigned int GrepFiles(GrepFileCallback cb, const std::string& files, bool recurse = false, boost::match_flag_type flags = - match_default); + match_default);

    Finds all matches of the current expression in the files files - using the match_flag_type flags. + using the match_flag_type flags. For each match calls the call-back function cb.

    @@ -545,7 +541,7 @@ Returns the total number of matches found.

    - May throw an exception derived from std::runtime_error + May throw an exception derived from std::runtime_error if file io fails.

    @@ -553,20 +549,20 @@

    - unsigned int + unsigned int FindFiles(FindFilesCallback cb, const char* files, bool recurse = false, boost::match_flag_type flags = - match_default); + match_default);

    Searches files to find all those which contain at least one match - of the current expression using the match_flag_type flags. + of the current expression using the match_flag_type flags. For each matching file calls the call-back function cb. If the call-back returns false then the algorithm returns without considering any further files. @@ -580,7 +576,7 @@ Returns the total number of files found.

    - May throw an exception derived from std::runtime_error + May throw an exception derived from std::runtime_error if file io fails.

    @@ -588,20 +584,20 @@

    - unsigned int + unsigned int FindFiles(FindFilesCallback cb, const std::string& files, bool recurse = false, boost::match_flag_type flags = - match_default); + match_default);

    Searches files to find all those which contain at least one match - of the current expression using the match_flag_type flags. + of the current expression using the match_flag_type flags. For each matching file calls the call-back function cb.

    @@ -617,7 +613,7 @@ Returns the total number of files found.

    - May throw an exception derived from std::runtime_error + May throw an exception derived from std::runtime_error if file io fails.

    @@ -625,14 +621,14 @@

    - std::string Merge(const + std::string Merge(const std::string& in, const std::string& fmt, bool copy = true, boost::match_flag_type flags - = match_default); + = match_default);

    @@ -645,22 +641,22 @@ If copy is true then all unmatched sections of input are copied unchanged to output, if the flag format_first_only is set then only the first occurance of the pattern found is replaced. - Returns the new string. See also format - string syntax, and match_flag_type. + Returns the new string. See also format + string syntax, and match_flag_type.

    - std::string Merge(const + std::string Merge(const char* in, const char* fmt, bool copy = true, boost::match_flag_type flags - = match_default); + = match_default);

    @@ -673,19 +669,19 @@ If copy is true then all unmatched sections of input are copied unchanged to output, if the flag format_first_only is set then only the first occurance of the pattern found is replaced. - Returns the new string. See also format - string syntax, and match_flag_type. + Returns the new string. See also format + string syntax, and match_flag_type.

    - unsigned Split(std::vector<std::string>& v, std::string& s, boost::match_flag_type + unsigned Split(std::vector<std::string>& v, std::string& s, boost::match_flag_type flags = match_default, unsigned max_count - = ~0); + = ~0);

    @@ -706,17 +702,17 @@

    - unsigned int + unsigned int Position(int i - = 0)const; + = 0)const;

    Returns the position of what matched sub-expression i. - If i = - 0 then returns the position - of the whole match. Returns RegEx::npos + If i = + 0 then returns the position + of the whole match. Returns RegEx::npos if the supplied index is invalid, or if the specified sub-expression did not participate in the match.

    @@ -725,16 +721,16 @@

    - unsigned int + unsigned int Length(int i - = 0)const; + = 0)const;

    - Returns the length of what matched sub-expression i. If i = - 0 then returns the length - of the whole match. Returns RegEx::npos + Returns the length of what matched sub-expression i. If i = + 0 then returns the length + of the whole match. Returns RegEx::npos if the supplied index is invalid, or if the specified sub-expression did not participate in the match.

    @@ -743,8 +739,8 @@

    - bool Matched(int i = - 0)const; + bool Matched(int i = + 0)const;

    @@ -757,23 +753,23 @@

    - unsigned int - Line()const; + unsigned int + Line()const;

    Returns the line on which the match occurred, indexes start from - 1 not zero, if no match occurred then returns RegEx::npos. + 1 not zero, if no match occurred then returns RegEx::npos.

    - unsigned int + unsigned int Marks() - const; + const;

    @@ -787,14 +783,14 @@

    - std::string What(int i)const; + std::string What(int i)const;

    Returns a copy of what matched sub-expression i. - If i = - 0 then returns a copy of + If i = + 0 then returns a copy of the whole match. Returns a null string if the index is invalid or if the specified sub-expression did not participate in a match.

    @@ -803,13 +799,13 @@

    - std::string operator[](int - i)const ; + std::string operator[](int + i)const ;

    - Returns what(i); + Returns what(i); Can be used to simplify access to sub-expression matches, and make usage more perl-like.

    @@ -820,10 +816,11 @@
    - +

    +

    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 559d3a9e..2365c417 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html @@ -1,15 +1,13 @@ - - regex_format (Deprecated) +regex_format (Deprecated) - + - + @@ -26,31 +24,29 @@

    - The algorithm regex_format - is deprecated; new code should use match_results<>::format instead. Existing code + The algorithm regex_format + is deprecated; new code should use match_results<>::format instead. Existing code will continue to compile, the following documentation is taken from the previous version of Boost.Regex and will not be further updated:

    -

    - +

    + Algorithm regex_format -
    -
    -#include <boost/regex.hpp>
    +        
    +
    #include <boost/regex.hpp>
     

    - The algorithm regex_format + The algorithm regex_format takes the results of a match and creates a new string based upon a format - string, regex_format can + string, regex_format can be used for search and replace operations:

    -
    -template <class OutputIterator, class iterator, class Allocator, class charT>
    +
    template <class OutputIterator, class iterator, class Allocator, class charT>
     OutputIterator regex_format(OutputIterator out,
                                const match_results<iterator, Allocator>& m,
                                const charT* fmt,
    @@ -62,7 +58,7 @@
                                match_flag_type flags = 0);
     

    - The library also defines the following convenience variation of regex_format, which returns the result + The library also defines the following convenience variation of regex_format, which returns the result directly as a string, rather than outputting to an iterator.

    @@ -70,13 +66,12 @@ -
    [Note] Note

    +

    This version may not be available, or may be available in a more limited form, depending upon your compilers capabilities

    -
    -template <class iterator, class Allocator, class charT>
    +
    template <class iterator, class Allocator, class charT>
     std::basic_string<charT> regex_format
                                      (const match_results<iterator, Allocator>& m, 
                                      const charT* fmt,
    @@ -112,7 +107,7 @@
     
     
                     

    - OutputIterator out + OutputIterator out

    @@ -125,12 +120,12 @@

    - const match_results<iterator, Allocator>& m + const match_results<iterator, Allocator>& m

    - An instance of match_results obtained + An instance of match_results obtained from one of the matching algorithms above, and denoting what matched.

    @@ -138,7 +133,7 @@

    - const charT* fmt + const charT* fmt

    @@ -151,7 +146,7 @@

    - unsigned flags + unsigned flags

    @@ -163,19 +158,20 @@

    - Format flags are described under match_flag_type. + Format flags are described under match_flag_type.

    The format string syntax (and available options) is described more fully - under format strings. + under format strings.

    - +

    +

    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 13d2a5bf..9a1884aa 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html @@ -1,16 +1,13 @@ - - regex_grep (Deprecated) +regex_grep (Deprecated) - + - - + + @@ -27,28 +24,26 @@

    - The algorithm regex_grep - is deprecated in favor of regex_iterator which provides + The algorithm regex_grep + is deprecated in favor of regex_iterator which provides a more convenient and standard library friendly interface.

    The following documentation is taken unchanged from the previous boost release, and will not be updated in future.

    -
    -#include <boost/regex.hpp>
    +
    #include <boost/regex.hpp>
     

    - regex_grep allows you to + regex_grep allows you to search through a bidirectional-iterator range and locate all the (non-overlapping) matches with a given regular expression. The function is declared as:

    -
    -template <class Predicate, class iterator, class charT, class traits>
    +
    template <class Predicate, class iterator, class charT, class traits>
     unsigned int regex_grep(Predicate foo,
                             iterator first,
                             iterator last,
    @@ -57,12 +52,11 @@
     

    The library also defines the following convenience versions, which take - either a const charT*, or a const - std::basic_string<>& + either a const charT*, or a const + std::basic_string<>& in place of a pair of iterators.

    -
    -template <class Predicate, class charT, class traits>
    +
    template <class Predicate, class charT, class traits>
     unsigned int regex_grep(Predicate foo, 
                 const charT* str, 
                 const basic_regex<charT, traits>& e, 
    @@ -75,7 +69,7 @@
                 boost::match_flag_type flags = match_default);
     

    - The parameters for the primary version of regex_grep + The parameters for the primary version of regex_grep have the following meanings:

    @@ -97,9 +91,9 @@

    The algorithm finds all of the non-overlapping matches of the expression - e, for each match it fills a match_results<iterator> structure, which contains information + e, for each match it fills a match_results<iterator> structure, which contains information on what matched, and calls the predicate foo, passing - the match_results<iterator> + the match_results<iterator> as a single argument. If the predicate returns true, then the grep operation continues, otherwise it terminates without searching for further matches. The function returns the number of matches found. @@ -107,8 +101,7 @@

    The general form of the predicate is:

    -
    -struct grep_predicate
    +
    struct grep_predicate
     {
        bool operator()(const match_results<iterator_type>& m);
     };
    @@ -123,12 +116,12 @@
               utilities would output the results to the screen, another program could
               index a file based on a regular expression and store a set of bookmarks
               in a list, or a text file conversion utility would output to file. The
    -          results of one regex_grep
    -          can even be chained into another regex_grep
    +          results of one regex_grep
    +          can even be chained into another regex_grep
               to create recursive parsers.
             

    - The algorithm may throw std::runtime_error + The algorithm may throw std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured @@ -136,10 +129,9 @@ (if Boost.Regex is configured in non-recursive mode).

    - Example: convert the example from regex_search to use regex_grep instead: + Example: convert the example from regex_search to use regex_grep instead:

    -
    -#include <string> 
    +
    #include <string> 
     #include <map> 
     #include <boost/regex.hpp> 
     
    @@ -198,11 +190,10 @@
     }
     

    - Example: Use regex_grep + Example: Use regex_grep to call a global callback function:

    -
    -#include <string> 
    +
    #include <string> 
     #include <map> 
     #include <boost/regex.hpp> 
     
    @@ -258,12 +249,11 @@
     }
     

    - Example: use regex_grep - to call a class member function, use the standard library adapters std::mem_fun and std::bind1st + Example: use regex_grep + to call a class member function, use the standard library adapters std::mem_fun and std::bind1st to convert the member function into a predicate:

    -
    -#include <string> 
    +
    #include <string> 
     #include <map> 
     #include <boost/regex.hpp> 
     #include <functional> 
    @@ -316,8 +306,7 @@
               Finally, C++ Builder users can use C++ Builder's closure type as a callback
               argument:
             

    -
    -#include <string> 
    +
    #include <string> 
     #include <map> 
     #include <boost/regex.hpp> 
     #include <functional> 
    @@ -373,10 +362,11 @@
     
     
    - +

    +

    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 ce02c4a1..b430a1bc 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html @@ -1,16 +1,13 @@ - - regex_split (deprecated) +regex_split (deprecated) - + - - + + @@ -27,31 +24,26 @@

    - The algorithm regex_split has been deprecated - in favor of the iterator regex_token_iterator which has + The algorithm regex_split has been deprecated + in favor of the iterator regex_token_iterator which has a more flexible and powerful interface, as well as following the more usual standard library "pull" rather than "push" semantics.

    - Code which uses regex_split will continue to compile, + Code which uses regex_split will continue to compile, the following documentation is taken from a previous Boost.Regex version:

    -
    -#include <boost/regex.hpp> 
    +
    #include <boost/regex.hpp> 
     

    - Algorithm regex_split performs a similar + Algorithm regex_split performs a similar operation to the perl split operation, and comes in three overloaded forms:

    -
    -template <class OutputIterator, class charT, class Traits1, class Alloc1, class Traits2>
    +
    template <class OutputIterator, class charT, class Traits1, class Alloc1, class Traits2>
     std::size_t regex_split(OutputIterator out, 
                             std::basic_string<charT, Traits1, Alloc1>& s, 
                             const basic_regex<charT, Traits2>& e,
    @@ -69,7 +61,7 @@
                             std::basic_string<charT, Traits1, Alloc1>& s);
     

    - Effects: Each version of the algorithm + Effects: Each version of the algorithm takes an output-iterator for output, and a string for input. If the expression contains no marked sub-expressions, then the algorithm writes one string onto the output-iterator for each section of input that does not match @@ -80,11 +72,11 @@ processed will be deleted from the string s (if max_split is not reached then all of s will be deleted). Returns the number of strings written to the output-iterator. If the parameter - max_split is not specified then it defaults to UINT_MAX. If no expression is specified, + max_split is not specified then it defaults to UINT_MAX. If no expression is specified, then it defaults to "\s+", and splitting occurs on whitespace.

    - Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), @@ -92,12 +84,11 @@ is configured in non-recursive mode).

    - Example: the following function will split + Example: the following function will split the input string into a series of tokens, and remove each token from the string s:

    -
    -unsigned tokenise(std::list<std::string>& l, std::string& s)
    +
    unsigned tokenise(std::list<std::string>& l, std::string& s)
     {
        return boost::regex_split(std::back_inserter(l), s);
     }
    @@ -106,8 +97,7 @@
               Example: the following short program will extract all of the URL's from
               a html file, and print them out to cout:
             

    -
    -#include <list>
    +
    #include <list>
     #include <fstream>
     #include <iostream>
     #include <boost/regex.hpp>
    @@ -159,10 +149,11 @@
     
     
    - +

    +

    diff --git a/doc/html/boost_regex/ref/error_type.html b/doc/html/boost_regex/ref/error_type.html index b362c115..81df8453 100644 --- a/doc/html/boost_regex/ref/error_type.html +++ b/doc/html/boost_regex/ref/error_type.html @@ -1,13 +1,13 @@ - error_type +error_type - + - - - + + + @@ -24,17 +24,17 @@ +
    + Synopsis -
    +

    Type error type represents the different types of errors that can be raised by the library when parsing a regular expression.

    -
    -namespace boost{ namespace regex_constants{
    +
    namespace boost{ namespace regex_constants{
     
     typedef implementation-specific-type error_type;
     
    @@ -56,12 +56,12 @@
     } // namespace regex_constants
     } // namespace boost
     
    -

    - +

    + Description -
    +

    - The type error_type is an + The type error_type is an implementation-specific enumeration type that may take one of the following values:

    @@ -257,10 +257,11 @@
    - +

    +

    diff --git a/doc/html/boost_regex/ref/match_flag_type.html b/doc/html/boost_regex/ref/match_flag_type.html index bf5a7e95..91b55c46 100644 --- a/doc/html/boost_regex/ref/match_flag_type.html +++ b/doc/html/boost_regex/ref/match_flag_type.html @@ -1,14 +1,13 @@ - match_flag_type +match_flag_type - + - - - + + + @@ -25,15 +24,15 @@

    - The type match_flag_type + The type match_flag_type is an implementation specific bitmask type (see C++ std 17.3.2.1.2) that controls how a regular expression is matched against a character sequence. - The behavior of the format flags is described in more detail in the format syntax guide. + The behavior of the format flags is described in more detail in the format syntax guide.

    -
    -namespace boost{ namespace regex_constants{
    +
    namespace boost{ namespace regex_constants{
     
     typedef implemenation-specific-bitmask-type match_flag_type;
     
    @@ -69,12 +68,12 @@
     } // namespace regex_constants
     } // namespace boost
     
    -

    - +

    + Description -
    +

    - The type match_flag_type + The type match_flag_type is an implementation specific bitmask type (see C++ std 17.3.2.1.2). When matching a regular expression against a sequence of characters [first, last) then setting its elements has the effects listed in the table below: @@ -328,8 +327,7 @@

    @@ -415,7 +413,7 @@ @@ -443,8 +441,7 @@ @@ -481,10 +478,11 @@

    Specifies that the expression should be matched according to the - POSIX leftmost-longest + POSIX leftmost-longest rule, regardless of what kind of expression was compiled. Be warned that these rules do not work well with many Perl-specific features such as non-greedy repeats. @@ -360,7 +358,7 @@

    Makes the expression behave as if it had no marked subexpressions, - no matter how many capturing groups are actually present. The match_results + no matter how many capturing groups are actually present. The match_results class will only contain information about the overall match, and not any sub-expressions.

    @@ -380,7 +378,7 @@ Specification, Chapter 15 part 5.4.11 String.prototype.replace. (FWD.1).

    - This is functionally identical to the Perl + This is functionally identical to the Perl format string rules.

    @@ -402,7 +400,7 @@ Specifies that when a regular expression match is to be replaced by a new string, that the new string is constructed using the rules used by the Unix sed utility in IEEE Std 1003.1-2001, Portable Operating - SystemInterface (POSIX ), Shells and Utilities. See also the Sed Format string reference. + SystemInterface (POSIX ), Shells and Utilities. See also the Sed Format string reference.

    Specifies that when a regular expression match is to be replaced - by a new string, that the new string is constructed using the + by a new string, that the new string is constructed using the same rules as Perl 5.

    Specifies that all syntax extensions are enabled, including conditional - (?ddexpression1:expression2) replacements: see the format + (?ddexpression1:expression2) replacements: see the format string guide for more details.

    - +

    +

    diff --git a/doc/html/boost_regex/ref/match_results.html b/doc/html/boost_regex/ref/match_results.html index 2e6fca10..db38d7a4 100644 --- a/doc/html/boost_regex/ref/match_results.html +++ b/doc/html/boost_regex/ref/match_results.html @@ -1,13 +1,13 @@ - match_results +match_results - + - - - + + + @@ -24,45 +24,44 @@ +
    + Synopsis -
    -
    -#include <boost/regex.hpp>
    +      
    +
    #include <boost/regex.hpp>
     

    Regular expressions are different from many simple pattern-matching algorithms in that as well as finding an overall match they can also produce sub-expression matches: each sub-expression being delimited in the pattern by a pair of parenthesis (...). There has to be some method for reporting sub-expression - matches back to the user: this is achieved this by defining a class match_results that acts as an indexed collection + matches back to the user: this is achieved this by defining a class match_results that acts as an indexed collection of sub-expression matches, each sub-expression match being contained in an - object of type sub_match. + object of type sub_match.

    - Template class match_results + Template class match_results denotes a collection of character sequences representing the result of a - regular expression match. Objects of type match_results - are passed to the algorithms regex_match and regex_search, and are returned by - the iterator regex_iterator. Storage for the + regular expression match. Objects of type match_results + are passed to the algorithms regex_match and regex_search, and are returned by + the iterator regex_iterator. Storage for the collection is allocated and freed as necessary by the member functions of - class match_results. + class match_results.

    - The template class match_results + The template class match_results conforms to the requirements of a Sequence, as specified in (lib.sequence.reqmts), except that only operations defined for const-qualified Sequences are supported.

    - Class template match_results - is most commonly used as one of the typedefs cmatch, - wcmatch, smatch, - or wsmatch: + Class template match_results + is most commonly used as one of the typedefs cmatch, + wcmatch, smatch, + or wsmatch:

    -
    -template <class BidirectionalIterator,
    +
    template <class BidirectionalIterator,
              class Allocator = std::allocator<sub_match<BidirectionalIterator> >
     class match_results;
     
    @@ -142,23 +141,22 @@
     void swap(match_results<BidirectionalIterator, Allocator>& m1,
              match_results<BidirectionalIterator, Allocator>& m2);
     
    -

    - +

    + Description -
    +

    - In all match_results constructors, + In all match_results constructors, a copy of the Allocator argument is used for any memory allocation performed by the constructor or member functions during the lifetime of the object.

    -
    -match_results(const Allocator& a = Allocator());
    +
    match_results(const Allocator& a = Allocator());
     

    - Effects: Constructs an object of class - match_results. The postconditions + Effects: Constructs an object of class + match_results. The postconditions of this function are indicated in the table:

    @@ -219,20 +217,18 @@

    -
    -match_results(const match_results& m);
    +
    match_results(const match_results& m);
     

    - Effects: Constructs an object of class match_results, + Effects: Constructs an object of class match_results, as a copy of m.

    -
    -match_results& operator=(const match_results& m);
    +
    match_results& operator=(const match_results& m);
     

    - Effects: Assigns m to *this. The postconditions + Effects: Assigns m to *this. The postconditions of this function are indicated in the table:

    @@ -353,218 +349,201 @@

    -
    -size_type size()const;
    +
    size_type size()const;
     

    - Effects: Returns the number of sub_match elements stored in *this; + Effects: Returns the number of sub_match elements stored in *this; that is the number of marked sub-expressions in the regular expression that was matched plus one.

    -
    -size_type max_size()const;
    +
    size_type max_size()const;
     

    - Effects: Returns the maximum number of - sub_match + Effects: Returns the maximum number of + sub_match elements that can be stored in *this.

    -
    -bool empty()const;
    +
    bool empty()const;
     

    - Effects: Returns size() == 0. + Effects: Returns size() == 0.

    -
    -difference_type length(int sub = 0)const;
    +
    difference_type length(int sub = 0)const;
     

    - Effects: Returns the length of sub-expression - sub, that is to say: (*this)[sub].length(). + Effects: Returns the length of sub-expression + sub, that is to say: (*this)[sub].length().

    -
    -difference_type position(unsigned int sub = 0)const;
    +
    difference_type position(unsigned int sub = 0)const;
     

    - Effects: Returns the starting location of + Effects: Returns the starting location of sub-expression sub, or -1 if sub - was not matched. Note that if this represents a partial match , then position() - will return the location of the partial match even though (*this)[0].matched + was not matched. Note that if this represents a partial match , then position() + will return the location of the partial match even though (*this)[0].matched is false.

    -
    -string_type str(int sub = 0)const;
    +
    string_type str(int sub = 0)const;
     

    - Effects: Returns sub-expression sub - as a string: string_type((*this)[sub]). + Effects: Returns sub-expression sub + as a string: string_type((*this)[sub]).

    -
    -const_reference operator[](int n) const;
    +
    const_reference operator[](int n) const;
     

    - Effects: Returns a reference to the sub_match + Effects: Returns a reference to the sub_match object representing the character sequence that matched marked sub-expression - n. If n == 0 then returns - a reference to a sub_match object representing the + n. If n == 0 then returns + a reference to a sub_match object representing the character sequence that matched the whole regular expression. If n is out of range, or if n is an unmatched sub-expression, - then returns a sub_match + then returns a sub_match object whose matched member is false.

    -
    -const_reference prefix()const;
    +
    const_reference prefix()const;
     

    - Effects: Returns a reference to the sub_match + Effects: Returns a reference to the sub_match object representing the character sequence from the start of the string being matched or searched, to the start of the match found.

    -
    -const_reference suffix()const;
    +
    const_reference suffix()const;
     

    - Effects: Returns a reference to the sub_match + Effects: Returns a reference to the sub_match object representing the character sequence from the end of the match found to the end of the string being matched or searched.

    -
    -const_iterator begin()const;
    +
    const_iterator begin()const;
     

    - Effects: Returns a starting iterator that + Effects: Returns a starting iterator that enumerates over all the marked sub-expression matches stored in *this.

    -
    -const_iterator end()const;
    +
    const_iterator end()const;
     

    - Effects: Returns a terminating iterator + Effects: Returns a terminating iterator that enumerates over all the marked sub-expression matches stored in *this.

    -
    -template <class OutputIterator>
    +
    template <class OutputIterator>
     OutputIterator format(OutputIterator out,
                          const string_type& fmt,
                          match_flag_type flags = format_default);
     

    - Requires: The type OutputIterator + Requires: The type OutputIterator conforms to the Output Iterator requirements (C++ std 24.1.2).

    - Effects: Copies the character sequence - [fmt.begin(), fmt.end()) - to OutputIterator out. + Effects: Copies the character sequence + [fmt.begin(), fmt.end()) + to OutputIterator out. For each format specifier or escape sequence in fmt, replace that sequence with either the character(s) it represents, or the - sequence of characters within *this to which it refers. The bitmasks specified + sequence of characters within *this to which it refers. The bitmasks specified in flags determines what format specifiers or escape sequences are recognized, by default this is the format used by ECMA-262, ECMAScript Language Specification, Chapter 15 part 5.4.11 String.prototype.replace.

    - See the format syntax guide for more information. + See the format syntax guide for more information.

    - Returns: out. + Returns: out.

    -
    -string_type format(const string_type& fmt,
    +
    string_type format(const string_type& fmt,
                       match_flag_type flags = format_default);
     

    - Effects: Returns a copy of the string fmt. + Effects: Returns a copy of the string fmt. For each format specifier or escape sequence in fmt, replace that sequence with either the character(s) it represents, or the - sequence of characters within *this to which it refers. The bitmasks specified + sequence of characters within *this to which it refers. The bitmasks specified in flags determines what format specifiers or escape sequences are recognized, by default this is the format used by ECMA-262, ECMAScript Language Specification, Chapter 15 part 5.4.11 String.prototype.replace.

    - See the format syntax guide for more information. + See the format syntax guide for more information.

    -
    -allocator_type get_allocator()const;
    +
    allocator_type get_allocator()const;
     

    - Effects: Returns a copy of the Allocator + Effects: Returns a copy of the Allocator that was passed to the object's constructor.

    -
    -void swap(match_results& that);
    +
    void swap(match_results& that);
     

    - Effects: Swaps the contents of the two sequences. + Effects: Swaps the contents of the two sequences.

    - Postcondition: *this contains the sequence + Postcondition: *this contains the sequence of matched sub-expressions that were in that, that contains the sequence of matched sub-expressions that were in *this.

    - Complexity: constant time. + Complexity: constant time.

    -
    -typedef typename value_type::capture_sequence_type capture_sequence_type;
    +
    typedef typename value_type::capture_sequence_type capture_sequence_type;
     

    Defines an implementation-specific type that satisfies the requirements of a standard library Sequence (21.1.1 including the optional Table 68 operations), - whose value_type is a sub_match<BidirectionalIterator>. This type happens to be std::vector<sub_match<BidirectionalIterator> >, + whose value_type is a sub_match<BidirectionalIterator>. This type happens to be std::vector<sub_match<BidirectionalIterator> >, but you shouldn't actually rely on that.

    -
    -const capture_sequence_type& captures(std::size_t i)const; 
    +
    const capture_sequence_type& captures(std::size_t i)const; 
     

    - Effects: returns a sequence containing all + Effects: returns a sequence containing all the captures obtained for sub-expression i.

    - Returns: (*this)[i].captures(); + Returns: (*this)[i].captures();

    - Preconditions: the library must be built + Preconditions: the library must be built and used with BOOST_REGEX_MATCH_EXTRA defined, and you must pass the flag - match_extra to the regex matching functions ( regex_match, regex_search, regex_iterator or regex_token_iterator) in order for + match_extra to the regex matching functions ( regex_match, regex_search, regex_iterator or regex_token_iterator) in order for this member function to be defined and return useful information.

    - Rationale: Enabling this feature has several + Rationale: Enabling this feature has several consequences:

      @@ -584,57 +563,54 @@

    -
    -template <class BidirectionalIterator, class Allocator>
    +
    template <class BidirectionalIterator, class Allocator>
     bool operator == (const match_results<BidirectionalIterator, Allocator>& m1,
                       const match_results<BidirectionalIterator, Allocator>& m2);
     

    - Effects: Compares the two sequences for + Effects: Compares the two sequences for equality.

    -
    -template <class BidirectionalIterator, class Allocator>
    +
    template <class BidirectionalIterator, class Allocator>
     bool operator != (const match_results<BidirectionalIterator, Allocator>& m1,
                       const match_results<BidirectionalIterator, Allocator>& m2);
     

    - Effects: Compares the two sequences for + Effects: Compares the two sequences for inequality.

    -
    -template <class charT, class traits, class BidirectionalIterator, class Allocator>
    +
    template <class charT, class traits, class BidirectionalIterator, class Allocator>
     basic_ostream<charT, traits>&
        operator << (basic_ostream<charT, traits>& os,
                    const match_results<BidirectionalIterator, Allocator>& m);
     

    - Effects: Writes the contents of m - to the stream os as if by calling os - << m.str(); + Effects: Writes the contents of m + to the stream os as if by calling os + << m.str(); Returns os.

    -
    -template <class BidirectionalIterator, class Allocator>
    +
    template <class BidirectionalIterator, class Allocator>
     void swap(match_results<BidirectionalIterator, Allocator>& m1,
              match_results<BidirectionalIterator, Allocator>& m2);
     

    - Effects: Swaps the contents of the two sequences. + Effects: Swaps the contents of the two sequences.

    - +

    +

    diff --git a/doc/html/boost_regex/ref/non_std_strings.html b/doc/html/boost_regex/ref/non_std_strings.html index 5d2f434d..f47ef100 100644 --- a/doc/html/boost_regex/ref/non_std_strings.html +++ b/doc/html/boost_regex/ref/non_std_strings.html @@ -1,15 +1,13 @@ - Interfacing With Non-Standard - String Types +Interfacing With Non-Standard String Types - + - - - + + + @@ -26,9 +24,9 @@
    Working With Unicode and ICU String Types
    @@ -72,15 +70,14 @@ been provided for them already: currently this includes the ICU and MFC string class 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 83799cc1..3e20a8d6 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu.html @@ -1,17 +1,13 @@ - Working With - Unicode and ICU String Types +Working With Unicode and ICU String Types - + - - - + + + @@ -28,9 +24,9 @@
    - +

    +

    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 87fe0850..8282b43d 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 @@ -1,17 +1,13 @@ - Introduction - to using Regex with ICU +Introduction to using Regex with ICU - + - - - + + + @@ -28,14 +24,13 @@

    The header:

    -
    -<boost/regex/icu.hpp>
    +
    <boost/regex/icu.hpp>
     

    contains the data types and algorithms necessary for working with regular @@ -67,10 +62,11 @@

    - +

    +

    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 5d4ae06e..2b9bf51c 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 @@ -1,17 +1,13 @@ - - Unicode Regular Expression Algorithms +Unicode Regular Expression Algorithms - + - - - + + + @@ -28,41 +24,40 @@

    - The regular expression algorithms regex_match, regex_search and regex_replace all expect that + The regular expression algorithms regex_match, regex_search and regex_replace all expect that the character sequence upon which they operate, is encoded in the same character encoding as the regular expression object with which they are used. For Unicode regular expressions that behavior is undesirable: while we may want to process the data in UTF-32 "chunks", the actual data is much more likely to encoded as either UTF-8 or UTF-16. Therefore the header <boost/regex/icu.hpp> provides a series of thin wrappers - around these algorithms, called u32regex_match, - u32regex_search, and - u32regex_replace. These + around these algorithms, called u32regex_match, + u32regex_search, and + u32regex_replace. These wrappers use iterator-adapters internally to make external UTF-8 or UTF-16 data look as though it's really a UTF-32 sequence, that can then be passed on to the "real" algorithm.

    -

    - +

    + u32regex_match -
    +

    - For each regex_match - algorithm defined by <boost/regex.hpp>, - then <boost/regex/icu.hpp> defines an overloaded algorithm that - takes the same arguments, but which is called u32regex_match, + For each regex_match + algorithm defined by <boost/regex.hpp>, + then <boost/regex/icu.hpp> defines an overloaded algorithm that + takes the same arguments, but which is called u32regex_match, and which will accept UTF-8, UTF-16 or UTF-32 encoded data, as well as an ICU UnicodeString as input.

    Example: match a password, encoded in a UTF-16 UnicodeString:

    -
    -//
    +
    //
     // Find out if *password* meets our password requirements,
     // as defined by the regular expression *requirements*.
     //
    @@ -74,8 +69,7 @@
     

    Example: match a UTF-8 encoded filename:

    -
    -//
    +
    //
     // Extract filename part of a path from a UTF-8 encoded std::string and return the result
     // as another std::string:
     //
    @@ -94,23 +88,22 @@
        }
     }
     
    -

    - +

    + u32regex_search -
    +

    - For each regex_search - algorithm defined by <boost/regex.hpp>, - then <boost/regex/icu.hpp> defines an overloaded algorithm that - takes the same arguments, but which is called u32regex_search, + For each regex_search + algorithm defined by <boost/regex.hpp>, + then <boost/regex/icu.hpp> defines an overloaded algorithm that + takes the same arguments, but which is called u32regex_search, and which will accept UTF-8, UTF-16 or UTF-32 encoded data, as well as an ICU UnicodeString as input.

    Example: search for a character sequence in a specific language block:

    -
    -UnicodeString extract_greek(const UnicodeString& text)
    +
    UnicodeString extract_greek(const UnicodeString& text)
     {
        // searches through some UTF-16 encoded text for a block encoded in Greek,
        // this expression is imperfect, but the best we can do for now - searching
    @@ -134,15 +127,15 @@
        }
     }
     
    -

    - +

    + u32regex_replace -
    +

    - For each regex_replace algorithm defined - by <boost/regex.hpp>, then <boost/regex/icu.hpp> + For each regex_replace algorithm defined + by <boost/regex.hpp>, then <boost/regex/icu.hpp> defines an overloaded algorithm that takes the same arguments, but which - is called u32regex_replace, + is called u32regex_replace, and which will accept UTF-8, UTF-16 or UTF-32 encoded data, as well as an ICU UnicodeString as input. The input sequence and the format string specifier passed to the algorithm, can be encoded independently (for @@ -153,8 +146,7 @@

    Example: Credit card number reformatting:

    -
    -//
    +
    //
     // Take a credit card number as a string of digits, 
     // and reformat it as a human readable string with "-"
     // separating each group of four digit;, 
    @@ -174,10 +166,11 @@
     
     
    - +

    +

    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 f3c9352c..45fea130 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 @@ -1,17 +1,13 @@ - - Unicode Aware Regex Iterators +Unicode Aware Regex Iterators - + - - - + + + @@ -28,23 +24,22 @@ +
    + u32regex_iterator -
    +

    - Type u32regex_iterator - is in all respects the same as regex_iterator except that since - the regular expression type is always u32regex + Type u32regex_iterator + is in all respects the same as regex_iterator except that since + the regular expression type is always u32regex it only takes one template parameter (the iterator type). It also calls - u32regex_search internally, + u32regex_search internally, allowing it to interface correctly with UTF-8, UTF-16, and UTF-32 data:

    -
    -template <class BidirectionalIterator>
    +
    template <class BidirectionalIterator>
     class u32regex_iterator
     {
        // for members see regex_iterator
    @@ -55,12 +50,11 @@
     typedef u32regex_iterator<const UChar32*>  utf32regex_iterator;
     

    - In order to simplify the construction of a u32regex_iterator + In order to simplify the construction of a u32regex_iterator from a string, there are a series of non-member helper functions called make_u32regex_iterator:

    -
    -u32regex_iterator<const char*> 
    +
    u32regex_iterator<const char*> 
        make_u32regex_iterator(const char* s, 
                               const u32regex& e, 
                               regex_constants::match_flag_type m = regex_constants::match_default);
    @@ -95,8 +89,7 @@
                 Example: search for international currency symbols, along with their
                 associated numeric value:
               

    -
    -void enumerate_currencies(const std::string& text)
    +
    void enumerate_currencies(const std::string& text)
     {
        // enumerate and print all the currency symbols, along
        // with any associated numeric values:
    @@ -132,20 +125,19 @@
     

    Provided of course that the input is encoded as UTF-8.

    -

    - +

    + u32regex_token_iterator -
    +

    - Type u32regex_token_iterator - is in all respects the same as regex_token_iterator except - that since the regular expression type is always u32regex + Type u32regex_token_iterator + is in all respects the same as regex_token_iterator except + that since the regular expression type is always u32regex it only takes one template parameter (the iterator type). It also calls - u32regex_search internally, + u32regex_search internally, allowing it to interface correctly with UTF-8, UTF-16, and UTF-32 data:

    -
    -template <class BidirectionalIterator>
    +
    template <class BidirectionalIterator>
     class u32regex_token_iterator
     {
        // for members see regex_token_iterator
    @@ -156,12 +148,11 @@
     typedef u32regex_token_iterator<const UChar32*>  utf32regex_token_iterator;
     

    - In order to simplify the construction of a u32regex_token_iterator + In order to simplify the construction of a u32regex_token_iterator from a string, there are a series of non-member helper functions called - make_u32regex_token_iterator: + make_u32regex_token_iterator:

    -
    -u32regex_token_iterator<const char*> 
    +
    u32regex_token_iterator<const char*> 
        make_u32regex_token_iterator(
              const char* s, 
              const u32regex& e, 
    @@ -202,8 +193,7 @@
                 of marked sub-expression sub in regular expression e,
                 found in text s, using match_flags m.
               

    -
    -template <std::size_t N>
    +
    template <std::size_t N>
     u32regex_token_iterator<const char*> 
        make_u32regex_token_iterator(
              const char* p, 
    @@ -248,8 +238,7 @@
                 for each submatch in regular expression e, found
                 in text s, using match_flags m.
               

    -
    -u32regex_token_iterator<const char*> 
    +
    u32regex_token_iterator<const char*> 
        make_u32regex_token_iterator(
              const char* p, 
              const u32regex& e, 
    @@ -294,8 +283,7 @@
                 Example: search for international currency symbols, along with their
                 associated numeric value:
               

    -
    -void enumerate_currencies2(const std::string& text)
    +
    void enumerate_currencies2(const std::string& text)
     {
        // enumerate and print all the currency symbols, along
        // with any associated numeric values:
    @@ -321,10 +309,11 @@
     
     
    - +

    +

    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 6f42cbf9..39677b16 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 @@ -1,17 +1,13 @@ - - Unicode regular expression types +Unicode regular expression types - + - - - + + + @@ -28,113 +24,105 @@

    - Header <boost/regex/icu.hpp> provides a regular expression traits + Header <boost/regex/icu.hpp> provides a regular expression traits class that handles UTF-32 characters:

    -
    -class icu_regex_traits;
    +
    class icu_regex_traits;
     

    and a regular expression type based upon that:

    -
    -typedef basic_regex<UChar32,icu_regex_traits> u32regex;
    +
    typedef basic_regex<UChar32,icu_regex_traits> u32regex;
     

    - The type u32regex is + The type u32regex is regular expression type to use for all Unicode regular expressions; internally it uses UTF-32 code points, but can be created from, and used to search, either UTF-8, or UTF-16 encoded strings as well as UTF-32 ones.

    - The constructors, and assign member functions of u32regex, + The constructors, and assign member functions of u32regex, require UTF-32 encoded strings, but there are a series of overloaded - algorithms called make_u32regex + algorithms called make_u32regex which allow regular expressions to be created from UTF-8, UTF-16, or UTF-32 encoded strings:

    -
    -template <class InputIterator> 
    +
    template <class InputIterator> 
     u32regex make_u32regex(InputIterator i, 
                            InputIterator j, 
                            boost::regex_constants::syntax_option_type opt);
     

    - Effects: Creates a regular expression + Effects: Creates a regular expression object from the iterator sequence [i,j). The character encoding of the sequence is determined based upon sizeof(*i): 1 implies UTF-8, 2 implies UTF-16, and 4 implies UTF-32.

    -
    -u32regex make_u32regex(const char* p, 
    +
    u32regex make_u32regex(const char* p, 
                            boost::regex_constants::syntax_option_type opt 
                                = boost::regex_constants::perl);
     

    - Effects: Creates a regular expression + Effects: Creates a regular expression object from the Null-terminated UTF-8 characater sequence p.

    -
    -u32regex make_u32regex(const unsigned char* p, 
    +
    u32regex make_u32regex(const unsigned char* p, 
                            boost::regex_constants::syntax_option_type opt 
                                = boost::regex_constants::perl);
     

    - Effects: Creates a regular expression + Effects: Creates a regular expression object from the Null-terminated UTF-8 characater sequence p.

    -
    -u32regex make_u32regex(const wchar_t* p, 
    +
    u32regex make_u32regex(const wchar_t* p, 
                            boost::regex_constants::syntax_option_type opt 
                                = boost::regex_constants::perl);
     

    - Effects: Creates a regular expression + Effects: Creates a regular expression object from the Null-terminated characater sequence p. The character encoding of the sequence is determined based upon sizeof(wchar_t): 1 implies UTF-8, 2 implies UTF-16, and 4 implies UTF-32.

    -
    -u32regex make_u32regex(const UChar* p, 
    +
    u32regex make_u32regex(const UChar* p, 
                            boost::regex_constants::syntax_option_type opt 
                                = boost::regex_constants::perl);
     

    - Effects: Creates a regular expression + Effects: Creates a regular expression object from the Null-terminated UTF-16 characater sequence p.

    -
    -template<class C, class T, class A>
    +
    template<class C, class T, class A>
     u32regex make_u32regex(const std::basic_string<C, T, A>& s, 
                            boost::regex_constants::syntax_option_type opt 
                                = boost::regex_constants::perl);
     

    - Effects: Creates a regular expression + Effects: Creates a regular expression object from the string s. The character encoding of the string is determined based upon sizeof(C): 1 implies UTF-8, 2 implies UTF-16, and 4 implies UTF-32.

    -
    -u32regex make_u32regex(const UnicodeString& s, 
    +
    u32regex make_u32regex(const UnicodeString& s, 
                            boost::regex_constants::syntax_option_type opt 
                                = boost::regex_constants::perl);
     

    - Effects: Creates a regular expression + Effects: Creates a regular expression object from the UTF-16 encoding string s.

    - +

    +

    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 f17f4620..7634d2a3 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 @@ -1,17 +1,13 @@ - Using - Boost Regex With MFC Strings +Using Boost Regex With MFC Strings - + - - - + + + @@ -28,9 +24,9 @@
    - +

    +

    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 0d05bf1c..3a03bd2e 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 @@ -1,17 +1,13 @@ - - Overloaded Algorithms For MFC String Types +Overloaded Algorithms For MFC String Types - + - - - + + + @@ -28,31 +24,30 @@

    - For each regular expression algorithm that's overloaded for a std::basic_string argument, there is also + For each regular expression algorithm that's overloaded for a std::basic_string argument, there is also one overloaded for the MFC/ATL string types. These algorithm signatures all look a lot more complex than they actually are, but for completeness here they are anyway:

    -

    - +

    + regex_match -
    +

    There are two overloads, the first reports what matched in a match_results structure, the second does not.

    - All the usual caveats for regex_match apply, in particular + All the usual caveats for regex_match apply, in particular the algorithm will only report a successful match if all of the input - text matches the expression, if this isn't what you want then use regex_search + text matches the expression, if this isn't what you want then use regex_search instead.

    -
    -template <class charT, class T, class A>
    +
    template <class charT, class T, class A>
     bool regex_match(
        const ATL::CSimpleStringT<charT>& s, 
        match_results<const B*, A>& what, 
    @@ -60,15 +55,14 @@
        boost::regex_constants::match_flag_type f = boost::regex_constants::match_default); 
     

    - Effects: returns ::boost::regex_match(s.GetString(), + Effects: returns ::boost::regex_match(s.GetString(), s.GetString() - + s.GetLength(), what, e, f); + + s.GetLength(), what, e, f);

    - Example: + Example:

    -
    -//
    +
    //
     // Extract filename part of a path from a CString and return the result
     // as another CString:
     //
    @@ -87,28 +81,26 @@
        }
     }
     
    -

    - +

    + regex_match (second overload) -
    -
    -template <class charT, class T>
    +          
    +
    template <class charT, class T>
     bool regex_match(
        const ATL::CSimpleStringT<charT>& s,
        const basic_regex<B, T>& e,
        boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)
     

    - Effects: returns ::boost::regex_match(s.GetString(), + Effects: returns ::boost::regex_match(s.GetString(), s.GetString() - + s.GetLength(), e, f); + + s.GetLength(), e, f);

    - Example: + Example:

    -
    -//
    +
    //
     // Find out if *password* meets our password requirements,
     // as defined by the regular expression *requirements*.
     //
    @@ -117,31 +109,29 @@
        return boost::regex_match(password, boost::make_regex(requirements));
     }      
     
    -

    - +

    + regex_search -
    +

    - There are two additional overloads for regex_search, the first reports + There are two additional overloads for regex_search, the first reports what matched the second does not:

    -
    -template <class charT, class A, class T>
    +
    template <class charT, class A, class T>
     bool regex_search(const ATL::CSimpleStringT<charT>& s,
                       match_results<const charT*, A>& what,
                       const basic_regex<charT, T>& e,
                       boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)
     

    - Effects: returns ::boost::regex_search(s.GetString(), + Effects: returns ::boost::regex_search(s.GetString(), s.GetString() + s.GetLength(), what, e, f);

    - Example: Postcode extraction from an + Example: Postcode extraction from an address string.

    -
    -CString extract_postcode(const CString& address)
    +
    CString extract_postcode(const CString& address)
     {
        // searches throw address for a UK postcode and returns the result,
        // the expression used is by Phil A. on www.regxlib.com:
    @@ -158,32 +148,30 @@
        }
     }      
     
    -

    - +

    + regex_search (second overload) -
    -
    -template <class charT, class T>
    +          
    +
    template <class charT, class T>
     inline bool regex_search(const ATL::CSimpleStringT<charT>& s,
                    const basic_regex<charT, T>& e,
                    boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)
     

    - Effects: returns ::boost::regex_search(s.GetString(), + Effects: returns ::boost::regex_search(s.GetString(), s.GetString() - + s.GetLength(), e, f); + + s.GetLength(), e, f);

    -

    - +

    + regex_replace -
    +

    - There are two additional overloads for regex_replace, the first sends + There are two additional overloads for regex_replace, the first sends output to an output iterator, while the second creates a new string

    -
    -template <class OutputIterator, class BidirectionalIterator, class traits, class
    +
    template <class OutputIterator, class BidirectionalIterator, class traits, class
              charT>
     OutputIterator regex_replace(OutputIterator out,
                                BidirectionalIterator first,
    @@ -193,26 +181,24 @@
                                match_flag_type flags = match_default)
     

    - Effects: returns ::boost::regex_replace(out, first, last, e, fmt.GetString(), - flags); + Effects: returns ::boost::regex_replace(out, first, last, e, fmt.GetString(), + flags);

    -
    -template <class traits, charT>
    +
    template <class traits, charT>
     ATL::CSimpleStringT<charT> regex_replace(const ATL::CSimpleStringT<charT>& s,
                                const basic_regex<charT, traits>& e,
                                const ATL::CSimpleStringT<charT>& fmt,
                                match_flag_type flags = match_default)
     

    - Effects: returns a new string created - using regex_replace, + Effects: returns a new string created + using regex_replace, and the same memory manager as string s.

    - Example: + Example:

    -
    -//
    +
    //
     // Take a credit card number as a string of digits, 
     // and reformat it as a human readable string with "-"
     // separating each group of four digits:
    @@ -228,10 +214,11 @@
     
     
    - +

    +

    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 017ca050..a63c09a3 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 @@ -1,17 +1,13 @@ - - Introduction to Boost.Regex and MFC Strings +Introduction to Boost.Regex and MFC Strings - + - - - + + + @@ -28,11 +24,11 @@

    - The header <boost/regex/mfc.hpp> provides Boost.Regex support for + The header <boost/regex/mfc.hpp> provides Boost.Regex support for MFC string types: note that this support requires Visual Studio .NET (Visual C++ 7) or later, where all of the MFC and ATL string types are based around the CSimpleStringT class template. @@ -42,8 +38,7 @@ then you can substitute any of the following MFC/ATL types (all of which inherit from CSimpleStringT):

    -
    -CString
    +
    CString
     CStringA
     CStringW
     CAtlString
    @@ -56,10 +51,11 @@
     
     
    - +

    +

    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 beabcfcf..b6d5da8a 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 @@ -1,16 +1,13 @@ - - Iterating Over the Matches Within An MFC String +Iterating Over the Matches Within An MFC String - + - - - + + + @@ -27,20 +24,19 @@

    The following helper functions are provided to ease the conversion from - an MFC/ATL string to a regex_iterator or regex_token_iterator: + an MFC/ATL string to a regex_iterator or regex_token_iterator:

    -

    - +

    + regex_iterator creation helper -
    -
    -template <class charT>
    +          
    +
    template <class charT>
     regex_iterator<charT const*> 
        make_regex_iterator(
           const ATL::CSimpleStringT<charT>& s, 
    @@ -48,15 +44,14 @@
           ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default);
     

    - Effects: returns regex_iterator(s.GetString(), s.GetString() + s.GetLength(), + Effects: returns regex_iterator(s.GetString(), s.GetString() + s.GetLength(), e, - f); + f);

    - Example: + Example:

    -
    -void enumerate_links(const CString& html)
    +
    void enumerate_links(const CString& html)
     {
        // enumerate and print all the  links in some HTML text,
        // the expression used is by Andew Lee on www.regxlib.com:
    @@ -72,13 +67,12 @@
        }
     }
     
    -

    - +

    + regex_token_iterator creation helpers -
    -
    -template <class charT> 
    +          
    +
    template <class charT> 
     regex_token_iterator<charT const*> 
        make_regex_token_iterator(
           const ATL::CSimpleStringT<charT>& s, 
    @@ -87,13 +81,12 @@
           ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default);
     

    - Effects: returns regex_token_iterator(s.GetString(), s.GetString() + s.GetLength(), + Effects: returns regex_token_iterator(s.GetString(), s.GetString() + s.GetLength(), e, sub, - f); + f);

    -
    -template <class charT> 
    +
    template <class charT> 
     regex_token_iterator<charT const*> 
        make_regex_token_iterator(
           const ATL::CSimpleStringT<charT>& s, 
    @@ -102,13 +95,12 @@
           ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default);
     

    - Effects: returns regex_token_iterator(s.GetString(), s.GetString() + s.GetLength(), + Effects: returns regex_token_iterator(s.GetString(), s.GetString() + s.GetLength(), e, subs, - f); + f);

    -
    -template <class charT, std::size_t N> 
    +
    template <class charT, std::size_t N> 
     regex_token_iterator<charT const*> 
        make_regex_token_iterator(
           const ATL::CSimpleStringT<charT>& s, 
    @@ -117,16 +109,15 @@
           ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default);
     

    - Effects: returns regex_token_iterator(s.GetString(), s.GetString() + s.GetLength(), + Effects: returns regex_token_iterator(s.GetString(), s.GetString() + s.GetLength(), e, subs, - f); + f);

    - Example: + Example:

    -
    -void enumerate_links2(const CString& html)
    +
    void enumerate_links2(const CString& html)
     {
        // enumerate and print all the  links in some HTML text,
        // the expression used is by Andew Lee on www.regxlib.com:
    @@ -145,10 +136,11 @@
     
     
    - +

    +

    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 5c4f3b44..54484d18 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 @@ -1,17 +1,13 @@ - - Regular Expression Creation From an MFC String +Regular Expression Creation From an MFC String - + - - - + + + @@ -28,30 +24,30 @@

    The following helper function is available to assist in the creation of a regular expression from an MFC/ATL string type:

    -
    -template <class charT>
    +
    template <class charT>
     basic_regex<charT> 
        make_regex(const ATL::CSimpleStringT<charT>& s, 
                 ::boost::regex_constants::syntax_option_type f = boost::regex_constants::normal);
     

    - Effects: returns basic_regex<charT>(s.GetString(), s.GetString() + s.GetLength(), - f); + Effects: returns basic_regex<charT>(s.GetString(), s.GetString() + s.GetLength(), + f);

    - +

    +

    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 452240b8..cf126ab8 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 @@ -1,17 +1,13 @@ - - Regex Types Used With MFC Strings +Regex Types Used With MFC Strings - + - - - + + + @@ -28,31 +24,31 @@

    The following typedefs are provided for the convenience of those working with TCHAR's:

    -
    -typedef basic_regex<TCHAR>                  tregex; 
    +
    typedef basic_regex<TCHAR>                  tregex; 
     typedef match_results<TCHAR const*>         tmatch; 
     typedef regex_iterator<TCHAR const*>        tregex_iterator; 
     typedef regex_token_iterator<TCHAR const*>  tregex_token_iterator; 
     

    If you are working with explicitly narrow or wide characters rather than - TCHAR, then use the regular Boost.Regex types regex - and wregex instead. + TCHAR, then use the regular Boost.Regex types regex + and wregex instead.

    - +

    +

    diff --git a/doc/html/boost_regex/ref/posix.html b/doc/html/boost_regex/ref/posix.html index 18acf970..6dd072af 100644 --- a/doc/html/boost_regex/ref/posix.html +++ b/doc/html/boost_regex/ref/posix.html @@ -1,14 +1,13 @@ - POSIX Compatible C API's +POSIX Compatible C API's - + - - - + + + @@ -25,13 +24,14 @@
    -
    [Note] Note

    +

    this is an abridged reference to the POSIX API functions, these are provided for compatibility with other libraries, rather than as an API to be used in new code (unless you need access from a language other than C++). This @@ -39,14 +39,12 @@ as the names used are macros that expand to the actual function names.

    -
    -#include <boost/cregex.hpp>
    +
    #include <boost/cregex.hpp>
     

    or:

    -
    -#include <boost/regex.h>
    +
    #include <boost/regex.h>
     

    The following functions are available for users who need a POSIX compatible @@ -59,9 +57,9 @@ [Important] Important -

    - Note that all the symbols defined here are enclosed inside namespace boost when used in C++ programs, unless - you use #include <boost/regex.h> +

    + Note that all the symbols defined here are enclosed inside namespace boost when used in C++ programs, unless + you use #include <boost/regex.h> instead - in which case the symbols are still defined in namespace boost, but are made available in the global namespace as well.

    @@ -69,8 +67,7 @@

    The functions are defined as:

    -
    -extern "C" {
    +
    extern "C" {
     
     struct regex_tA;
     struct regex_tW;
    @@ -125,13 +122,13 @@
     
     
                   

    - unsigned int - re_nsub + unsigned int + re_nsub

    - This is filled in by regcomp + This is filled in by regcomp and indicates the number of sub-expressions contained in the regular expression.

    @@ -140,7 +137,7 @@

    - const TCHAR* re_endp + const TCHAR* re_endp

    @@ -157,23 +154,23 @@ [Note] Note -

    - regex_t is actually a - #define - it is either - regex_tA or regex_tW depending upon whether UNICODE is defined or not, TCHAR is either char - or wchar_t again depending - upon the macro UNICODE. +

    + regex_t is actually a + #define - it is either + regex_tA or regex_tW depending upon whether UNICODE is defined or not, TCHAR is either char + or wchar_t again depending + upon the macro UNICODE.

    -

    - +

    + regcomp -
    +

    - regcomp takes a pointer to - a regex_t, a pointer to the + regcomp takes a pointer to + a regex_t, a pointer to the expression to compile and a flags parameter which can be a combination of:

    @@ -202,9 +199,9 @@ @@ -217,12 +214,12 @@ @@ -346,8 +343,8 @@ @@ -359,8 +356,8 @@ @@ -372,8 +369,8 @@ @@ -381,10 +378,10 @@

    - Compiles modern regular expressions. Equivalent to regbase::char_classes | + Compiles modern regular expressions. Equivalent to regbase::char_classes | regbase::intervals | - regbase::bk_refs. + regbase::bk_refs.

    Compiles basic (obsolete) regular expression syntax. Equivalent to - regbase::char_classes | + regbase::char_classes | regbase::intervals | regbase::limited_ops | regbase::bk_braces | regbase::bk_parens | - regbase::bk_refs. + regbase::bk_refs.

    - A shortcut for awk-like behavior: REG_EXTENDED - | REG_ESCAPE_IN_LISTS + A shortcut for awk-like behavior: REG_EXTENDED + | REG_ESCAPE_IN_LISTS

    - A shortcut for grep like behavior: REG_BASIC - | REG_NEWLINE_ALT + A shortcut for grep like behavior: REG_BASIC + | REG_NEWLINE_ALT

    - A shortcut for egrep like behavior: REG_EXTENDED - | REG_NEWLINE_ALT + A shortcut for egrep like behavior: REG_EXTENDED + | REG_NEWLINE_ALT

    -

    - +

    + regerror -
    +

    regerror takes the following parameters, it maps an error code to a human readable string: @@ -469,10 +466,10 @@

    -

    - +

    + regexec -
    +

    regexec finds the first occurrence of expression e within string buf. If len is non-zero then *m is filled in with what matched @@ -539,21 +536,22 @@

    -

    - +

    + regfree -
    +

    - regfree frees all the memory + regfree frees all the memory that was allocated by regcomp.

    - +

    +

    diff --git a/doc/html/boost_regex/ref/regex_iterator.html b/doc/html/boost_regex/ref/regex_iterator.html index 0939d550..8b7f7873 100644 --- a/doc/html/boost_regex/ref/regex_iterator.html +++ b/doc/html/boost_regex/ref/regex_iterator.html @@ -1,13 +1,13 @@ - regex_iterator +regex_iterator - + - - - + + + @@ -24,15 +24,15 @@

    - The iterator type regex_iterator will enumerate all + The iterator type regex_iterator will enumerate all of the regular expression matches found in some sequence: dereferencing a - regex_iterator - yields a reference to a match_results object. + regex_iterator + yields a reference to a match_results object.

    -
    -template <class BidirectionalIterator, 
    +
    template <class BidirectionalIterator, 
              class charT = iterator_traits<BidirectionalIterator>::value_type,
              class traits = regex_traits<charT> >
     class regex_iterator 
    @@ -77,39 +77,37 @@
                               const basic_regex<charT, traits>& e, 
                               regex_constants::match_flag_type m = regex_constants::match_default);
     
    -

    - +

    + Description -
    +

    - A regex_iterator + A regex_iterator is constructed from a pair of iterators, and enumerates all occurrences of a regular expression within that iterator range.

    -
    -regex_iterator();
    +
    regex_iterator();
     

    - Effects: constructs an end of sequence - regex_iterator. + Effects: constructs an end of sequence + regex_iterator.

    -
    -regex_iterator(BidirectionalIterator a, BidirectionalIterator b, 
    +
    regex_iterator(BidirectionalIterator a, BidirectionalIterator b, 
                    const regex_type& re, 
                    match_flag_type m = match_default);
     

    - Effects: constructs a regex_iterator that will enumerate + Effects: constructs a regex_iterator that will enumerate all occurrences of the expression re, within the sequence - [a,b), and found using match_flag_type m. - The object re must exist for the lifetime of the regex_iterator. + [a,b), and found using match_flag_type m. + The object re must exist for the lifetime of the regex_iterator.

    - Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), or if the @@ -118,51 +116,46 @@

    -
    -regex_iterator(const regex_iterator& that);
    +
    regex_iterator(const regex_iterator& that);
     

    - Effects: constructs a copy of that. + Effects: constructs a copy of that.

    - Postconditions: *this == that. + Postconditions: *this == that.

    -
    -regex_iterator& operator=(const regex_iterator&);
    +
    regex_iterator& operator=(const regex_iterator&);
     

    - Effects: sets *this equal to those in that. + Effects: sets *this equal to those in that.

    - Postconditions: *this == that. + Postconditions: *this == that.

    -
    -bool operator==(const regex_iterator& that)const;
    +
    bool operator==(const regex_iterator& that)const;
     

    - Effects: returns true if *this is equal + Effects: returns true if *this is equal to that.

    -
    -bool operator!=(const regex_iterator&)const;
    +
    bool operator!=(const regex_iterator&)const;
     

    - Effects: returns !(*this == that). + Effects: returns !(*this == that).

    -
    -const value_type& operator*()const;
    +
    const value_type& operator*()const;
     

    - Effects: dereferencing a regex_iterator object it yields - a const reference to a match_results object, whose members + Effects: dereferencing a regex_iterator object it yields + a const reference to a match_results object, whose members are set as follows:

    @@ -186,31 +179,31 @@

    - (*it).size() + (*it).size()

    - re.mark_count() + re.mark_count()

    - (*it).empty() + (*it).empty()

    - false + false

    - (*it).prefix().first + (*it).prefix().first

    @@ -223,44 +216,44 @@

    - (*it).prefix().last + (*it).prefix().last

    - The same as the start of the match found: (*it)[0].first + The same as the start of the match found: (*it)[0].first

    - (*it).prefix().matched + (*it).prefix().matched

    - True if the prefix did not match an empty string: (*it).prefix().first != - (*it).prefix().second + True if the prefix did not match an empty string: (*it).prefix().first != + (*it).prefix().second

    - (*it).suffix().first + (*it).suffix().first

    - The same as the end of the match found: (*it)[0].second + The same as the end of the match found: (*it)[0].second

    - (*it).suffix().last + (*it).suffix().last

    @@ -272,20 +265,20 @@

    - (*it).suffix().matched + (*it).suffix().matched

    - True if the suffix did not match an empty string: (*it).suffix().first != - (*it).suffix().second + True if the suffix did not match an empty string: (*it).suffix().first != + (*it).suffix().second

    - (*it)[0].first + (*it)[0].first

    @@ -298,7 +291,7 @@

    - (*it)[0].second + (*it)[0].second

    @@ -310,7 +303,7 @@

    - (*it)[0].matched + (*it)[0].matched

    @@ -323,12 +316,12 @@

    - (*it)[n].first + (*it)[n].first

    - For all integers n < (*it).size(), + For all integers n < (*it).size(), the start of the sequence that matched sub-expression n. Alternatively, if sub-expression n did not participate in the match, then last. @@ -338,12 +331,12 @@

    - (*it)[n].second + (*it)[n].second

    - For all integers n < (*it).size(), + For all integers n < (*it).size(), the end of the sequence that matched sub-expression n. Alternatively, if sub-expression n did not participate in the match, then last. @@ -353,12 +346,12 @@

    - (*it)[n].matched + (*it)[n].matched

    - For all integers n < (*it).size(), + For all integers n < (*it).size(), true if sub-expression n participated in the match, false otherwise.

    @@ -367,12 +360,12 @@

    - (*it).position(n) + (*it).position(n)

    - For all integers n < (*it).size(), + For all integers n < (*it).size(), then the distance from the start of the underlying sequence to the start of sub-expression match n.

    @@ -382,29 +375,27 @@

    -
    -const value_type* operator->()const;
    +
    const value_type* operator->()const;
     

    - Effects: returns &(*this). + Effects: returns &(*this).

    -
    -regex_iterator& operator++();
    +
    regex_iterator& operator++();
     

    - Effects: moves the iterator to the next + Effects: moves the iterator to the next match in the underlying sequence, or the end of sequence iterator if none if found. When the last match found matched a zero length string, then the - regex_iterator + regex_iterator will find the next match as follows: if there exists a non-zero length match that starts at the same location as the last one, then returns it, otherwise starts looking for the next (possibly zero length) match from one position to the right of the last match.

    - Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), or if the @@ -412,24 +403,22 @@ in non-recursive mode).

    - Returns: *this. + Returns: *this.

    -
    -regex_iterator operator++(int);
    +
    regex_iterator operator++(int);
     

    - Effects: constructs a copy result of *this, then - calls ++(*this). + Effects: constructs a copy result of *this, then + calls ++(*this).

    - Returns: result. + Returns: result.

    -
    -template <class charT, class traits> 
    +
    template <class charT, class traits> 
     regex_iterator<const charT*, charT, traits>
        make_regex_iterator(const charT* p, const basic_regex<charT, traits>& e, 
                          regex_constants::match_flag_type m = regex_constants::match_default); 
    @@ -441,21 +430,20 @@
                          regex_constants::match_flag_type m = regex_constants::match_default);
     

    - Effects: returns an iterator that enumerates + Effects: returns an iterator that enumerates all occurences of expression e in text p - using match_flag_type + using match_flag_type m.

    -

    - +

    + Examples -
    +

    The following example takes a C++ source file and builds up an index of class names, and the location of that class in the file.

    -
    -#include <string>
    +
    #include <string>
     #include <map>
     #include <fstream>
     #include <iostream>
    @@ -549,10 +537,11 @@
     
    - +

    +

    diff --git a/doc/html/boost_regex/ref/regex_match.html b/doc/html/boost_regex/ref/regex_match.html index 55bd6752..b5ef87d9 100644 --- a/doc/html/boost_regex/ref/regex_match.html +++ b/doc/html/boost_regex/ref/regex_match.html @@ -1,13 +1,13 @@ - regex_match +regex_match - + - - - + + + @@ -24,13 +24,13 @@
    -
    -#include <boost/regex.hpp> 
    + regex_match
    +
    +
    #include <boost/regex.hpp> 
     

    - The algorithm regex_match - determines whether a given regular expression matches all + The algorithm regex_match + determines whether a given regular expression matches all of a given character sequence denoted by a pair of bidirectional-iterators, the algorithm is defined as follows, the main use of this function is data input validation. @@ -40,15 +40,14 @@

    -
    [Important] Important

    - Note that the result is true only if the expression matches the whole of the input sequence. If you want to search - for an expression somewhere within the sequence then use regex_search. If you want to match - a prefix of the character string then use regex_search with the flag match_continuous +

    + Note that the result is true only if the expression matches the whole of the input sequence. If you want to search + for an expression somewhere within the sequence then use regex_search. If you want to match + a prefix of the character string then use regex_search with the flag match_continuous set.

    -
    -template <class BidirectionalIterator, class Allocator, class charT, class traits>
    +
    template <class BidirectionalIterator, class Allocator, class charT, class traits>
     bool regex_match(BidirectionalIterator first, BidirectionalIterator last,
                      match_results<BidirectionalIterator, Allocator>& m,
                      const basic_regex <charT, traits>& e,
    @@ -80,31 +79,30 @@
                      const basic_regex <charT, traits>& e,
                      match_flag_type flags = match_default);
     
    -

    - +

    + Description -
    -
    -template <class BidirectionalIterator, class Allocator, class charT, class traits>
    +      
    +
    template <class BidirectionalIterator, class Allocator, class charT, class traits>
     bool regex_match(BidirectionalIterator first, BidirectionalIterator last,
                      match_results<BidirectionalIterator, Allocator>& m,
                      const basic_regex <charT, traits>& e,
                      match_flag_type flags = match_default);
     

    - Requires: Type BidirectionalIterator meets + Requires: Type BidirectionalIterator meets the requirements of a Bidirectional Iterator (24.1.4).

    - Effects: Determines whether there is an + Effects: Determines whether there is an exact match between the regular expression e, and all of the character sequence [first, last), parameter flags - (see match_flag_type) + (see match_flag_type) is used to control how the expression is matched against the character sequence. Returns true if such a match exists, false otherwise.

    - Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), or if the @@ -112,7 +110,7 @@ in non-recursive mode).

    - Postconditions: If the function returns + Postconditions: If the function returns false, then the effect on parameter m is undefined, otherwise the effects on parameter m are given in the table: @@ -138,127 +136,127 @@

    - m.size() + m.size()

    - e.mark_count() + e.mark_count()

    - m.empty() + m.empty()

    - false + false

    - m.prefix().first + m.prefix().first

    - first + first

    - m.prefix().last + m.prefix().last

    - first + first

    - m.prefix().matched + m.prefix().matched

    - false + false

    - m.suffix().first + m.suffix().first

    - last + last

    - m.suffix().last + m.suffix().last

    - last + last

    - m.suffix().matched + m.suffix().matched

    - false + false

    - m[0].first + m[0].first

    - first + first

    - m[0].second + m[0].second

    - last + last

    - m[0].matched + m[0].matched

    @@ -271,72 +269,69 @@

    - m[n].first + m[n].first

    - For all integers n < m.size(), the start of the sequence that + For all integers n < m.size(), the start of the sequence that matched sub-expression n. Alternatively, if sub-expression n did not participate in the - match, then last. + match, then last.

    - m[n].second + m[n].second

    - For all integers n < m.size(), the end of the sequence that matched + For all integers n < m.size(), the end of the sequence that matched sub-expression n. Alternatively, if sub-expression - n did not participate in the match, then last. + n did not participate in the match, then last.

    - m[n].matched + m[n].matched

    - For all integers n < m.size(), true if sub-expression n + For all integers n < m.size(), true if sub-expression n participated in the match, false otherwise.

    -
    -template <class BidirectionalIterator, class charT, class traits>
    +
    template <class BidirectionalIterator, class charT, class traits>
     bool regex_match(BidirectionalIterator first, BidirectionalIterator last,
                    const basic_regex <charT, traits>& e,
                    match_flag_type flags = match_default);
     

    - Effects: Behaves "as if" by constructing - an instance of match_results<BidirectionalIterator> what, - and then returning the result of regex_match(first, last, what, e, - flags). + Effects: Behaves "as if" by constructing + an instance of match_results<BidirectionalIterator> what, + and then returning the result of regex_match(first, last, what, e, + flags).

    -
    -template <class charT, class Allocator, class traits>
    +
    template <class charT, class Allocator, class traits>
     bool regex_match(const charT* str, match_results<const charT*, Allocator>& m,
                    const basic_regex <charT, traits>& e,
                    match_flag_type flags = match_default);
     

    - Effects: Returns the result of regex_match(str, str + Effects: Returns the result of regex_match(str, str + char_traits<charT>::length(str), - m, e, flags). + m, e, flags).

    -
    -template <class ST, class SA, class Allocator,
    +
    template <class ST, class SA, class Allocator,
              class charT, class traits>
     bool regex_match(const basic_string<charT, ST, SA>& s,
                    match_results<typename basic_string<charT, ST, SA>::const_iterator, Allocator>& m, 
    @@ -344,37 +339,34 @@
                    match_flag_type flags = match_default);
     

    - Effects: Returns the result of regex_match(s.begin(), s.end(), m, e, flags). + Effects: Returns the result of regex_match(s.begin(), s.end(), m, e, flags).

    -
    -template <class charT, class traits>
    +
    template <class charT, class traits>
     bool regex_match(const charT* str,
                    const basic_regex <charT, traits>& e,
                    match_flag_type flags = match_default);
     

    - Effects: Returns the result of regex_match(str, str + Effects: Returns the result of regex_match(str, str + char_traits<charT>::length(str), - e, flags). + e, flags).

    -
    -template <class ST, class SA, class charT, class traits>
    +
    template <class ST, class SA, class charT, class traits>
     bool regex_match(const basic_string<charT, ST, SA>& s,
                    const basic_regex <charT, traits>& e,
                    match_flag_type flags = match_default);
     

    - Effects: Returns the result of regex_match(s.begin(), s.end(), e, flags). + Effects: Returns the result of regex_match(s.begin(), s.end(), e, flags).

    -

    - +

    + Examples -
    +

    The following example processes an ftp response:

    -
    -#include <stdlib.h> 
    +
    #include <stdlib.h> 
     #include <boost/regex.hpp> 
     #include <string> 
     #include <iostream> 
    @@ -408,10 +400,11 @@
     
    - +

    +

    diff --git a/doc/html/boost_regex/ref/regex_replace.html b/doc/html/boost_regex/ref/regex_replace.html index 5c47aaf3..a6a7beb7 100644 --- a/doc/html/boost_regex/ref/regex_replace.html +++ b/doc/html/boost_regex/ref/regex_replace.html @@ -1,13 +1,13 @@ - regex_replace +regex_replace - + - - - + + + @@ -24,22 +24,21 @@
    -
    -#include <boost/regex.hpp> 
    + regex_replace
    +
    +
    #include <boost/regex.hpp> 
     

    - The algorithm regex_replace searches through a + The algorithm regex_replace searches through a string finding all the matches to the regular expression: for each match - it then calls match_results<>::format to format the string and + it then calls match_results<>::format to format the string and sends the result to the output iterator. Sections of text that do not match are copied to the output unchanged only if the flags - parameter does not have the flag format_no_copy - set. If the flag format_first_only + parameter does not have the flag format_no_copy + set. If the flag format_first_only is set then only the first occurrence is replaced rather than all occurrences.

    -
    -template <class OutputIterator, class BidirectionalIterator, class traits, class charT>
    +
    template <class OutputIterator, class BidirectionalIterator, class traits, class charT>
     OutputIterator regex_replace(OutputIterator out,
                                  BidirectionalIterator first,
                                  BidirectionalIterator last,
    @@ -53,12 +52,11 @@
                                       const basic_string<charT>& fmt,
                                       match_flag_type flags = match_default);
     
    -

    - +

    + Description -
    -
    -template <class OutputIterator, class BidirectionalIterator, class traits, class charT>
    +      
    +
    template <class OutputIterator, class BidirectionalIterator, class traits, class charT>
     OutputIterator regex_replace(OutputIterator out,
                                  BidirectionalIterator first,
                                  BidirectionalIterator last,
    @@ -73,84 +71,76 @@
             and copies the resulting string to out.
           

    - If the flag format_no_copy + If the flag format_no_copy is set in flags then unmatched sections of text are not copied to output.

    - If the flag format_first_only + If the flag format_first_only is set in flags then only the first occurence of e is replaced.

    The manner in which the format string fmt is interpretted, along with the rules used for finding matches, are determined by the flags - set in flags: see match_flag_type. + set in flags: see match_flag_type.

    - Effects: Constructs an regex_iterator object: + Effects: Constructs an regex_iterator object:

    -
    -regex_iterator<BidirectionalIterator, charT, traits, Allocator> 
    +
    regex_iterator<BidirectionalIterator, charT, traits, Allocator> 
                                               i(first, last, e, flags), 
     

    and uses i to enumerate through all of the matches - m of type match_results <BidirectionalIterator> + m of type match_results <BidirectionalIterator> that occur within the sequence [first, last).

    If no such matches are found and

    -
    -!(flags & format_no_copy) 
    +
    !(flags & format_no_copy) 
     

    then calls

    -
    -std::copy(first, last, out). 
    +
    std::copy(first, last, out). 
     

    Otherwise, for each match found, if

    -
    -!(flags & format_no_copy) 
    +
    !(flags & format_no_copy) 
     

    calls

    -
    -std::copy(m.prefix().first, m.prefix().last, out), 
    +
    std::copy(m.prefix().first, m.prefix().last, out), 
     

    and then calls

    -
    -m.format(out, fmt, flags). 
    +
    m.format(out, fmt, flags). 
     

    Finally if

    -
    -!(flags & format_no_copy) 
    +
    !(flags & format_no_copy) 
     

    calls

    -
    -std::copy(last_m.suffix().first, last_m,suffix().last, out) 
    +
    std::copy(last_m.suffix().first, last_m,suffix().last, out) 
     

    where last_m is a copy of the last match found.

    - If flags & - format_first_only is non-zero then + If flags & + format_first_only is non-zero then only the first match found is replaced.

    - Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), or if the @@ -158,31 +148,29 @@ in non-recursive mode).

    - Returns: out. + Returns: out.

    -
    -template <class traits, class charT>
    +
    template <class traits, class charT>
     basic_string<charT> regex_replace(const basic_string<charT>& s,
                                       const basic_regex<charT, traits>& e,
                                       const basic_string<charT>& fmt,
                                       match_flag_type flags = match_default);
     

    - Effects: Constructs an object basic_string<charT> result, calls regex_replace(back_inserter(result), s.begin(), s.end(), e, + Effects: Constructs an object basic_string<charT> result, calls regex_replace(back_inserter(result), s.begin(), s.end(), e, fmt, - flags), - and then returns result. + flags), + and then returns result.

    -

    - +

    + Examples -
    +

    The following example takes C/C++ source code as input, and outputs syntax highlighted HTML code.

    -
    -#include <fstream>
    +
    #include <fstream>
     #include <sstream>
     #include <string>
     #include <iterator>
    @@ -294,10 +282,11 @@
     
     
    - +

    +

    diff --git a/doc/html/boost_regex/ref/regex_search.html b/doc/html/boost_regex/ref/regex_search.html index 196ac687..e4230a2a 100644 --- a/doc/html/boost_regex/ref/regex_search.html +++ b/doc/html/boost_regex/ref/regex_search.html @@ -1,13 +1,13 @@ - regex_search +regex_search - + - - - + + + @@ -24,19 +24,18 @@
    -
    -#include <boost/regex.hpp> 
    + regex_search
    +
    +
    #include <boost/regex.hpp> 
     

    - The algorithm regex_search will search a range + The algorithm regex_search will search a range denoted by a pair of bidirectional-iterators for a given regular expression. The algorithm uses various heuristics to reduce the search time by only checking for a match if a match could conceivably start at that position. The algorithm is defined as follows:

    -
    -template <class BidirectionalIterator, 
    +
    template <class BidirectionalIterator, 
              class Allocator, class charT, class traits>
     bool regex_search(BidirectionalIterator first, BidirectionalIterator last,
                       match_results<BidirectionalIterator, Allocator>& m,
    @@ -73,30 +72,29 @@
                       const basic_regex<charT, traits>& e,
                       match_flag_type flags = match_default);
     
    -

    - +

    + Description -
    -
    -template <class BidirectionalIterator, class Allocator, class charT, class traits>
    +      
    +
    template <class BidirectionalIterator, class Allocator, class charT, class traits>
     bool regex_search(BidirectionalIterator first, BidirectionalIterator last,
                       match_results<BidirectionalIterator, Allocator>& m,
                       const basic_regex<charT, traits>& e,
                       match_flag_type flags = match_default);
     

    - Requires: Type BidirectionalIterator meets + Requires: Type BidirectionalIterator meets the requirements of a Bidirectional Iterator (24.1.4).

    - Effects: Determines whether there is some + Effects: Determines whether there is some sub-sequence within [first,last) that matches the regular expression e, parameter flags is used to control how the expression is matched against the character sequence. Returns true if such a sequence exists, false otherwise.

    - Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), or if the @@ -104,7 +102,7 @@ in non-recursive mode).

    - Postconditions: If the function returns + Postconditions: If the function returns false, then the effect on parameter m is undefined, otherwise the effects on parameter m are given in the table: @@ -130,105 +128,105 @@

    - m.size() + m.size()

    - e.mark_count() + e.mark_count()

    - m.empty() + m.empty()

    - false + false

    - m.prefix().first + m.prefix().first

    - first + first

    - m.prefix().last + m.prefix().last

    - m[0].first + m[0].first

    - m.prefix().matched + m.prefix().matched

    - m.prefix().first != - m.prefix().second + m.prefix().first != + m.prefix().second

    - m.suffix().first + m.suffix().first

    - m[0].second + m[0].second

    - m.suffix().last + m.suffix().last

    - last + last

    - m.suffix().matched + m.suffix().matched

    - m.suffix().first != - m.suffix().second + m.suffix().first != + m.suffix().second

    - m[0].first + m[0].first

    @@ -241,7 +239,7 @@

    - m[0].second + m[0].second

    @@ -253,7 +251,7 @@

    - m[0].matched + m[0].matched

    @@ -266,12 +264,12 @@

    - m[n].first + m[n].first

    - For all integers n < m.size(), the start of the sequence that + For all integers n < m.size(), the start of the sequence that matched sub-expression n. Alternatively, if sub-expression n did not participate in the match, then last. @@ -281,45 +279,43 @@

    - m[n].second + m[n].second

    - For all integers n < m.size(), the end of the sequence that matched + For all integers n < m.size(), the end of the sequence that matched sub-expression n. Alternatively, if sub-expression - n did not participate in the match, then last. + n did not participate in the match, then last.

    - m[n].matched + m[n].matched

    - For all integers n < m.size(), true if sub-expression n + For all integers n < m.size(), true if sub-expression n participated in the match, false otherwise.

    -
    -template <class charT, class Allocator, class traits>
    +
    template <class charT, class Allocator, class traits>
     bool regex_search(const charT* str, match_results<const charT*, Allocator>& m,
                       const basic_regex<charT, traits>& e,
                       match_flag_type flags = match_default);
     

    - Effects: Returns the result of regex_search(str, str + Effects: Returns the result of regex_search(str, str + char_traits<charT>::length(str), - m, e, flags). + m, e, flags).

    -
    -template <class ST, class SA, class Allocator, class charT,
    +
    template <class ST, class SA, class Allocator, class charT,
              class traits>
     bool regex_search(const basic_string<charT, ST, SA>& s,
                       match_results<typename basic_string<charT, ST, SA>::const_iterator, Allocator>& m,
    @@ -327,53 +323,49 @@
                       match_flag_type flags = match_default);
     

    - Effects: Returns the result of regex_search(s.begin(), s.end(), m, e, flags). + Effects: Returns the result of regex_search(s.begin(), s.end(), m, e, flags).

    -
    -template <class iterator, class charT, class traits>
    +
    template <class iterator, class charT, class traits>
     bool regex_search(iterator first, iterator last,
                       const basic_regex<charT, traits>& e,
                       match_flag_type flags = match_default);
     

    - Effects: Behaves "as if" by constructing - an instance of match_results<BidirectionalIterator> what, - and then returning the result of regex_search(first, last, what, e, - flags). + Effects: Behaves "as if" by constructing + an instance of match_results<BidirectionalIterator> what, + and then returning the result of regex_search(first, last, what, e, + flags).

    -
    -template <class charT, class traits>
    +
    template <class charT, class traits>
     bool regex_search(const charT* str
                       const basic_regex<charT, traits>& e,
                       match_flag_type flags = match_default);
     

    - Effects: Returns the result of regex_search(str, str + Effects: Returns the result of regex_search(str, str + char_traits<charT>::length(str), - e, flags). + e, flags).

    -
    -template <class ST, class SA, class charT, class traits>
    +
    template <class ST, class SA, class charT, class traits>
     bool regex_search(const basic_string<charT, ST, SA>& s,
                       const basic_regex<charT, traits>& e,
                       match_flag_type flags = match_default);
     

    - Effects: Returns the result of regex_search(s.begin(), s.end(), e, flags). + Effects: Returns the result of regex_search(s.begin(), s.end(), e, flags).

    -

    - +

    + Examples -
    +

    The following example, takes the contents of a file in the form of a string, and searches for all the C++ class declarations in the file. The code will - work regardless of the way that std::string + work regardless of the way that std::string is implemented, for example it could easily be modified to work with the SGI rope class, which uses a non-contiguous storage strategy.

    -
    -#include <string> 
    +
    #include <string> 
     #include <map> 
     #include <boost/regex.hpp> 
     
    @@ -417,10 +409,11 @@
     
    - +

    +

    diff --git a/doc/html/boost_regex/ref/regex_token_iterator.html b/doc/html/boost_regex/ref/regex_token_iterator.html index 292ff6b0..350c527b 100644 --- a/doc/html/boost_regex/ref/regex_token_iterator.html +++ b/doc/html/boost_regex/ref/regex_token_iterator.html @@ -1,13 +1,13 @@ - regex_token_iterator +regex_token_iterator - + - - - + + + @@ -24,22 +24,22 @@

    - The template class regex_token_iterator is an iterator + The template class regex_token_iterator is an iterator adapter; that is to say it represents a new view of an existing iterator sequence, by enumerating all the occurrences of a regular expression within that sequence, and presenting one or more character sequence for each match - found. Each position enumerated by the iterator is a sub_match object that represents + found. Each position enumerated by the iterator is a sub_match object that represents what matched a particular sub-expression within the regular expression. When - class regex_token_iterator is used to + class regex_token_iterator is used to enumerate a single sub-expression with index -1, then the iterator performs field splitting: that is to say it enumerates one character sequence for each section of the character container sequence that does not match the regular expression specified.

    -
    -template <class BidirectionalIterator, 
    +
    template <class BidirectionalIterator, 
              class charT = iterator_traits<BidirectionalIterator>::value_type,
              class traits = regex_traits<charT> >
     class regex_token_iterator 
    @@ -135,43 +135,41 @@
              const std::vector<int>& submatch, 
              regex_constants::match_flag_type m = regex_constants::match_default);
     
    -

    - +

    + Description -
    +

    -
    -regex_token_iterator();
    +
    regex_token_iterator();
     

    - Effects: constructs an end of sequence iterator. + Effects: constructs an end of sequence iterator.

    -
    -regex_token_iterator(BidirectionalIterator a, 
    +
    regex_token_iterator(BidirectionalIterator a, 
                          BidirectionalIterator b, 
                          const regex_type& re, 
                          int submatch = 0, 
                          match_flag_type m = match_default);
     

    - Preconditions: !re.empty(). Object re shall exist + Preconditions: !re.empty(). Object re shall exist for the lifetime of the iterator constructed from it.

    - Effects: constructs a regex_token_iterator that will enumerate + Effects: constructs a regex_token_iterator that will enumerate one string for each regular expression match of the expression re found within the sequence [a,b), using match flags m - (see match_flag_type). + (see match_flag_type). The string enumerated is the sub-expression submatch for each match found; if submatch is -1, then enumerates all the text sequences that did not match the expression re (that is to performs field splitting).

    - Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), or if the @@ -180,33 +178,32 @@

    -
    -regex_token_iterator(BidirectionalIterator a, 
    +
    regex_token_iterator(BidirectionalIterator a, 
                          BidirectionalIterator b, 
                          const regex_type& re, 
                          const std::vector<int>& submatches, 
                          match_flag_type m = match_default);
     

    - Preconditions: submatches.size() - && !re.empty(). Object re shall exist + Preconditions: submatches.size() + && !re.empty(). Object re shall exist for the lifetime of the iterator constructed from it.

    - Effects: constructs a regex_token_iterator that will enumerate - submatches.size() + Effects: constructs a regex_token_iterator that will enumerate + submatches.size() strings for each regular expression match of the expression re found within the sequence [a,b), using match flags m - (see match_flag_type). + (see match_flag_type). For each match found one string will be enumerated for each sub-expression - index contained within submatches vector; if submatches[0] + index contained within submatches vector; if submatches[0] is -1, then the first string enumerated for each match will be all of the text from end of the last match to the start of the current match, in addition there will be one extra string enumerated when no more matches can be found: from the end of the last match found, to the end of the underlying sequence.

    - Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), or if the @@ -215,8 +212,7 @@

    -
    -template <std::size_t N>
    +
    template <std::size_t N>
     regex_token_iterator(BidirectionalIterator a, 
                          BidirectionalIterator b, 
                          const regex_type& re, 
    @@ -224,23 +220,23 @@
                          match_flag_type m = match_default);
     

    - Preconditions: !re.empty(). Object re shall exist + Preconditions: !re.empty(). Object re shall exist for the lifetime of the iterator constructed from it.

    - Effects: constructs a regex_token_iterator that will enumerate + Effects: constructs a regex_token_iterator that will enumerate R strings for each regular expression match of the expression re found within the sequence [a,b), using match flags - m (see match_flag_type). For each match + m (see match_flag_type). For each match found one string will be enumerated for each sub-expression index contained - within the submatches array; if submatches[0] + within the submatches array; if submatches[0] is -1, then the first string enumerated for each match will be all of the text from end of the last match to the start of the current match, in addition there will be one extra string enumerated when no more matches can be found: from the end of the last match found, to the end of the underlying sequence.

    - Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), or if the @@ -249,70 +245,63 @@

    -
    -regex_token_iterator(const regex_token_iterator& that);
    +
    regex_token_iterator(const regex_token_iterator& that);
     

    - Effects: constructs a copy of that. + Effects: constructs a copy of that.

    - Postconditions: *this == that. + Postconditions: *this == that.

    -
    -regex_token_iterator& operator=(const regex_token_iterator& that);
    +
    regex_token_iterator& operator=(const regex_token_iterator& that);
     

    - Effects: sets *this to be equal to that. + Effects: sets *this to be equal to that.

    - Postconditions: *this == that. + Postconditions: *this == that.

    -
    -bool operator==(const regex_token_iterator&)const;
    +
    bool operator==(const regex_token_iterator&)const;
     

    - Effects: returns true if *this is the same position as that. + Effects: returns true if *this is the same position as that.

    -
    -bool operator!=(const regex_token_iterator&)const;
    +
    bool operator!=(const regex_token_iterator&)const;
     

    - Effects: returns !(*this == that). + Effects: returns !(*this == that).

    -
    -const value_type& operator*()const;
    +
    const value_type& operator*()const;
     

    - Effects: returns the current character sequence + Effects: returns the current character sequence being enumerated.

    -
    -const value_type* operator->()const;
    +
    const value_type* operator->()const;
     

    - Effects: returns &(*this). + Effects: returns &(*this).

    -
    -regex_token_iterator& operator++();
    +
    regex_token_iterator& operator++();
     

    - Effects: Moves on to the next character + Effects: Moves on to the next character sequence to be enumerated.

    - Throws: std::runtime_error + Throws: std::runtime_error if the complexity of matching the expression against an N character string begins to exceed O(N2), or if the program runs out of stack space while matching the expression (if Boost.Regex is configured in recursive mode), or if the @@ -320,24 +309,22 @@ in non-recursive mode).

    - Returns: *this. + Returns: *this.

    -
    -regex_token_iterator& operator++(int);
    +
    regex_token_iterator& operator++(int);
     

    - Effects: constructs a copy result of *this, then - calls ++(*this). + Effects: constructs a copy result of *this, then + calls ++(*this).

    - Returns: result. + Returns: result.

    -
    -template <class charT, class traits>
    +
    template <class charT, class traits>
     regex_token_iterator<const charT*, charT, traits> 
        make_regex_token_iterator(
              const charT* p, 
    @@ -388,22 +375,21 @@
              regex_constants::match_flag_type m = regex_constants::match_default);
     

    - Effects: returns a regex_token_iterator that enumerates - one sub_match + Effects: returns a regex_token_iterator that enumerates + one sub_match for each value in submatch for each occurrence of regular expression e in string p, matched - using match_flag_type + using match_flag_type m.

    -

    - +

    + Examples -
    +

    The following example takes a string and splits it into a series of tokens:

    -
    -#include <iostream>
    +
    #include <iostream>
     #include <boost/regex.hpp>
     
     using namespace std;
    @@ -441,8 +427,7 @@
             The following example takes a html file and outputs a list of all the linked
             files:
           

    -
    -#include <fstream>
    +
    #include <fstream>
     #include <iostream>
     #include <iterator>
     #include <boost/regex.hpp>
    @@ -511,10 +496,11 @@
     
     
    - +

    +

    diff --git a/doc/html/boost_regex/ref/regex_traits.html b/doc/html/boost_regex/ref/regex_traits.html index f358fb18..8f7507c8 100644 --- a/doc/html/boost_regex/ref/regex_traits.html +++ b/doc/html/boost_regex/ref/regex_traits.html @@ -1,14 +1,13 @@ - regex_traits +regex_traits - + - - - + + + @@ -25,9 +24,9 @@
    -
    -namespace boost{
    + regex_traits
    +
    +
    namespace boost{
     
     template <class charT, class implementationT = sensible_default_choice>
     struct regex_traits : public implementationT
    @@ -39,35 +38,35 @@
     struct c_regex_traits;
     
     template <class charT>
    -struct cpp_regex_traits;
    +class cpp_regex_traits;
     
     template <class charT>
    -struct w32_regex_traits;
    +class w32_regex_traits;
     
     } // namespace boost
     
    -

    - +

    + Description -
    +

    - The class regex_traits is + The class regex_traits is just a thin wrapper around an actual implemention class, which may be one of:

    • -c_regex_traits: this class +c_regex_traits: this class is deprecated, it wraps the C locale, and is used as the default implementation when the platform is not Win32, and the C++ locale is not available.
    • -cpp_regex_traits: the default +cpp_regex_traits: the default traits class for non-Win32 platforms, allows the regex class to be imbued with a std::locale instance.
    • -w32_regex_traits: the default +w32_regex_traits: the default traits class implementation on Win32 platforms, allows the regex class to be imbued with an LCID.
    • @@ -78,26 +77,26 @@

      • - BOOST_REGEX_USE_C_LOCALE: makes c_regex_traits + BOOST_REGEX_USE_C_LOCALE: makes c_regex_traits the default.
      • - BOOST_REGEX_USE_CPP_LOCALE: makes cpp_regex_traits + BOOST_REGEX_USE_CPP_LOCALE: makes cpp_regex_traits the default.

      - All these traits classes fulfil the traits + All these traits classes fulfil the traits class requirements.

    - +

    +

    diff --git a/doc/html/boost_regex/ref/sub_match.html b/doc/html/boost_regex/ref/sub_match.html index 25d88d03..e2b5ea60 100644 --- a/doc/html/boost_regex/ref/sub_match.html +++ b/doc/html/boost_regex/ref/sub_match.html @@ -1,13 +1,13 @@ - sub_match +sub_match - + - - - + + + @@ -24,38 +24,38 @@
    -
    -#include <boost/regex.hpp>
    + sub_match
    +
    +
    #include <boost/regex.hpp>
     

    Regular expressions are different from many simple pattern-matching algorithms in that as well as finding an overall match they can also produce sub-expression matches: each sub-expression being delimited in the pattern by a pair of parenthesis (...). There has to be some method for reporting sub-expression - matches back to the user: this is achieved this by defining a class match_results + matches back to the user: this is achieved this by defining a class match_results that acts as an indexed collection of sub-expression matches, each sub-expression - match being contained in an object of type sub_match. + match being contained in an object of type sub_match.

    - Objects of type sub_match - may only be obtained by subscripting an object of type match_results. + Objects of type sub_match + may only be obtained by subscripting an object of type match_results.

    - Objects of type sub_match - may be compared to objects of type std::basic_string, - or const charT* or const - charT. + Objects of type sub_match + may be compared to objects of type std::basic_string, + or const charT* or const + charT.

    - Objects of type sub_match - may be added to objects of type std::basic_string, - or const charT* or const - charT, to produce a new std::basic_string + Objects of type sub_match + may be added to objects of type std::basic_string, + or const charT* or const + charT, to produce a new std::basic_string object.

    - When the marked sub-expression denoted by an object of type sub_match participated in a regular + When the marked sub-expression denoted by an object of type sub_match participated in a regular expression match then member matched evaluates to true, and members first and second denote the range of characters [first,second) which formed that match. Otherwise @@ -64,25 +64,24 @@ values.

    - When the marked sub-expression denoted by an object of type sub_match was repeated, then the - sub_match + When the marked sub-expression denoted by an object of type sub_match was repeated, then the + sub_match object represents the match obtained by the last repeat. The complete set of all the captures obtained for all the repeats, may be accessed via the captures() member function (Note: this has serious performance implications, you have to explicitly enable this feature).

    - If an object of type sub_match represents sub-expression + If an object of type sub_match represents sub-expression 0 - that is to say the whole match - then member matched - is always true, unless a partial - match was obtained as a result of the flag match_partial + is always true, unless a partial + match was obtained as a result of the flag match_partial being passed to a regular expression algorithm, in which case member matched is false, and members first and second represent the character range that formed the partial match.

    -
    -namespace boost{
    +
    namespace boost{
     
     template <class BidirectionalIterator>
     class sub_match;
    @@ -329,58 +328,52 @@
     
     } // namespace boost
     
    -

    - +

    + Description -
    -
    - - Members
    +
    + + Members +

    -
    -typedef typename std::iterator_traits<iterator>::value_type value_type;
    +
    typedef typename std::iterator_traits<iterator>::value_type value_type;
     

    The type pointed to by the iterators.

    -
    -typedef typename std::iterator_traits<iterator>::difference_type difference_type;
    +
    typedef typename std::iterator_traits<iterator>::difference_type difference_type;
     

    A type that represents the difference between two iterators.

    -
    -typedef BidirectionalIterator iterator;
    +
    typedef BidirectionalIterator iterator;
     

    The iterator type.

    -
    -iterator first
    +
    iterator first
     

    An iterator denoting the position of the start of the match.

    -
    -iterator second
    +
    iterator second
     

    An iterator denoting the position of the end of the match.

    -
    -bool matched
    +
    bool matched
     

    A Boolean value denoting whether this sub-expression participated in the @@ -388,88 +381,80 @@

    -
    -static difference_type length();
    +
    static difference_type length();
     

    - Effects: returns the length of this matched - sub-expression, or 0 if this sub-expression was not matched: matched ? distance(first, second) : 0). + Effects: returns the length of this matched + sub-expression, or 0 if this sub-expression was not matched: matched ? distance(first, second) : 0).

    -
    -operator basic_string<value_type>()const;
    +
    operator basic_string<value_type>()const;
     

    - Effects: converts *this into a string: returns (matched ? basic_string<value_type>(first, second) : basic_string<value_type>()). + Effects: converts *this into a string: returns (matched ? basic_string<value_type>(first, second) : basic_string<value_type>()).

    -
    -basic_string<value_type> str()const;
    +
    basic_string<value_type> str()const;
     

    - Effects: returns a string representation - of *this: - (matched - ? basic_string<value_type>(first, second) : basic_string<value_type>()). + Effects: returns a string representation + of *this: + (matched + ? basic_string<value_type>(first, second) : basic_string<value_type>()).

    -
    -int compare(const sub_match& s)const;
    +
    int compare(const sub_match& s)const;
     

    - Effects: performs a lexical comparison to - s: returns str().compare(s.str()). + Effects: performs a lexical comparison to + s: returns str().compare(s.str()).

    -
    -int compare(const basic_string<value_type>& s)const;
    +
    int compare(const basic_string<value_type>& s)const;
     

    - Effects: compares *this to the string s: - returns str().compare(s). + Effects: compares *this to the string s: + returns str().compare(s).

    -
    -int compare(const value_type* s)const;
    +
    int compare(const value_type* s)const;
     

    - Effects: compares *this to the null-terminated string s: - returns str().compare(s). + Effects: compares *this to the null-terminated string s: + returns str().compare(s).

    -
    -typedef implementation-private capture_sequence_type;
    +
    typedef implementation-private capture_sequence_type;
     

    Defines an implementation-specific type that satisfies the requirements of a standard library Sequence (21.1.1 including the optional Table 68 operations), - whose value_type is a sub_match<BidirectionalIterator>. This type happens to be std::vector<sub_match<BidirectionalIterator> >, + whose value_type is a sub_match<BidirectionalIterator>. This type happens to be std::vector<sub_match<BidirectionalIterator> >, but you shouldn't actually rely on that.

    -
    -const capture_sequence_type& captures()const; 
    +
    const capture_sequence_type& captures()const; 
     

    - Effects: returns a sequence containing all + Effects: returns a sequence containing all the captures obtained for this sub-expression.

    - Preconditions: the library must be built + Preconditions: the library must be built and used with BOOST_REGEX_MATCH_EXTRA defined, and you must pass the flag - match_extra to the regex - matching functions ( regex_match, regex_search, regex_iterator or regex_token_iterator) in order for + match_extra to the regex + matching functions ( regex_match, regex_search, regex_iterator or regex_token_iterator) in order for this member #function to be defined and return useful information.

    - Rationale: Enabling this feature has several + Rationale: Enabling this feature has several consequences:

      @@ -487,506 +472,463 @@ to take place.
    -
    - +
    + sub_match non-member operators -
    +

    -
    -template <class BidirectionalIterator>
    +
    template <class BidirectionalIterator>
     bool operator == (const sub_match<BidirectionalIterator>& lhs,
                       const sub_match<BidirectionalIterator>& rhs);
     

    - Effects: returns lhs.compare(rhs) - == 0. + Effects: returns lhs.compare(rhs) + == 0.

    -
    -template <class BidirectionalIterator>
    +
    template <class BidirectionalIterator>
     bool operator != (const sub_match<BidirectionalIterator>& lhs,
                       const sub_match<BidirectionalIterator>& rhs);
     

    - Effects: returns lhs.compare(rhs) - != 0. + Effects: returns lhs.compare(rhs) + != 0.

    -
    -template <class BidirectionalIterator>
    +
    template <class BidirectionalIterator>
     bool operator < (const sub_match<BidirectionalIterator>& lhs,
                    const sub_match<BidirectionalIterator>& rhs);
     

    - Effects: returns lhs.compare(rhs) - < 0. + Effects: returns lhs.compare(rhs) + < 0.

    -
    -template <class BidirectionalIterator>
    +
    template <class BidirectionalIterator>
     bool operator <= (const sub_match<BidirectionalIterator>& lhs,
                       const sub_match<BidirectionalIterator>& rhs);
     

    - Effects: returns lhs.compare(rhs) - <= 0. + Effects: returns lhs.compare(rhs) + <= 0.

    -
    -template <class BidirectionalIterator>
    +
    template <class BidirectionalIterator>
     bool operator >= (const sub_match<BidirectionalIterator>& lhs,
                       const sub_match<BidirectionalIterator>& rhs);
     

    - Effects: returns lhs.compare(rhs) - >= 0. + Effects: returns lhs.compare(rhs) + >= 0.

    -
    -template <class BidirectionalIterator>
    +
    template <class BidirectionalIterator>
     bool operator > (const sub_match<BidirectionalIterator>& lhs,
                    const sub_match<BidirectionalIterator>& rhs);
     

    - Effects: returns lhs.compare(rhs) - > 0. + Effects: returns lhs.compare(rhs) + > 0.

    -
    -template <class BidirectionalIterator, class traits, class Allocator> 
    +
    template <class BidirectionalIterator, class traits, class Allocator> 
     bool operator == (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                                               traits,
                                                               Allocator>& lhs, 
                       const sub_match<BidirectionalIterator>& rhs);
     

    - Effects: returns lhs - == rhs.str(). + Effects: returns lhs + == rhs.str().

    -
    -template <class BidirectionalIterator, class traits, class Allocator> 
    +
    template <class BidirectionalIterator, class traits, class Allocator> 
     bool operator != (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                                               traits, 
                                                               Allocator>& lhs,
                       const sub_match<BidirectionalIterator>& rhs);
     

    - Effects: returns lhs - != rhs.str(). + Effects: returns lhs + != rhs.str().

    -
    -template <class BidirectionalIterator, class traits, class Allocator> 
    +
    template <class BidirectionalIterator, class traits, class Allocator> 
     bool operator < (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                              traits, 
                                              Allocator>& lhs,
                      const sub_match<BidirectionalIterator>& rhs);
     

    - Effects: returns lhs - < rhs.str(). + Effects: returns lhs + < rhs.str().

    -
    -template <class BidirectionalIterator, class traits, class Allocator> 
    +
    template <class BidirectionalIterator, class traits, class Allocator> 
     bool operator > (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                                              traits, 
                                                              Allocator>& lhs,
                      const sub_match<BidirectionalIterator>& rhs);
     

    - Effects: returns lhs - > rhs.str(). + Effects: returns lhs + > rhs.str().

    -
    -template <class BidirectionalIterator, class traits, class Allocator> 
    +
    template <class BidirectionalIterator, class traits, class Allocator> 
     bool operator >= (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                               traits, 
                                               Allocator>& lhs,
                       const sub_match<BidirectionalIterator>& rhs);
     

    - Effects: returns lhs - >= rhs.str(). + Effects: returns lhs + >= rhs.str().

    -
    -template <class BidirectionalIterator, class traits, class Allocator> 
    +
    template <class BidirectionalIterator, class traits, class Allocator> 
     bool operator <= (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                               traits, 
                                               Allocator>& lhs,
                       const sub_match<BidirectionalIterator>& rhs);
     

    - Effects: returns lhs - <= rhs.str(). + Effects: returns lhs + <= rhs.str().

    -
    -template <class BidirectionalIterator, class traits, class Allocator> 
    +
    template <class BidirectionalIterator, class traits, class Allocator> 
     bool operator == (const sub_match<BidirectionalIterator>& lhs,
                       const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                               traits, 
                                               Allocator>& rhs);
     

    - Effects: returns lhs.str() - == rhs. + Effects: returns lhs.str() + == rhs.

    -
    -template <class BidirectionalIterator, class traits, class Allocator> 
    +
    template <class BidirectionalIterator, class traits, class Allocator> 
     bool operator != (const sub_match<BidirectionalIterator>& lhs,
                       const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                               traits, 
                                               Allocator>& rhs);
     

    - Effects: returns lhs.str() - != rhs. + Effects: returns lhs.str() + != rhs.

    -
    -template <class BidirectionalIterator, class traits, class Allocator> 
    +
    template <class BidirectionalIterator, class traits, class Allocator> 
     bool operator < (const sub_match<BidirectionalIterator>& lhs,
                    const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                            traits, 
                                            Allocator>& rhs);
     

    - Effects: returns lhs.str() - < rhs. + Effects: returns lhs.str() + < rhs.

    -
    -template <class BidirectionalIterator, class traits, class Allocator> 
    +
    template <class BidirectionalIterator, class traits, class Allocator> 
     bool operator > (const sub_match<BidirectionalIterator>& lhs,
                      const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                              traits, 
                                              Allocator>& rhs);
     

    - Effects: returns lhs.str() - > rhs. + Effects: returns lhs.str() + > rhs.

    -
    -template <class BidirectionalIterator, class traits, class Allocator> 
    +
    template <class BidirectionalIterator, class traits, class Allocator> 
     bool operator >= (const sub_match<BidirectionalIterator>& lhs,
                       const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                               traits, 
                                               Allocator>& rhs);
     

    - Effects: returns lhs.str() - >= rhs. + Effects: returns lhs.str() + >= rhs.

    -
    -template <class BidirectionalIterator, class traits, class Allocator> 
    +
    template <class BidirectionalIterator, class traits, class Allocator> 
     bool operator <= (const sub_match<BidirectionalIterator>& lhs,
                       const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                               traits, 
                                               Allocator>& rhs);
     

    - Effects: returns lhs.str() - <= rhs. + Effects: returns lhs.str() + <= rhs.

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator == (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
                       const sub_match<BidirectionalIterator>& rhs); 
     

    - Effects: returns lhs - == rhs.str(). + Effects: returns lhs + == rhs.str().

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator != (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
                       const sub_match<BidirectionalIterator>& rhs); 
     

    - Effects: returns lhs - != rhs.str(). + Effects: returns lhs + != rhs.str().

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator < (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
                    const sub_match<BidirectionalIterator>& rhs); 
     

    - Effects: returns lhs - < rhs.str(). + Effects: returns lhs + < rhs.str().

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator > (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
                    const sub_match<BidirectionalIterator>& rhs); 
     

    - Effects: returns lhs - > rhs.str(). + Effects: returns lhs + > rhs.str().

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator >= (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
                       const sub_match<BidirectionalIterator>& rhs); 
     

    - Effects: returns lhs - >= rhs.str(). + Effects: returns lhs + >= rhs.str().

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator <= (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
                       const sub_match<BidirectionalIterator>& rhs); 
     

    - Effects: returns lhs - <= rhs.str(). + Effects: returns lhs + <= rhs.str().

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator == (const sub_match<BidirectionalIterator>& lhs, 
                       typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
     

    - Effects: returns lhs.str() - == rhs. + Effects: returns lhs.str() + == rhs.

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator != (const sub_match<BidirectionalIterator>& lhs, 
                       typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
     

    - Effects: returns lhs.str() - != rhs. + Effects: returns lhs.str() + != rhs.

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator < (const sub_match<BidirectionalIterator>& lhs, 
                    typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
     

    - Effects: returns lhs.str() - < rhs. + Effects: returns lhs.str() + < rhs.

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator > (const sub_match<BidirectionalIterator>& lhs, 
                    typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
     

    - Effects: returns lhs.str() - > rhs. + Effects: returns lhs.str() + > rhs.

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator >= (const sub_match<BidirectionalIterator>& lhs, 
                       typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
     

    - Effects: returns lhs.str() - >= rhs. + Effects: returns lhs.str() + >= rhs.

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator <= (const sub_match<BidirectionalIterator>& lhs, 
                       typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
     

    - Effects: returns lhs.str() - <= rhs. + Effects: returns lhs.str() + <= rhs.

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator == (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
                       const sub_match<BidirectionalIterator>& rhs); 
     

    - Effects: returns lhs - == rhs.str(). + Effects: returns lhs + == rhs.str().

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator != (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
                       const sub_match<BidirectionalIterator>& rhs); 
     

    - Effects: returns lhs - != rhs.str(). + Effects: returns lhs + != rhs.str().

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator < (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
                    const sub_match<BidirectionalIterator>& rhs); 
     

    - Effects: returns lhs - < rhs.str(). + Effects: returns lhs + < rhs.str().

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator > (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
                    const sub_match<BidirectionalIterator>& rhs); 
     

    - Effects: returns lhs - > rhs.str(). + Effects: returns lhs + > rhs.str().

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator >= (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
                       const sub_match<BidirectionalIterator>& rhs); 
     

    - Effects: returns lhs - >= rhs.str(). + Effects: returns lhs + >= rhs.str().

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator <= (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
                       const sub_match<BidirectionalIterator>& rhs); 
     

    - Effects: returns lhs - <= rhs.str(). + Effects: returns lhs + <= rhs.str().

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator == (const sub_match<BidirectionalIterator>& lhs, 
                       typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
     

    - Effects: returns lhs.str() - == rhs. + Effects: returns lhs.str() + == rhs.

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator != (const sub_match<BidirectionalIterator>& lhs, 
                       typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
     

    - Effects: returns lhs.str() - != rhs. + Effects: returns lhs.str() + != rhs.

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator < (const sub_match<BidirectionalIterator>& lhs, 
                    typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
     

    - Effects: returns lhs.str() - < rhs. + Effects: returns lhs.str() + < rhs.

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator > (const sub_match<BidirectionalIterator>& lhs, 
                    typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
     

    - Effects: returns lhs.str() - > rhs. + Effects: returns lhs.str() + > rhs.

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator >= (const sub_match<BidirectionalIterator>& lhs, 
                       typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
     

    - Effects: returns lhs.str() - >= rhs. + Effects: returns lhs.str() + >= rhs.

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     bool operator <= (const sub_match<BidirectionalIterator>& lhs, 
                       typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
     

    - Effects: returns lhs.str() - <= rhs. + Effects: returns lhs.str() + <= rhs.

    - The addition operators for sub_match allow you to add a sub_match - to any type to which you can add a std::string + The addition operators for sub_match allow you to add a sub_match + to any type to which you can add a std::string and obtain a new string as the result.

    -
    -template <class BidirectionalIterator, class traits, class Allocator> 
    +
    template <class BidirectionalIterator, class traits, class Allocator> 
     std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type, traits, Allocator> 
        operator + (const std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type, 
                                            traits, 
    @@ -994,13 +936,12 @@
                    const sub_match<BidirectionalIterator>& m); 
     

    - Effects: returns s - + m.str(). + Effects: returns s + + m.str().

    -
    -template <class BidirectionalIterator, class traits, class Allocator> 
    +
    template <class BidirectionalIterator, class traits, class Allocator> 
     std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>
        operator + (const sub_match<BidirectionalIterator>& m, 
                    const std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type, 
    @@ -1008,91 +949,86 @@
                                            Allocator>& s); 
     

    - Effects: returns m.str() - + s. + Effects: returns m.str() + + s.

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type> 
        operator + (typename iterator_traits<BidirectionalIterator>::value_type const* s, 
                    const sub_match<BidirectionalIterator>& m); 
     

    - Effects: returns s - + m.str(). + Effects: returns s + + m.str().

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type> 
        operator + (const sub_match<BidirectionalIterator>& m, 
                    typename iterator_traits<BidirectionalIterator>::value_type const * s);
     

    - Effects: returns m.str() - + s. + Effects: returns m.str() + + s.

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type> 
        operator + (typename iterator_traits<BidirectionalIterator>::value_type const& s, 
                    const sub_match<BidirectionalIterator>& m); 
     

    - Effects: returns s - + m.str(). + Effects: returns s + + m.str().

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type> 
        operator + (const sub_match<BidirectionalIterator>& m, 
                    typename iterator_traits<BidirectionalIterator>::value_type const& s); 
     

    - Effects: returns m.str() - + s. + Effects: returns m.str() + + s.

    -
    -template <class BidirectionalIterator> 
    +
    template <class BidirectionalIterator> 
     std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type> 
        operator + (const sub_match<BidirectionalIterator>& m1,
                    const sub_match<BidirectionalIterator>& m2);
     

    - Effects: returns m1.str() - + m2.str(). + Effects: returns m1.str() + + m2.str().

    -
    - +
    + Stream inserter -
    +

    -
    -template <class charT, class traits, class BidirectionalIterator>
    +
    template <class charT, class traits, class BidirectionalIterator>
     basic_ostream<charT, traits>&
        operator << (basic_ostream<charT, traits>& os
                    const sub_match<BidirectionalIterator>& m);
     

    - Effects: returns (os << m.str()). + Effects: returns (os << m.str()).

    - +

    +

    diff --git a/doc/html/boost_regex/ref/syntax_option_type.html b/doc/html/boost_regex/ref/syntax_option_type.html index 9a4e4ab1..1b85cd92 100644 --- a/doc/html/boost_regex/ref/syntax_option_type.html +++ b/doc/html/boost_regex/ref/syntax_option_type.html @@ -1,14 +1,13 @@ - syntax_option_type +syntax_option_type - + - - - + + + @@ -25,7 +24,8 @@
    syntax_option_type Synopsis
    @@ -43,10 +43,11 @@
    - +

    +

    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 6a93eee2..ebf60a22 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 @@ -1,16 +1,13 @@ - - Options for POSIX Basic Regular Expressions +Options for POSIX Basic Regular Expressions - + - - - + + + @@ -27,9 +24,9 @@

    Exactly one of the following must always be set for POSIX basic regular expressions: @@ -72,8 +69,7 @@

    @@ -205,7 +199,7 @@

    Specifies that when a regular expression is matched against a character container sequence, then no sub-expression matches are to be stored - in the supplied match_results structure. + in the supplied match_results structure.

    @@ -243,9 +237,8 @@ @@ -265,7 +258,7 @@

    Specifies that the \n character has the same effect as the alternation operator |. Allows newline separated lists to be used as a list - of alternatives. This bit is already set, if you use the grep option. + of alternatives. This bit is already set, if you use the grep option.

    @@ -282,7 +275,7 @@ @@ -301,9 +294,8 @@ @@ -358,7 +350,7 @@ @@ -376,7 +368,7 @@ @@ -386,10 +378,11 @@

    Specifies that the grammar recognized by the regular expression - engine is the same as that used by POSIX + engine is the same as that used by POSIX basic regular expressions in IEEE Std 1003.1-2001, Portable Operating System Interface (POSIX ), Base Definitions and Headers, Section 9, Regular Expressions (FWD.1). @@ -111,13 +107,12 @@

    Specifies that the grammar recognized by the regular expression - engine is the same as that used by POSIX utility grep in IEEE Std 1003.1-2001, + engine is the same as that used by POSIX utility grep in IEEE Std 1003.1-2001, Portable Operating System Interface (POSIX ), Shells and Utilities, Section 4, Utilit\ies, grep (FWD.1).

    - That is to say, the same as POSIX + That is to say, the same as POSIX basic syntax, but with the newline character acting as an alternation character; the expression is treated as a newline separated list of alternatives. @@ -137,8 +132,7 @@

    - Specifies that the grammar recognised is the superset of the POSIX-Basic syntax + Specifies that the grammar recognised is the superset of the POSIX-Basic syntax used by the emacs program.

    - Specifies that character ranges of the form [a-b] - should be locale sensitive. This bit is on by default for POSIX-Basic regular expressions, + Specifies that character ranges of the form [a-b] + should be locale sensitive. This bit is on by default for POSIX-Basic regular expressions, but can be unset to force ranges to be compared by code point only.

    - When set then character classes such as [[:alnum:]] + When set then character classes such as [[:alnum:]] are not allowed.

    When set this makes the escape character ordinary inside lists, - so that [\b] would match either '\' or 'b'. - This bit is on by default for POSIX-basic + so that [\b] would match either '\' or 'b'. + This bit is on by default for POSIX-basic regular expressions, but can be unset to force escapes to be recognised inside lists.

    @@ -339,8 +331,8 @@

    - When set then \? acts - as a zero-or-one repeat operator, and \+ + When set then \? acts + as a zero-or-one repeat operator, and \+ acts as a one-or-more repeat operator.

    - When set then \| acts + When set then \| acts as the alternation operator.

    - Prevents basic_regex from throwing + Prevents basic_regex from throwing an exception when an invalid expression is encountered.

    - +

    +

    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 9c11ca00..40b26c30 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 @@ -1,16 +1,13 @@ - - Options for POSIX Extended Regular Expressions +Options for POSIX Extended Regular Expressions - + - - - + + + @@ -27,12 +24,11 @@

    - Exactly one of the following must always be set for POSIX + Exactly one of the following must always be set for POSIX extended regular expressions:

    @@ -79,8 +75,7 @@ (FWD.1).

    - Refer to the POSIX + Refer to the POSIX extended regular expression guide for more information.

    @@ -111,8 +106,7 @@ grep (FWD.1).

    - That is to say, the same as POSIX + That is to say, the same as POSIX extended syntax, but with the newline character acting as an alternation character in addition to "|".

    @@ -137,8 +131,7 @@ and Utilities, Section 4, awk (FWD.1).

    - That is to say: the same as POSIX + That is to say: the same as POSIX extended syntax, but with escape sequences in character classes permitted.

    @@ -214,7 +207,7 @@

    Specifies that when a regular expression is matched against a character container sequence, then no sub-expression matches are to be stored - in the supplied match_results structure. + in the supplied match_results structure.

    @@ -252,7 +245,7 @@ @@ -340,10 +333,11 @@

    - Specifies that character ranges of the form [a-b] + Specifies that character ranges of the form [a-b] should be locale sensitive. This bit is on by default for POSIX-Extended regular expressions, but can be unset to force ranges to be compared by code point only. @@ -292,7 +285,7 @@

    When set this makes the escape character ordinary inside lists, - so that [\b] would match either '\' or 'b'. + so that [\b] would match either '\' or 'b'. This bit is on by default for POSIX-Extended regular expressions, but can be unset to force escapes to be recognised inside lists.

    @@ -330,7 +323,7 @@

    - Prevents basic_regex from throwing + Prevents basic_regex from throwing an exception when an invalid expression is encountered.

    - +

    +

    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 7e1ad83c..33b0e5b9 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 @@ -1,15 +1,13 @@ - - Options for Literal Strings +Options for Literal Strings - + - - - + + + @@ -26,9 +24,9 @@

    The following must always be set to interpret the expression as a string literal: @@ -145,10 +143,11 @@

    - +

    +

    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 e8d09cca..824e23a4 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 @@ -1,16 +1,13 @@ - - Overview of syntax_option_type +Overview of syntax_option_type - + - - - + + + @@ -27,38 +24,35 @@

    - The type syntax_option_type is an implementation + The type syntax_option_type is an implementation specific bitmask type (see C++ standard 17.3.2.1.2). Setting its elements - has the effects listed in the table below, a valid value of type syntax_option_type - will always have exactly one of the elements normal, - basic, extended, - awk, grep, - egrep, sed, - literal or perl set. + has the effects listed in the table below, a valid value of type syntax_option_type + will always have exactly one of the elements normal, + basic, extended, + awk, grep, + egrep, sed, + literal or perl set.

    Note that for convenience all the constants listed here are duplicated - within the scope of class template basic_regex, so you can use any + within the scope of class template basic_regex, so you can use any of:

    -
    -boost::regex_constants::constant_name
    +
    boost::regex_constants::constant_name
     

    or

    -
    -boost::regex::constant_name
    +
    boost::regex::constant_name
     

    or

    -
    -boost::wregex::constant_name
    +
    boost::wregex::constant_name
     

    in an interchangeable manner. @@ -66,10 +60,11 @@

    - +

    +

    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 36fea83b..31a70ec9 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 @@ -1,16 +1,13 @@ - - Options for Perl Regular Expressions +Options for Perl Regular Expressions - + - - - + + + @@ -27,9 +24,9 @@

    One of the following must always be set for perl regular expressions:

    @@ -76,12 +73,11 @@ part 10, RegExp (Regular Expression) Objects (FWD.1).

    - This is functionally identical to the Perl + This is functionally identical to the Perl regular expression syntax.

    - Boost.Regex also recognizes all of the perl-compatible (?...) extensions in this mode. + Boost.Regex also recognizes all of the perl-compatible (?...) extensions in this mode.

    @@ -215,7 +211,7 @@

    Specifies that when a regular expression is matched against a character container sequence, then no sub-expression matches are to be stored - in the supplied match_results structure. + in the supplied match_results structure.

    @@ -253,7 +249,7 @@ @@ -290,7 +286,7 @@ @@ -329,9 +325,9 @@ @@ -350,9 +346,9 @@ @@ -380,10 +376,11 @@

    - Specifies that character ranges of the form [a-b] + Specifies that character ranges of the form [a-b] should be locale sensitive.

    - Prevents basic_regex from throwing + Prevents basic_regex from throwing an exception when an invalid expression is encountered.

    Normally whether Boost.Regex will match "." against a - newline character is determined by the match flag match_dot_not_newline. Specifying - this flag is equivalent to prefixing the expression with (?-s) and therefore causes "." - not to match a newline character regardless of whether match_not_dot_newline is set + newline character is determined by the match flag match_dot_not_newline. Specifying + this flag is equivalent to prefixing the expression with (?-s) and therefore causes "." + not to match a newline character regardless of whether match_not_dot_newline is set in the match flags.

    Normally whether Boost.Regex will match "." against a - newline character is determined by the match flag match_dot_not_newline. Specifying - this flag is equivalent to prefixing the expression with (?s) and therefore causes "." - to match a newline character regardless of whether match_not_dot_newline is set + newline character is determined by the match flag match_dot_not_newline. Specifying + this flag is equivalent to prefixing the expression with (?s) and therefore causes "." + to match a newline character regardless of whether match_not_dot_newline is set in the match flags.

    - +

    +

    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 40e6d61f..099bab6f 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 @@ -1,15 +1,13 @@ - - syntax_option_type Synopsis +syntax_option_type Synopsis - + - - - + + + @@ -26,18 +24,17 @@

    - Type syntax_option_type + Type syntax_option_type is an implementation specific bitmask type that controls how a regular expression string is to be interpreted. For convenience note that all the constants listed here, are also duplicated within the scope of class template - basic_regex. + basic_regex.

    -
    -namespace std{ namespace regex_constants{
    +
    namespace std{ namespace regex_constants{
     
     typedef implementation-specific-bitmask-type syntax_option_type;
     
    @@ -65,10 +62,11 @@
     
     
    - +

    +

    diff --git a/doc/html/boost_regex/syntax.html b/doc/html/boost_regex/syntax.html index df1cc1bc..14a2b9bc 100644 --- a/doc/html/boost_regex/syntax.html +++ b/doc/html/boost_regex/syntax.html @@ -1,14 +1,13 @@ - Regular Expression Syntax +Regular Expression Syntax - + - - + + @@ -25,7 +24,8 @@
    Perl Regular Expression Syntax
    @@ -63,18 +63,15 @@

    @@ -82,25 +79,14 @@ You can also construct a regular expression that treats every character as a literal, but that's not really a "syntax"!

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    - +

    +

    diff --git a/doc/html/boost_regex/syntax/basic_extended.html b/doc/html/boost_regex/syntax/basic_extended.html index ba068602..e5287248 100644 --- a/doc/html/boost_regex/syntax/basic_extended.html +++ b/doc/html/boost_regex/syntax/basic_extended.html @@ -1,16 +1,13 @@ - POSIX Extended Regular - Expression Syntax +POSIX Extended Regular Expression Syntax - + - - - + + + @@ -27,60 +24,59 @@ +

    + Synopsis -

    +

    The POSIX-Extended regular expression syntax is supported by the POSIX C - regular expression API's, and variations are used by the utilities egrep and awk. + regular expression API's, and variations are used by the utilities egrep and awk. You can construct POSIX extended regular expressions in Boost.Regex by passing - the flag extended to the + the flag extended to the regex constructor, for example:

    -
    -// e1 is a case sensitive POSIX-Extended expression:
    +
    // e1 is a case sensitive POSIX-Extended expression:
     boost::regex e1(my_expression, boost::regex::extended);
     // e2 a case insensitive POSIX-Extended expression:
     boost::regex e2(my_expression, boost::regex::extended|boost::regex::icase);
     

    -

    - +

    + POSIX Extended Syntax -

    +

    In POSIX-Extended regular expressions, all characters match themselves except for the following special characters:

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

    - +

    + Wildcard: -
    +

    The single character '.' when used outside of a character set will match any single character except:

    • - The NULL character when the flag match_no_dot_null + The NULL character when the flag match_no_dot_null is passed to the matching algorithms.
    • - The newline character when the flag match_not_dot_newline + The newline character when the flag match_not_dot_newline is passed to the matching algorithms.
    -

    - +

    + Anchors: -
    +

    A '^' character shall match the start of a line when used as the first character of an expression, or the first character of a sub-expression. @@ -89,39 +85,39 @@ A '$' character shall match the end of a line when used as the last character of an expression, or the last character of a sub-expression.

    -

    - +

    + Marked sub-expressions: -
    +

    - A section beginning ( and ending - ) acts as a marked sub-expression. + A section beginning ( and ending + ) acts as a marked sub-expression. Whatever matched the sub-expression is split out in a separate field by the matching algorithms. Marked sub-expressions can also repeated, or referred to by a back-reference.

    -

    - +

    + Repeats: -
    +

    Any atom (a single character, a marked sub-expression, or a character class) - can be repeated with the *, - +, ?, - and {} operators. + can be repeated with the *, + +, ?, + and {} operators.

    - The * operator will match the + The * operator will match the preceding atom zero or more times, for example the expression - a*b will match any of the following: + a*b will match any of the following:

    b
     ab
     aaaaaaaab
     

    - The + operator will match the + The + operator will match the preceding atom one or more times, for example the expression a+b will match any of the following:

    @@ -134,9 +130,9 @@ aaaaaaaab
    b
     

    - The ? operator will match the + The ? operator will match the preceding atom zero or one times, for example the expression - ca?b will match any of the following: + ca?b will match any of the following:

    cb
     cab
    @@ -150,15 +146,15 @@ cab
             An atom can also be repeated with a bounded repeat:
           

    - a{n} Matches + a{n} Matches 'a' repeated exactly n times.

    - a{n,} Matches + a{n,} Matches 'a' repeated n or more times.

    - a{n, m} Matches 'a' repeated between n + a{n, m} Matches 'a' repeated between n and m times inclusive.

    @@ -168,32 +164,29 @@ cab

    Will match either of:

    -
    -aa
    +
    aa
     aaa
     

    But neither of:

    -
    -a
    +
    a
     aaaa
     

    It is an error to use a repeat operator, if the preceding construct can not be repeated, for example:

    -
    -a(*)
    +
    a(*)
     

    - Will raise an error, as there is nothing for the * + Will raise an error, as there is nothing for the * operator to be applied to.

    -

    - +

    + Back references: -
    +

    An escape character followed by a digit n, where n is in the range 1-9, matches the same string that was matched by sub-expression @@ -203,43 +196,41 @@ cab

    Will match the string:

    -
    -aaabbaaa
    +
    aaabbaaa
     

    But not the string:

    -
    -aaabba
    +
    aaabba
     
    -
    [Caution] Caution

    +

    The POSIX standard does not support back-references for "extended" regular expressions, this is a compatible extension to that standard.

    -

    - +

    + Alternation -
    +

    - The | operator will match either - of its arguments, so for example: abc|def will + The | operator will match either + of its arguments, so for example: abc|def will match either "abc" or "def".

    - Parenthesis can be used to group alternations, for example: ab(d|ef) + Parenthesis can be used to group alternations, for example: ab(d|ef) will match either of "abd" or "abef".

    -

    - +

    + Character sets: -
    +

    A character set is a bracket-expression starting with [ and ending with ], it defines a set of characters, and matches any single character that is @@ -248,109 +239,107 @@ cab

    A bracket expression may contain any combination of the following:

    -
    - +
    + Single characters: -
    +

    - For example [abc], will match any of the characters 'a', 'b', + For example [abc], will match any of the characters 'a', 'b', or 'c'.

    -
    - +
    + Character ranges: -
    +

    - For example [a-c] + For example [a-c] will match any single character in the range 'a' to 'c'. By default, for POSIX-Extended regular expressions, a character x is within the range y to z, if it collates within that range; this results in locale specific behavior . This - behavior can be turned off by unsetting the collate - option flag - in + behavior can be turned off by unsetting the collate + option flag - in which case whether a character appears within a range is determined by comparing the code points of the characters only.

    -
    - +
    + Negation: -
    +

    If the bracket-expression begins with the ^ character, then it matches the - complement of the characters it contains, for example [^a-c] matches any character that is not in the - range a-c. + complement of the characters it contains, for example [^a-c] matches any character that is not in the + range a-c.

    -
    - +
    + Character classes: -
    +

    - An expression of the form [[:name:]] - matches the named character class "name", for example [[:lower:]] matches any lower case character. See - character class names. + An expression of the form [[:name:]] + matches the named character class "name", for example [[:lower:]] matches any lower case character. See + character class names.

    -
    - +
    + Collating Elements: -
    +

    - An expression of the form [[.col.] matches + An expression of the form [[.col.] matches the collating element col. A collating element is any single character, or any sequence of characters that collates as a single unit. Collating elements may also be used as the end point of a range, for - example: [[.ae.]-c] + example: [[.ae.]-c] matches the character sequence "ae", plus any single character in the range "ae"-c, assuming that "ae" is treated as a single collating element in the current locale.

    Collating elements may be used in place of escapes (which are not normally - allowed inside character sets), for example [[.^.]abc] would + allowed inside character sets), for example [[.^.]abc] would match either one of the characters 'abc^'.

    - As an extension, a collating element may also be specified via its symbolic name, for example: + As an extension, a collating element may also be specified via its symbolic name, for example:

    -
    -[[.NUL.]]
    +
    [[.NUL.]]
     

    matches a NUL character.

    -
    - +
    + Equivalence classes: -
    +

    - An expression of the form [[=col=]], + An expression of the form [[=col=]], matches any character or collating element whose primary sort key is the same as that for collating element col, as with colating - elements the name col may be a symbolic + elements the name col may be a symbolic name. A primary sort key is one that ignores case, accentation, or - locale-specific tailorings; so for example [[=a=]] matches + locale-specific tailorings; so for example [[=a=]] matches any of the characters: a, À, Á, Â, Ã, Ä, Å, A, à, á, â, ã, ä and å. Unfortunately implementation of this is reliant on the platform's collation and localisation support; this feature can not be relied upon to work portably across all platforms, or even all locales on one platform.

    -
    - +
    + Combinations: -
    +

    All of the above can be combined in one character set declaration, for example: - [[:digit:]a-c[.NUL.]]. + [[:digit:]a-c[.NUL.]].

    -

    - +

    + Escapes -
    +

    The POSIX standard defines no escape sequences for POSIX-Extended regular expressions, except that: @@ -365,7 +354,7 @@ cab

  • An escape inside a character class declaration shall match itself: in other words the escape character is not "special" inside a character - class declaration; so [\^] + class declaration; so [\^] will match either a literal '\' or a '^'.
  • @@ -373,11 +362,11 @@ cab However, that's rather restrictive, so the following standard-compatible extensions are also supported by Boost.Regex:

    -
    - +
    + Escapes matching a specific character -
    +

    The following escape sequences are all synonyms for single characters:

    @@ -556,17 +545,17 @@ cab

    Matches the single character which has the symbolic name name. For - example \\N{newline} matches the single character \n. + example \\N{newline} matches the single character \n.

    -
    - +
    + "Single character" character classes: -
    +

    Any escaped character x, if x is the name of a character class shall match any character that is a member @@ -597,130 +586,130 @@ cab

    - \d + \d

    - [[:digit:]] + [[:digit:]]

    - \l + \l

    - [[:lower:]] + [[:lower:]]

    - \s + \s

    - [[:space:]] + [[:space:]]

    - \u + \u

    - [[:upper:]] + [[:upper:]]

    - \w + \w

    - [[:word:]] + [[:word:]]

    - \D + \D

    - [^[:digit:]] + [^[:digit:]]

    - \L + \L

    - [^[:lower:]] + [^[:lower:]]

    - \S + \S

    - [^[:space:]] + [^[:space:]]

    - \U + \U

    - [^[:upper:]] + [^[:upper:]]

    - \W + \W

    - [^[:word:]] + [^[:word:]]

    -
    - +
    + Character Properties -
    +

    The character property names in the following table are all equivalent to the names used in character classes. @@ -752,7 +741,7 @@ cab

    - \pX + \pX

    @@ -762,14 +751,14 @@ cab

    - [[:X:]] + [[:X:]]

    - \p{Name} + \p{Name}

    @@ -779,14 +768,14 @@ cab

    - [[:Name:]] + [[:Name:]]

    - \PX + \PX

    @@ -796,14 +785,14 @@ cab

    - [^[:X:]] + [^[:X:]]

    - \P{Name} + \P{Name}

    @@ -813,20 +802,20 @@ cab

    - [^[:Name:]] + [^[:Name:]]

    - For example \pd - matches any "digit" character, as does \p{digit}. + For example \pd + matches any "digit" character, as does \p{digit}.

    -
    - +
    + Word Boundaries -
    +

    The following escape sequences match the boundaries of words:

    @@ -851,7 +840,7 @@ cab

    - \< + \<

    @@ -863,7 +852,7 @@ cab

    - \> + \>

    @@ -875,7 +864,7 @@ cab

    - \b + \b

    @@ -887,7 +876,7 @@ cab

    - \B + \B

    @@ -898,11 +887,11 @@ cab
    -
    - +
    + Buffer boundaries -
    +

    The following match only at buffer boundaries: a "buffer" in this context is the whole of the input text that is being matched against (note @@ -953,7 +942,7 @@ cab

    - \A + \A

    @@ -965,7 +954,7 @@ cab

    - \z + \z

    @@ -977,50 +966,49 @@ cab

    - \Z + \Z

    Matches an optional sequence of newlines at the end of a buffer: - equivalent to the regular expression \n*\z + equivalent to the regular expression \n*\z

    -
    - +
    + Continuation Escape -
    +

    - The sequence \G + The sequence \G matches only at the end of the last match found, or at the start of the text being matched if no previous match was found. This escape useful if you're iterating over the matches contained within a text, and you want each subsequence match to start where the last one ended.

    -
    - +
    + Quoting escape -
    +

    - The escape sequence \Q + The escape sequence \Q begins a "quoted sequence": all the subsequent characters are treated - as literals, until either the end of the regular expression or \E is found. - For example the expression: \Q\*+\Ea+ would match either of: + as literals, until either the end of the regular expression or \E is found. + For example the expression: \Q\*+\Ea+ would match either of:

    -
    -\*+a
    +
    \*+a
     \*+aaa
     
    -
    - +
    + Unicode escapes -
    +
    @@ -1042,7 +1030,7 @@ cab

    - \C + \C

    @@ -1055,7 +1043,7 @@ cab

    - \X + \X

    @@ -1067,40 +1055,40 @@ cab
    -
    - +
    + Any other escape -
    +

    Any other escape sequence matches the character that is escaped, for example \@ matches a literal '@'.

    -

    - +

    + Operator precedence -
    +

    The order of precedence for of operators is as follows:

    1. - Collation-related bracket symbols [==] - [::] [..] + Collation-related bracket symbols [==] + [::] [..]
    2. - Escaped characters \ + Escaped characters \
    3. - Character set (bracket expression) [] + Character set (bracket expression) []
    4. - Grouping () + Grouping ()
    5. - Single-character-ERE duplication * - + ? {m,n} + Single-character-ERE duplication * + + ? {m,n}
    6. Concatenation @@ -1109,50 +1097,48 @@ cab Anchoring ^$
    7. - Alternation | + Alternation |
    -

    - +

    + What Gets Matched -
    +

    When there is more that one way to match a regular expression, the "best" - possible match is obtained using the leftmost-longest + possible match is obtained using the leftmost-longest rule.

    -

    - +

    + Variations -

    -

    - - Egrep

    +
    + + Egrep +

    - When an expression is compiled with the flag - egrep set, then the + When an expression is compiled with the flag + egrep set, then the expression is treated as a newline separated list of POSIX-Extended expressions, a match is found if any of the expressions in the list match, for example:

    -
    -boost::regex e("abc\ndef", boost::regex::egrep);
    +
    boost::regex e("abc\ndef", boost::regex::egrep);
     

    will match either of the POSIX-Basic expressions "abc" or "def".

    As its name suggests, this behavior is consistent with the Unix utility - egrep, and with grep when + egrep, and with grep when used with the -E option.

    -

    - +

    + awk -
    +

    In addition to the POSIX-Extended features the escape character is special inside a character class @@ -1163,26 +1149,23 @@ cab specification are required to be supported - however Boost.Regex supports these by default anyway.

    -

    - +

    + Options -

    +

    - There are a variety - of flags that may be combined with the extended - and egrep options when constructing - the regular expression, in particular note that the newline_alt option alters the syntax, - while the collate, nosubs - and icase options + There are a variety + of flags that may be combined with the extended + and egrep options when constructing + the regular expression, in particular note that the newline_alt option alters the syntax, + while the collate, nosubs + and icase options modify how the case and locale sensitivity are to be applied.

    -

    - +

    + References -

    +

    IEEE Std 1003.1-2001, Portable Operating System Interface (POSIX ), Base Definitions @@ -1201,10 +1184,11 @@ cab

    - +

    +

    diff --git a/doc/html/boost_regex/syntax/basic_syntax.html b/doc/html/boost_regex/syntax/basic_syntax.html index 2e1fbf33..d1a0af81 100644 --- a/doc/html/boost_regex/syntax/basic_syntax.html +++ b/doc/html/boost_regex/syntax/basic_syntax.html @@ -1,16 +1,13 @@ - POSIX Basic Regular - Expression Syntax +POSIX Basic Regular Expression Syntax - + - - - + + + @@ -27,59 +24,58 @@ +

    + Synopsis -

    +

    - The POSIX-Basic regular expression syntax is used by the Unix utility sed, and variations are used by grep and emacs. + The POSIX-Basic regular expression syntax is used by the Unix utility sed, and variations are used by grep and emacs. You can construct POSIX basic regular expressions in Boost.Regex by passing - the flag basic to the regex - constructor (see syntax_option_type), for example: + the flag basic to the regex + constructor (see syntax_option_type), for example:

    -
    -// e1 is a case sensitive POSIX-Basic expression:
    +
    // e1 is a case sensitive POSIX-Basic expression:
     boost::regex e1(my_expression, boost::regex::basic);
     // e2 a case insensitive POSIX-Basic expression:
     boost::regex e2(my_expression, boost::regex::basic|boost::regex::icase);
     

    -

    - +

    + POSIX Basic Syntax -

    +

    In POSIX-Basic regular expressions, all characters are match themselves except for the following special characters:

    .[\*^$
    -

    - +

    + Wildcard: -
    +

    The single character '.' when used outside of a character set will match any single character except:

    • - The NULL character when the flag match_no_dot_null + The NULL character when the flag match_no_dot_null is passed to the matching algorithms.
    • - The newline character when the flag match_not_dot_newline + The newline character when the flag match_not_dot_newline is passed to the matching algorithms.
    -

    - +

    + Anchors: -
    +

    A '^' character shall match the start of a line when used as the first character of an expression, or the first character of a sub-expression. @@ -88,30 +84,30 @@ A '$' character shall match the end of a line when used as the last character of an expression, or the last character of a sub-expression.

    -

    - +

    + Marked sub-expressions: -
    +

    - A section beginning \( and ending - \) acts as a marked sub-expression. + A section beginning \( and ending + \) acts as a marked sub-expression. Whatever matched the sub-expression is split out in a separate field by the matching algorithms. Marked sub-expressions can also repeated, or referred-to by a back-reference.

    -

    - +

    + Repeats: -
    +

    Any atom (a single character, a marked sub-expression, or a character class) can be repeated with the * operator.

    - For example a* + For example a* will match any number of letter a's repeated zero or more times (an atom - repeated zero times matches an empty string), so the expression a*b + repeated zero times matches an empty string), so the expression a*b will match any of the following:

    b
    @@ -122,15 +118,15 @@ aaaaaaaab
             An atom can also be repeated with a bounded repeat:
           

    - a\{n\} Matches + a\{n\} Matches 'a' repeated exactly n times.

    - a\{n,\} Matches + a\{n,\} Matches 'a' repeated n or more times.

    - a\{n, m\} Matches 'a' repeated between n and m times + a\{n, m\} Matches 'a' repeated between n and m times inclusive.

    @@ -158,10 +154,10 @@ aaaa Will raise an error, as there is nothing for the * operator to be applied to.

    -

    - +

    + Back references: -
    +

    An escape character followed by a digit n, where n is in the range 1-9, matches the same string that was matched by sub-expression @@ -176,11 +172,11 @@ aaaa But not the string:

    aaabba
    -

    - +

    + Character sets: -
    +

    A character set is a bracket-expression starting with [ and ending with ], it defines a set of characters, and matches any single character that is @@ -189,69 +185,68 @@ aaaa

    A bracket expression may contain any combination of the following:

    -
    - +
    + Single characters: -
    +

    - For example [abc], will match any of the characters 'a', 'b', + For example [abc], will match any of the characters 'a', 'b', or 'c'.

    -
    - +
    + Character ranges: -
    +

    - For example [a-c] + For example [a-c] will match any single character in the range 'a' to 'c'. By default, for POSIX-Basic regular expressions, a character x is within the range y to z, if it collates within that range; this results in locale specific behavior. This behavior - can be turned off by unsetting the collate + can be turned off by unsetting the collate option flag when constructing the regular expression - in which case whether a character appears within a range is determined by comparing the code points of the characters only.

    -
    - +
    + Negation: -
    +

    If the bracket-expression begins with the ^ character, then it matches the - complement of the characters it contains, for example [^a-c] matches any character that is not in the + complement of the characters it contains, for example [^a-c] matches any character that is not in the range a-c.

    -
    - +
    + Character classes: -
    +

    - An expression of the form [[:name:]] - matches the named character class "name", for example [[:lower:]] matches any lower case character. See - character class names. + An expression of the form [[:name:]] + matches the named character class "name", for example [[:lower:]] matches any lower case character. See + character class names.

    -
    - +
    + Collating Elements: -
    +

    - An expression of the form [[.col.] matches + An expression of the form [[.col.] matches the collating element col. A collating element is any single character, or any sequence of characters that collates as a single unit. Collating elements may also be used as the end point of a range, for - example: [[.ae.]-c] + example: [[.ae.]-c] matches the character sequence "ae", plus any single character in the rangle "ae"-c, assuming that "ae" is treated as a single collating element in the current locale.

    Collating elements may be used in place of escapes (which are not normally - allowed inside character sets), for example [[.^.]abc] would + allowed inside character sets), for example [[.^.]abc] would match either one of the characters 'abc^'.

    @@ -260,38 +255,38 @@ aaaa

    [[.NUL.]]

    - matches a 'NUL' character. See collating + matches a 'NUL' character. See collating element names.

    -
    - +
    + Equivalence classes: -
    +

    - An expression of theform [[=col=]], + An expression of theform [[=col=]], matches any character or collating element whose primary sort key is the same as that for collating element col, as with collating - elements the name col may be a collating + elements the name col may be a collating symbolic name. A primary sort key is one that ignores case, accentation, - or locale-specific tailorings; so for example [[=a=]] matches + or locale-specific tailorings; so for example [[=a=]] matches any of the characters: a, À, Á, Â, Ã, Ä, Å, A, à, á, â, ã, ä and å. Unfortunately implementation of this is reliant on the platform's collation and localisation support; this feature can not be relied upon to work portably across all platforms, or even all locales on one platform.

    -
    - +
    + Combinations: -
    +

    All of the above can be combined in one character set declaration, for example: - [[:digit:]a-c[.NUL.]]. + [[:digit:]a-c[.NUL.]].

    -

    - +

    + Escapes -
    +

    With the exception of the escape sequences \{, \}, \(, and \), which are documented above, an escape followed by any character matches that character. @@ -300,37 +295,35 @@ aaaa

    .[\*^$

    "ordinary". Note that the escape character loses its special meaning - inside a character set, so [\^] + inside a character set, so [\^] will match either a literal '\' or a '^'.

    -

    - +

    + What Gets Matched -

    -

    - When there is more that one way to match a regular expression, the "best" - possible match is obtained using the leftmost-longest - rule. -

    -

    - - Variations -

    -

    -

    -

    - - Grep

    - When an expression is compiled with the flag grep + When there is more that one way to match a regular expression, the "best" + possible match is obtained using the leftmost-longest + rule. +

    +

    + + Variations +

    +

    +

    +
    + + Grep +
    +

    + When an expression is compiled with the flag grep set, then the expression is treated as a newline separated list of POSIX-Basic expressions, a match is found if any of the expressions in the list match, for example:

    -
    -boost::regex e("abc\ndef", boost::regex::grep);
    +
    boost::regex e("abc\ndef", boost::regex::grep);
     

    will match either of the POSIX-Basic @@ -339,10 +332,10 @@ aaaa

    As its name suggests, this behavior is consistent with the Unix utility grep.

    -

    - +

    + emacs -
    +

    In addition to the POSIX-Basic features the following characters are also special: @@ -616,31 +609,27 @@ aaaa according to the Perl "depth first search" rules. Emacs expressions are matched this way because they contain Perl-like extensions, that do not interact - well with the POSIX-style + well with the POSIX-style leftmost-longest rule.

    -

    - +

    + Options -

    +

    - There are a variety - of flags that may be combined with the basic - and grep options when constructing - the regular expression, in particular note that the newline_alt, no_char_classes, - no-intervals, bk_plus_qm - and bk_plus_vbar options - all alter the syntax, while the collate and icase + There are a variety + of flags that may be combined with the basic + and grep options when constructing + the regular expression, in particular note that the newline_alt, no_char_classes, + no-intervals, bk_plus_qm + and bk_plus_vbar options + all alter the syntax, while the collate and icase options modify how the case and locale sensitivity are to be applied.

    -

    - +

    + References -

    +

    IEEE Std 1003.1-2001, Portable Operating System Interface (POSIX ), Base Definitions @@ -657,10 +646,11 @@ aaaa

    - +

    +

    diff --git a/doc/html/boost_regex/syntax/character_classes.html b/doc/html/boost_regex/syntax/character_classes.html index 12d9356e..8a88baf5 100644 --- a/doc/html/boost_regex/syntax/character_classes.html +++ b/doc/html/boost_regex/syntax/character_classes.html @@ -1,16 +1,13 @@ - Character Class - Names +Character Class Names - + - - - + + + @@ -27,9 +24,9 @@
    - +

    +

    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 631ddf24..f9ca8d6e 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 @@ -1,16 +1,13 @@ - - Character classes that are supported by Unicode Regular Expressions +Character classes that are supported by Unicode Regular Expressions - + - - - + + + @@ -27,12 +24,12 @@

    The following character classes are only supported by Unicode Regular Expressions: - that is those that use the u32regex + that is those that use the u32regex type. The names used are the same as those from Chapter 4 of the Unicode standard.

    @@ -536,10 +533,11 @@
    - +

    +

    diff --git a/doc/html/boost_regex/syntax/character_classes/std_char_clases.html b/doc/html/boost_regex/syntax/character_classes/std_char_clases.html index 4a6bbd08..1d1f612e 100644 --- a/doc/html/boost_regex/syntax/character_classes/std_char_clases.html +++ b/doc/html/boost_regex/syntax/character_classes/std_char_clases.html @@ -1,17 +1,13 @@ - - Character Classes that are Always Supported +Character Classes that are Always Supported - + - - - + + + @@ -28,9 +24,9 @@

    The following character class names are always supported by Boost.Regex:

    @@ -386,10 +382,11 @@
    - +

    +

    diff --git a/doc/html/boost_regex/syntax/collating_names.html b/doc/html/boost_regex/syntax/collating_names.html index 991967a1..6fc589cd 100644 --- a/doc/html/boost_regex/syntax/collating_names.html +++ b/doc/html/boost_regex/syntax/collating_names.html @@ -1,14 +1,13 @@ - Collating Names +Collating Names - + - - - + + + @@ -25,7 +24,8 @@
    - +

    +

    diff --git a/doc/html/boost_regex/syntax/collating_names/digraphs.html b/doc/html/boost_regex/syntax/collating_names/digraphs.html index de77c8cc..55b9ee20 100644 --- a/doc/html/boost_regex/syntax/collating_names/digraphs.html +++ b/doc/html/boost_regex/syntax/collating_names/digraphs.html @@ -1,14 +1,13 @@ - Digraphs +Digraphs - + - - - + + + @@ -25,7 +24,8 @@

    The following are treated as valid digraphs when used as a collating name:

    @@ -47,10 +47,11 @@
    - +

    +

    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 4d8e0ca4..2fbedb55 100644 --- a/doc/html/boost_regex/syntax/collating_names/named_unicode.html +++ b/doc/html/boost_regex/syntax/collating_names/named_unicode.html @@ -1,16 +1,13 @@ - - Named Unicode Characters +Named Unicode Characters - + - - - + + + @@ -27,12 +24,12 @@

    - When using Unicode aware regular expressions - (with the u32regex type), + When using Unicode aware regular expressions + (with the u32regex type), all the normal symbolic names for Unicode characters (those given in Unidata.txt) are recognised. So for example:

    @@ -43,10 +40,11 @@
    - +

    +

    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 91f5931b..fddfa5ac 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 @@ -1,15 +1,13 @@ - - POSIX Symbolic Names +POSIX Symbolic Names - + - - - + + + @@ -26,9 +24,9 @@

    The following symbolic names are recognised as valid collating element names, in addition to any single character, this allows you to write for @@ -973,10 +971,11 @@

    - +

    +

    diff --git a/doc/html/boost_regex/syntax/leftmost_longest_rule.html b/doc/html/boost_regex/syntax/leftmost_longest_rule.html index 27d5a838..f64d70c0 100644 --- a/doc/html/boost_regex/syntax/leftmost_longest_rule.html +++ b/doc/html/boost_regex/syntax/leftmost_longest_rule.html @@ -1,15 +1,13 @@ - The Leftmost - Longest Rule +The Leftmost Longest Rule - + - - - + + + @@ -26,9 +24,9 @@

    Often there is more than one way of matching a regular expression at a particular location, for POSIX basic and extended regular expressions, the "best" @@ -67,10 +65,11 @@

    - +

    +

    diff --git a/doc/html/boost_regex/syntax/perl_syntax.html b/doc/html/boost_regex/syntax/perl_syntax.html index dc98edba..1de10b79 100644 --- a/doc/html/boost_regex/syntax/perl_syntax.html +++ b/doc/html/boost_regex/syntax/perl_syntax.html @@ -1,15 +1,13 @@ - Perl Regular Expression - Syntax +Perl Regular Expression Syntax - + - - - + + + @@ -26,156 +24,150 @@ +

    + Synopsis -

    +

    The Perl regular expression syntax is based on that used by the programming language Perl . Perl regular expressions are the default behavior in Boost.Regex - or you can pass the flag perl - to the basic_regex + or you can pass the flag perl + to the basic_regex constructor, for example:

    -
    -// e1 is a case sensitive Perl regular expression: 
    +
    // e1 is a case sensitive Perl regular expression: 
     // since Perl is the default option there's no need to explicitly specify the syntax used here:
     boost::regex e1(my_expression);
     // e2 a case insensitive Perl regular expression:
     boost::regex e2(my_expression, boost::regex::perl|boost::regex::icase);
     
    -

    - +

    + Perl Regular Expression Syntax -

    +

    In Perl regular expressions, all characters match themselves except for the following special characters:

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

    - +

    + Wildcard -
    +

    The single character '.' when used outside of a character set will match any single character except:

    -

    - +

    + Anchors -
    +

    A '^' character shall match the start of a line.

    A '$' character shall match the end of a line.

    -

    - +

    + Marked sub-expressions -
    +

    - A section beginning ( and ending - ) acts as a marked sub-expression. + A section beginning ( and ending + ) acts as a marked sub-expression. Whatever matched the sub-expression is split out in a separate field by the matching algorithms. Marked sub-expressions can also repeated, or referred to by a back-reference.

    -

    - +

    + Non-marking grouping -
    +

    A marked sub-expression is useful to lexically group part of a regular expression, but has the side-effect of spitting out an extra field in the result. As an alternative you can lexically group part of a regular expression, without - generating a marked sub-expression by using (?: - and ) , for example (?:ab)+ - will repeat ab without splitting + generating a marked sub-expression by using (?: + and ) , for example (?:ab)+ + will repeat ab without splitting out any separate sub-expressions.

    -

    - +

    + Repeats -
    +

    Any atom (a single character, a marked sub-expression, or a character class) - can be repeated with the *, - +, ?, - and {} operators. + can be repeated with the *, + +, ?, + and {} operators.

    - The * operator will match the - preceding atom zero or more times, for example the expression a*b + The * operator will match the + preceding atom zero or more times, for example the expression a*b will match any of the following:

    -
    -b
    +
    b
     ab
     aaaaaaaab
     

    - The + operator will match the - preceding atom one or more times, for example the expression a+b + The + operator will match the + preceding atom one or more times, for example the expression a+b will match any of the following:

    -
    -ab
    +
    ab
     aaaaaaaab
     

    But will not match:

    -
    -b
    +
    b
     

    - The ? operator will match the + The ? operator will match the preceding atom zero or one times, for example the expression ca?b will match any of the following:

    -
    -cb
    +
    cb
     cab
     

    But will not match:

    -
    -caab
    +
    caab
     

    An atom can also be repeated with a bounded repeat:

    - a{n} Matches + a{n} Matches 'a' repeated exactly n times.

    - a{n,} Matches + a{n,} Matches 'a' repeated n or more times.

    - a{n, m} Matches 'a' repeated between n and m times + a{n, m} Matches 'a' repeated between n and m times inclusive.

    @@ -185,63 +177,60 @@

    Will match either of:

    -
    -aa
    +
    aa
     aaa
     

    But neither of:

    -
    -a
    +
    a
     aaaa
     

    It is an error to use a repeat operator, if the preceding construct can not be repeated, for example:

    -
    -a(*)
    +
    a(*)
     

    - Will raise an error, as there is nothing for the * + Will raise an error, as there is nothing for the * operator to be applied to.

    -

    - +

    + Non greedy repeats -
    +

    The normal repeat operators are "greedy", that is to say they will consume as much input as possible. There are non-greedy versions available that will consume as little input as possible while still producing a match.

    - *? Matches the previous atom + *? Matches the previous atom zero or more times, while consuming as little input as possible.

    - +? Matches the previous atom + +? Matches the previous atom one or more times, while consuming as little input as possible.

    - ?? Matches the previous atom + ?? Matches the previous atom zero or one times, while consuming as little input as possible.

    - {n,}? Matches the previous atom n or more times, + {n,}? Matches the previous atom n or more times, while consuming as little input as possible.

    - {n,m}? + {n,m}? Matches the previous atom between n and m times, while consuming as little input as possible.

    -

    - +

    + Back references -
    +

    An escape character followed by a digit n, where n is in the range 1-9, matches the same string that was matched by sub-expression @@ -251,165 +240,160 @@

    Will match the string:

    -
    -aaabbaaa
    +
    aaabbaaa
     

    But not the string:

    -
    -aaabba
    +
    aaabba
     
    -

    - +

    + Alternation -
    +

    - The | operator will match either - of its arguments, so for example: abc|def will + The | operator will match either + of its arguments, so for example: abc|def will match either "abc" or "def".

    - Parenthesis can be used to group alternations, for example: ab(d|ef) + Parenthesis can be used to group alternations, for example: ab(d|ef) will match either of "abd" or "abef".

    Empty alternatives are not allowed (these are almost always a mistake), but - if you really want an empty alternative use (?:) + if you really want an empty alternative use (?:) as a placeholder, for example:

    - |abc + |abc is not a valid expression, but

    - (?:)|abc + (?:)|abc is and is equivalent, also the expression:

    - (?:abc)?? has exactly the same effect. + (?:abc)?? has exactly the same effect.

    -

    - +

    + Character sets -
    +

    - A character set is a bracket-expression starting with [ - and ending with ], it defines + A character set is a bracket-expression starting with [ + and ending with ], it defines a set of characters, and matches any single character that is a member of that set.

    A bracket expression may contain any combination of the following:

    -
    - +
    + Single characters -
    +

    - For example [abc], will match any of the characters 'a', 'b', + For example [abc], will match any of the characters 'a', 'b', or 'c'.

    -
    - +
    + Character ranges -
    +

    - For example [a-c] + For example [a-c] will match any single character in the range 'a' to 'c'. By default, for Perl regular expressions, a character x is within the range y to z, if the code point of the character lies within the codepoints of the endpoints of - the range. Alternatively, if you set the collate flag when constructing the + the range. Alternatively, if you set the collate flag when constructing the regular expression, then ranges are locale sensitive.

    -
    - +
    + Negation -
    +

    If the bracket-expression begins with the ^ character, then it matches the - complement of the characters it contains, for example [^a-c] matches any character that is not in the - range a-c. + complement of the characters it contains, for example [^a-c] matches any character that is not in the + range a-c.

    -
    - +
    + Character classes -
    +

    - An expression of the form [[:name:]] - matches the named character class "name", for example [[:lower:]] matches any lower case character. See - character class names. + An expression of the form [[:name:]] + matches the named character class "name", for example [[:lower:]] matches any lower case character. See + character class names.

    -
    - +
    + Collating Elements -
    +

    - An expression of the form [[.col.] matches + An expression of the form [[.col.] matches the collating element col. A collating element is any single character, or any sequence of characters that collates as a single unit. Collating elements may also be used as the end point of a range, for - example: [[.ae.]-c] + example: [[.ae.]-c] matches the character sequence "ae", plus any single character in the range "ae"-c, assuming that "ae" is treated as a single collating element in the current locale.

    - As an extension, a collating element may also be specified via it's symbolic name, for example: + As an extension, a collating element may also be specified via it's symbolic name, for example:

    -
    -[[.NUL.]]
    +
    [[.NUL.]]
     

    - matches a \0 + matches a \0 character.

    -
    - +
    + Equivalence classes -
    +

    - An expression of the form [[=col=]], + An expression of the form [[=col=]], matches any character or collating element whose primary sort key is the same as that for collating element col, as with collating - elements the name col may be a symbolic + elements the name col may be a symbolic name. A primary sort key is one that ignores case, accentation, or - locale-specific tailorings; so for example [[=a=]] matches + locale-specific tailorings; so for example [[=a=]] matches any of the characters: a, À, Á, Â, Ã, Ä, Å, A, à, á, â, ã, ä and å. Unfortunately implementation of this is reliant on the platform's collation and localisation support; this feature can not be relied upon to work portably across all platforms, or even all locales on one platform.

    -
    - +
    + Escaped Characters -
    +

    All the escape sequences that match a single character, or a single character - class are permitted within a character class definition. For example [\[\]] would match either of [ or ] - while [\W\d] + class are permitted within a character class definition. For example [\[\]] would match either of [ or ] + while [\W\d] would match any character that is either a "digit", or is not a "word" character.

    -
    - +
    + Combinations -
    +

    All of the above can be combined in one character set declaration, for example: - [[:digit:]a-c[.NUL.]]. + [[:digit:]a-c[.NUL.]].

    -

    - +

    + Escapes -
    +

    Any special character preceded by an escape shall match itself.

    @@ -437,97 +421,97 @@
    @@ -535,7 +519,7 @@

    - \a + \a

    - \a + \a

    - \e + \e

    - 0x1B + 0x1B

    - \f + \f

    - \f + \f

    - \n + \n

    - \n + \n

    - \r + \r

    - \r + \r

    - \t + \t

    - \t + \t

    - \v - + \v +

    - \v + \v

    - \b + \b

    - \b + \b (but only inside a character class declaration).

    - \cX + \cX

    @@ -548,7 +532,7 @@

    - \xdd + \xdd

    @@ -561,7 +545,7 @@

    - \x{dddd} + \x{dddd}

    @@ -574,7 +558,7 @@

    - \0ddd + \0ddd

    @@ -587,23 +571,23 @@

    - \N{name} + \N{name}

    - Matches the single character which has the symbolic - name name. For example \N{newline} matches the single character \n. + Matches the single character which has the symbolic + name name. For example \N{newline} matches the single character \n.

    -
    - +
    + "Single character" character classes: -
    +

    Any escaped character x, if x is the name of a character class shall match any character that is a member @@ -634,134 +618,133 @@

    - \d + \d

    - [[:digit:]] + [[:digit:]]

    - \l + \l

    - [[:lower:]] + [[:lower:]]

    - \s + \s

    - [[:space:]] + [[:space:]]

    - \u + \u

    - [[:upper:]] + [[:upper:]]

    - \w + \w

    - [[:word:]] + [[:word:]]

    - \D + \D

    - [^[:digit:]] + [^[:digit:]]

    - \L + \L

    - [^[:lower:]] + [^[:lower:]]

    - \S + \S

    - [^[:space:]] + [^[:space:]]

    - \U + \U

    - [^[:upper:]] + [^[:upper:]]

    - \W + \W

    - [^[:word:]] + [^[:word:]]

    -
    - +
    + Character Properties -
    +

    The character property names in the following table are all equivalent to - the names used in character + the names used in character classes.

    @@ -791,7 +774,7 @@

    - \pX + \pX

    @@ -801,14 +784,14 @@

    - [[:X:]] + [[:X:]]

    - \p{Name} + \p{Name}

    @@ -818,14 +801,14 @@

    - [[:Name:]] + [[:Name:]]

    - \PX + \PX

    @@ -835,14 +818,14 @@

    - [^[:X:]] + [^[:X:]]

    - \P{Name} + \P{Name}

    @@ -852,42 +835,42 @@

    - [^[:Name:]] + [^[:Name:]]

    - For example \pd - matches any "digit" character, as does \p{digit}. + For example \pd + matches any "digit" character, as does \p{digit}.

    -
    - +
    + Word Boundaries -
    +

    The following escape sequences match the boundaries of words:

    - \< Matches the start of a + \< Matches the start of a word.

    - \> Matches the end of a word. + \> Matches the end of a word.

    - \b + \b Matches a word boundary (the start or end of a word).

    - \B + \B Matches only when not at a word boundary.

    -
    - +
    + Buffer boundaries -
    +

    The following match only at buffer boundaries: a "buffer" in this context is the whole of the input text that is being matched against (note @@ -907,106 +890,105 @@

    \Z Matches an optional sequence of newlines at the end of a buffer: equivalent - to the regular expression \n*\z + to the regular expression \n*\z

    -
    - +
    + Continuation Escape -
    +

    - The sequence \G + The sequence \G matches only at the end of the last match found, or at the start of the text being matched if no previous match was found. This escape useful if you're iterating over the matches contained within a text, and you want each subsequence match to start where the last one ended.

    -
    - +
    + Quoting escape -
    +

    - The escape sequence \Q + The escape sequence \Q begins a "quoted sequence": all the subsequent characters are treated as literals, until either the end of the regular expression or \E is found. - For example the expression: \Q\*+\Ea+ would match either of: + For example the expression: \Q\*+\Ea+ would match either of:

    -
    -\*+a
    +
    \*+a
     \*+aaa
     
    -
    - +
    + Unicode escapes -
    +

    - \C + \C Matches a single code point: in Boost regex this has exactly the same effect - as a "." operator. \X Matches a combining character sequence: + as a "." operator. \X Matches a combining character sequence: that is any non-combining character followed by a sequence of zero or more combining characters.

    -
    - +
    + Any other escape -
    +

    Any other escape sequence matches the character that is escaped, for example \@ matches a literal '@'.

    -

    - +

    + Perl Extended Patterns -
    +

    Perl-specific extensions to the regular expression syntax all start with - (?. + (?.

    -
    - +
    + Comments -
    +

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

    -
    - +
    + Modifiers -
    +

    - (?imsx-imsx ... ) alters + (?imsx-imsx ... ) alters which of the perl modifiers are in effect within the pattern, changes take effect from the point that the block is first seen and extend to any enclosing - ). Letters before a '-' turn + ). Letters before a '-' turn that perl modifier on, letters afterward, turn it off.

    - (?imsx-imsx:pattern) + (?imsx-imsx:pattern) applies the specified modifiers to pattern only.

    -
    - +
    + Non-marking groups -
    +

    - (?:pattern) lexically groups pattern, without generating + (?:pattern) lexically groups pattern, without generating an additional sub-expression.

    -
    - +
    + Lookahead -
    +

    - (?=pattern) consumes zero characters, only if pattern + (?=pattern) consumes zero characters, only if pattern matches.

    - (?!pattern) consumes zero characters, only if pattern + (?!pattern) consumes zero characters, only if pattern does not match.

    @@ -1015,51 +997,50 @@ letter, a punctuation symbol, and be at least 6 characters long, then the expression:

    -
    -(?=.*[[:lower:]])(?=.*[[:upper:]])(?=.*[[:punct:]]).{6,}
    +
    (?=.*[[:lower:]])(?=.*[[:upper:]])(?=.*[[:punct:]]).{6,}
     

    could be used to validate the password.

    -
    - +
    + Lookbehind -
    +

    - (?<=pattern) consumes zero characters, only if pattern + (?<=pattern) consumes zero characters, only if pattern could be matched against the characters preceding the current position (pattern must be of fixed length).

    - (?<!pattern) consumes zero characters, only if pattern + (?<!pattern) consumes zero characters, only if pattern could not be matched against the characters preceding the current position (pattern must be of fixed length).

    -
    - +
    + Independent sub-expressions -
    +

    - (?>pattern) pattern is matched + (?>pattern) pattern is matched independently of the surrounding patterns, the expression will never backtrack into pattern. Independent sub-expressions are typically used to improve performance; only the best possible match for pattern will be considered, if this doesn't allow the expression as a whole to match then no match is found at all.

    -
    - +
    + Conditional Expressions -
    +

    - (?(condition)yes-pattern|no-pattern) attempts to match yes-pattern + (?(condition)yes-pattern|no-pattern) attempts to match yes-pattern if the condition is true, otherwise attempts to match no-pattern.

    - (?(condition)yes-pattern) + (?(condition)yes-pattern) attempts to match yes-pattern if the condition is true, otherwise fails.

    @@ -1068,31 +1049,31 @@ or the index of a marked sub-expression (the condition becomes true if the sub-expression has been matched).

    -

    - +

    + Operator precedence -
    +

    The order of precedence for of operators is as follows:

    1. - Collation-related bracket symbols [==] - [::] [..] + Collation-related bracket symbols [==] + [::] [..]
    2. - Escaped characters \ + Escaped characters \
    3. - Character set (bracket expression) [] + Character set (bracket expression) []
    4. - Grouping () + Grouping ()
    5. - Single-character-ERE duplication * - + ? {m,n} + Single-character-ERE duplication * + + ? {m,n}
    6. Concatenation @@ -1104,11 +1085,11 @@ Alternation |
    -

    - +

    + What gets matched -

    +

    If you view the regular expression as a directed (possibly cyclic) graph, then the best match found is the first match found by a depth-first-search @@ -1118,8 +1099,7 @@ Alternatively:

    - The best match found is the leftmost + The best match found is the leftmost match, with individual elements matched as follows;

    @@ -1143,7 +1123,7 @@ @@ -1223,16 +1203,16 @@ @@ -1240,7 +1220,7 @@

    - AtomA AtomB + AtomA AtomB

    @@ -1156,8 +1136,8 @@

    - Expression1 | - Expression2 + Expression1 | + Expression2

    @@ -1170,7 +1150,7 @@

    - S{N} + S{N}

    @@ -1182,7 +1162,7 @@

    - S{N,M} + S{N,M}

    @@ -1194,7 +1174,7 @@

    - S{N,M}? + S{N,M}?

    @@ -1206,16 +1186,16 @@

    - S?, + S?, S*, - S+ + S+

    - The same as S{0,1}, - S{0,UINT_MAX}, - S{1,UINT_MAX} + The same as S{0,1}, + S{0,UINT_MAX}, + S{1,UINT_MAX} respectively.

    - S??, + S??, S*?, - S+? + S+?

    - The same as S{0,1}?, - S{0,UINT_MAX}?, - S{1,UINT_MAX}? + The same as S{0,1}?, + S{0,UINT_MAX}?, + S{1,UINT_MAX}? respectively.

    - (?>S) + (?>S)

    @@ -1252,7 +1232,7 @@

    - (?=S), (?<=S) + (?=S), (?<=S)

    @@ -1265,7 +1245,7 @@

    - (?!S), (?<!S) + (?!S), (?<!S)

    @@ -1277,8 +1257,8 @@

    - (?(condition)yes-pattern - | no-pattern) + (?(condition)yes-pattern + | no-pattern)

    @@ -1290,57 +1270,55 @@
    -

    - +

    + Variations -

    +

    - The options - normal, ECMAScript, - JavaScript and JScript are all synonyms for perl. + The options + normal, ECMAScript, + JavaScript and JScript are all synonyms for perl.

    -

    - +

    + Options -

    +

    - There are a variety - of flags that may be combined with the perl + There are a variety + of flags that may be combined with the perl option when constructing the regular expression, in particular note that - the newline_alt option alters - the syntax, while the collate, - nosubs and icase options modify how the case and locale + the newline_alt option alters + the syntax, while the collate, + nosubs and icase options modify how the case and locale sensitivity are to be applied.

    -

    - +

    + Pattern Modifiers -

    +

    - The perl smix modifiers can - either be applied using a (?smix-smix) prefix to the regular expression, or with - one of the regex-compile - time flags no_mod_m, mod_x, mod_s, - and no_mod_s. + The perl smix modifiers can + either be applied using a (?smix-smix) prefix to the regular expression, or with + one of the regex-compile + time flags no_mod_m, mod_x, mod_s, + and no_mod_s.

    -

    - +

    + References -

    +

    Perl 5.8.

    - +

    +

    diff --git a/doc/html/boost_regex/unicode.html b/doc/html/boost_regex/unicode.html index 0c0fdc7f..57d6f025 100644 --- a/doc/html/boost_regex/unicode.html +++ b/doc/html/boost_regex/unicode.html @@ -1,15 +1,13 @@ - Unicode and Boost.Regex +Unicode and Boost.Regex - + - - + + @@ -26,57 +24,58 @@

    There are two ways to use Boost.Regex with Unicode strings:

    -

    - +

    + Rely on wchar_t -
    +

    - If your platform's wchar_t type + If your platform's wchar_t type can hold Unicode strings, and your platform's C/C++ runtime correctly handles - wide character constants (when passed to std::iswspace - std::iswlower etc), then you can use boost::wregex + wide character constants (when passed to std::iswspace + std::iswlower etc), then you can use boost::wregex to process Unicode. However, there are several disadvantages to this approach:

    • - It's not portable: there's no guarantee on the width of wchar_t, + It's not portable: there's no guarantee on the width of wchar_t, or even whether the runtime treats wide characters as Unicode at all, most Windows compilers do so, but many Unix systems do not.
    • - There's no support for Unicode-specific character classes: [[:Nd:]], - [[:Po:]] etc. + There's no support for Unicode-specific character classes: [[:Nd:]], + [[:Po:]] etc.
    • You can only search strings that are encoded as sequences of wide characters, it is not possible to search UTF-8, or even UTF-16 on many platforms.
    -

    - +

    + Use a Unicode Aware Regular Expression Type. -
    +

    If you have the ICU library, then Boost.Regex can be configured to make use of it, and provide a distinct regular expression type (boost::u32regex), that supports both Unicode specific character properties, and the searching - of text that is encoded in either UTF-8, UTF-16, or UTF-32. See: ICU + of text that is encoded in either UTF-8, UTF-16, or UTF-32. See: ICU string class support.

    - +

    +

    diff --git a/doc/html/index.html b/doc/html/index.html index cfe70342..9ad88fd8 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -3,9 +3,9 @@ Boost.Regex - + - + @@ -26,9 +26,9 @@

    John Maddock

    -
    +
    -

    +

    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)

    @@ -155,7 +155,7 @@
    Traits Class Requirements
    Iterator - Rrequirements
    + Requirements
    Deprecated Interfaces
    @@ -190,20 +190,10 @@
    -

    -

    -

    -

    -

    -

    -

    -

    -

    -

    - - + +

    Last revised: November 07, 2007 at 02:57:53 GMT

    Last revised: December 14, 2007 at 10:05:07 GMT


    Next
    diff --git a/doc/regex.qbk b/doc/regex.qbk index 855fce22..7cbe4df5 100644 --- a/doc/regex.qbk +++ b/doc/regex.qbk @@ -1,7 +1,7 @@ [article Boost.Regex [quickbook 1.3] - [copyright 2007 John Maddock] + [copyright 1998-2007 John Maddock] [purpose Regular Expressions] [license Distributed under the Boost Software License, Version 1.0. diff --git a/doc/regex_traits.qbk b/doc/regex_traits.qbk index 08175dec..7faae830 100644 --- a/doc/regex_traits.qbk +++ b/doc/regex_traits.qbk @@ -20,10 +20,10 @@ struct c_regex_traits; template - struct cpp_regex_traits; + class cpp_regex_traits; template - struct w32_regex_traits; + class w32_regex_traits; } // namespace boost From 07eaac9e0e418f2ef7730825b5c69ea76eacba06 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 4 Jan 2008 16:54:35 +0000 Subject: [PATCH 32/62] Fix typos. [SVN r42455] --- doc/match_flag_type.qbk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/match_flag_type.qbk b/doc/match_flag_type.qbk index 4bccf1af..e6fe8f8b 100644 --- a/doc/match_flag_type.qbk +++ b/doc/match_flag_type.qbk @@ -74,7 +74,7 @@ This flag is used when matching incomplete or very long texts, see the partial m [[match_single_line][Equivalent to the inverse of Perl's m/ modifier; prevents ^ from matching after an embedded newline character (so that it only matches at the start of the text being matched), and $ from matching before an embedded newline (so that it only matches at the end of the text being matched).]] [[match_prev_avail][Specifies that --first is a valid iterator position, when this flag is set then the flags match_not_bol and match_not_bow are ignored by the regular expression algorithms (RE.7) and iterators (RE.8).]] [[match_not_dot_newline][Specifies that the expression "." does not match a newline character. This is the inverse of Perl's s/ modifier.]] -[[match_not_dot_null][Specified that the expression "." does not match a character null '\\0'.]] +[[match_not_dot_null][Specifies that the expression "." does not match a character null '\\0'.]] [[match_posix][Specifies that the expression should be matched according to the POSIX [link boost_regex.syntax.leftmost_longest_rule leftmost-longest rule], regardless of what kind of expression was compiled. @@ -108,7 +108,7 @@ This flag is used when matching incomplete or very long texts, see the partial m [[format_perl][Specifies that when a regular expression match is to be replaced by a new string, that the new string is constructed using [link boost_regex.format.perl_format the same rules as Perl 5].]] -[[format_literal][Specified that when a regular expression match is to be +[[format_literal][Specifies that when a regular expression match is to be replaced by a new string, that the new string is a literal copy of the replacement text.]] [[format_all][Specifies that all syntax extensions are enabled, including From 299086b99cb11b3eb246f9a53bed927e784b8d12 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 11 Jan 2008 09:55:43 +0000 Subject: [PATCH 33/62] Fix bugs reported by Will Drewry: certain invalid regexes can cause the library to access invalid memory, changed to ensure that the correct exception is thrown long before this happens. [SVN r42674] --- include/boost/regex/v4/basic_regex_parser.hpp | 11 +++++++++++ test/regress/test_perl_ex.cpp | 11 +++++++++++ 2 files changed, 22 insertions(+) diff --git a/include/boost/regex/v4/basic_regex_parser.hpp b/include/boost/regex/v4/basic_regex_parser.hpp index fcf512c2..b2d99f09 100644 --- a/include/boost/regex/v4/basic_regex_parser.hpp +++ b/include/boost/regex/v4/basic_regex_parser.hpp @@ -784,6 +784,7 @@ bool basic_regex_parser::parse_repeat(std::size_t low, std::size_ case syntax_element_restart_continue: case syntax_element_jump: case syntax_element_startmark: + case syntax_element_backstep: // can't legally repeat any of the above: fail(regex_constants::error_badrepeat, m_position - m_base); return false; @@ -1869,6 +1870,7 @@ bool basic_regex_parser::parse_perl_extension() if(markid == -4) { re_syntax_base* b = this->getaddress(expected_alt_point); + // Make sure we have exactly one alternative following this state: if(b->type != syntax_element_alt) { re_alt* alt = static_cast(this->insert_state(expected_alt_point, syntax_element_alt, sizeof(re_alt))); @@ -1879,6 +1881,15 @@ bool basic_regex_parser::parse_perl_extension() fail(regex_constants::error_bad_pattern, m_position - m_base); return false; } + // check for invalid repetition of next state: + b = this->getaddress(expected_alt_point); + b = this->getaddress(static_cast(b)->next.i, b); + if((b->type != syntax_element_assert_backref) + && (b->type != syntax_element_startmark)) + { + fail(regex_constants::error_badrepeat, m_position - m_base); + return false; + } } // // append closing parenthesis state: diff --git a/test/regress/test_perl_ex.cpp b/test/regress/test_perl_ex.cpp index 82a0517f..3bf104b7 100644 --- a/test/regress/test_perl_ex.cpp +++ b/test/regress/test_perl_ex.cpp @@ -121,6 +121,17 @@ void test_conditionals() TEST_INVALID_REGEX("(?:(a)|b)(?(?:", perl); TEST_INVALID_REGEX("(?:(a)|b)(?(?<", perl); TEST_INVALID_REGEX("(?:(a)|b)(?(? Date: Mon, 14 Jan 2008 09:46:12 +0000 Subject: [PATCH 34/62] Ooops, fix broken escape sequence. [SVN r42745] --- test/regress/test_perl_ex.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/regress/test_perl_ex.cpp b/test/regress/test_perl_ex.cpp index 3bf104b7..6aa31684 100644 --- a/test/regress/test_perl_ex.cpp +++ b/test/regress/test_perl_ex.cpp @@ -131,7 +131,7 @@ void test_conditionals() TEST_INVALID_REGEX("(? Date: Mon, 14 Jan 2008 09:58:36 +0000 Subject: [PATCH 35/62] Fix documentation typos. [SVN r42747] --- .../background_information/examples.html | 6 +- .../background_information/history.html | 10 +-- .../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 | 6 +- 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 | 84 +++++++++---------- doc/html/boost_regex/unicode.html | 4 +- doc/html/index.html | 4 +- 31 files changed, 185 insertions(+), 185 deletions(-) diff --git a/doc/html/boost_regex/background_information/examples.html b/doc/html/boost_regex/background_information/examples.html index 42421ebe..dac6b075 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
    @@ -98,7 +98,7 @@ Files: captures_test.cpp.

    - + Example programs
    @@ -124,7 +124,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 82728a7b..ad46ecbc 100644 --- a/doc/html/boost_regex/background_information/history.html +++ b/doc/html/boost_regex/background_information/history.html @@ -26,7 +26,7 @@ History
    - + Boost 1.34
    @@ -49,7 +49,7 @@
    - + Boost 1.33.1
    @@ -119,7 +119,7 @@
    - + Boost 1.33.0
    @@ -174,7 +174,7 @@
    - + Boost 1.32.1
    @@ -182,7 +182,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 4916676f..c2d50ab5 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 4ca1f3d9..407a901f 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

    @@ -62,7 +62,7 @@ (??{code}) Not implementable in a compiled strongly typed language.

    - + POSIX

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

    - + Unicode

    diff --git a/doc/html/boost_regex/captures.html b/doc/html/boost_regex/captures.html index af1acd15..5c3f07d5 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 4ea00314..6201abd5 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

    @@ -66,7 +66,7 @@ with "bar" otherwise.

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

    - + Escape Sequences
    diff --git a/doc/html/boost_regex/install.html b/doc/html/boost_regex/install.html index 769edc11..d8aeb190 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
    @@ -96,11 +96,11 @@ ICU you are using is binary compatible with the toolset you use to build Boost.

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

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

    - + Sun Workshop 6.1

    @@ -347,7 +347,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 bbffbd53..e2f23ec0 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 6c312c65..9636c1ca 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>
    @@ -243,7 +243,7 @@
     } // namespace boost
     
    - + Description

    @@ -326,7 +326,7 @@ basic_regex.

    -

    Table 1. basic_regex default construction postconditions

    +

    Table 1. basic_regex default construction postconditions

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

    -

    Table 2. Postconditions for basic_regex construction

    +

    Table 2. Postconditions for basic_regex construction

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

    -

    Table 3. Postconditions for basic_regex construction

    +

    Table 3. Postconditions for basic_regex construction

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

    -

    Table 4. Postconditions for basic_regex construction

    +

    Table 4. Postconditions for basic_regex construction

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

    -

    Table 5. Postconditions for basic_regex construction

    +

    Table 5. Postconditions for basic_regex construction

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

    -

    Table 6. Postconditions for basic_regex construction

    +

    Table 6. Postconditions for basic_regex construction

    @@ -1026,7 +1026,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 3ddc5295..8238c73b 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.
    @@ -381,7 +381,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 2365c417..9353c3f8 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 81df8453..55a4b871 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 91b55c46..df0e10dc 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

    @@ -313,7 +313,7 @@

    - Specified that the expression "." does not match a character + Specifies that the expression "." does not match a character null '\0'.

    @@ -426,7 +426,7 @@

    - Specified that when a regular expression match is to be replaced + Specifies that when a regular expression match is to be replaced by a new string, that the new string is a literal copy of the replacement text.

    diff --git a/doc/html/boost_regex/ref/match_results.html b/doc/html/boost_regex/ref/match_results.html index db38d7a4..9d1a2725 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>
    @@ -142,7 +142,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 2b9bf51c..f38a71bd 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 45fea130..ee2a74a5 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 @@ Unicode 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 3a03bd2e..eb69778d 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 b6d5da8a..5efbf635 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 6dd072af..30f97dd1 100644 --- a/doc/html/boost_regex/ref/posix.html +++ b/doc/html/boost_regex/ref/posix.html @@ -165,7 +165,7 @@

    - + regcomp

    @@ -379,7 +379,7 @@

    - + regerror

    @@ -467,7 +467,7 @@

    - + regexec

    @@ -537,7 +537,7 @@

    - + regfree

    diff --git a/doc/html/boost_regex/ref/regex_iterator.html b/doc/html/boost_regex/ref/regex_iterator.html index 8b7f7873..ba2719cd 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

    @@ -436,7 +436,7 @@ m.

    - + Examples

    diff --git a/doc/html/boost_regex/ref/regex_match.html b/doc/html/boost_regex/ref/regex_match.html index b5ef87d9..5bfc618b 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>
    @@ -360,7 +360,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 a6a7beb7..35f28bdb 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 charT>
    @@ -163,7 +163,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 e4230a2a..b465289a 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>
    @@ -355,7 +355,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 350c527b..af4d2628 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

    @@ -383,7 +383,7 @@ m.

    - + Examples

    diff --git a/doc/html/boost_regex/ref/regex_traits.html b/doc/html/boost_regex/ref/regex_traits.html index 8f7507c8..6921b956 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 e2b5ea60..5b37ba80 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

    @@ -473,7 +473,7 @@

    - + sub_match non-member operators
    @@ -1008,7 +1008,7 @@ + m2.str().

    - + Stream inserter

    diff --git a/doc/html/boost_regex/syntax/basic_extended.html b/doc/html/boost_regex/syntax/basic_extended.html index e5287248..290e2f3b 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

    @@ -46,7 +46,7 @@

    - + POSIX Extended Syntax

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

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

    @@ -74,7 +74,7 @@

    - + Anchors:

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

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

    - + Repeats:

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

    - + Back references:

    @@ -214,7 +214,7 @@ cab

    - + Alternation

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

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

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

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

    - + Negation:

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

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

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

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

    - + Combinations:

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

    - + Escapes

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

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

    - + Word Boundaries

    @@ -888,7 +888,7 @@ cab

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

    - + Quoting escape
    @@ -1005,7 +1005,7 @@ cab \*+aaa
    - + Unicode escapes
    @@ -1056,7 +1056,7 @@ cab
    - + Any other escape
    @@ -1065,7 +1065,7 @@ cab \@ matches a literal '@'.

    - + Operator precedence
    @@ -1101,7 +1101,7 @@ cab
    - + What Gets Matched
    @@ -1111,11 +1111,11 @@ cab rule.

    - + Variations

    - + Egrep

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

    - + awk

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

    - + Options

    @@ -1163,7 +1163,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 d1a0af81..62c63e46 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

    @@ -45,7 +45,7 @@

    - + POSIX Basic Syntax

    @@ -55,7 +55,7 @@

    .[\*^$
    - + Wildcard:

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

    - + Anchors:

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

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

    - + Repeats:

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

    - + Back references:

    @@ -173,7 +173,7 @@ aaaa

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

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

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

    - + Negation:

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

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

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

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

    - + Combinations:

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

    - + Escapes

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

    - + What Gets Matched

    @@ -309,13 +309,13 @@ aaaa rule.

    - + Variations

    - + Grep

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

    - + emacs

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

    - + Options

    @@ -627,7 +627,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 1de10b79..a9dc9ba7 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

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

    - + Perl Regular Expression Syntax

    @@ -55,7 +55,7 @@

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

    @@ -75,7 +75,7 @@

    - + Anchors

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

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

    - + Non-marking grouping
    @@ -111,7 +111,7 @@ out any separate sub-expressions.

    - + Repeats

    @@ -197,7 +197,7 @@ operator to be applied to.

    - + Non greedy repeats
    @@ -228,7 +228,7 @@ input as possible.

    - + Back references

    @@ -248,7 +248,7 @@

    aaabba
     
    - + Alternation

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

    - + Character sets

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

    - + Single characters

    @@ -298,7 +298,7 @@ or 'c'.

    - + Character ranges
    @@ -311,7 +311,7 @@ regular expression, then ranges are locale sensitive.

    - + Negation

    @@ -320,7 +320,7 @@ range a-c.

    - + Character classes
    @@ -330,7 +330,7 @@ character class names.

    - + Collating Elements
    @@ -354,7 +354,7 @@ character.

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

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

    - + Combinations

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

    - + Escapes

    @@ -584,7 +584,7 @@

    - + "Single character" character classes:
    @@ -738,7 +738,7 @@
    - + Character Properties
    @@ -846,7 +846,7 @@ matches any "digit" character, as does \p{digit}.

    - + Word Boundaries

    @@ -868,7 +868,7 @@ Matches only when not at a word boundary.

    - + Buffer boundaries

    @@ -893,7 +893,7 @@ to the regular expression \n*\z

    - + Continuation Escape
    @@ -905,7 +905,7 @@ match to start where the last one ended.

    - + Quoting escape

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

    - + Unicode escapes

    @@ -929,7 +929,7 @@ combining characters.

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

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

    - + Comments

    @@ -956,7 +956,7 @@ are ignored.

    - + Modifiers

    @@ -971,7 +971,7 @@ applies the specified modifiers to pattern only.

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

    - + Lookahead

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

    - + Lookbehind

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

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

    - + Conditional Expressions
    @@ -1050,7 +1050,7 @@ sub-expression has been matched).

    - + Operator precedence
    @@ -1086,7 +1086,7 @@

    - + What gets matched

    @@ -1271,7 +1271,7 @@

    - + Variations

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

    - + Options

    @@ -1293,7 +1293,7 @@ sensitivity are to be applied.

    - + Pattern Modifiers

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

    - + References

    diff --git a/doc/html/boost_regex/unicode.html b/doc/html/boost_regex/unicode.html index 57d6f025..9cb48ebc 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 9ad88fd8..f7007f8a 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)

    @@ -192,7 +192,7 @@
    - +

    Last revised: December 14, 2007 at 10:05:07 GMT

    Last revised: January 14, 2008 at 09:54:07 GMT


    From 2cbd1c888227807651d9e330ea8a43c524c8c9cb Mon Sep 17 00:00:00 2001 From: John Maddock Date: Mon, 14 Jan 2008 13:17:09 +0000 Subject: [PATCH 36/62] Patch regex concept checks and TR1 library to work with VC9 + MS TR1 feature pack. [SVN r42751] --- include/boost/regex/concepts.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/boost/regex/concepts.hpp b/include/boost/regex/concepts.hpp index d9005463..0f5677a2 100644 --- a/include/boost/regex/concepts.hpp +++ b/include/boost/regex/concepts.hpp @@ -235,7 +235,7 @@ template struct BaseRegexConcept { typedef typename Regex::value_type value_type; - typedef typename Regex::size_type size_type; + //typedef typename Regex::size_type size_type; typedef typename Regex::flag_type flag_type; typedef typename Regex::locale_type locale_type; typedef input_iterator_archetype input_iterator_type; @@ -370,7 +370,7 @@ struct BaseRegexConcept const Regex ce; bool b = ce.empty(); ignore_unused_variable_warning(b); - size_type i = ce.mark_count(); + unsigned i = ce.mark_count(); ignore_unused_variable_warning(i); m_flags = ce.flags(); e.imbue(ce.getloc()); @@ -533,7 +533,7 @@ struct BaseRegexConcept pointer_type m_pointer; flag_type m_flags; - size_type m_size; + std::size_t m_size; input_iterator_type in1, in2; const sub_match_type m_sub; const value_type m_char; @@ -557,7 +557,7 @@ template struct RegexConcept { typedef typename Regex::value_type value_type; - typedef typename Regex::size_type size_type; + //typedef typename Regex::size_type size_type; typedef typename Regex::flag_type flag_type; typedef typename Regex::locale_type locale_type; From 37040f4bfd939b4e8ca1f6b1eb685beed36e257e Mon Sep 17 00:00:00 2001 From: John Maddock Date: Wed, 23 Jan 2008 16:08:44 +0000 Subject: [PATCH 37/62] Applies fix for issue #1598: added missing #include. [SVN r42929] --- include/boost/regex/pending/unicode_iterator.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/include/boost/regex/pending/unicode_iterator.hpp b/include/boost/regex/pending/unicode_iterator.hpp index 14196c0a..657ca0a4 100644 --- a/include/boost/regex/pending/unicode_iterator.hpp +++ b/include/boost/regex/pending/unicode_iterator.hpp @@ -68,6 +68,7 @@ Accepts UTF-32 code points and forwards them on as UTF-16 code points. #include #ifndef BOOST_NO_STD_LOCALE #include +#include #endif #include // CHAR_BIT From 0915f19c03d823be053e9649ef496d7673729462 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sun, 27 Jan 2008 18:43:35 +0000 Subject: [PATCH 38/62] Extended leading repeat optimization to more cases. [SVN r42992] --- include/boost/regex/v4/basic_regex_creator.hpp | 13 +++++++++++++ .../boost/regex/v4/perl_matcher_non_recursive.hpp | 9 +++++++++ 2 files changed, 22 insertions(+) diff --git a/include/boost/regex/v4/basic_regex_creator.hpp b/include/boost/regex/v4/basic_regex_creator.hpp index fec755f8..35de0cef 100644 --- a/include/boost/regex/v4/basic_regex_creator.hpp +++ b/include/boost/regex/v4/basic_regex_creator.hpp @@ -1270,6 +1270,19 @@ void basic_regex_creator::probe_leading_repeat(re_syntax_base* st state = state->next.p; continue; } + if((static_cast(state)->index == -1) + || (static_cast(state)->index == -2)) + { + // skip past the zero width assertion: + state = static_cast(state->next.p)->alt.p->next.p; + continue; + } + if(static_cast(state)->index == -3) + { + // Have to skip the leading jump state: + state = state->next.p->next.p; + continue; + } return; case syntax_element_endmark: case syntax_element_start_line: diff --git a/include/boost/regex/v4/perl_matcher_non_recursive.hpp b/include/boost/regex/v4/perl_matcher_non_recursive.hpp index 3bf34601..e6bf1bba 100644 --- a/include/boost/regex/v4/perl_matcher_non_recursive.hpp +++ b/include/boost/regex/v4/perl_matcher_non_recursive.hpp @@ -1193,6 +1193,9 @@ bool perl_matcher::unwind_char_repeat(bool r) pstate = rep->next.p; }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip)); } + // remember where we got to if this is a leading repeat: + if((rep->leading) && (count < rep->max)) + restart = position; if(position == last) { // can't repeat any more, remove the pushed state: @@ -1259,6 +1262,9 @@ bool perl_matcher::unwind_short_set_repeat(bool pstate = rep->next.p; }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip)); } + // remember where we got to if this is a leading repeat: + if((rep->leading) && (count < rep->max)) + restart = position; if(position == last) { // can't repeat any more, remove the pushed state: @@ -1326,6 +1332,9 @@ bool perl_matcher::unwind_long_set_repeat(bool pstate = rep->next.p; }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip)); } + // remember where we got to if this is a leading repeat: + if((rep->leading) && (count < rep->max)) + restart = position; if(position == last) { // can't repeat any more, remove the pushed state: From 370c429bd6502ce06990b1bd38f8cd0bc81edef8 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 7 Feb 2008 10:24:29 +0000 Subject: [PATCH 39/62] Added comment to suppress inspect warning. [SVN r43148] --- performance/input.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/performance/input.html b/performance/input.html index 128deeaa..9b2312b8 100644 --- a/performance/input.html +++ b/performance/input.html @@ -5,6 +5,7 @@ +

    Regular Expression Performance Comparison

    @@ -65,7 +66,7 @@ the text indicated was measured. 

    %short_matches%


    -

    © Copyright John Maddock 2003

    +

    © Copyright John Maddock 2003

    Use, modification and distribution are subject to 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)

    From e32c5d088840707b476ccf1984636fea05db750e Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 21 Feb 2008 12:58:15 +0000 Subject: [PATCH 40/62] Added link to PDF docs, and regenerated. [SVN r43351] --- .../boost_regex/background_information.html | 4 +- .../acknowledgements.html | 4 +- .../background_information/examples.html | 10 +-- .../background_information/faq.html | 4 +- .../background_information/futher.html | 4 +- .../background_information/headers.html | 4 +- .../background_information/history.html | 14 +-- .../background_information/locale.html | 12 +-- .../background_information/performance.html | 4 +- .../background_information/redist.html | 4 +- .../background_information/standards.html | 14 +-- .../background_information/thread_safety.html | 4 +- doc/html/boost_regex/captures.html | 10 +-- doc/html/boost_regex/configuration.html | 4 +- .../boost_regex/configuration/algorithm.html | 4 +- .../boost_regex/configuration/compiler.html | 4 +- .../boost_regex/configuration/linkage.html | 4 +- .../boost_regex/configuration/locale.html | 4 +- .../boost_regex/configuration/tuning.html | 4 +- doc/html/boost_regex/format.html | 4 +- .../format/boost_format_syntax.html | 12 +-- doc/html/boost_regex/format/perl_format.html | 4 +- doc/html/boost_regex/format/sed_format.html | 4 +- doc/html/boost_regex/install.html | 20 ++--- .../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 | 8 +- doc/html/boost_regex/ref/basic_regex.html | 22 ++--- doc/html/boost_regex/ref/concepts.html | 4 +- .../ref/concepts/charT_concept.html | 4 +- .../ref/concepts/iterator_concepts.html | 4 +- .../ref/concepts/traits_concept.html | 8 +- .../ref/deprecated_interfaces.html | 4 +- .../ref/deprecated_interfaces/old_regex.html | 4 +- .../deprecated_interfaces/regex_format.html | 6 +- .../ref/deprecated_interfaces/regex_grep.html | 4 +- .../deprecated_interfaces/regex_split.html | 4 +- doc/html/boost_regex/ref/error_type.html | 8 +- doc/html/boost_regex/ref/match_flag_type.html | 6 +- doc/html/boost_regex/ref/match_results.html | 8 +- doc/html/boost_regex/ref/non_std_strings.html | 4 +- .../boost_regex/ref/non_std_strings/icu.html | 4 +- .../ref/non_std_strings/icu/intro.html | 4 +- .../ref/non_std_strings/icu/unicode_algo.html | 10 +-- .../ref/non_std_strings/icu/unicode_iter.html | 8 +- .../non_std_strings/icu/unicode_types.html | 4 +- .../ref/non_std_strings/mfc_strings.html | 4 +- .../non_std_strings/mfc_strings/mfc_algo.html | 14 +-- .../mfc_strings/mfc_intro.html | 4 +- .../non_std_strings/mfc_strings/mfc_iter.html | 8 +- .../mfc_strings/mfc_regex_create.html | 4 +- .../mfc_strings/mfc_regex_types.html | 4 +- doc/html/boost_regex/ref/posix.html | 12 +-- doc/html/boost_regex/ref/regex_iterator.html | 8 +- doc/html/boost_regex/ref/regex_match.html | 8 +- doc/html/boost_regex/ref/regex_replace.html | 8 +- doc/html/boost_regex/ref/regex_search.html | 8 +- .../boost_regex/ref/regex_token_iterator.html | 8 +- doc/html/boost_regex/ref/regex_traits.html | 6 +- doc/html/boost_regex/ref/sub_match.html | 12 +-- .../boost_regex/ref/syntax_option_type.html | 4 +- .../syntax_option_type_basic.html | 4 +- .../syntax_option_type_extended.html | 4 +- .../syntax_option_type_literal.html | 4 +- .../syntax_option_type_overview.html | 4 +- .../syntax_option_type_perl.html | 4 +- .../syntax_option_type_synopsis.html | 4 +- doc/html/boost_regex/syntax.html | 4 +- .../boost_regex/syntax/basic_extended.html | 70 +++++++-------- doc/html/boost_regex/syntax/basic_syntax.html | 48 +++++----- .../boost_regex/syntax/character_classes.html | 4 +- .../optional_char_class_names.html | 4 +- .../character_classes/std_char_clases.html | 4 +- .../boost_regex/syntax/collating_names.html | 4 +- .../syntax/collating_names/digraphs.html | 4 +- .../syntax/collating_names/named_unicode.html | 4 +- .../collating_names/posix_symbolic_names.html | 4 +- .../syntax/leftmost_longest_rule.html | 4 +- doc/html/boost_regex/syntax/perl_syntax.html | 88 +++++++++---------- doc/html/boost_regex/unicode.html | 8 +- doc/html/index.html | 12 ++- doc/regex.qbk | 4 + 83 files changed, 355 insertions(+), 347 deletions(-) diff --git a/doc/html/boost_regex/background_information.html b/doc/html/boost_regex/background_information.html index 97e723cd..44b9fc3b 100644 --- a/doc/html/boost_regex/background_information.html +++ b/doc/html/boost_regex/background_information.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/background_information/acknowledgements.html b/doc/html/boost_regex/background_information/acknowledgements.html index 6226d770..844f5874 100644 --- a/doc/html/boost_regex/background_information/acknowledgements.html +++ b/doc/html/boost_regex/background_information/acknowledgements.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/background_information/examples.html b/doc/html/boost_regex/background_information/examples.html index dac6b075..0bfd3502 100644 --- a/doc/html/boost_regex/background_information/examples.html +++ b/doc/html/boost_regex/background_information/examples.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -28,7 +28,7 @@ Example Programs
    - + Test Programs
    @@ -98,7 +98,7 @@ Files: captures_test.cpp.

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

    - + Code snippets
    diff --git a/doc/html/boost_regex/background_information/faq.html b/doc/html/boost_regex/background_information/faq.html index 31ab358f..2259e4d0 100644 --- a/doc/html/boost_regex/background_information/faq.html +++ b/doc/html/boost_regex/background_information/faq.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/background_information/futher.html b/doc/html/boost_regex/background_information/futher.html index f238a3db..0608408a 100644 --- a/doc/html/boost_regex/background_information/futher.html +++ b/doc/html/boost_regex/background_information/futher.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/background_information/headers.html b/doc/html/boost_regex/background_information/headers.html index cf275901..df3a3c16 100644 --- a/doc/html/boost_regex/background_information/headers.html +++ b/doc/html/boost_regex/background_information/headers.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/background_information/history.html b/doc/html/boost_regex/background_information/history.html index ad46ecbc..9fa64fbb 100644 --- a/doc/html/boost_regex/background_information/history.html +++ b/doc/html/boost_regex/background_information/history.html @@ -13,8 +13,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -26,7 +26,7 @@ History
    - + Boost 1.34
    @@ -49,7 +49,7 @@
    - + Boost 1.33.1
    @@ -119,7 +119,7 @@
    - + Boost 1.33.0
    @@ -174,7 +174,7 @@
    - + Boost 1.32.1
    @@ -182,7 +182,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 c2d50ab5..7814c60c 100644 --- a/doc/html/boost_regex/background_information/locale.html +++ b/doc/html/boost_regex/background_information/locale.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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/performance.html b/doc/html/boost_regex/background_information/performance.html index c0513ebb..8c5d9a8c 100644 --- a/doc/html/boost_regex/background_information/performance.html +++ b/doc/html/boost_regex/background_information/performance.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/background_information/redist.html b/doc/html/boost_regex/background_information/redist.html index de272a08..fd9f354f 100644 --- a/doc/html/boost_regex/background_information/redist.html +++ b/doc/html/boost_regex/background_information/redist.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/background_information/standards.html b/doc/html/boost_regex/background_information/standards.html index 407a901f..6e14c88a 100644 --- a/doc/html/boost_regex/background_information/standards.html +++ b/doc/html/boost_regex/background_information/standards.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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

    @@ -62,7 +62,7 @@ (??{code}) Not implementable in a compiled strongly typed language.

    - + POSIX

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

    - + Unicode

    diff --git a/doc/html/boost_regex/background_information/thread_safety.html b/doc/html/boost_regex/background_information/thread_safety.html index 47a0f190..a4bad710 100644 --- a/doc/html/boost_regex/background_information/thread_safety.html +++ b/doc/html/boost_regex/background_information/thread_safety.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    diff --git a/doc/html/boost_regex/captures.html b/doc/html/boost_regex/captures.html index 5c3f07d5..e3f663bb 100644 --- a/doc/html/boost_regex/captures.html +++ b/doc/html/boost_regex/captures.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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/configuration.html b/doc/html/boost_regex/configuration.html index 8d8b2a42..781e7acb 100644 --- a/doc/html/boost_regex/configuration.html +++ b/doc/html/boost_regex/configuration.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    diff --git a/doc/html/boost_regex/configuration/algorithm.html b/doc/html/boost_regex/configuration/algorithm.html index 970cba82..270537a3 100644 --- a/doc/html/boost_regex/configuration/algorithm.html +++ b/doc/html/boost_regex/configuration/algorithm.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/configuration/compiler.html b/doc/html/boost_regex/configuration/compiler.html index 03814ff1..9f578fe4 100644 --- a/doc/html/boost_regex/configuration/compiler.html +++ b/doc/html/boost_regex/configuration/compiler.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/configuration/linkage.html b/doc/html/boost_regex/configuration/linkage.html index e9012060..302e2845 100644 --- a/doc/html/boost_regex/configuration/linkage.html +++ b/doc/html/boost_regex/configuration/linkage.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/configuration/locale.html b/doc/html/boost_regex/configuration/locale.html index da0e4e63..100027de 100644 --- a/doc/html/boost_regex/configuration/locale.html +++ b/doc/html/boost_regex/configuration/locale.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/configuration/tuning.html b/doc/html/boost_regex/configuration/tuning.html index deba73fb..69aeffbb 100644 --- a/doc/html/boost_regex/configuration/tuning.html +++ b/doc/html/boost_regex/configuration/tuning.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/format.html b/doc/html/boost_regex/format.html index ac34fbbf..2e7ed141 100644 --- a/doc/html/boost_regex/format.html +++ b/doc/html/boost_regex/format.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/format/boost_format_syntax.html b/doc/html/boost_regex/format/boost_format_syntax.html index 6201abd5..24906c32 100644 --- a/doc/html/boost_regex/format/boost_format_syntax.html +++ b/doc/html/boost_regex/format/boost_format_syntax.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -32,7 +32,7 @@ '$', '\', '(', ')', '?', and ':'.

    - + Grouping

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

    - + Conditionals

    @@ -66,7 +66,7 @@ with "bar" otherwise.

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

    - + Escape Sequences
    diff --git a/doc/html/boost_regex/format/perl_format.html b/doc/html/boost_regex/format/perl_format.html index 0d248545..35c849a6 100644 --- a/doc/html/boost_regex/format/perl_format.html +++ b/doc/html/boost_regex/format/perl_format.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/format/sed_format.html b/doc/html/boost_regex/format/sed_format.html index 7cb783bb..8255c298 100644 --- a/doc/html/boost_regex/format/sed_format.html +++ b/doc/html/boost_regex/format/sed_format.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/install.html b/doc/html/boost_regex/install.html index d8aeb190..a456a1da 100644 --- a/doc/html/boost_regex/install.html +++ b/doc/html/boost_regex/install.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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
    @@ -96,11 +96,11 @@ ICU you are using is binary compatible with the toolset you use to build Boost.

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

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

    - + Sun Workshop 6.1

    @@ -347,7 +347,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/introduction_and_overview.html b/doc/html/boost_regex/introduction_and_overview.html index b43e443a..23cb1edd 100644 --- a/doc/html/boost_regex/introduction_and_overview.html +++ b/doc/html/boost_regex/introduction_and_overview.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/partial_matches.html b/doc/html/boost_regex/partial_matches.html index 16614be2..776538f4 100644 --- a/doc/html/boost_regex/partial_matches.html +++ b/doc/html/boost_regex/partial_matches.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/ref.html b/doc/html/boost_regex/ref.html index dc6e496c..59d4e410 100644 --- a/doc/html/boost_regex/ref.html +++ b/doc/html/boost_regex/ref.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/ref/bad_expression.html b/doc/html/boost_regex/ref/bad_expression.html index e2f23ec0..957f4304 100644 --- a/doc/html/boost_regex/ref/bad_expression.html +++ b/doc/html/boost_regex/ref/bad_expression.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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 9636c1ca..26a70308 100644
    --- a/doc/html/boost_regex/ref/basic_regex.html
    +++ b/doc/html/boost_regex/ref/basic_regex.html
    @@ -14,8 +14,8 @@
     Boost C++ Libraries
     Home
     Libraries
    -People
    -FAQ
    +People
    +FAQ
     More
     
     
    @@ -27,7 +27,7 @@ basic_regex
    - + Synopsis
    #include <boost/regex.hpp>
    @@ -243,7 +243,7 @@
     } // namespace boost
     
    - + Description

    @@ -326,7 +326,7 @@ basic_regex.

    -

    Table 1. basic_regex default construction postconditions

    +

    Table 1. basic_regex default construction postconditions

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

    -

    Table 2. Postconditions for basic_regex construction

    +

    Table 2. Postconditions for basic_regex construction

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

    -

    Table 3. Postconditions for basic_regex construction

    +

    Table 3. Postconditions for basic_regex construction

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

    -

    Table 4. Postconditions for basic_regex construction

    +

    Table 4. Postconditions for basic_regex construction

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

    -

    Table 5. Postconditions for basic_regex construction

    +

    Table 5. Postconditions for basic_regex construction

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

    -

    Table 6. Postconditions for basic_regex construction

    +

    Table 6. Postconditions for basic_regex construction

    @@ -1026,7 +1026,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.html b/doc/html/boost_regex/ref/concepts.html index 528bfbb8..ee5aee34 100644 --- a/doc/html/boost_regex/ref/concepts.html +++ b/doc/html/boost_regex/ref/concepts.html @@ -14,8 +14,8 @@ - - + +
    Boost C++ Libraries Home LibrariesPeopleFAQPeopleFAQ More

    diff --git a/doc/html/boost_regex/ref/concepts/charT_concept.html b/doc/html/boost_regex/ref/concepts/charT_concept.html index fe73b1e5..47d68743 100644 --- a/doc/html/boost_regex/ref/concepts/charT_concept.html +++ b/doc/html/boost_regex/ref/concepts/charT_concept.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/ref/concepts/iterator_concepts.html b/doc/html/boost_regex/ref/concepts/iterator_concepts.html index 5f624d52..cffa1774 100644 --- a/doc/html/boost_regex/ref/concepts/iterator_concepts.html +++ b/doc/html/boost_regex/ref/concepts/iterator_concepts.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/ref/concepts/traits_concept.html b/doc/html/boost_regex/ref/concepts/traits_concept.html index 8238c73b..1cf50425 100644 --- a/doc/html/boost_regex/ref/concepts/traits_concept.html +++ b/doc/html/boost_regex/ref/concepts/traits_concept.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -34,7 +34,7 @@ Boost-specific enhanced interface.

    - + Minimal requirements.
    @@ -381,7 +381,7 @@
    - + Additional Optional Requirements
    diff --git a/doc/html/boost_regex/ref/deprecated_interfaces.html b/doc/html/boost_regex/ref/deprecated_interfaces.html index 4a3ee0b5..2703ac51 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 8afa58db..42df3918 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 9353c3f8..a6036e96 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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/deprecated_interfaces/regex_grep.html b/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html index 9a1884aa..730e8542 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 b430a1bc..6d397b7c 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/ref/error_type.html b/doc/html/boost_regex/ref/error_type.html index 55a4b871..aad11718 100644 --- a/doc/html/boost_regex/ref/error_type.html +++ b/doc/html/boost_regex/ref/error_type.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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 df0e10dc..719e96cd 100644 --- a/doc/html/boost_regex/ref/match_flag_type.html +++ b/doc/html/boost_regex/ref/match_flag_type.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -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 9d1a2725..98d7adf3 100644 --- a/doc/html/boost_regex/ref/match_results.html +++ b/doc/html/boost_regex/ref/match_results.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


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

    diff --git a/doc/html/boost_regex/ref/non_std_strings.html b/doc/html/boost_regex/ref/non_std_strings.html index f47ef100..a220407d 100644 --- a/doc/html/boost_regex/ref/non_std_strings.html +++ b/doc/html/boost_regex/ref/non_std_strings.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    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 3e20a8d6..35b20977 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 8282b43d..53cf39b6 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 f38a71bd..370e6fda 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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 ee2a74a5..85bd66e1 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -28,7 +28,7 @@ Unicode 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/icu/unicode_types.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html index 39677b16..9fe3dcc9 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    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 7634d2a3..3dba2d61 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 eb69778d..ab26844d 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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_intro.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html index a63c09a3..e1301c4a 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    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 5efbf635..5aa3e26d 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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/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 54484d18..0237ebc9 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 cf126ab8..34c99d13 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/ref/posix.html b/doc/html/boost_regex/ref/posix.html index 30f97dd1..579a4994 100644 --- a/doc/html/boost_regex/ref/posix.html +++ b/doc/html/boost_regex/ref/posix.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -165,7 +165,7 @@

    - + regcomp

    @@ -379,7 +379,7 @@

    - + regerror

    @@ -467,7 +467,7 @@

    - + regexec

    @@ -537,7 +537,7 @@

    - + regfree

    diff --git a/doc/html/boost_regex/ref/regex_iterator.html b/doc/html/boost_regex/ref/regex_iterator.html index ba2719cd..054bca12 100644 --- a/doc/html/boost_regex/ref/regex_iterator.html +++ b/doc/html/boost_regex/ref/regex_iterator.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -78,7 +78,7 @@ regex_constants::match_flag_type m = regex_constants::match_default);
    - + Description

    @@ -436,7 +436,7 @@ m.

    - + Examples

    diff --git a/doc/html/boost_regex/ref/regex_match.html b/doc/html/boost_regex/ref/regex_match.html index 5bfc618b..af02d4d3 100644 --- a/doc/html/boost_regex/ref/regex_match.html +++ b/doc/html/boost_regex/ref/regex_match.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -80,7 +80,7 @@ match_flag_type flags = match_default);
    - + Description
    template <class BidirectionalIterator, class Allocator, class charT, class traits>
    @@ -360,7 +360,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 35f28bdb..b7a68262 100644 --- a/doc/html/boost_regex/ref/regex_replace.html +++ b/doc/html/boost_regex/ref/regex_replace.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -53,7 +53,7 @@ match_flag_type flags = match_default);
    - + Description
    template <class OutputIterator, class BidirectionalIterator, class traits, class charT>
    @@ -163,7 +163,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 b465289a..d10cd029 100644 --- a/doc/html/boost_regex/ref/regex_search.html +++ b/doc/html/boost_regex/ref/regex_search.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -73,7 +73,7 @@ match_flag_type flags = match_default);
    - + Description
    template <class BidirectionalIterator, class Allocator, class charT, class traits>
    @@ -355,7 +355,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 af4d2628..66d3f95b 100644 --- a/doc/html/boost_regex/ref/regex_token_iterator.html +++ b/doc/html/boost_regex/ref/regex_token_iterator.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -136,7 +136,7 @@ regex_constants::match_flag_type m = regex_constants::match_default);
    - + Description

    @@ -383,7 +383,7 @@ m.

    - + Examples

    diff --git a/doc/html/boost_regex/ref/regex_traits.html b/doc/html/boost_regex/ref/regex_traits.html index 6921b956..7d28801a 100644 --- a/doc/html/boost_regex/ref/regex_traits.html +++ b/doc/html/boost_regex/ref/regex_traits.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -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 5b37ba80..7f81828c 100644 --- a/doc/html/boost_regex/ref/sub_match.html +++ b/doc/html/boost_regex/ref/sub_match.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -329,11 +329,11 @@ } // namespace boost
    - + Description
    - + Members

    @@ -473,7 +473,7 @@

    - + sub_match non-member operators
    @@ -1008,7 +1008,7 @@ + m2.str().

    - + Stream inserter

    diff --git a/doc/html/boost_regex/ref/syntax_option_type.html b/doc/html/boost_regex/ref/syntax_option_type.html index 1b85cd92..1d462ee4 100644 --- a/doc/html/boost_regex/ref/syntax_option_type.html +++ b/doc/html/boost_regex/ref/syntax_option_type.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    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 ebf60a22..bbf9b9fe 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 40b26c30..ca2f0498 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 33b0e5b9..59951dda 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 824e23a4..3921b6c7 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 31a70ec9..eac297db 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 099bab6f..31718c69 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/syntax.html b/doc/html/boost_regex/syntax.html index 14a2b9bc..edb7cd07 100644 --- a/doc/html/boost_regex/syntax.html +++ b/doc/html/boost_regex/syntax.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/syntax/basic_extended.html b/doc/html/boost_regex/syntax/basic_extended.html index 290e2f3b..24f56fce 100644 --- a/doc/html/boost_regex/syntax/basic_extended.html +++ b/doc/html/boost_regex/syntax/basic_extended.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -28,7 +28,7 @@ Expression Syntax

    - + Synopsis

    @@ -46,7 +46,7 @@

    - + POSIX Extended Syntax

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

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

    @@ -74,7 +74,7 @@

    - + Anchors:

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

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

    - + Repeats:

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

    - + Back references:

    @@ -214,7 +214,7 @@ cab

    - + Alternation

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

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

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

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

    - + Negation:

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

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

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

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

    - + Combinations:

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

    - + Escapes

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

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

    - + Word Boundaries

    @@ -888,7 +888,7 @@ cab

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

    - + Quoting escape
    @@ -1005,7 +1005,7 @@ cab \*+aaa
    - + Unicode escapes
    @@ -1056,7 +1056,7 @@ cab
    - + Any other escape
    @@ -1065,7 +1065,7 @@ cab \@ matches a literal '@'.

    - + Operator precedence
    @@ -1101,7 +1101,7 @@ cab
    - + What Gets Matched
    @@ -1111,11 +1111,11 @@ cab rule.

    - + Variations

    - + Egrep

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

    - + awk

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

    - + Options

    @@ -1163,7 +1163,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 62c63e46..6f335e00 100644 --- a/doc/html/boost_regex/syntax/basic_syntax.html +++ b/doc/html/boost_regex/syntax/basic_syntax.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -28,7 +28,7 @@ Expression Syntax

    - + Synopsis

    @@ -45,7 +45,7 @@

    - + POSIX Basic Syntax

    @@ -55,7 +55,7 @@

    .[\*^$
    - + Wildcard:

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

    - + Anchors:

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

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

    - + Repeats:

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

    - + Back references:

    @@ -173,7 +173,7 @@ aaaa

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

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

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

    - + Negation:

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

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

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

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

    - + Combinations:

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

    - + Escapes

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

    - + What Gets Matched

    @@ -309,13 +309,13 @@ aaaa rule.

    - + Variations

    - + Grep

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

    - + emacs

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

    - + Options

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

    - + References

    diff --git a/doc/html/boost_regex/syntax/character_classes.html b/doc/html/boost_regex/syntax/character_classes.html index 8a88baf5..560a431e 100644 --- a/doc/html/boost_regex/syntax/character_classes.html +++ b/doc/html/boost_regex/syntax/character_classes.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    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 f9ca8d6e..09f3d399 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/syntax/character_classes/std_char_clases.html b/doc/html/boost_regex/syntax/character_classes/std_char_clases.html index 1d1f612e..56dad397 100644 --- a/doc/html/boost_regex/syntax/character_classes/std_char_clases.html +++ b/doc/html/boost_regex/syntax/character_classes/std_char_clases.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/syntax/collating_names.html b/doc/html/boost_regex/syntax/collating_names.html index 6fc589cd..40024684 100644 --- a/doc/html/boost_regex/syntax/collating_names.html +++ b/doc/html/boost_regex/syntax/collating_names.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/syntax/collating_names/digraphs.html b/doc/html/boost_regex/syntax/collating_names/digraphs.html index 55b9ee20..a0711eff 100644 --- a/doc/html/boost_regex/syntax/collating_names/digraphs.html +++ b/doc/html/boost_regex/syntax/collating_names/digraphs.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 2fbedb55..fb89eb0e 100644 --- a/doc/html/boost_regex/syntax/collating_names/named_unicode.html +++ b/doc/html/boost_regex/syntax/collating_names/named_unicode.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 fddfa5ac..7298b7dd 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/syntax/leftmost_longest_rule.html b/doc/html/boost_regex/syntax/leftmost_longest_rule.html index f64d70c0..92433f80 100644 --- a/doc/html/boost_regex/syntax/leftmost_longest_rule.html +++ b/doc/html/boost_regex/syntax/leftmost_longest_rule.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/syntax/perl_syntax.html b/doc/html/boost_regex/syntax/perl_syntax.html index a9dc9ba7..f73e386c 100644 --- a/doc/html/boost_regex/syntax/perl_syntax.html +++ b/doc/html/boost_regex/syntax/perl_syntax.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -28,7 +28,7 @@ Syntax

    - + Synopsis

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

    - + Perl Regular Expression Syntax

    @@ -55,7 +55,7 @@

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

    @@ -75,7 +75,7 @@

    - + Anchors

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

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

    - + Non-marking grouping
    @@ -111,7 +111,7 @@ out any separate sub-expressions.

    - + Repeats

    @@ -197,7 +197,7 @@ operator to be applied to.

    - + Non greedy repeats
    @@ -228,7 +228,7 @@ input as possible.

    - + Back references

    @@ -248,7 +248,7 @@

    aaabba
     
    - + Alternation

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

    - + Character sets

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

    - + Single characters

    @@ -298,7 +298,7 @@ or 'c'.

    - + Character ranges
    @@ -311,7 +311,7 @@ regular expression, then ranges are locale sensitive.

    - + Negation

    @@ -320,7 +320,7 @@ range a-c.

    - + Character classes
    @@ -330,7 +330,7 @@ character class names.

    - + Collating Elements
    @@ -354,7 +354,7 @@ character.

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

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

    - + Combinations

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

    - + Escapes

    @@ -584,7 +584,7 @@

    - + "Single character" character classes:
    @@ -738,7 +738,7 @@
    - + Character Properties
    @@ -846,7 +846,7 @@ matches any "digit" character, as does \p{digit}.

    - + Word Boundaries

    @@ -868,7 +868,7 @@ Matches only when not at a word boundary.

    - + Buffer boundaries

    @@ -893,7 +893,7 @@ to the regular expression \n*\z

    - + Continuation Escape
    @@ -905,7 +905,7 @@ match to start where the last one ended.

    - + Quoting escape

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

    - + Unicode escapes

    @@ -929,7 +929,7 @@ combining characters.

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

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

    - + Comments

    @@ -956,7 +956,7 @@ are ignored.

    - + Modifiers

    @@ -971,7 +971,7 @@ applies the specified modifiers to pattern only.

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

    - + Lookahead

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

    - + Lookbehind

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

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

    - + Conditional Expressions
    @@ -1050,7 +1050,7 @@ sub-expression has been matched).

    - + Operator precedence
    @@ -1086,7 +1086,7 @@

    - + What gets matched

    @@ -1271,7 +1271,7 @@

    - + Variations

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

    - + Options

    @@ -1293,7 +1293,7 @@ sensitivity are to be applied.

    - + Pattern Modifiers

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

    - + References

    diff --git a/doc/html/boost_regex/unicode.html b/doc/html/boost_regex/unicode.html index 9cb48ebc..74631e32 100644 --- a/doc/html/boost_regex/unicode.html +++ b/doc/html/boost_regex/unicode.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -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 f7007f8a..2c00ebe9 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -12,8 +12,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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)

    @@ -190,9 +190,13 @@
    +

    + A printer-friendly PDF + version of this manual is also available. +

    - +

    Last revised: January 14, 2008 at 09:54:07 GMT

    Last revised: February 21, 2008 at 12:52:05 GMT


    diff --git a/doc/regex.qbk b/doc/regex.qbk index 7cbe4df5..4fa5636b 100644 --- a/doc/regex.qbk +++ b/doc/regex.qbk @@ -45,6 +45,10 @@ [template regerror[] [link boost_regex.ref.posix.regerror `regerror`]] [template regfree[] [link boost_regex.ref.posix.regfree `regfree`]] +A printer-friendly +[@http://svn.boost.org/svn/boost/sandbox/pdf/regex/release/regex.pdf +PDF version of this manual is also available]. + [include configuration.qbk] [include install.qbk] [include introduction.qbk] From c9d1a42e053b21f02cb6a1384f3d7e2624a3532b Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sat, 15 Mar 2008 18:19:11 +0000 Subject: [PATCH 41/62] Added missing files. [SVN r43632] --- doc/gcc-performance.html | 543 +++++++++++++++++++++++++++++ doc/vc71-performance.html | 703 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 1246 insertions(+) create mode 100644 doc/gcc-performance.html create mode 100644 doc/vc71-performance.html diff --git a/doc/gcc-performance.html b/doc/gcc-performance.html new file mode 100644 index 00000000..5dcea95a --- /dev/null +++ b/doc/gcc-performance.html @@ -0,0 +1,543 @@ + + + + Regular Expression Performance Comparison (gcc 3.2) + + + + + + + +

    Regular Expression Performance Comparison

    +

    The following tables provide comparisons between the following regular + expression libraries:

    +

    The Boost regex library.

    +

    The GNU regular expression library.

    +

    Philip Hazel's PCRE library.

    +

    Details

    +

    Machine: Intel Pentium 4 2.8GHz PC.

    +

    Compiler: GNU C++ version 3.2 20020927 (prerelease).

    +

    C++ Standard Library: GNU libstdc++ version 20020927.

    +

    OS: Cygwin.

    +

    Boost version: 1.31.0.

    +

    PCRE version: 4.1.

    +

    As ever care should be taken in interpreting the results, only sensible regular + expressions (rather than pathological cases) are given, most are taken from the + Boost regex examples, or from the Library of + Regular Expressions. In addition, some variation in the relative + performance of these libraries can be expected on other machines - as memory + access and processor caching effects can be quite large for most finite state + machine algorithms. In each case the first figure given is the relative time + taken (so a value of 1.0 is as good as it gets), while the second figure is the + actual time taken.

    +

    Averages

    +

    The following are the average relative scores for all the tests: the perfect + regular expression library would score 1, in practice anything less than 2 + is pretty good.

    + + + + + + + + + + + + + +
    BoostBoost + C++ localePOSIXPCRE
    1.45031.49124108.3721.56255
    +
    +
    +

    Comparison 1: Long Search

    +

    For each of the following regular expressions the time taken to find all + occurrences of the expression within a long English language text was measured + (mtent12.txt + from Project Gutenberg, 19Mb). 

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ExpressionBoostBoost + C++ localePOSIXPCRE
    Twain3.49
    + (0.205s)
    4.09
    + (0.24s)
    65.2
    + (3.83s)
    1
    + (0.0588s)
    Huck[[:alpha:]]+3.86
    + (0.203s)
    4.52
    + (0.238s)
    100
    + (5.26s)
    1
    + (0.0526s)
    [[:alpha:]]+ing1.01
    + (1.23s)
    1
    + (1.22s)
    4.95
    + (6.04s)
    4.67
    + (5.71s)
    ^[^ ]*?Twain1
    + (0.31s)
    1.05
    + (0.326s)
    NA3.32
    + (1.03s)
    Tom|Sawyer|Huckleberry|Finn1.02
    + (0.125s)
    1
    + (0.123s)
    165
    + (20.3s)
    1.08
    + (0.133s)
    (Tom|Sawyer|Huckleberry|Finn).{0,30}river|river.{0,30}(Tom|Sawyer|Huckleberry|Finn)1
    + (0.345s)
    1.03
    + (0.355s)
    NA1.71
    + (0.59s)
    +
    +
    +

    Comparison 2: Medium Sized Search

    +

    For each of the following regular expressions the time taken to find all + occurrences of the expression within a medium sized English language text was + measured (the first 50K from mtent12.txt). 

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ExpressionBoostBoost + C++ localePOSIXPCRE
    Twain1.8
    + (0.000519s)
    2.14
    + (0.000616s)
    9.08
    + (0.00262s)
    1
    + (0.000289s)
    Huck[[:alpha:]]+3.65
    + (0.000499s)
    4.36
    + (0.000597s)
    1
    + (0.000137s)
    1.43
    + (0.000196s)
    [[:alpha:]]+ing1
    + (0.00258s)
    1
    + (0.00258s)
    5.28
    + (0.0136s)
    5.63
    + (0.0145s)
    ^[^ ]*?Twain1
    + (0.000929s)
    1.03
    + (0.000957s)
    NA2.82
    + (0.00262s)
    Tom|Sawyer|Huckleberry|Finn1
    + (0.000812s)
    1
    + (0.000812s)
    60.1
    + (0.0488s)
    1.28
    + (0.00104s)
    (Tom|Sawyer|Huckleberry|Finn).{0,30}river|river.{0,30}(Tom|Sawyer|Huckleberry|Finn)1.02
    + (0.00178s)
    1
    + (0.00174s)
    242
    + (0.421s)
    1.3
    + (0.00227s)
    +
    +
    +

    Comparison 3: C++ Code Search

    +

    For each of the following regular expressions the time taken to find all + occurrences of the expression within the C++ source file + boost/crc.hpp was measured. 

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ExpressionBoostBoost + C++ localePOSIXPCRE
    ^(template[[:space:]]*<[^;:{]+>[[:space:]]*)?(class|struct)[[:space:]]*(\<\w+\>([ + ]*\([^)]*\))?[[:space:]]*)*(\<\w*\>)[[:space:]]*(<[^;:{]+>[[:space:]]*)?(\{|:[^;\{()]*\{)1.04
    + (0.000144s)
    1
    + (0.000139s)
    862
    + (0.12s)
    4.56
    + (0.000636s)
    (^[ + ]*#(?:[^\\\n]|\\[^\n_[:punct:][:alnum:]]*[\n[:punct:][:word:]])*)|(//[^\n]*|/\*.*?\*/)|\<([+-]?(?:(?:0x[[:xdigit:]]+)|(?:(?:[[:digit:]]*\.)?[[:digit:]]+(?:[eE][+-]?[[:digit:]]+)?))u?(?:(?:int(?:8|16|32|64))|L)?)\>|('(?:[^\\']|\\.)*'|"(?:[^\\"]|\\.)*")|\<(__asm|__cdecl|__declspec|__export|__far16|__fastcall|__fortran|__import|__pascal|__rtti|__stdcall|_asm|_cdecl|__except|_export|_far16|_fastcall|__finally|_fortran|_import|_pascal|_stdcall|__thread|__try|asm|auto|bool|break|case|catch|cdecl|char|class|const|const_cast|continue|default|delete|do|double|dynamic_cast|else|enum|explicit|extern|false|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|operator|pascal|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_cast|struct|switch|template|this|throw|true|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\>1
    + (0.0139s)
    1.01
    + (0.0141s)
    NA1.55
    + (0.0216s)
    ^[ ]*#[ ]*include[ ]+("[^"]+"|<[^>]+>)1.04
    + (0.000332s)
    1
    + (0.000318s)
    130
    + (0.0413s)
    1.72
    + (0.000547s)
    ^[ ]*#[ ]*include[ ]+("boost/[^"]+"|<boost/[^>]+>)1.02
    + (0.000323s)
    1
    + (0.000318s)
    150
    + (0.0476s)
    1.72
    + (0.000547s)
    +
    +

    +

    Comparison 4: HTML Document Search +

    +

    For each of the following regular expressions the time taken to find all + occurrences of the expression within the html file libs/libraries.htm + was measured. 

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ExpressionBoostBoost + C++ localePOSIXPCRE
    beman|john|dave1.03
    + (0.000367s)
    1
    + (0.000357s)
    47.4
    + (0.0169s)
    1.16
    + (0.000416s)
    <p>.*?</p>1.25
    + (0.000459s)
    1
    + (0.000367s)
    NA1.03
    + (0.000376s)
    <a[^>]+href=("[^"]*"|[^[:space:]]+)[^>]*>1
    + (0.000509s)
    1.02
    + (0.000518s)
    305
    + (0.155s)
    1.1
    + (0.000558s)
    <h[12345678][^>]*>.*?</h[12345678]>1.04
    + (0.00025s)
    1
    + (0.00024s)
    NA1.16
    + (0.000279s)
    <img[^>]+src=("[^"]*"|[^[:space:]]+)[^>]*>2.22
    + (0.000489s)
    1.69
    + (0.000372s)
    148
    + (0.0326s)
    1
    + (0.00022s)
    <font[^>]+face=("[^"]*"|[^[:space:]]+)[^>]*>.*?</font>1.71
    + (0.000371s)
    1.75
    + (0.000381s)
    NA1
    + (0.000218s)
    +
    +
    +

    Comparison 3: Simple Matches

    +

    For each of the following regular expressions the time taken to match against + the text indicated was measured. 

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ExpressionTextBoostBoost + C++ localePOSIXPCRE
    abcabc1.36
    + (2.15e-07s)
    1.36
    + (2.15e-07s)
    2.76
    + (4.34e-07s)
    1
    + (1.58e-07s)
    ^([0-9]+)(\-| |$)(.*)$100- this is a line of ftp response which contains a message string1.55
    + (7.26e-07s)
    1.51
    + (7.07e-07s)
    319
    + (0.000149s)
    1
    + (4.67e-07s)
    ([[:digit:]]{4}[- ]){3}[[:digit:]]{3,4}1234-5678-1234-4561.96
    + (9.54e-07s)
    1.96
    + (9.54e-07s)
    44.5
    + (2.17e-05s)
    1
    + (4.87e-07s)
    ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$john@johnmaddock.co.uk1.22
    + (1.51e-06s)
    1.23
    + (1.53e-06s)
    162
    + (0.000201s)
    1
    + (1.24e-06s)
    ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$foo12@foo.edu1.28
    + (1.47e-06s)
    1.3
    + (1.49e-06s)
    104
    + (0.00012s)
    1
    + (1.15e-06s)
    ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$bob.smith@foo.tv1.28
    + (1.47e-06s)
    1.3
    + (1.49e-06s)
    113
    + (0.00013s)
    1
    + (1.15e-06s)
    ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$EH10 2QQ1.38
    + (4.68e-07s)
    1.41
    + (4.77e-07s)
    13.5
    + (4.59e-06s)
    1
    + (3.39e-07s)
    ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$G1 1AA1.28
    + (4.35e-07s)
    1.25
    + (4.25e-07s)
    11.7
    + (3.97e-06s)
    1
    + (3.39e-07s)
    ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$SW1 1ZZ1.32
    + (4.53e-07s)
    1.31
    + (4.49e-07s)
    12.2
    + (4.2e-06s)
    1
    + (3.44e-07s)
    ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$4/1/20011.16
    + (3.82e-07s)
    1.2
    + (3.96e-07s)
    13.9
    + (4.59e-06s)
    1
    + (3.29e-07s)
    ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$12/12/20011.38
    + (4.49e-07s)
    1.38
    + (4.49e-07s)
    16
    + (5.2e-06s)
    1
    + (3.25e-07s)
    ^[-+]?[[:digit:]]*\.?[[:digit:]]*$1231.19
    + (7.64e-07s)
    1.16
    + (7.45e-07s)
    7.51
    + (4.81e-06s)
    1
    + (6.4e-07s)
    ^[-+]?[[:digit:]]*\.?[[:digit:]]*$+3.141591.32
    + (8.97e-07s)
    1.31
    + (8.88e-07s)
    14
    + (9.48e-06s)
    1
    + (6.78e-07s)
    ^[-+]?[[:digit:]]*\.?[[:digit:]]*$-3.141591.32
    + (8.97e-07s)
    1.31
    + (8.88e-07s)
    14
    + (9.48e-06s)
    1
    + (6.78e-07s)
    +
    +
    +
    +

    © Copyright John Maddock 2003

    +

    Use, modification and distribution are subject to 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)

    + + + diff --git a/doc/vc71-performance.html b/doc/vc71-performance.html new file mode 100644 index 00000000..c847845a --- /dev/null +++ b/doc/vc71-performance.html @@ -0,0 +1,703 @@ + + + Regular Expression Performance Comparison + + + + + + +

    Regular Expression Performance Comparison

    +

    + The following tables provide comparisons between the following regular + expression libraries:

    +

    GRETA.

    +

    The Boost regex library.

    +

    Henry Spencer's regular expression library + - this is provided for comparison as a typical non-backtracking implementation.

    +

    Philip Hazel's PCRE library.

    +

    Details

    +

    Machine: Intel Pentium 4 2.8GHz PC.

    +

    Compiler: Microsoft Visual C++ version 7.1.

    +

    C++ Standard Library: Dinkumware standard library version 313.

    +

    OS: Win32.

    +

    Boost version: 1.31.0.

    +

    PCRE version: 3.9.

    +

    + As ever care should be taken in interpreting the results, only sensible regular + expressions (rather than pathological cases) are given, most are taken from the + Boost regex examples, or from the Library of + Regular Expressions. In addition, some variation in the relative + performance of these libraries can be expected on other machines - as memory + access and processor caching effects can be quite large for most finite state + machine algorithms.

    +

    Averages

    +

    The following are the average relative scores for all the tests: the perfect + regular expression library would score 1, in practice any small number + (say less that 4 or 5) is pretty good.

    +

    + + + + + + + + + + + + + + + + +
    GRETAGRETA
    + (non-recursive mode)
    BoostBoost + C++ localePOSIXPCRE
    2.316196.142032.306681.94363124.7522.09365
    +

    +

    Comparison 1: Long Search

    +

    For each of the following regular expressions the time taken to find all + occurrences of the expression within a long English language text was measured + (mtent12.txt + from Project Gutenberg, 19Mb). 

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ExpressionGRETAGRETA
    + (non-recursive mode)
    BoostBoost + C++ localePOSIXPCRE
    Twain1
    + (0.0407s)
    1
    + (0.0407s)
    4.18
    + (0.17s)
    4.18
    + (0.17s)
    135
    + (5.48s)
    1.37
    + (0.0557s)
    Huck[[:alpha:]]+1.02
    + (0.0381s)
    1
    + (0.0375s)
    4.53
    + (0.17s)
    4.54
    + (0.17s)
    166
    + (6.23s)
    1.34
    + (0.0501s)
    [[:alpha:]]+ing4.3
    + (4.18s)
    9.93
    + (9.65s)
    1.15
    + (1.12s)
    1
    + (0.972s)
    8.15
    + (7.92s)
    5.85
    + (5.69s)
    ^[^ ]*?Twain6.25
    + (1.84s)
    20.9
    + (6.16s)
    1.56
    + (0.461s)
    1
    + (0.295s)
    NA2.58
    + (0.761s)
    Tom|Sawyer|Huckleberry|Finn6.53
    + (0.711s)
    11.5
    + (1.25s)
    2.3
    + (0.251s)
    1
    + (0.109s)
    196
    + (21.4s)
    1.77
    + (0.193s)
    (Tom|Sawyer|Huckleberry|Finn).{0,30}river|river.{0,30}(Tom|Sawyer|Huckleberry|Finn)3.88
    + (0.972s)
    6.48
    + (1.62s)
    1.66
    + (0.416s)
    1
    + (0.251s)
    NA2.48
    + (0.62s)
    +

    +

    Comparison 2: Medium Sized Search

    +

    For each of the following regular expressions the time taken to find all + occurrences of the expression within a medium sized English language text was + measured (the first 50K from mtent12.txt). 

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ExpressionGRETAGRETA
    + (non-recursive mode)
    BoostBoost + C++ localePOSIXPCRE
    Twain1
    + (9.05e-005s)
    1.03
    + (9.29e-005s)
    4.92
    + (0.000445s)
    4.92
    + (0.000445s)
    43.2
    + (0.00391s)
    3.18
    + (0.000288s)
    Huck[[:alpha:]]+1
    + (8.56e-005s)
    1
    + (8.56e-005s)
    4.97
    + (0.000425s)
    4.98
    + (0.000426s)
    2.8
    + (0.000239s)
    2.2
    + (0.000188s)
    [[:alpha:]]+ing5.29
    + (0.011s)
    11.8
    + (0.0244s)
    1.19
    + (0.00246s)
    1
    + (0.00207s)
    8.77
    + (0.0182s)
    6.88
    + (0.0142s)
    ^[^ ]*?Twain5.98
    + (0.00462s)
    20.2
    + (0.0156s)
    1.54
    + (0.00119s)
    1
    + (0.000772s)
    NA2.53
    + (0.00195s)
    Tom|Sawyer|Huckleberry|Finn3.42
    + (0.00207s)
    6.31
    + (0.00383s)
    1.71
    + (0.00104s)
    1
    + (0.000606s)
    81.5
    + (0.0494s)
    1.96
    + (0.00119s)
    (Tom|Sawyer|Huckleberry|Finn).{0,30}river|river.{0,30}(Tom|Sawyer|Huckleberry|Finn)1.97
    + (0.00266s)
    3.77
    + (0.00509s)
    1.38
    + (0.00186s)
    1
    + (0.00135s)
    297
    + (0.401s)
    1.77
    + (0.00238s)
    +

    +

    Comparison 3: C++ Code Search

    +

    For each of the following regular expressions the time taken to find all + occurrences of the expression within the C++ source file + boost/crc.hpp was measured. 

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ExpressionGRETAGRETA
    + (non-recursive mode)
    BoostBoost + C++ localePOSIXPCRE
    ^(template[[:space:]]*<[^;:{]+>[[:space:]]*)?(class|struct)[[:space:]]*(\<\w+\>([ + ]*\([^)]*\))?[[:space:]]*)*(\<\w*\>)[[:space:]]*(<[^;:{]+>[[:space:]]*)?(\{|:[^;\{()]*\{)6.67
    + (0.00147s)
    36.9
    + (0.00813s)
    1.03
    + (0.000227s)
    1
    + (0.00022s)
    557
    + (0.123s)
    2.57
    + (0.000566s)
    (^[ + ]*#(?:[^\\\n]|\\[^\n_[:punct:][:alnum:]]*[\n[:punct:][:word:]])*)|(//[^\n]*|/\*.*?\*/)|\<([+-]?(?:(?:0x[[:xdigit:]]+)|(?:(?:[[:digit:]]*\.)?[[:digit:]]+(?:[eE][+-]?[[:digit:]]+)?))u?(?:(?:int(?:8|16|32|64))|L)?)\>|('(?:[^\\']|\\.)*'|"(?:[^\\"]|\\.)*")|\<(__asm|__cdecl|__declspec|__export|__far16|__fastcall|__fortran|__import|__pascal|__rtti|__stdcall|_asm|_cdecl|__except|_export|_far16|_fastcall|__finally|_fortran|_import|_pascal|_stdcall|__thread|__try|asm|auto|bool|break|case|catch|cdecl|char|class|const|const_cast|continue|default|delete|do|double|dynamic_cast|else|enum|explicit|extern|false|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|operator|pascal|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_cast|struct|switch|template|this|throw|true|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\>1
    + (0.00555s)
    3.32
    + (0.0185s)
    2.53
    + (0.0141s)
    1.94
    + (0.0108s)
    NA3.38
    + (0.0188s)
    ^[ ]*#[ ]*include[ ]+("[^"]+"|<[^>]+>)4.77
    + (0.00156s)
    24.8
    + (0.00814s)
    1.13
    + (0.000372s)
    1
    + (0.000328s)
    120
    + (0.0394s)
    1.58
    + (0.000518s)
    ^[ ]*#[ ]*include[ ]+("boost/[^"]+"|<boost/[^>]+>)4.72
    + (0.00154s)
    24.8
    + (0.00813s)
    1.12
    + (0.000367s)
    1
    + (0.000328s)
    143
    + (0.0469s)
    1.58
    + (0.000518s)
    +

    +

    +

    Comparison 4: HTML Document Search

    + +

    For each of the following regular expressions the time taken to find all + occurrences of the expression within the html file libs/libraries.htm + was measured. 

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ExpressionGRETAGRETA
    + (non-recursive mode)
    BoostBoost + C++ localePOSIXPCRE
    beman|john|dave4.07
    + (0.00111s)
    7.14
    + (0.00195s)
    1.75
    + (0.000479s)
    1
    + (0.000273s)
    54.3
    + (0.0149s)
    1.83
    + (0.000499s)
    <p>.*?</p>1
    + (6.59e-005s)
    1.04
    + (6.84e-005s)
    4.15
    + (0.000273s)
    4.23
    + (0.000279s)
    NA4.23
    + (0.000279s)
    <a[^>]+href=("[^"]*"|[^[:space:]]+)[^>]*>1.39
    + (0.000626s)
    1.83
    + (0.000821s)
    1.41
    + (0.000636s)
    1
    + (0.00045s)
    351
    + (0.158s)
    1.13
    + (0.000509s)
    <h[12345678][^>]*>.*?</h[12345678]>1
    + (0.000142s)
    1.21
    + (0.000171s)
    2.62
    + (0.000372s)
    1.48
    + (0.00021s)
    NA1.73
    + (0.000245s)
    <img[^>]+src=("[^"]*"|[^[:space:]]+)[^>]*>1
    + (5.38e-005s)
    1.05
    + (5.63e-005s)
    5
    + (0.000269s)
    5.18
    + (0.000278s)
    604
    + (0.0325s)
    4.05
    + (0.000218s)
    <font[^>]+face=("[^"]*"|[^[:space:]]+)[^>]*>.*?</font>1
    + (6.05e-005s)
    1.09
    + (6.59e-005s)
    4.45
    + (0.000269s)
    4.69
    + (0.000284s)
    NA3.64
    + (0.00022s)
    +

    +

    Comparison 3: Simple Matches

    +

    + For each of the following regular expressions the time taken to match against + the text indicated was measured. 

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ExpressionTextGRETAGRETA
    + (non-recursive mode)
    BoostBoost + C++ localePOSIXPCRE
    abcabc1.32
    + (2.24e-007s)
    1.86
    + (3.15e-007s)
    1.25
    + (2.12e-007s)
    1.24
    + (2.1e-007s)
    2.98
    + (5.05e-007s)
    1
    + (1.7e-007s)
    ^([0-9]+)(\-| |$)(.*)$100- this is a line of ftp response which contains a message string1.32
    + (5.91e-007s)
    1.96
    + (8.78e-007s)
    2.68
    + (1.2e-006s)
    1.53
    + (6.88e-007s)
    332
    + (0.000149s)
    1
    + (4.49e-007s)
    ([[:digit:]]{4}[- ]){3}[[:digit:]]{3,4}1234-5678-1234-4561.44
    + (7.16e-007s)
    2.04
    + (1.01e-006s)
    3.35
    + (1.66e-006s)
    2.15
    + (1.07e-006s)
    31.4
    + (1.56e-005s)
    1
    + (4.96e-007s)
    ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$john@johnmaddock.co.uk1
    + (1.18e-006s)
    1.42
    + (1.68e-006s)
    2.06
    + (2.44e-006s)
    1.35
    + (1.6e-006s)
    165
    + (0.000196s)
    1.06
    + (1.26e-006s)
    ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$foo12@foo.edu1
    + (1.09e-006s)
    1.44
    + (1.57e-006s)
    2.21
    + (2.4e-006s)
    1.41
    + (1.53e-006s)
    108
    + (0.000117s)
    1.04
    + (1.13e-006s)
    ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$bob.smith@foo.tv1
    + (1.07e-006s)
    1.43
    + (1.53e-006s)
    2.21
    + (2.37e-006s)
    1.45
    + (1.55e-006s)
    123
    + (0.000132s)
    1.05
    + (1.13e-006s)
    ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$EH10 2QQ1
    + (3.19e-007s)
    1.67
    + (5.34e-007s)
    1.58
    + (5.05e-007s)
    1.4
    + (4.49e-007s)
    10.4
    + (3.32e-006s)
    1.15
    + (3.68e-007s)
    ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$G1 1AA1
    + (3.29e-007s)
    1.65
    + (5.44e-007s)
    1.51
    + (4.96e-007s)
    1.36
    + (4.49e-007s)
    8.46
    + (2.79e-006s)
    1.1
    + (3.63e-007s)
    ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$SW1 1ZZ1
    + (3.25e-007s)
    1.64
    + (5.34e-007s)
    1.56
    + (5.05e-007s)
    1.38
    + (4.49e-007s)
    9.29
    + (3.02e-006s)
    1.13
    + (3.68e-007s)
    ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$4/1/20011
    + (3.44e-007s)
    1.55
    + (5.34e-007s)
    2.36
    + (8.12e-007s)
    2.2
    + (7.55e-007s)
    19.6
    + (6.72e-006s)
    1.81
    + (6.21e-007s)
    ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$12/12/20011.05
    + (6.59e-007s)
    1.66
    + (1.05e-006s)
    1.44
    + (9.07e-007s)
    1.23
    + (7.73e-007s)
    11.6
    + (7.34e-006s)
    1
    + (6.3e-007s)
    ^[-+]?[[:digit:]]*\.?[[:digit:]]*$1231
    + (5.72e-007s)
    1.59
    + (9.07e-007s)
    1.6
    + (9.16e-007s)
    1.49
    + (8.5e-007s)
    6.14
    + (3.51e-006s)
    1.22
    + (6.97e-007s)
    ^[-+]?[[:digit:]]*\.?[[:digit:]]*$+3.141591
    + (6.78e-007s)
    1.52
    + (1.03e-006s)
    1.47
    + (9.94e-007s)
    1.31
    + (8.88e-007s)
    10.8
    + (7.34e-006s)
    1.08
    + (7.35e-007s)
    ^[-+]?[[:digit:]]*\.?[[:digit:]]*$-3.141591
    + (6.78e-007s)
    1.52
    + (1.03e-006s)
    1.46
    + (9.92e-007s)
    1.32
    + (8.98e-007s)
    10.5
    + (7.11e-006s)
    1.11
    + (7.54e-007s)
    +

    +
    +

    © Copyright John Maddock 2003

    +

    Use, modification and distribution are subject to 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)

    + + + From e5bc36d7c900faf829552c899b5ac4f5e8b2e871 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Wed, 9 Apr 2008 15:32:08 +0000 Subject: [PATCH 42/62] Fix for bug #1790. [SVN r44128] --- include/boost/regex/concepts.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/regex/concepts.hpp b/include/boost/regex/concepts.hpp index 0f5677a2..97c77978 100644 --- a/include/boost/regex/concepts.hpp +++ b/include/boost/regex/concepts.hpp @@ -368,8 +368,6 @@ struct BaseRegexConcept // access: const Regex ce; - bool b = ce.empty(); - ignore_unused_variable_warning(b); unsigned i = ce.mark_count(); ignore_unused_variable_warning(i); m_flags = ce.flags(); @@ -806,6 +804,8 @@ struct BoostRegexConcept ignore_unused_variable_warning(i2); bool b = ce == ce2; ignore_unused_variable_warning(b); + b = ce.empty(); + ignore_unused_variable_warning(b); b = ce != ce2; ignore_unused_variable_warning(b); b = ce < ce2; From 6e9b9a7995a77693e161706571f79145cab9263c Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 10 Apr 2008 12:46:41 +0000 Subject: [PATCH 43/62] Doh! Changes to code should actually compile! A fix for the last change. [SVN r44145] --- 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 97c77978..99c6eea5 100644 --- a/include/boost/regex/concepts.hpp +++ b/include/boost/regex/concepts.hpp @@ -383,7 +383,7 @@ struct BaseRegexConcept typedef typename sub_match_type::iterator sub_iter_type; BOOST_STATIC_ASSERT((::boost::is_same::value)); BOOST_STATIC_ASSERT((::boost::is_same::value)); - b = m_sub.matched; + bool b = m_sub.matched; ignore_unused_variable_warning(b); BidiIterator bi = m_sub.first; ignore_unused_variable_warning(bi); From c7dda1b549ae2cb9d27a77e96982e32918465b4e Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 11 Apr 2008 08:53:54 +0000 Subject: [PATCH 44/62] Fix doc typo from issue #1794. [SVN r44169] --- .../boost_regex/background_information.html | 2 +- .../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 | 12 +++---- .../background_information/locale.html | 2 +- .../background_information/performance.html | 2 +- .../background_information/redist.html | 2 +- .../background_information/standards.html | 4 +-- .../background_information/thread_safety.html | 2 +- doc/html/boost_regex/captures.html | 8 ++--- doc/html/boost_regex/configuration.html | 2 +- .../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 | 2 +- .../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 | 18 +++++----- .../introduction_and_overview.html | 2 +- doc/html/boost_regex/partial_matches.html | 2 +- doc/html/boost_regex/ref.html | 2 +- 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 +- 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 | 2 +- .../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_clases.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 | 36 +++++++++---------- doc/html/boost_regex/unicode.html | 6 ++-- doc/html/index.html | 6 ++-- doc/syntax_perl.qbk | 2 +- 83 files changed, 121 insertions(+), 121 deletions(-) diff --git a/doc/html/boost_regex/background_information.html b/doc/html/boost_regex/background_information.html index 44b9fc3b..d0c12bab 100644 --- a/doc/html/boost_regex/background_information.html +++ b/doc/html/boost_regex/background_information.html @@ -12,7 +12,7 @@ - + diff --git a/doc/html/boost_regex/background_information/acknowledgements.html b/doc/html/boost_regex/background_information/acknowledgements.html index 844f5874..38965407 100644 --- a/doc/html/boost_regex/background_information/acknowledgements.html +++ b/doc/html/boost_regex/background_information/acknowledgements.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/background_information/examples.html b/doc/html/boost_regex/background_information/examples.html index 0bfd3502..403074ea 100644 --- a/doc/html/boost_regex/background_information/examples.html +++ b/doc/html/boost_regex/background_information/examples.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/background_information/faq.html b/doc/html/boost_regex/background_information/faq.html index 2259e4d0..d3f8900b 100644 --- a/doc/html/boost_regex/background_information/faq.html +++ b/doc/html/boost_regex/background_information/faq.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/background_information/futher.html b/doc/html/boost_regex/background_information/futher.html index 0608408a..6573efe2 100644 --- a/doc/html/boost_regex/background_information/futher.html +++ b/doc/html/boost_regex/background_information/futher.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/background_information/headers.html b/doc/html/boost_regex/background_information/headers.html index df3a3c16..82dfc5c1 100644 --- a/doc/html/boost_regex/background_information/headers.html +++ b/doc/html/boost_regex/background_information/headers.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/background_information/history.html b/doc/html/boost_regex/background_information/history.html index 9fa64fbb..76d39eea 100644 --- a/doc/html/boost_regex/background_information/history.html +++ b/doc/html/boost_regex/background_information/history.html @@ -11,7 +11,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + @@ -26,7 +26,7 @@ History
    - + Boost 1.34
    @@ -49,7 +49,7 @@
    - + Boost 1.33.1
    @@ -119,7 +119,7 @@
    - + Boost 1.33.0
    @@ -174,7 +174,7 @@
    - + Boost 1.32.1
    @@ -182,7 +182,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 7814c60c..6d5e99d5 100644 --- a/doc/html/boost_regex/background_information/locale.html +++ b/doc/html/boost_regex/background_information/locale.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/background_information/performance.html b/doc/html/boost_regex/background_information/performance.html index 8c5d9a8c..b26c1139 100644 --- a/doc/html/boost_regex/background_information/performance.html +++ b/doc/html/boost_regex/background_information/performance.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/background_information/redist.html b/doc/html/boost_regex/background_information/redist.html index fd9f354f..a4c2158a 100644 --- a/doc/html/boost_regex/background_information/redist.html +++ b/doc/html/boost_regex/background_information/redist.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/background_information/standards.html b/doc/html/boost_regex/background_information/standards.html index 6e14c88a..db70edb4 100644 --- a/doc/html/boost_regex/background_information/standards.html +++ b/doc/html/boost_regex/background_information/standards.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + @@ -82,7 +82,7 @@ a custom traits class.

    - + Unicode

    diff --git a/doc/html/boost_regex/background_information/thread_safety.html b/doc/html/boost_regex/background_information/thread_safety.html index a4bad710..7b88363c 100644 --- a/doc/html/boost_regex/background_information/thread_safety.html +++ b/doc/html/boost_regex/background_information/thread_safety.html @@ -12,7 +12,7 @@

    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/captures.html b/doc/html/boost_regex/captures.html index e3f663bb..9d48399d 100644 --- a/doc/html/boost_regex/captures.html +++ b/doc/html/boost_regex/captures.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + @@ -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/configuration.html b/doc/html/boost_regex/configuration.html index 781e7acb..b8de398d 100644 --- a/doc/html/boost_regex/configuration.html +++ b/doc/html/boost_regex/configuration.html @@ -12,7 +12,7 @@

    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/configuration/algorithm.html b/doc/html/boost_regex/configuration/algorithm.html index 270537a3..479bacc9 100644 --- a/doc/html/boost_regex/configuration/algorithm.html +++ b/doc/html/boost_regex/configuration/algorithm.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/configuration/compiler.html b/doc/html/boost_regex/configuration/compiler.html index 9f578fe4..4e6a85d1 100644 --- a/doc/html/boost_regex/configuration/compiler.html +++ b/doc/html/boost_regex/configuration/compiler.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/configuration/linkage.html b/doc/html/boost_regex/configuration/linkage.html index 302e2845..511dc37c 100644 --- a/doc/html/boost_regex/configuration/linkage.html +++ b/doc/html/boost_regex/configuration/linkage.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/configuration/locale.html b/doc/html/boost_regex/configuration/locale.html index 100027de..7cca75d2 100644 --- a/doc/html/boost_regex/configuration/locale.html +++ b/doc/html/boost_regex/configuration/locale.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/configuration/tuning.html b/doc/html/boost_regex/configuration/tuning.html index 69aeffbb..d0921904 100644 --- a/doc/html/boost_regex/configuration/tuning.html +++ b/doc/html/boost_regex/configuration/tuning.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/format.html b/doc/html/boost_regex/format.html index 2e7ed141..22d67e10 100644 --- a/doc/html/boost_regex/format.html +++ b/doc/html/boost_regex/format.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/format/boost_format_syntax.html b/doc/html/boost_regex/format/boost_format_syntax.html index 24906c32..cb22bcda 100644 --- a/doc/html/boost_regex/format/boost_format_syntax.html +++ b/doc/html/boost_regex/format/boost_format_syntax.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/format/perl_format.html b/doc/html/boost_regex/format/perl_format.html index 35c849a6..5488c5f8 100644 --- a/doc/html/boost_regex/format/perl_format.html +++ b/doc/html/boost_regex/format/perl_format.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/format/sed_format.html b/doc/html/boost_regex/format/sed_format.html index 8255c298..ff55b8dc 100644 --- a/doc/html/boost_regex/format/sed_format.html +++ b/doc/html/boost_regex/format/sed_format.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/install.html b/doc/html/boost_regex/install.html index a456a1da..6d7308cc 100644 --- a/doc/html/boost_regex/install.html +++ b/doc/html/boost_regex/install.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + @@ -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
    @@ -96,11 +96,11 @@ ICU you are using is binary compatible with the toolset you use to build Boost.

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

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

    - + Sun Workshop 6.1

    @@ -347,7 +347,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/introduction_and_overview.html b/doc/html/boost_regex/introduction_and_overview.html index 23cb1edd..68adc16d 100644 --- a/doc/html/boost_regex/introduction_and_overview.html +++ b/doc/html/boost_regex/introduction_and_overview.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/partial_matches.html b/doc/html/boost_regex/partial_matches.html index 776538f4..0543b089 100644 --- a/doc/html/boost_regex/partial_matches.html +++ b/doc/html/boost_regex/partial_matches.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref.html b/doc/html/boost_regex/ref.html index 59d4e410..b4562707 100644 --- a/doc/html/boost_regex/ref.html +++ b/doc/html/boost_regex/ref.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/bad_expression.html b/doc/html/boost_regex/ref/bad_expression.html index 957f4304..84cace8c 100644 --- a/doc/html/boost_regex/ref/bad_expression.html +++ b/doc/html/boost_regex/ref/bad_expression.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/basic_regex.html b/doc/html/boost_regex/ref/basic_regex.html index 26a70308..9203286c 100644 --- a/doc/html/boost_regex/ref/basic_regex.html +++ b/doc/html/boost_regex/ref/basic_regex.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/concepts.html b/doc/html/boost_regex/ref/concepts.html index ee5aee34..6a632460 100644 --- a/doc/html/boost_regex/ref/concepts.html +++ b/doc/html/boost_regex/ref/concepts.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/concepts/charT_concept.html b/doc/html/boost_regex/ref/concepts/charT_concept.html index 47d68743..d7934898 100644 --- a/doc/html/boost_regex/ref/concepts/charT_concept.html +++ b/doc/html/boost_regex/ref/concepts/charT_concept.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/concepts/iterator_concepts.html b/doc/html/boost_regex/ref/concepts/iterator_concepts.html index cffa1774..c6b6d4c7 100644 --- a/doc/html/boost_regex/ref/concepts/iterator_concepts.html +++ b/doc/html/boost_regex/ref/concepts/iterator_concepts.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/concepts/traits_concept.html b/doc/html/boost_regex/ref/concepts/traits_concept.html index 1cf50425..147a93c3 100644 --- a/doc/html/boost_regex/ref/concepts/traits_concept.html +++ b/doc/html/boost_regex/ref/concepts/traits_concept.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/deprecated_interfaces.html b/doc/html/boost_regex/ref/deprecated_interfaces.html index 2703ac51..b7724524 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 42df3918..68656cb4 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 a6036e96..0163436f 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 730e8542..d293e650 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 6d397b7c..d5b43e87 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/error_type.html b/doc/html/boost_regex/ref/error_type.html index aad11718..0b3fdf2c 100644 --- a/doc/html/boost_regex/ref/error_type.html +++ b/doc/html/boost_regex/ref/error_type.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/match_flag_type.html b/doc/html/boost_regex/ref/match_flag_type.html index 719e96cd..9bcc0dac 100644 --- a/doc/html/boost_regex/ref/match_flag_type.html +++ b/doc/html/boost_regex/ref/match_flag_type.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/match_results.html b/doc/html/boost_regex/ref/match_results.html index 98d7adf3..9a08c670 100644 --- a/doc/html/boost_regex/ref/match_results.html +++ b/doc/html/boost_regex/ref/match_results.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/non_std_strings.html b/doc/html/boost_regex/ref/non_std_strings.html index a220407d..64578031 100644 --- a/doc/html/boost_regex/ref/non_std_strings.html +++ b/doc/html/boost_regex/ref/non_std_strings.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 35b20977..d051e5fc 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 53cf39b6..59cbc25d 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 @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 370e6fda..9000f383 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 @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 85bd66e1..debc21d2 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 @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 9fe3dcc9..cc35964f 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 @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 3dba2d61..e58958d2 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 @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 ab26844d..60541b54 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 @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 e1301c4a..0c3c45d8 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 @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 5aa3e26d..41b53be5 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 @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 0237ebc9..cda7adca 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 @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 34c99d13..ea09c6a5 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 @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/posix.html b/doc/html/boost_regex/ref/posix.html index 579a4994..780e8201 100644 --- a/doc/html/boost_regex/ref/posix.html +++ b/doc/html/boost_regex/ref/posix.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/regex_iterator.html b/doc/html/boost_regex/ref/regex_iterator.html index 054bca12..173e5ec1 100644 --- a/doc/html/boost_regex/ref/regex_iterator.html +++ b/doc/html/boost_regex/ref/regex_iterator.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/regex_match.html b/doc/html/boost_regex/ref/regex_match.html index af02d4d3..059d6c5d 100644 --- a/doc/html/boost_regex/ref/regex_match.html +++ b/doc/html/boost_regex/ref/regex_match.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/regex_replace.html b/doc/html/boost_regex/ref/regex_replace.html index b7a68262..d4df057f 100644 --- a/doc/html/boost_regex/ref/regex_replace.html +++ b/doc/html/boost_regex/ref/regex_replace.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/regex_search.html b/doc/html/boost_regex/ref/regex_search.html index d10cd029..f04b1d9f 100644 --- a/doc/html/boost_regex/ref/regex_search.html +++ b/doc/html/boost_regex/ref/regex_search.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/regex_token_iterator.html b/doc/html/boost_regex/ref/regex_token_iterator.html index 66d3f95b..a0c19431 100644 --- a/doc/html/boost_regex/ref/regex_token_iterator.html +++ b/doc/html/boost_regex/ref/regex_token_iterator.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/regex_traits.html b/doc/html/boost_regex/ref/regex_traits.html index 7d28801a..f7c9d503 100644 --- a/doc/html/boost_regex/ref/regex_traits.html +++ b/doc/html/boost_regex/ref/regex_traits.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/sub_match.html b/doc/html/boost_regex/ref/sub_match.html index 7f81828c..90af7ec8 100644 --- a/doc/html/boost_regex/ref/sub_match.html +++ b/doc/html/boost_regex/ref/sub_match.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/ref/syntax_option_type.html b/doc/html/boost_regex/ref/syntax_option_type.html index 1d462ee4..3a855b9f 100644 --- a/doc/html/boost_regex/ref/syntax_option_type.html +++ b/doc/html/boost_regex/ref/syntax_option_type.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 bbf9b9fe..bb375d9c 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 @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 ca2f0498..127a40b8 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 @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 59951dda..5ef09b83 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 @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 3921b6c7..1ce0acd9 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 @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 eac297db..64365cc8 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 @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 31718c69..fed4fdff 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 @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/syntax.html b/doc/html/boost_regex/syntax.html index edb7cd07..20b9a184 100644 --- a/doc/html/boost_regex/syntax.html +++ b/doc/html/boost_regex/syntax.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/syntax/basic_extended.html b/doc/html/boost_regex/syntax/basic_extended.html index 24f56fce..ab953647 100644 --- a/doc/html/boost_regex/syntax/basic_extended.html +++ b/doc/html/boost_regex/syntax/basic_extended.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/syntax/basic_syntax.html b/doc/html/boost_regex/syntax/basic_syntax.html index 6f335e00..934a8838 100644 --- a/doc/html/boost_regex/syntax/basic_syntax.html +++ b/doc/html/boost_regex/syntax/basic_syntax.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/syntax/character_classes.html b/doc/html/boost_regex/syntax/character_classes.html index 560a431e..f23ea716 100644 --- a/doc/html/boost_regex/syntax/character_classes.html +++ b/doc/html/boost_regex/syntax/character_classes.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 09f3d399..e3856bba 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 @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/syntax/character_classes/std_char_clases.html b/doc/html/boost_regex/syntax/character_classes/std_char_clases.html index 56dad397..302a05d9 100644 --- a/doc/html/boost_regex/syntax/character_classes/std_char_clases.html +++ b/doc/html/boost_regex/syntax/character_classes/std_char_clases.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/syntax/collating_names.html b/doc/html/boost_regex/syntax/collating_names.html index 40024684..a6997bf4 100644 --- a/doc/html/boost_regex/syntax/collating_names.html +++ b/doc/html/boost_regex/syntax/collating_names.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/syntax/collating_names/digraphs.html b/doc/html/boost_regex/syntax/collating_names/digraphs.html index a0711eff..50892354 100644 --- a/doc/html/boost_regex/syntax/collating_names/digraphs.html +++ b/doc/html/boost_regex/syntax/collating_names/digraphs.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 fb89eb0e..e9c3bc90 100644 --- a/doc/html/boost_regex/syntax/collating_names/named_unicode.html +++ b/doc/html/boost_regex/syntax/collating_names/named_unicode.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + 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 7298b7dd..220c7e81 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 @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/syntax/leftmost_longest_rule.html b/doc/html/boost_regex/syntax/leftmost_longest_rule.html index 92433f80..39b8e146 100644 --- a/doc/html/boost_regex/syntax/leftmost_longest_rule.html +++ b/doc/html/boost_regex/syntax/leftmost_longest_rule.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + diff --git a/doc/html/boost_regex/syntax/perl_syntax.html b/doc/html/boost_regex/syntax/perl_syntax.html index f73e386c..4911c61e 100644 --- a/doc/html/boost_regex/syntax/perl_syntax.html +++ b/doc/html/boost_regex/syntax/perl_syntax.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + @@ -28,7 +28,7 @@ Syntax

    - + Synopsis

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

    - + Perl Regular Expression Syntax

    @@ -55,7 +55,7 @@

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

    @@ -65,7 +65,7 @@

    • The NULL character when the flag - match_no_dot_null + match_not_dot_null is passed to the matching algorithms.
    • @@ -75,7 +75,7 @@
    - + Anchors

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

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

    - + Non-marking grouping
    @@ -111,7 +111,7 @@ out any separate sub-expressions.

    - + Repeats

    @@ -197,7 +197,7 @@ operator to be applied to.

    - + Non greedy repeats
    @@ -228,7 +228,7 @@ input as possible.

    - + Back references

    @@ -248,7 +248,7 @@

    aaabba
     
    - + Alternation

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

    - + Character sets

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

    - + Single characters

    @@ -298,7 +298,7 @@ or 'c'.

    - + Character ranges
    @@ -311,7 +311,7 @@ regular expression, then ranges are locale sensitive.

    - + Negation

    @@ -320,7 +320,7 @@ range a-c.

    - + Character classes
    @@ -330,7 +330,7 @@ character class names.

    - + Collating Elements
    diff --git a/doc/html/boost_regex/unicode.html b/doc/html/boost_regex/unicode.html index 74631e32..f01c3510 100644 --- a/doc/html/boost_regex/unicode.html +++ b/doc/html/boost_regex/unicode.html @@ -12,7 +12,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + @@ -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 2c00ebe9..388dfc44 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -10,7 +10,7 @@
    Boost C++ LibrariesHomeHome Libraries People FAQ
    - + @@ -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)

    @@ -196,7 +196,7 @@

    Boost C++ LibrariesHomeHome Libraries People FAQ
    - +

    Last revised: February 21, 2008 at 12:52:05 GMT

    Last revised: April 11, 2008 at 08:50:33 GMT


    diff --git a/doc/syntax_perl.qbk b/doc/syntax_perl.qbk index 916ed018..9a76276d 100644 --- a/doc/syntax_perl.qbk +++ b/doc/syntax_perl.qbk @@ -34,7 +34,7 @@ The single character '.' when used outside of a character set will match any single character except: * The NULL character when the [link boost_regex.ref.match_flag_type flag - `match_no_dot_null`] is passed to the matching algorithms. + `match_not_dot_null`] is passed to the matching algorithms. * The newline character when the [link boost_regex.ref.match_flag_type flag `match_not_dot_newline`] is passed to the matching algorithms. From 5fdf2752ae3633b6e14646a7cb7e15747721381e Mon Sep 17 00:00:00 2001 From: John Maddock Date: Tue, 15 Apr 2008 17:50:11 +0000 Subject: [PATCH 45/62] Add explicit type cast to fix GCC-C++0X mode error. [SVN r44437] --- include/boost/regex/pending/object_cache.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/regex/pending/object_cache.hpp b/include/boost/regex/pending/object_cache.hpp index bc37e276..2a7e00bc 100644 --- a/include/boost/regex/pending/object_cache.hpp +++ b/include/boost/regex/pending/object_cache.hpp @@ -119,7 +119,7 @@ boost::shared_ptr object_cache::do_get(const Key& k, // // Add it to the list, and index it: // - s_data.cont.push_back(value_type(result, 0)); + s_data.cont.push_back(value_type(result, static_cast(0))); s_data.index.insert(std::make_pair(k, --(s_data.cont.end()))); s_data.cont.back().second = &(s_data.index.find(k)->first); map_size_type s = s_data.index.size(); From 3704b9c59525dffe91acec6d7d69932bee9b6405 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Mon, 28 Apr 2008 11:07:14 +0000 Subject: [PATCH 46/62] Fixes for issue #1871 that prevents duplicate symbol errors with VC++ compilers, when building with /Zc:wchar_t-. [SVN r44842] --- src/usinstances.cpp | 3 +++ src/wc_regex_traits.cpp | 33 ++++++++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/usinstances.cpp b/src/usinstances.cpp index 337d815f..d9f600dc 100644 --- a/src/usinstances.cpp +++ b/src/usinstances.cpp @@ -49,6 +49,9 @@ template _CRTIMP2 bool __cdecl operator>( #if BOOST_WORKAROUND(BOOST_MSVC, > 1300) && BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) template<> _CRTIMP2 std::size_t __cdecl char_traits::length(unsigned short const*); #endif +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +template _CRTIMP2 allocator::allocator(); +#endif } #endif diff --git a/src/wc_regex_traits.cpp b/src/wc_regex_traits.cpp index 9daf0804..29a77e15 100644 --- a/src/wc_regex_traits.cpp +++ b/src/wc_regex_traits.cpp @@ -19,9 +19,40 @@ #define BOOST_REGEX_SOURCE -#include +#include #include +#ifdef _DLL_CPPLIB +// +// This is a horrible workaround, without declaring these symbols extern we get +// duplicate symbol errors when linking if the application is built without +// /Zc:wchar_t +// +namespace std{ +template _CRTIMP2 bool __cdecl operator==( + const basic_string, allocator >&, + const basic_string, allocator >&); +template _CRTIMP2 bool __cdecl operator==( + const unsigned short *, + const basic_string, allocator >&); +template _CRTIMP2 bool __cdecl operator==( + const basic_string, allocator >&, + const unsigned short *); +template _CRTIMP2 bool __cdecl operator<( + const basic_string, allocator >&, + const basic_string, allocator >&); +template _CRTIMP2 bool __cdecl operator>( + const basic_string, allocator >&, + const basic_string, allocator >&); +#if BOOST_WORKAROUND(BOOST_MSVC, > 1300) && BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) +template<> _CRTIMP2 std::size_t __cdecl char_traits::length(unsigned short const*); +#endif +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +template _CRTIMP2 allocator::allocator(); +#endif +} +#endif + #if !BOOST_WORKAROUND(__BORLANDC__, < 0x560) #include From 8928c7737e66ad15df9aaedac9f25b04f6cb9859 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Wed, 14 May 2008 11:14:30 +0000 Subject: [PATCH 47/62] Added needed #includes to source files. [SVN r45353] --- src/usinstances.cpp | 2 ++ src/wc_regex_traits.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/usinstances.cpp b/src/usinstances.cpp index d9f600dc..e633659e 100644 --- a/src/usinstances.cpp +++ b/src/usinstances.cpp @@ -25,6 +25,8 @@ #ifdef _DLL_CPPLIB #include +#include +#include // // This is a horrible workaround, without declaring these symbols extern we get // duplicate symbol errors when linking if the application is built without diff --git a/src/wc_regex_traits.cpp b/src/wc_regex_traits.cpp index 29a77e15..aee2da18 100644 --- a/src/wc_regex_traits.cpp +++ b/src/wc_regex_traits.cpp @@ -23,6 +23,8 @@ #include #ifdef _DLL_CPPLIB +#include +#include // // This is a horrible workaround, without declaring these symbols extern we get // duplicate symbol errors when linking if the application is built without From 4c105a90a1491fdd0a13840e33a3ba36bf0a2020 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Wed, 14 May 2008 11:19:58 +0000 Subject: [PATCH 48/62] Changed behaviour of \B so that it succeeds when the neither adjacent character is a word character. [SVN r45354] --- include/boost/regex/v4/perl_matcher_common.hpp | 4 ++-- test/regress/test_escapes.cpp | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/include/boost/regex/v4/perl_matcher_common.hpp b/include/boost/regex/v4/perl_matcher_common.hpp index 72e43d00..399caa3b 100644 --- a/include/boost/regex/v4/perl_matcher_common.hpp +++ b/include/boost/regex/v4/perl_matcher_common.hpp @@ -535,7 +535,7 @@ bool perl_matcher::match_within_word() if(position == last) return false; // both prev and this character must be m_word_mask: - if(traits_inst.isctype(*position, m_word_mask)) + bool prev = traits_inst.isctype(*position, m_word_mask); { bool b; if((position == backstop) && ((m_match_flags & match_prev_avail) == 0)) @@ -546,7 +546,7 @@ bool perl_matcher::match_within_word() b = traits_inst.isctype(*position, m_word_mask); ++position; } - if(b) + if(b == prev) { pstate = pstate->next.p; return true; diff --git a/test/regress/test_escapes.cpp b/test/regress/test_escapes.cpp index aa842130..ba78c454 100644 --- a/test/regress/test_escapes.cpp +++ b/test/regress/test_escapes.cpp @@ -109,6 +109,9 @@ void test_assertion_escapes() TEST_REGEX_SEARCH("a\\B", perl, "ab", match_default, make_array(0, 1, -2, -2)); TEST_REGEX_SEARCH("a\\B", perl, "a", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("a\\B", perl, "a ", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("\\By\\b", perl, "xy", match_default, make_array(1, 2, -2, -2)); + TEST_REGEX_SEARCH("\\by\\B", perl, "yz", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\B\\*\\B", perl, " * ", match_default, make_array(1, 2, -2, -2)); // buffer operators: TEST_REGEX_SEARCH("\\`abc", perl, "abc", match_default, make_array(0, 3, -2, -2)); TEST_REGEX_SEARCH("\\`abc", perl, "\nabc", match_default, make_array(-2, -2)); From 31b68369ae8c324b8a5f61e0ab2b1066b0c657eb Mon Sep 17 00:00:00 2001 From: John Maddock Date: Tue, 3 Jun 2008 12:52:55 +0000 Subject: [PATCH 49/62] Patch for VC9 explicit template instantiation. Fixes #1959. [SVN r46077] --- include/boost/regex/v4/instances.hpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/include/boost/regex/v4/instances.hpp b/include/boost/regex/v4/instances.hpp index b9898cb0..d12dc6b2 100644 --- a/include/boost/regex/v4/instances.hpp +++ b/include/boost/regex/v4/instances.hpp @@ -71,32 +71,39 @@ template class BOOST_REGEX_DECL ::boost::re_detail::perl_matcher 1310 +# define BOOST_REGEX_TEMPLATE_DECL +# endif # define template extern template # endif # endif +#ifndef BOOST_REGEX_TEMPLATE_DECL +# define BOOST_REGEX_TEMPLATE_DECL BOOST_REGEX_DECL +#endif + # ifdef BOOST_MSVC # pragma warning(push) # pragma warning(disable : 4251 4231 4660) # endif -template class BOOST_REGEX_DECL basic_regex< BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >; +template class BOOST_REGEX_TEMPLATE_DECL basic_regex< BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >; #if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) -template class BOOST_REGEX_DECL match_results< const BOOST_REGEX_CHAR_T* >; +template class BOOST_REGEX_TEMPLATE_DECL match_results< const BOOST_REGEX_CHAR_T* >; #endif #ifndef BOOST_NO_STD_ALLOCATOR -template class BOOST_REGEX_DECL ::boost::re_detail::perl_matcher::allocator_type BOOST_REGEX_TRAITS_T >; +template class BOOST_REGEX_TEMPLATE_DECL ::boost::re_detail::perl_matcher::allocator_type BOOST_REGEX_TRAITS_T >; #endif #if !(defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB <= 1))\ && !(defined(BOOST_INTEL_CXX_VERSION) && (BOOST_INTEL_CXX_VERSION <= 800))\ && !(defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION))\ && !defined(BOOST_REGEX_ICU_INSTANCES) #if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) -template class BOOST_REGEX_DECL match_results< std::basic_string::const_iterator >; +template class BOOST_REGEX_TEMPLATE_DECL match_results< std::basic_string::const_iterator >; #endif #ifndef BOOST_NO_STD_ALLOCATOR -template class BOOST_REGEX_DECL ::boost::re_detail::perl_matcher< std::basic_string::const_iterator, match_results< std::basic_string::const_iterator >::allocator_type, boost::regex_traits >; +template class BOOST_REGEX_TEMPLATE_DECL ::boost::re_detail::perl_matcher< std::basic_string::const_iterator, match_results< std::basic_string::const_iterator >::allocator_type, boost::regex_traits >; #endif #endif @@ -109,6 +116,8 @@ template class BOOST_REGEX_DECL ::boost::re_detail::perl_matcher< std::basic_str # undef template # endif +#undef BOOST_REGEX_TEMPLATE_DECL + #elif (defined(__GNUC__) && (__GNUC__ >= 3)) # ifndef BOOST_REGEX_INSTANTIATE From d7d38da27fd3f56707cd7448007db2891fb16b79 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 5 Jun 2008 17:07:42 +0000 Subject: [PATCH 50/62] Changed POSIX API functions to use the global C locale. Fixes #1446. [SVN r46170] --- src/posix_api.cpp | 16 +++++++++------- src/wide_posix_api.cpp | 16 +++++++++------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/posix_api.cpp b/src/posix_api.cpp index 907c60c3..1564cedb 100644 --- a/src/posix_api.cpp +++ b/src/posix_api.cpp @@ -62,6 +62,8 @@ const char* names[] = { }; } // namespace +typedef boost::basic_regex > c_regex_type; + BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA* expression, const char* ptr, int f) { if(expression->re_magic != magic_value) @@ -70,7 +72,7 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA* expression, const char #ifndef BOOST_NO_EXCEPTIONS try{ #endif - expression->guts = new regex(); + expression->guts = new c_regex_type(); #ifndef BOOST_NO_EXCEPTIONS } catch(...) { @@ -120,9 +122,9 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA* expression, const char try{ #endif expression->re_magic = magic_value; - static_cast(expression->guts)->set_expression(ptr, p2, flags); - expression->re_nsub = static_cast(expression->guts)->mark_count() - 1; - result = static_cast(expression->guts)->error_code(); + static_cast(expression->guts)->set_expression(ptr, p2, flags); + expression->re_nsub = static_cast(expression->guts)->mark_count() - 1; + result = static_cast(expression->guts)->error_code(); #ifndef BOOST_NO_EXCEPTIONS } catch(const boost::regex_error& be) @@ -187,7 +189,7 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int code, const regex_tA* { std::string p; if((e) && (e->re_magic == magic_value)) - p = static_cast(e->guts)->get_traits().error_string(static_cast< ::boost::regex_constants::error_type>(code)); + p = static_cast(e->guts)->get_traits().error_string(static_cast< ::boost::regex_constants::error_type>(code)); else { p = re_detail::get_default_error_string(static_cast< ::boost::regex_constants::error_type>(code)); @@ -236,7 +238,7 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecA(const regex_tA* expression, cons #endif if(expression->re_magic == magic_value) { - result = regex_search(start, end, m, *static_cast(expression->guts), flags); + result = regex_search(start, end, m, *static_cast(expression->guts), flags); } else return result; @@ -274,7 +276,7 @@ BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeA(regex_tA* expression) { if(expression->re_magic == magic_value) { - delete static_cast(expression->guts); + delete static_cast(expression->guts); } expression->re_magic = 0; } diff --git a/src/wide_posix_api.cpp b/src/wide_posix_api.cpp index 184b1cea..83d651b8 100644 --- a/src/wide_posix_api.cpp +++ b/src/wide_posix_api.cpp @@ -69,6 +69,8 @@ const wchar_t* wnames[] = { }; } +typedef boost::basic_regex > c_regex_type; + BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW* expression, const wchar_t* ptr, int f) { if(expression->re_magic != wmagic_value) @@ -77,7 +79,7 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW* expression, const wcha #ifndef BOOST_NO_EXCEPTIONS try{ #endif - expression->guts = new wregex(); + expression->guts = new c_regex_type(); #ifndef BOOST_NO_EXCEPTIONS } catch(...) { @@ -127,9 +129,9 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW* expression, const wcha try{ #endif expression->re_magic = wmagic_value; - static_cast(expression->guts)->set_expression(ptr, p2, flags); - expression->re_nsub = static_cast(expression->guts)->mark_count() - 1; - result = static_cast(expression->guts)->error_code(); + static_cast(expression->guts)->set_expression(ptr, p2, flags); + expression->re_nsub = static_cast(expression->guts)->mark_count() - 1; + result = static_cast(expression->guts)->error_code(); #ifndef BOOST_NO_EXCEPTIONS } catch(const boost::regex_error& be) @@ -208,7 +210,7 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int code, const regex_tW* { std::string p; if((e) && (e->re_magic == wmagic_value)) - p = static_cast(e->guts)->get_traits().error_string(static_cast< ::boost::regex_constants::error_type>(code)); + p = static_cast(e->guts)->get_traits().error_string(static_cast< ::boost::regex_constants::error_type>(code)); else { p = re_detail::get_default_error_string(static_cast< ::boost::regex_constants::error_type>(code)); @@ -257,7 +259,7 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecW(const regex_tW* expression, cons #endif if(expression->re_magic == wmagic_value) { - result = regex_search(start, end, m, *static_cast(expression->guts), flags); + result = regex_search(start, end, m, *static_cast(expression->guts), flags); } else return result; @@ -294,7 +296,7 @@ BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeW(regex_tW* expression) { if(expression->re_magic == wmagic_value) { - delete static_cast(expression->guts); + delete static_cast(expression->guts); } expression->re_magic = 0; } From 831156d7597ddde120fc6fa55e18b56f906a2d24 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Tue, 1 Jul 2008 09:58:27 +0000 Subject: [PATCH 51/62] Replace a couple of non-ascii symbols. [SVN r46943] --- example/snippets/icu_example.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/snippets/icu_example.cpp b/example/snippets/icu_example.cpp index 8e5f22ca..8f4a41ed 100644 --- a/example/snippets/icu_example.cpp +++ b/example/snippets/icu_example.cpp @@ -157,7 +157,7 @@ int main() assert(greek == L"\x0391\x039D\x0395\x0398\x0391 2004"); // extract currency symbols with associated value, use iterator interface: - std::string text2 = " $100.23 or \xC2\xA3""198.12 "; // \xC2\xA3 is the £ sign encoded in UTF-8 + std::string text2 = " $100.23 or \xC2\xA3""198.12 "; // \xC2\xA3 is the pound sign encoded in UTF-8 enumerate_currencies(text2); enumerate_currencies2(text2); From 6eb35e2cf19315901ce5b1babd2b4da5e5b05f73 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 11 Jul 2008 18:00:15 +0000 Subject: [PATCH 52/62] Fixes #2097. [SVN r47319] --- include/boost/regex/v4/cpp_regex_traits.hpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/boost/regex/v4/cpp_regex_traits.hpp b/include/boost/regex/v4/cpp_regex_traits.hpp index ddcbef43..58c82540 100644 --- a/include/boost/regex/v4/cpp_regex_traits.hpp +++ b/include/boost/regex/v4/cpp_regex_traits.hpp @@ -293,7 +293,9 @@ void cpp_regex_traits_char_layer::init() // if((int)cat >= 0) { +#ifndef BOOST_NO_EXCEPTIONS try{ +#endif for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) { string_type mss = this->m_pmessages->get(cat, 0, i, get_default_message(i)); @@ -303,12 +305,14 @@ void cpp_regex_traits_char_layer::init() } } this->m_pmessages->close(cat); +#ifndef BOOST_NO_EXCEPTIONS } catch(...) { this->m_pmessages->close(cat); throw; } +#endif } else { @@ -1055,3 +1059,4 @@ static_mutex& cpp_regex_traits::get_mutex_inst() #endif + From be28ad44c775c2e8c5d9d972d6134234ccc45e5e Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 18 Jul 2008 11:29:50 +0000 Subject: [PATCH 53/62] Tentative fix for some VC failures. [SVN r47542] --- src/wc_regex_traits.cpp | 44 +++++++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/src/wc_regex_traits.cpp b/src/wc_regex_traits.cpp index aee2da18..1de3dee6 100644 --- a/src/wc_regex_traits.cpp +++ b/src/wc_regex_traits.cpp @@ -19,42 +19,56 @@ #define BOOST_REGEX_SOURCE -#include #include - -#ifdef _DLL_CPPLIB #include #include + +#if defined(_DLL_CPPLIB) && !defined(_M_CEE_PURE) // -// This is a horrible workaround, without declaring these symbols extern we get +// This is a horrible workaround, but without declaring these symbols extern we get // duplicate symbol errors when linking if the application is built without // /Zc:wchar_t // +#ifdef _CRTIMP2_PURE +# define BOOST_REGEX_STDLIB_DECL _CRTIMP2_PURE +#else +# define BOOST_REGEX_STDLIB_DECL _CRTIMP2 +#endif + namespace std{ -template _CRTIMP2 bool __cdecl operator==( + +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +template BOOST_REGEX_STDLIB_DECL allocator::allocator(); +template class BOOST_REGEX_STDLIB_DECL _String_val >; +template class BOOST_REGEX_STDLIB_DECL basic_string, + allocator >; +#endif + +#if BOOST_WORKAROUND(BOOST_MSVC, > 1300) && BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) +template<> BOOST_REGEX_STDLIB_DECL std::size_t __cdecl char_traits::length(unsigned short const*); +#endif + +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==( const basic_string, allocator >&, const basic_string, allocator >&); -template _CRTIMP2 bool __cdecl operator==( +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==( const unsigned short *, const basic_string, allocator >&); -template _CRTIMP2 bool __cdecl operator==( +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==( const basic_string, allocator >&, const unsigned short *); -template _CRTIMP2 bool __cdecl operator<( +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator<( const basic_string, allocator >&, const basic_string, allocator >&); -template _CRTIMP2 bool __cdecl operator>( +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator>( const basic_string, allocator >&, const basic_string, allocator >&); -#if BOOST_WORKAROUND(BOOST_MSVC, > 1300) && BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) -template<> _CRTIMP2 std::size_t __cdecl char_traits::length(unsigned short const*); -#endif -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) -template _CRTIMP2 allocator::allocator(); -#endif } #endif +#include +#include + #if !BOOST_WORKAROUND(__BORLANDC__, < 0x560) #include From 546dd9f6fb0289f711df83f0a5244c54d80e13e9 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 25 Jul 2008 09:28:01 +0000 Subject: [PATCH 54/62] Fixes #1940. [SVN r47795] --- doc/examples.qbk | 33 ++++--- .../boost_regex/background_information.html | 4 +- .../acknowledgements.html | 4 +- .../background_information/examples.html | 51 ++++++----- .../background_information/faq.html | 4 +- .../background_information/futher.html | 4 +- .../background_information/headers.html | 4 +- .../background_information/history.html | 14 +-- .../background_information/locale.html | 12 +-- .../background_information/performance.html | 4 +- .../background_information/redist.html | 4 +- .../background_information/standards.html | 14 +-- .../background_information/thread_safety.html | 4 +- doc/html/boost_regex/captures.html | 10 +-- doc/html/boost_regex/configuration.html | 4 +- .../boost_regex/configuration/algorithm.html | 4 +- .../boost_regex/configuration/compiler.html | 4 +- .../boost_regex/configuration/linkage.html | 4 +- .../boost_regex/configuration/locale.html | 4 +- .../boost_regex/configuration/tuning.html | 4 +- doc/html/boost_regex/format.html | 4 +- .../format/boost_format_syntax.html | 12 +-- doc/html/boost_regex/format/perl_format.html | 4 +- doc/html/boost_regex/format/sed_format.html | 4 +- doc/html/boost_regex/install.html | 20 ++--- .../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 | 8 +- doc/html/boost_regex/ref/basic_regex.html | 22 ++--- doc/html/boost_regex/ref/concepts.html | 4 +- .../ref/concepts/charT_concept.html | 4 +- .../ref/concepts/iterator_concepts.html | 4 +- .../ref/concepts/traits_concept.html | 8 +- .../ref/deprecated_interfaces.html | 4 +- .../ref/deprecated_interfaces/old_regex.html | 4 +- .../deprecated_interfaces/regex_format.html | 6 +- .../ref/deprecated_interfaces/regex_grep.html | 4 +- .../deprecated_interfaces/regex_split.html | 4 +- doc/html/boost_regex/ref/error_type.html | 8 +- doc/html/boost_regex/ref/match_flag_type.html | 6 +- doc/html/boost_regex/ref/match_results.html | 8 +- doc/html/boost_regex/ref/non_std_strings.html | 4 +- .../boost_regex/ref/non_std_strings/icu.html | 4 +- .../ref/non_std_strings/icu/intro.html | 4 +- .../ref/non_std_strings/icu/unicode_algo.html | 10 +-- .../ref/non_std_strings/icu/unicode_iter.html | 8 +- .../non_std_strings/icu/unicode_types.html | 4 +- .../ref/non_std_strings/mfc_strings.html | 4 +- .../non_std_strings/mfc_strings/mfc_algo.html | 14 +-- .../mfc_strings/mfc_intro.html | 4 +- .../non_std_strings/mfc_strings/mfc_iter.html | 8 +- .../mfc_strings/mfc_regex_create.html | 4 +- .../mfc_strings/mfc_regex_types.html | 4 +- doc/html/boost_regex/ref/posix.html | 12 +-- doc/html/boost_regex/ref/regex_iterator.html | 8 +- doc/html/boost_regex/ref/regex_match.html | 8 +- doc/html/boost_regex/ref/regex_replace.html | 8 +- doc/html/boost_regex/ref/regex_search.html | 8 +- .../boost_regex/ref/regex_token_iterator.html | 8 +- doc/html/boost_regex/ref/regex_traits.html | 6 +- doc/html/boost_regex/ref/sub_match.html | 12 +-- .../boost_regex/ref/syntax_option_type.html | 4 +- .../syntax_option_type_basic.html | 4 +- .../syntax_option_type_extended.html | 4 +- .../syntax_option_type_literal.html | 4 +- .../syntax_option_type_overview.html | 4 +- .../syntax_option_type_perl.html | 4 +- .../syntax_option_type_synopsis.html | 4 +- doc/html/boost_regex/syntax.html | 4 +- .../boost_regex/syntax/basic_extended.html | 70 +++++++-------- doc/html/boost_regex/syntax/basic_syntax.html | 48 +++++----- .../boost_regex/syntax/character_classes.html | 4 +- .../optional_char_class_names.html | 4 +- .../character_classes/std_char_clases.html | 4 +- .../boost_regex/syntax/collating_names.html | 4 +- .../syntax/collating_names/digraphs.html | 4 +- .../syntax/collating_names/named_unicode.html | 4 +- .../collating_names/posix_symbolic_names.html | 4 +- .../syntax/leftmost_longest_rule.html | 4 +- doc/html/boost_regex/syntax/perl_syntax.html | 88 +++++++++---------- doc/html/boost_regex/unicode.html | 8 +- doc/html/index.html | 8 +- 83 files changed, 395 insertions(+), 373 deletions(-) diff --git a/doc/examples.qbk b/doc/examples.qbk index f3692954..262e824e 100644 --- a/doc/examples.qbk +++ b/doc/examples.qbk @@ -18,41 +18,54 @@ library will behave as claimed - at least as far as those items tested are concerned - if anyone spots anything that isn't being tested I'd be glad to hear about it. -Directory: [@../../test/regress libs/regex/test/regress]. +Files: -Files: See directory. +* [@../../test/regress/main.cpp main.cpp] +* [@../../test/regress/basic_tests.cpp basic_tests.cpp] +* [@../../test/regress/test_alt.cpp test_alt.cpp] +* [@../../test/regress/test_anchors.cpp test_anchors.cpp] +* [@../../test/regress/test_asserts.cpp test_asserts.cpp] +* [@../../test/regress/test_backrefs.cpp test_backrefs.cpp] +* [@../../test/regress/test_deprecated.cpp test_deprecated.cpp] +* [@../../test/regress/test_emacs.cpp test_emacs.cpp] +* [@../../test/regress/test_escapes.cpp test_escapes.cpp] +* [@../../test/regress/test_grep.cpp test_grep.cpp] +* [@../../test/regress/test_icu.cpp test_icu.cpp] +* [@../../test/regress/test_locale.cpp test_locale.cpp] +* [@../../test/regress/test_mfc.cpp test_mfc.cpp] +* [@../../test/regress/test_non_greedy_repeats.cpp test_non_greedy_repeats.cpp] +* [@../../test/regress/test_operators.cpp test_operators.cpp] +* [@../../test/regress/test_overloads.cpp test_overloads.cpp] +* [@../../test/regress/test_perl_ex.cpp test_perl_ex.cpp] +* [@../../test/regress/test_replace.cpp test_replace.cpp] +* [@../../test/regress/test_sets.cpp test_sets.cpp] +* [@../../test/regress/test_simple_repeats.cpp test_simple_repeats.cpp] +* [@../../test/regress/test_tricky_cases.cpp test_tricky_cases.cpp] +* [@../../test/regress/test_unicode.cpp test_unicode.cpp] [*bad_expression_test:] Verifies that "bad" regular expressions don't cause the matcher to go into infinite loops, but to throw an exception instead. -Directory: [@../../test/pathology libs/regex/test/pathology]. - Files: [@../../test/pathology/bad_expression_test.cpp bad_expression_test.cpp]. [*recursion_test:] Verifies that the matcher can't overrun the stack (no matter what the expression). -Directory: [@../../test/pathology libs/regex/test/pathology]. - Files: [@../../test/pathology/recursion_test.cpp recursion_test.cpp]. [*concepts:] Verifies that the library meets all documented concepts (a compile only test). -Directory: [@../../test/concepts libs/regex/test/concepts]. - Files: [@../../test/concepts/concept_check.cpp concept_check.cpp]. [*captures_test:] Test code for captures. -Directory: [@../../test/captures libs/test/captures]. - Files: [@../../test/captures/captures_test.cpp captures_test.cpp]. [h4 Example programs] diff --git a/doc/html/boost_regex/background_information.html b/doc/html/boost_regex/background_information.html index d0c12bab..8296530b 100644 --- a/doc/html/boost_regex/background_information.html +++ b/doc/html/boost_regex/background_information.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/background_information/acknowledgements.html b/doc/html/boost_regex/background_information/acknowledgements.html index 38965407..b7b23fdf 100644 --- a/doc/html/boost_regex/background_information/acknowledgements.html +++ b/doc/html/boost_regex/background_information/acknowledgements.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/background_information/examples.html b/doc/html/boost_regex/background_information/examples.html index 403074ea..02183086 100644 --- a/doc/html/boost_regex/background_information/examples.html +++ b/doc/html/boost_regex/background_information/examples.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -28,7 +28,7 @@ Example Programs
    - + Test Programs
    @@ -43,11 +43,32 @@ it.

    - Directory: libs/regex/test/regress. -

    -

    - Files: See directory. + Files:

    +

    bad_expression_test:

    @@ -55,9 +76,6 @@ Verifies that "bad" regular expressions don't cause the matcher to go into infinite loops, but to throw an exception instead.

    -

    - Directory: libs/regex/test/pathology. -

    Files: bad_expression_test.cpp.

    @@ -67,9 +85,6 @@

    Verifies that the matcher can't overrun the stack (no matter what the expression).

    -

    - Directory: libs/regex/test/pathology. -

    Files: recursion_test.cpp.

    @@ -79,9 +94,6 @@

    Verifies that the library meets all documented concepts (a compile only test).

    -

    - Directory: libs/regex/test/concepts. -

    Files: concept_check.cpp.

    @@ -91,14 +103,11 @@

    Test code for captures.

    -

    - Directory: libs/test/captures. -

    Files: captures_test.cpp.

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

    - + Code snippets
    diff --git a/doc/html/boost_regex/background_information/faq.html b/doc/html/boost_regex/background_information/faq.html index d3f8900b..46e9d6bd 100644 --- a/doc/html/boost_regex/background_information/faq.html +++ b/doc/html/boost_regex/background_information/faq.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/background_information/futher.html b/doc/html/boost_regex/background_information/futher.html index 6573efe2..d0347100 100644 --- a/doc/html/boost_regex/background_information/futher.html +++ b/doc/html/boost_regex/background_information/futher.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/background_information/headers.html b/doc/html/boost_regex/background_information/headers.html index 82dfc5c1..829efed8 100644 --- a/doc/html/boost_regex/background_information/headers.html +++ b/doc/html/boost_regex/background_information/headers.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/background_information/history.html b/doc/html/boost_regex/background_information/history.html index 76d39eea..3240fd5b 100644 --- a/doc/html/boost_regex/background_information/history.html +++ b/doc/html/boost_regex/background_information/history.html @@ -13,8 +13,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -26,7 +26,7 @@ History
    - + Boost 1.34
    @@ -49,7 +49,7 @@
    - + Boost 1.33.1
    @@ -119,7 +119,7 @@
    - + Boost 1.33.0
    @@ -174,7 +174,7 @@
    - + Boost 1.32.1
    @@ -182,7 +182,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 6d5e99d5..0cb063c7 100644 --- a/doc/html/boost_regex/background_information/locale.html +++ b/doc/html/boost_regex/background_information/locale.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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/performance.html b/doc/html/boost_regex/background_information/performance.html index b26c1139..b6fac183 100644 --- a/doc/html/boost_regex/background_information/performance.html +++ b/doc/html/boost_regex/background_information/performance.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/background_information/redist.html b/doc/html/boost_regex/background_information/redist.html index a4c2158a..72258f79 100644 --- a/doc/html/boost_regex/background_information/redist.html +++ b/doc/html/boost_regex/background_information/redist.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/background_information/standards.html b/doc/html/boost_regex/background_information/standards.html index db70edb4..534755f3 100644 --- a/doc/html/boost_regex/background_information/standards.html +++ b/doc/html/boost_regex/background_information/standards.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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

    @@ -62,7 +62,7 @@ (??{code}) Not implementable in a compiled strongly typed language.

    - + POSIX

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

    - + Unicode

    diff --git a/doc/html/boost_regex/background_information/thread_safety.html b/doc/html/boost_regex/background_information/thread_safety.html index 7b88363c..dc167483 100644 --- a/doc/html/boost_regex/background_information/thread_safety.html +++ b/doc/html/boost_regex/background_information/thread_safety.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    diff --git a/doc/html/boost_regex/captures.html b/doc/html/boost_regex/captures.html index 9d48399d..f306d7c4 100644 --- a/doc/html/boost_regex/captures.html +++ b/doc/html/boost_regex/captures.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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/configuration.html b/doc/html/boost_regex/configuration.html index b8de398d..bc93d094 100644 --- a/doc/html/boost_regex/configuration.html +++ b/doc/html/boost_regex/configuration.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    diff --git a/doc/html/boost_regex/configuration/algorithm.html b/doc/html/boost_regex/configuration/algorithm.html index 479bacc9..395fcfbf 100644 --- a/doc/html/boost_regex/configuration/algorithm.html +++ b/doc/html/boost_regex/configuration/algorithm.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/configuration/compiler.html b/doc/html/boost_regex/configuration/compiler.html index 4e6a85d1..e423ab16 100644 --- a/doc/html/boost_regex/configuration/compiler.html +++ b/doc/html/boost_regex/configuration/compiler.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/configuration/linkage.html b/doc/html/boost_regex/configuration/linkage.html index 511dc37c..6b21f7ff 100644 --- a/doc/html/boost_regex/configuration/linkage.html +++ b/doc/html/boost_regex/configuration/linkage.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/configuration/locale.html b/doc/html/boost_regex/configuration/locale.html index 7cca75d2..a5f3c041 100644 --- a/doc/html/boost_regex/configuration/locale.html +++ b/doc/html/boost_regex/configuration/locale.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/configuration/tuning.html b/doc/html/boost_regex/configuration/tuning.html index d0921904..c88cc880 100644 --- a/doc/html/boost_regex/configuration/tuning.html +++ b/doc/html/boost_regex/configuration/tuning.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/format.html b/doc/html/boost_regex/format.html index 22d67e10..832b6a0f 100644 --- a/doc/html/boost_regex/format.html +++ b/doc/html/boost_regex/format.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/format/boost_format_syntax.html b/doc/html/boost_regex/format/boost_format_syntax.html index cb22bcda..c733757b 100644 --- a/doc/html/boost_regex/format/boost_format_syntax.html +++ b/doc/html/boost_regex/format/boost_format_syntax.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -32,7 +32,7 @@ '$', '\', '(', ')', '?', and ':'.

    - + Grouping

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

    - + Conditionals

    @@ -66,7 +66,7 @@ with "bar" otherwise.

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

    - + Escape Sequences
    diff --git a/doc/html/boost_regex/format/perl_format.html b/doc/html/boost_regex/format/perl_format.html index 5488c5f8..44ed90f5 100644 --- a/doc/html/boost_regex/format/perl_format.html +++ b/doc/html/boost_regex/format/perl_format.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/format/sed_format.html b/doc/html/boost_regex/format/sed_format.html index ff55b8dc..d617a7a7 100644 --- a/doc/html/boost_regex/format/sed_format.html +++ b/doc/html/boost_regex/format/sed_format.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/install.html b/doc/html/boost_regex/install.html index 6d7308cc..46755547 100644 --- a/doc/html/boost_regex/install.html +++ b/doc/html/boost_regex/install.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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
    @@ -96,11 +96,11 @@ ICU you are using is binary compatible with the toolset you use to build Boost.

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

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

    - + Sun Workshop 6.1

    @@ -347,7 +347,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/introduction_and_overview.html b/doc/html/boost_regex/introduction_and_overview.html index 68adc16d..de04044d 100644 --- a/doc/html/boost_regex/introduction_and_overview.html +++ b/doc/html/boost_regex/introduction_and_overview.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/partial_matches.html b/doc/html/boost_regex/partial_matches.html index 0543b089..ff764a69 100644 --- a/doc/html/boost_regex/partial_matches.html +++ b/doc/html/boost_regex/partial_matches.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/ref.html b/doc/html/boost_regex/ref.html index b4562707..0ff0d198 100644 --- a/doc/html/boost_regex/ref.html +++ b/doc/html/boost_regex/ref.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/ref/bad_expression.html b/doc/html/boost_regex/ref/bad_expression.html index 84cace8c..09e0dce2 100644 --- a/doc/html/boost_regex/ref/bad_expression.html +++ b/doc/html/boost_regex/ref/bad_expression.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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 9203286c..1a72c91a 100644
    --- a/doc/html/boost_regex/ref/basic_regex.html
    +++ b/doc/html/boost_regex/ref/basic_regex.html
    @@ -14,8 +14,8 @@
     Boost C++ Libraries
     Home
     Libraries
    -People
    -FAQ
    +People
    +FAQ
     More
     
     
    @@ -27,7 +27,7 @@ basic_regex
    - + Synopsis
    #include <boost/regex.hpp>
    @@ -243,7 +243,7 @@
     } // namespace boost
     
    - + Description

    @@ -326,7 +326,7 @@ basic_regex.

    -

    Table 1. basic_regex default construction postconditions

    +

    Table 1. basic_regex default construction postconditions

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

    -

    Table 2. Postconditions for basic_regex construction

    +

    Table 2. Postconditions for basic_regex construction

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

    -

    Table 3. Postconditions for basic_regex construction

    +

    Table 3. Postconditions for basic_regex construction

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

    -

    Table 4. Postconditions for basic_regex construction

    +

    Table 4. Postconditions for basic_regex construction

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

    -

    Table 5. Postconditions for basic_regex construction

    +

    Table 5. Postconditions for basic_regex construction

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

    -

    Table 6. Postconditions for basic_regex construction

    +

    Table 6. Postconditions for basic_regex construction

    @@ -1026,7 +1026,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.html b/doc/html/boost_regex/ref/concepts.html index 6a632460..c0b0e15a 100644 --- a/doc/html/boost_regex/ref/concepts.html +++ b/doc/html/boost_regex/ref/concepts.html @@ -14,8 +14,8 @@ - - + +
    Boost C++ Libraries Home LibrariesPeopleFAQPeopleFAQ More

    diff --git a/doc/html/boost_regex/ref/concepts/charT_concept.html b/doc/html/boost_regex/ref/concepts/charT_concept.html index d7934898..ca2b4f81 100644 --- a/doc/html/boost_regex/ref/concepts/charT_concept.html +++ b/doc/html/boost_regex/ref/concepts/charT_concept.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/ref/concepts/iterator_concepts.html b/doc/html/boost_regex/ref/concepts/iterator_concepts.html index c6b6d4c7..c7e39d13 100644 --- a/doc/html/boost_regex/ref/concepts/iterator_concepts.html +++ b/doc/html/boost_regex/ref/concepts/iterator_concepts.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/ref/concepts/traits_concept.html b/doc/html/boost_regex/ref/concepts/traits_concept.html index 147a93c3..f7f2e58a 100644 --- a/doc/html/boost_regex/ref/concepts/traits_concept.html +++ b/doc/html/boost_regex/ref/concepts/traits_concept.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -34,7 +34,7 @@ Boost-specific enhanced interface.

    - + Minimal requirements.
    @@ -381,7 +381,7 @@
    - + Additional Optional Requirements
    diff --git a/doc/html/boost_regex/ref/deprecated_interfaces.html b/doc/html/boost_regex/ref/deprecated_interfaces.html index b7724524..5b9ffb3e 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 68656cb4..a490e8d0 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 0163436f..04d02660 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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/deprecated_interfaces/regex_grep.html b/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html index d293e650..92cbaa83 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 d5b43e87..d43db820 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/ref/error_type.html b/doc/html/boost_regex/ref/error_type.html index 0b3fdf2c..f18f3fdb 100644 --- a/doc/html/boost_regex/ref/error_type.html +++ b/doc/html/boost_regex/ref/error_type.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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 9bcc0dac..f95d26d7 100644 --- a/doc/html/boost_regex/ref/match_flag_type.html +++ b/doc/html/boost_regex/ref/match_flag_type.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -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 9a08c670..47f364d9 100644 --- a/doc/html/boost_regex/ref/match_results.html +++ b/doc/html/boost_regex/ref/match_results.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


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

    diff --git a/doc/html/boost_regex/ref/non_std_strings.html b/doc/html/boost_regex/ref/non_std_strings.html index 64578031..165d4bb7 100644 --- a/doc/html/boost_regex/ref/non_std_strings.html +++ b/doc/html/boost_regex/ref/non_std_strings.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    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 d051e5fc..e4bc06f3 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 59cbc25d..4472e41a 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 9000f383..2a386b1d 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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 debc21d2..73ad7f29 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -28,7 +28,7 @@ Unicode 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/icu/unicode_types.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html index cc35964f..6729f74d 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    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 e58958d2..738372e3 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 60541b54..3dc47f0c 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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_intro.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html index 0c3c45d8..fa0da3ec 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    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 41b53be5..794ea347 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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/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 cda7adca..dda660a7 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 ea09c6a5..746db452 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/ref/posix.html b/doc/html/boost_regex/ref/posix.html index 780e8201..e2134095 100644 --- a/doc/html/boost_regex/ref/posix.html +++ b/doc/html/boost_regex/ref/posix.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -165,7 +165,7 @@

    - + regcomp

    @@ -379,7 +379,7 @@

    - + regerror

    @@ -467,7 +467,7 @@

    - + regexec

    @@ -537,7 +537,7 @@

    - + regfree

    diff --git a/doc/html/boost_regex/ref/regex_iterator.html b/doc/html/boost_regex/ref/regex_iterator.html index 173e5ec1..3bda19c5 100644 --- a/doc/html/boost_regex/ref/regex_iterator.html +++ b/doc/html/boost_regex/ref/regex_iterator.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -78,7 +78,7 @@ regex_constants::match_flag_type m = regex_constants::match_default);
    - + Description

    @@ -436,7 +436,7 @@ m.

    - + Examples

    diff --git a/doc/html/boost_regex/ref/regex_match.html b/doc/html/boost_regex/ref/regex_match.html index 059d6c5d..e55dd632 100644 --- a/doc/html/boost_regex/ref/regex_match.html +++ b/doc/html/boost_regex/ref/regex_match.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -80,7 +80,7 @@ match_flag_type flags = match_default);
    - + Description
    template <class BidirectionalIterator, class Allocator, class charT, class traits>
    @@ -360,7 +360,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 d4df057f..c7d5dabe 100644 --- a/doc/html/boost_regex/ref/regex_replace.html +++ b/doc/html/boost_regex/ref/regex_replace.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -53,7 +53,7 @@ match_flag_type flags = match_default);
    - + Description
    template <class OutputIterator, class BidirectionalIterator, class traits, class charT>
    @@ -163,7 +163,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 f04b1d9f..10fc7836 100644 --- a/doc/html/boost_regex/ref/regex_search.html +++ b/doc/html/boost_regex/ref/regex_search.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -73,7 +73,7 @@ match_flag_type flags = match_default);
    - + Description
    template <class BidirectionalIterator, class Allocator, class charT, class traits>
    @@ -355,7 +355,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 a0c19431..56b09721 100644 --- a/doc/html/boost_regex/ref/regex_token_iterator.html +++ b/doc/html/boost_regex/ref/regex_token_iterator.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -136,7 +136,7 @@ regex_constants::match_flag_type m = regex_constants::match_default);
    - + Description

    @@ -383,7 +383,7 @@ m.

    - + Examples

    diff --git a/doc/html/boost_regex/ref/regex_traits.html b/doc/html/boost_regex/ref/regex_traits.html index f7c9d503..74b6511c 100644 --- a/doc/html/boost_regex/ref/regex_traits.html +++ b/doc/html/boost_regex/ref/regex_traits.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -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 90af7ec8..e2bbf19a 100644 --- a/doc/html/boost_regex/ref/sub_match.html +++ b/doc/html/boost_regex/ref/sub_match.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -329,11 +329,11 @@ } // namespace boost
    - + Description
    - + Members

    @@ -473,7 +473,7 @@

    - + sub_match non-member operators
    @@ -1008,7 +1008,7 @@ + m2.str().

    - + Stream inserter

    diff --git a/doc/html/boost_regex/ref/syntax_option_type.html b/doc/html/boost_regex/ref/syntax_option_type.html index 3a855b9f..47e16b56 100644 --- a/doc/html/boost_regex/ref/syntax_option_type.html +++ b/doc/html/boost_regex/ref/syntax_option_type.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    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 bb375d9c..13776798 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 127a40b8..a3291b78 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 5ef09b83..5914a382 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 1ce0acd9..1ebb3e4c 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 64365cc8..46962821 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 fed4fdff..9fbc0e06 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/syntax.html b/doc/html/boost_regex/syntax.html index 20b9a184..2509541a 100644 --- a/doc/html/boost_regex/syntax.html +++ b/doc/html/boost_regex/syntax.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/syntax/basic_extended.html b/doc/html/boost_regex/syntax/basic_extended.html index ab953647..b8490b92 100644 --- a/doc/html/boost_regex/syntax/basic_extended.html +++ b/doc/html/boost_regex/syntax/basic_extended.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -28,7 +28,7 @@ Expression Syntax

    - + Synopsis

    @@ -46,7 +46,7 @@

    - + POSIX Extended Syntax

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

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

    @@ -74,7 +74,7 @@

    - + Anchors:

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

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

    - + Repeats:

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

    - + Back references:

    @@ -214,7 +214,7 @@ cab

    - + Alternation

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

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

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

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

    - + Negation:

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

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

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

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

    - + Combinations:

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

    - + Escapes

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

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

    - + Word Boundaries

    @@ -888,7 +888,7 @@ cab

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

    - + Quoting escape
    @@ -1005,7 +1005,7 @@ cab \*+aaa
    - + Unicode escapes
    @@ -1056,7 +1056,7 @@ cab
    - + Any other escape
    @@ -1065,7 +1065,7 @@ cab \@ matches a literal '@'.

    - + Operator precedence
    @@ -1101,7 +1101,7 @@ cab
    - + What Gets Matched
    @@ -1111,11 +1111,11 @@ cab rule.

    - + Variations

    - + Egrep

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

    - + awk

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

    - + Options

    @@ -1163,7 +1163,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 934a8838..6a7bde4f 100644 --- a/doc/html/boost_regex/syntax/basic_syntax.html +++ b/doc/html/boost_regex/syntax/basic_syntax.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -28,7 +28,7 @@ Expression Syntax

    - + Synopsis

    @@ -45,7 +45,7 @@

    - + POSIX Basic Syntax

    @@ -55,7 +55,7 @@

    .[\*^$
    - + Wildcard:

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

    - + Anchors:

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

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

    - + Repeats:

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

    - + Back references:

    @@ -173,7 +173,7 @@ aaaa

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

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

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

    - + Negation:

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

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

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

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

    - + Combinations:

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

    - + Escapes

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

    - + What Gets Matched

    @@ -309,13 +309,13 @@ aaaa rule.

    - + Variations

    - + Grep

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

    - + emacs

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

    - + Options

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

    - + References

    diff --git a/doc/html/boost_regex/syntax/character_classes.html b/doc/html/boost_regex/syntax/character_classes.html index f23ea716..a149c5d5 100644 --- a/doc/html/boost_regex/syntax/character_classes.html +++ b/doc/html/boost_regex/syntax/character_classes.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    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 e3856bba..d9addc04 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/syntax/character_classes/std_char_clases.html b/doc/html/boost_regex/syntax/character_classes/std_char_clases.html index 302a05d9..2826f46f 100644 --- a/doc/html/boost_regex/syntax/character_classes/std_char_clases.html +++ b/doc/html/boost_regex/syntax/character_classes/std_char_clases.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/syntax/collating_names.html b/doc/html/boost_regex/syntax/collating_names.html index a6997bf4..4902501a 100644 --- a/doc/html/boost_regex/syntax/collating_names.html +++ b/doc/html/boost_regex/syntax/collating_names.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/syntax/collating_names/digraphs.html b/doc/html/boost_regex/syntax/collating_names/digraphs.html index 50892354..f7132b3d 100644 --- a/doc/html/boost_regex/syntax/collating_names/digraphs.html +++ b/doc/html/boost_regex/syntax/collating_names/digraphs.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 e9c3bc90..3cc6c247 100644 --- a/doc/html/boost_regex/syntax/collating_names/named_unicode.html +++ b/doc/html/boost_regex/syntax/collating_names/named_unicode.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    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 220c7e81..1ab94332 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 @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/syntax/leftmost_longest_rule.html b/doc/html/boost_regex/syntax/leftmost_longest_rule.html index 39b8e146..38cb3b76 100644 --- a/doc/html/boost_regex/syntax/leftmost_longest_rule.html +++ b/doc/html/boost_regex/syntax/leftmost_longest_rule.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    diff --git a/doc/html/boost_regex/syntax/perl_syntax.html b/doc/html/boost_regex/syntax/perl_syntax.html index 4911c61e..cfe83674 100644 --- a/doc/html/boost_regex/syntax/perl_syntax.html +++ b/doc/html/boost_regex/syntax/perl_syntax.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -28,7 +28,7 @@ Syntax

    - + Synopsis

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

    - + Perl Regular Expression Syntax

    @@ -55,7 +55,7 @@

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

    @@ -75,7 +75,7 @@

    - + Anchors

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

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

    - + Non-marking grouping
    @@ -111,7 +111,7 @@ out any separate sub-expressions.

    - + Repeats

    @@ -197,7 +197,7 @@ operator to be applied to.

    - + Non greedy repeats
    @@ -228,7 +228,7 @@ input as possible.

    - + Back references

    @@ -248,7 +248,7 @@

    aaabba
     
    - + Alternation

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

    - + Character sets

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

    - + Single characters

    @@ -298,7 +298,7 @@ or 'c'.

    - + Character ranges
    @@ -311,7 +311,7 @@ regular expression, then ranges are locale sensitive.

    - + Negation

    @@ -320,7 +320,7 @@ range a-c.

    - + Character classes
    @@ -330,7 +330,7 @@ character class names.

    - + Collating Elements
    @@ -354,7 +354,7 @@ character.

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

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

    - + Combinations

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

    - + Escapes

    @@ -584,7 +584,7 @@

    - + "Single character" character classes:
    @@ -738,7 +738,7 @@
    - + Character Properties
    @@ -846,7 +846,7 @@ matches any "digit" character, as does \p{digit}.

    - + Word Boundaries

    @@ -868,7 +868,7 @@ Matches only when not at a word boundary.

    - + Buffer boundaries

    @@ -893,7 +893,7 @@ to the regular expression \n*\z

    - + Continuation Escape
    @@ -905,7 +905,7 @@ match to start where the last one ended.

    - + Quoting escape

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

    - + Unicode escapes

    @@ -929,7 +929,7 @@ combining characters.

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

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

    - + Comments

    @@ -956,7 +956,7 @@ are ignored.

    - + Modifiers

    @@ -971,7 +971,7 @@ applies the specified modifiers to pattern only.

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

    - + Lookahead

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

    - + Lookbehind

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

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

    - + Conditional Expressions
    @@ -1050,7 +1050,7 @@ sub-expression has been matched).

    - + Operator precedence
    @@ -1086,7 +1086,7 @@

    - + What gets matched

    @@ -1271,7 +1271,7 @@

    - + Variations

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

    - + Options

    @@ -1293,7 +1293,7 @@ sensitivity are to be applied.

    - + Pattern Modifiers

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

    - + References

    diff --git a/doc/html/boost_regex/unicode.html b/doc/html/boost_regex/unicode.html index f01c3510..3b98caff 100644 --- a/doc/html/boost_regex/unicode.html +++ b/doc/html/boost_regex/unicode.html @@ -14,8 +14,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More


    @@ -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 388dfc44..b95c821b 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -12,8 +12,8 @@ Boost C++ Libraries Home Libraries -People -FAQ +People +FAQ More
    @@ -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)

    @@ -196,7 +196,7 @@

    - +

    Last revised: April 11, 2008 at 08:50:33 GMT

    Last revised: July 25, 2008 at 09:01:43 GMT


    From 3a15c301db2b66cdcf33b556aaad63d729e24fef Mon Sep 17 00:00:00 2001 From: John Maddock Date: Wed, 30 Jul 2008 09:35:44 +0000 Subject: [PATCH 55/62] Disable MSVC std lib workarounds if we're really using STLPort or Apache/RW std lib. [SVN r47880] --- src/wc_regex_traits.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/wc_regex_traits.cpp b/src/wc_regex_traits.cpp index 1de3dee6..393b2d7f 100644 --- a/src/wc_regex_traits.cpp +++ b/src/wc_regex_traits.cpp @@ -23,7 +23,8 @@ #include #include -#if defined(_DLL_CPPLIB) && !defined(_M_CEE_PURE) +#if defined(_DLL_CPPLIB) && !defined(_M_CEE_PURE) \ + && !(defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) || defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)) // // This is a horrible workaround, but without declaring these symbols extern we get // duplicate symbol errors when linking if the application is built without @@ -38,7 +39,7 @@ namespace std{ #if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) -template BOOST_REGEX_STDLIB_DECL allocator::allocator(); +template class BOOST_REGEX_STDLIB_DECL allocator; template class BOOST_REGEX_STDLIB_DECL _String_val >; template class BOOST_REGEX_STDLIB_DECL basic_string, allocator >; From 1012d28c32e5bc20f35ea354a495b2af72ad8a2a Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sun, 17 Aug 2008 11:15:07 +0000 Subject: [PATCH 56/62] Fix for issue #2188. [SVN r48185] --- include/boost/regex/v4/perl_matcher_non_recursive.hpp | 4 +++- test/regress/test_tricky_cases.cpp | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/include/boost/regex/v4/perl_matcher_non_recursive.hpp b/include/boost/regex/v4/perl_matcher_non_recursive.hpp index e6bf1bba..2a6207fc 100644 --- a/include/boost/regex/v4/perl_matcher_non_recursive.hpp +++ b/include/boost/regex/v4/perl_matcher_non_recursive.hpp @@ -477,7 +477,9 @@ bool perl_matcher::match_rep() take_second = can_start(*position, rep->_map, (unsigned char)mask_skip); } - if(take_first || (next_count->get_id() != rep->id)) + if((m_backup_state->id != saved_state_repeater_count) + || (static_cast*>(m_backup_state)->count.get_id() != rep->id) + || (next_count->get_id() != rep->id)) { // we're moving to a different repeat from the last // one, so set up a counter object: diff --git a/test/regress/test_tricky_cases.cpp b/test/regress/test_tricky_cases.cpp index a0c1e532..e025dc43 100644 --- a/test/regress/test_tricky_cases.cpp +++ b/test/regress/test_tricky_cases.cpp @@ -377,6 +377,9 @@ void test_tricky_cases3() TEST_REGEX_SEARCH("(?:\\d{9}.*){2}", perl, "123456789dfsdfsdfsfsdfds123456789b", match_default, make_array(0, 34, -2, -2)); TEST_REGEX_SEARCH("(?:\\d{9}.*){2}", perl, "123456789dfsdfsdfsfsdfds12345678", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("(?:\\d{9}.*){2}", perl, "123456789dfsdfsdfsfsdfds", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("^(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])){3}$", perl, "1.2.03", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("^(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])){3,4}$", perl, "1.2.03", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("^(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])){3,4}?$", perl, "1.2.03", match_default, make_array(-2, -2)); // From cb5443477bae3f4a6619d20b0b9c788c7a96f7ad Mon Sep 17 00:00:00 2001 From: John Maddock Date: Tue, 19 Aug 2008 15:54:39 +0000 Subject: [PATCH 57/62] Fix for VC8 without the service pack. [SVN r48220] --- src/usinstances.cpp | 83 ++++++++++++++++++++++++++------------------- 1 file changed, 48 insertions(+), 35 deletions(-) diff --git a/src/usinstances.cpp b/src/usinstances.cpp index e633659e..390cd254 100644 --- a/src/usinstances.cpp +++ b/src/usinstances.cpp @@ -18,46 +18,59 @@ #define BOOST_REGEX_SOURCE +#include +#include +#include + +#if defined(_DLL_CPPLIB) && !defined(_M_CEE_PURE) \ + && !(defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) || defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)) +// +// This is a horrible workaround, but without declaring these symbols extern we get +// duplicate symbol errors when linking if the application is built without +// /Zc:wchar_t +// +#ifdef _CRTIMP2_PURE +# define BOOST_REGEX_STDLIB_DECL _CRTIMP2_PURE +#else +# define BOOST_REGEX_STDLIB_DECL _CRTIMP2 +#endif + +namespace std{ + +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +template class BOOST_REGEX_STDLIB_DECL allocator; +template class BOOST_REGEX_STDLIB_DECL _String_val >; +template class BOOST_REGEX_STDLIB_DECL basic_string, + allocator >; +#endif + +#if BOOST_WORKAROUND(BOOST_MSVC, > 1300) && BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) +template<> BOOST_REGEX_STDLIB_DECL std::size_t __cdecl char_traits::length(unsigned short const*); +#endif + +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==( + const basic_string, allocator >&, + const basic_string, allocator >&); +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==( + const unsigned short *, + const basic_string, allocator >&); +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==( + const basic_string, allocator >&, + const unsigned short *); +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator<( + const basic_string, allocator >&, + const basic_string, allocator >&); +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator>( + const basic_string, allocator >&, + const basic_string, allocator >&); +} +#endif + #include #if !defined(BOOST_NO_WREGEX) && defined(BOOST_REGEX_HAS_OTHER_WCHAR_T) && !defined(BOOST_REGEX_NO_EXTERNAL_TEMPLATES) #define BOOST_REGEX_US_INSTANTIATE -#ifdef _DLL_CPPLIB -#include -#include -#include -// -// This is a horrible workaround, without declaring these symbols extern we get -// duplicate symbol errors when linking if the application is built without -// /Zc:wchar_t -// -namespace std{ -template _CRTIMP2 bool __cdecl operator==( - const basic_string, allocator >&, - const basic_string, allocator >&); -template _CRTIMP2 bool __cdecl operator==( - const unsigned short *, - const basic_string, allocator >&); -template _CRTIMP2 bool __cdecl operator==( - const basic_string, allocator >&, - const unsigned short *); -template _CRTIMP2 bool __cdecl operator<( - const basic_string, allocator >&, - const basic_string, allocator >&); -template _CRTIMP2 bool __cdecl operator>( - const basic_string, allocator >&, - const basic_string, allocator >&); -#if BOOST_WORKAROUND(BOOST_MSVC, > 1300) && BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) -template<> _CRTIMP2 std::size_t __cdecl char_traits::length(unsigned short const*); -#endif -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) -template _CRTIMP2 allocator::allocator(); -#endif -} -#endif - - #include #endif From 1297f92b8a1a7ff634ed4d38f9c6f58af8dc0d3d Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sat, 23 Aug 2008 11:40:58 +0000 Subject: [PATCH 58/62] Tentative fix for issue #2244: ICU uses wchar_t as UCHAR whenever sizeof(wchar_t) == 2. [SVN r48312] --- include/boost/regex/icu.hpp | 10 +++++----- include/boost/regex/v4/u32regex_iterator.hpp | 2 +- include/boost/regex/v4/u32regex_token_iterator.hpp | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/include/boost/regex/icu.hpp b/include/boost/regex/icu.hpp index 53941b64..7af1d678 100644 --- a/include/boost/regex/icu.hpp +++ b/include/boost/regex/icu.hpp @@ -355,7 +355,7 @@ inline u32regex make_u32regex(const wchar_t* p, boost::regex_constants::syntax_o return re_detail::do_make_u32regex(p, p + std::wcslen(p), opt, static_cast const*>(0)); } #endif -#ifndef U_WCHAR_IS_UTF16 +#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) inline u32regex make_u32regex(const UChar* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) { return re_detail::do_make_u32regex(p, p + u_strlen(p), opt, static_cast const*>(0)); @@ -455,7 +455,7 @@ inline bool u32regex_match(const UChar* p, { return re_detail::do_regex_match(p, p+u_strlen(p), m, e, flags, static_cast const*>(0)); } -#if !defined(U_WCHAR_IS_UTF16) && !defined(BOOST_NO_WREGEX) +#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) && !defined(BOOST_NO_WREGEX) inline bool u32regex_match(const wchar_t* p, match_results& m, const u32regex& e, @@ -519,7 +519,7 @@ inline bool u32regex_match(const UChar* p, match_results m; return re_detail::do_regex_match(p, p+u_strlen(p), m, e, flags, static_cast const*>(0)); } -#if !defined(U_WCHAR_IS_UTF16) && !defined(BOOST_NO_WREGEX) +#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) && !defined(BOOST_NO_WREGEX) inline bool u32regex_match(const wchar_t* p, const u32regex& e, match_flag_type flags = match_default) @@ -640,7 +640,7 @@ inline bool u32regex_search(const UChar* p, { return re_detail::do_regex_search(p, p+u_strlen(p), m, e, flags, p, static_cast const*>(0)); } -#if !defined(U_WCHAR_IS_UTF16) && !defined(BOOST_NO_WREGEX) +#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) && !defined(BOOST_NO_WREGEX) inline bool u32regex_search(const wchar_t* p, match_results& m, const u32regex& e, @@ -701,7 +701,7 @@ inline bool u32regex_search(const UChar* p, match_results m; return re_detail::do_regex_search(p, p+u_strlen(p), m, e, flags, p, static_cast const*>(0)); } -#if !defined(U_WCHAR_IS_UTF16) && !defined(BOOST_NO_WREGEX) +#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) && !defined(BOOST_NO_WREGEX) inline bool u32regex_search(const wchar_t* p, const u32regex& e, match_flag_type flags = match_default) diff --git a/include/boost/regex/v4/u32regex_iterator.hpp b/include/boost/regex/v4/u32regex_iterator.hpp index 9e49c6f3..7e893e69 100644 --- a/include/boost/regex/v4/u32regex_iterator.hpp +++ b/include/boost/regex/v4/u32regex_iterator.hpp @@ -166,7 +166,7 @@ inline u32regex_iterator make_u32regex_iterator(const wchar_t* p return u32regex_iterator(p, p+std::wcslen(p), e, m); } #endif -#ifndef U_WCHAR_IS_UTF16 +#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) inline u32regex_iterator make_u32regex_iterator(const UChar* p, const u32regex& e, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_iterator(p, p+u_strlen(p), e, m); diff --git a/include/boost/regex/v4/u32regex_token_iterator.hpp b/include/boost/regex/v4/u32regex_token_iterator.hpp index a8d394e4..d8833575 100644 --- a/include/boost/regex/v4/u32regex_token_iterator.hpp +++ b/include/boost/regex/v4/u32regex_token_iterator.hpp @@ -282,7 +282,7 @@ inline u32regex_token_iterator make_u32regex_token_iterator(cons return u32regex_token_iterator(p, p+std::wcslen(p), e, submatch, m); } #endif -#ifndef U_WCHAR_IS_UTF16 +#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) inline u32regex_token_iterator make_u32regex_token_iterator(const UChar* p, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(p, p+u_strlen(p), e, m); @@ -313,7 +313,7 @@ inline u32regex_token_iterator make_u32regex_token_iterator(cons return u32regex_token_iterator(p, p+std::wcslen(p), e, submatch, m); } #endif -#ifndef U_WCHAR_IS_UTF16 +#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) template inline u32regex_token_iterator make_u32regex_token_iterator(const UChar* p, const u32regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default) { @@ -344,7 +344,7 @@ inline u32regex_token_iterator make_u32regex_token_iterator(cons return u32regex_token_iterator(p, p+std::wcslen(p), e, submatch, m); } #endif -#ifndef U_WCHAR_IS_UTF16 +#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) inline u32regex_token_iterator make_u32regex_token_iterator(const UChar* p, const u32regex& e, const std::vector& submatch, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(p, p+u_strlen(p), e, m); From 4212c0d915ea2d5102803d3e0015c47a2e9edf04 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 28 Aug 2008 11:02:59 +0000 Subject: [PATCH 59/62] Update TR1 library to cope with GCC-4.3 in C++0x mode, and in TR1 mode. Updated regex concepts to match the TR1. Added "tricky" cmath_test to test for the functions Boost doesn't implement. [SVN r48413] --- include/boost/regex/concepts.hpp | 10 +++++----- include/boost/regex/v4/basic_regex.hpp | 2 +- include/boost/regex/v4/perl_matcher.hpp | 2 +- test/pathology/bad_expression_test.cpp | 3 ++- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/include/boost/regex/concepts.hpp b/include/boost/regex/concepts.hpp index 99c6eea5..0a22aebd 100644 --- a/include/boost/regex/concepts.hpp +++ b/include/boost/regex/concepts.hpp @@ -87,12 +87,12 @@ struct regex_traits_architype public: regex_traits_architype(); typedef charT char_type; - typedef std::size_t size_type; + // typedef std::size_t size_type; typedef std::vector string_type; typedef copy_constructible_archetype > locale_type; typedef bitmask_archetype char_class_type; - static size_type length(const char_type* ) { return 0; } + static std::size_t length(const char_type* ) { return 0; } charT translate(charT ) const { return charT(); } charT translate_nocase(charT ) const { return static_object::get(); } @@ -163,21 +163,21 @@ struct RegexTraitsConcept RegexTraitsConcept(); // required typedefs: typedef typename traits::char_type char_type; - typedef typename traits::size_type size_type; + // typedef typename traits::size_type size_type; typedef typename traits::string_type string_type; typedef typename traits::locale_type locale_type; typedef typename traits::char_class_type char_class_type; void constraints() { - function_requires >(); + //function_requires >(); function_requires >(); function_requires >(); function_requires >(); function_requires >(); function_requires >(); - size_type n = traits::length(m_pointer); + std::size_t n = traits::length(m_pointer); ignore_unused_variable_warning(n); char_type c = m_ctraits.translate(m_char); diff --git a/include/boost/regex/v4/basic_regex.hpp b/include/boost/regex/v4/basic_regex.hpp index 2a8c0c6c..018a30f9 100644 --- a/include/boost/regex/v4/basic_regex.hpp +++ b/include/boost/regex/v4/basic_regex.hpp @@ -191,7 +191,7 @@ class basic_regex : public regbase { public: // typedefs: - typedef typename traits::size_type traits_size_type; + typedef std::size_t traits_size_type; typedef typename traits::string_type traits_string_type; typedef charT char_type; typedef traits traits_type; diff --git a/include/boost/regex/v4/perl_matcher.hpp b/include/boost/regex/v4/perl_matcher.hpp index 547cb24a..66c2d007 100644 --- a/include/boost/regex/v4/perl_matcher.hpp +++ b/include/boost/regex/v4/perl_matcher.hpp @@ -331,7 +331,7 @@ public: typedef typename traits::char_type char_type; typedef perl_matcher self_type; typedef bool (self_type::*matcher_proc_type)(void); - typedef typename traits::size_type traits_size_type; + typedef std::size_t traits_size_type; typedef typename is_byte::width_type width_type; typedef typename regex_iterator_traits::difference_type difference_type; diff --git a/test/pathology/bad_expression_test.cpp b/test/pathology/bad_expression_test.cpp index 308df422..34f21c22 100644 --- a/test/pathology/bad_expression_test.cpp +++ b/test/pathology/bad_expression_test.cpp @@ -46,7 +46,7 @@ int test_main( int , char* [] ) bad_text.assign((std::string::size_type)500000, 'a'); e2.assign("aaa*@"); - BOOST_CHECK_THROW(0 == boost::regex_search(bad_text, what, e2), std::runtime_error); + BOOST_CHECK_THROW(boost::regex_search(bad_text, what, e2), std::runtime_error); good_text.assign((std::string::size_type)5000, 'a'); BOOST_CHECK(0 == boost::regex_search(good_text, what, e2)); @@ -54,3 +54,4 @@ int test_main( int , char* [] ) } #include + From 30074a601aece3ee0a9b932c3043163a0db0b1c5 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 29 Aug 2008 17:11:18 +0000 Subject: [PATCH 60/62] Add /usr/local/include to the list of include paths for ICU on FreeBSD. [SVN r48454] --- build/Jamfile.v2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index 47f3de94..bc340fdf 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -169,7 +169,7 @@ rule check-icu-config ( ) if [ check-icu-config ] { - BOOST_REGEX_ICU_OPTS = "BOOST_HAS_ICU=1" ; + BOOST_REGEX_ICU_OPTS = "BOOST_HAS_ICU=1 freebsd:/usr/local/include" ; if $(ICU_PATH) { From 18623d00af7e79bf5c71c072460b2583ad4f7388 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 4 Sep 2008 08:36:34 +0000 Subject: [PATCH 61/62] Fix Jamfile logic: BOOST_REGEX_ICU_OPTS needs to be a list not a string. [SVN r48574] --- build/Jamfile.v2 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index bc340fdf..6a21561d 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -169,7 +169,8 @@ rule check-icu-config ( ) if [ check-icu-config ] { - BOOST_REGEX_ICU_OPTS = "BOOST_HAS_ICU=1 freebsd:/usr/local/include" ; + BOOST_REGEX_ICU_OPTS = "freebsd:/usr/local/include" ; + BOOST_REGEX_ICU_OPTS += "BOOST_HAS_ICU=1" ; if $(ICU_PATH) { @@ -259,3 +260,4 @@ boost-install boost_regex ; + From d70f98e65882694faab6595e852cddb31daa01a0 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 12 Sep 2008 12:40:23 +0000 Subject: [PATCH 62/62] Fixes #2306. Change "id" to "state_id". [SVN r48751] --- .../boost/regex/v4/basic_regex_creator.hpp | 18 +++++++------- include/boost/regex/v4/cpp_regex_traits.hpp | 6 ++--- include/boost/regex/v4/perl_matcher.hpp | 14 +++++------ .../regex/v4/perl_matcher_non_recursive.hpp | 18 +++++++------- .../boost/regex/v4/perl_matcher_recursive.hpp | 2 +- .../boost/regex/v4/regex_traits_defaults.hpp | 4 ++-- include/boost/regex/v4/states.hpp | 2 +- .../regex/v4/u32regex_token_iterator.hpp | 4 ++-- include/boost/regex/v4/w32_regex_traits.hpp | 24 +++++++++---------- 9 files changed, 46 insertions(+), 46 deletions(-) diff --git a/include/boost/regex/v4/basic_regex_creator.hpp b/include/boost/regex/v4/basic_regex_creator.hpp index 35de0cef..9f2cbeec 100644 --- a/include/boost/regex/v4/basic_regex_creator.hpp +++ b/include/boost/regex/v4/basic_regex_creator.hpp @@ -236,7 +236,7 @@ protected: m_traits; // convenience reference to traits class re_syntax_base* m_last_state; // the last state we added bool m_icase; // true for case insensitive matches - unsigned m_repeater_id; // the id of the next repeater + unsigned m_repeater_id; // the state_id of the next repeater bool m_has_backrefs; // true if there are actually any backrefs unsigned m_backrefs; // bitmask of permitted backrefs boost::uintmax_t m_bad_repeats; // bitmask of repeats we can't deduce a startmap for; @@ -718,8 +718,8 @@ void basic_regex_creator::fixup_pointers(re_syntax_base* state) case syntax_element_char_rep: case syntax_element_short_set_rep: case syntax_element_long_set_rep: - // set the id of this repeat: - static_cast(state)->id = m_repeater_id++; + // set the state_id of this repeat: + static_cast(state)->state_id = m_repeater_id++; // fall through: case syntax_element_alt: std::memset(static_cast(state)->_map, 0, sizeof(static_cast(state)->_map)); @@ -1194,11 +1194,11 @@ bool basic_regex_creator::is_bad_repeat(re_syntax_base* pt) case syntax_element_short_set_rep: case syntax_element_long_set_rep: { - unsigned id = static_cast(pt)->id; - if(id > sizeof(m_bad_repeats) * CHAR_BIT) + unsigned state_id = static_cast(pt)->state_id; + if(state_id > sizeof(m_bad_repeats) * CHAR_BIT) return true; // run out of bits, assume we can't traverse this one. static const boost::uintmax_t one = 1uL; - return m_bad_repeats & (one << id); + return m_bad_repeats & (one << state_id); } default: return false; @@ -1216,10 +1216,10 @@ void basic_regex_creator::set_bad_repeat(re_syntax_base* pt) case syntax_element_short_set_rep: case syntax_element_long_set_rep: { - unsigned id = static_cast(pt)->id; + unsigned state_id = static_cast(pt)->state_id; static const boost::uintmax_t one = 1uL; - if(id <= sizeof(m_bad_repeats) * CHAR_BIT) - m_bad_repeats |= (one << id); + if(state_id <= sizeof(m_bad_repeats) * CHAR_BIT) + m_bad_repeats |= (one << state_id); } default: break; diff --git a/include/boost/regex/v4/cpp_regex_traits.hpp b/include/boost/regex/v4/cpp_regex_traits.hpp index 58c82540..89fe49d8 100644 --- a/include/boost/regex/v4/cpp_regex_traits.hpp +++ b/include/boost/regex/v4/cpp_regex_traits.hpp @@ -799,9 +799,9 @@ typename cpp_regex_traits_implementation::char_class_type if(pos != m_custom_class_names.end()) return pos->second; } - std::size_t id = 1 + re_detail::get_default_class_id(p1, p2); - BOOST_ASSERT(id < sizeof(masks) / sizeof(masks[0])); - return masks[id]; + std::size_t state_id = 1 + re_detail::get_default_class_id(p1, p2); + BOOST_ASSERT(state_id < sizeof(masks) / sizeof(masks[0])); + return masks[state_id]; } #ifdef BOOST_REGEX_BUGGY_CTYPE_FACET diff --git a/include/boost/regex/v4/perl_matcher.hpp b/include/boost/regex/v4/perl_matcher.hpp index 66c2d007..a6e31f77 100644 --- a/include/boost/regex/v4/perl_matcher.hpp +++ b/include/boost/regex/v4/perl_matcher.hpp @@ -248,7 +248,7 @@ class repeater_count { repeater_count** stack; repeater_count* next; - int id; + int state_id; std::size_t count; // the number of iterations so far BidiIterator start_pos; // where the last repeat started public: @@ -256,22 +256,22 @@ public: { stack = s; next = 0; - id = -1; + state_id = -1; count = 0; } repeater_count(int i, repeater_count** s, BidiIterator start) : start_pos(start) { - id = i; + state_id = i; stack = s; next = *stack; *stack = this; - if(id > next->id) + if(state_id > next->state_id) count = 0; else { repeater_count* p = next; - while(p->id != id) + while(p->state_id != state_id) p = p->next; count = p->count; start_pos = p->start_pos; @@ -282,7 +282,7 @@ public: *stack = next; } std::size_t get_count() { return count; } - int get_id() { return id; } + int get_id() { return state_id; } std::size_t operator++() { return ++count; } bool check_null_repeat(const BidiIterator& pos, std::size_t max) { @@ -487,7 +487,7 @@ private: void push_assertion(const re_syntax_base* ps, bool positive); void push_alt(const re_syntax_base* ps); void push_repeater_count(int i, repeater_count** s); - void push_single_repeat(std::size_t c, const re_repeat* r, BidiIterator last_position, int id); + void push_single_repeat(std::size_t c, const re_repeat* r, BidiIterator last_position, int state_id); void push_non_greedy_repeat(const re_syntax_base* ps); diff --git a/include/boost/regex/v4/perl_matcher_non_recursive.hpp b/include/boost/regex/v4/perl_matcher_non_recursive.hpp index 2a6207fc..10e03477 100644 --- a/include/boost/regex/v4/perl_matcher_non_recursive.hpp +++ b/include/boost/regex/v4/perl_matcher_non_recursive.hpp @@ -50,13 +50,13 @@ inline void inplace_destroy(T* p) struct saved_state { union{ - unsigned int id; + unsigned int state_id; // this padding ensures correct alignment on 64-bit platforms: std::size_t padding1; std::ptrdiff_t padding2; void* padding3; }; - saved_state(unsigned i) : id(i) {} + saved_state(unsigned i) : state_id(i) {} }; template @@ -298,7 +298,7 @@ inline void perl_matcher::push_repeater_count(i } template -inline void perl_matcher::push_single_repeat(std::size_t c, const re_repeat* r, BidiIterator last_position, int id) +inline void perl_matcher::push_single_repeat(std::size_t c, const re_repeat* r, BidiIterator last_position, int state_id) { saved_single_repeat* pmp = static_cast*>(m_backup_state); --pmp; @@ -308,7 +308,7 @@ inline void perl_matcher::push_single_repeat(st pmp = static_cast*>(m_backup_state); --pmp; } - (void) new (pmp)saved_single_repeat(c, r, last_position, id); + (void) new (pmp)saved_single_repeat(c, r, last_position, state_id); m_backup_state = pmp; } @@ -477,13 +477,13 @@ bool perl_matcher::match_rep() take_second = can_start(*position, rep->_map, (unsigned char)mask_skip); } - if((m_backup_state->id != saved_state_repeater_count) - || (static_cast*>(m_backup_state)->count.get_id() != rep->id) - || (next_count->get_id() != rep->id)) + if((m_backup_state->state_id != saved_state_repeater_count) + || (static_cast*>(m_backup_state)->count.get_id() != rep->state_id) + || (next_count->get_id() != rep->state_id)) { // we're moving to a different repeat from the last // one, so set up a counter object: - push_repeater_count(rep->id, &next_count); + push_repeater_count(rep->state_id, &next_count); } // // If we've had at least one repeat already, and the last one @@ -884,7 +884,7 @@ bool perl_matcher::unwind(bool have_match) // do { - unwinder = s_unwind_table[m_backup_state->id]; + unwinder = s_unwind_table[m_backup_state->state_id]; cont = (this->*unwinder)(m_recursive_result); }while(cont); // diff --git a/include/boost/regex/v4/perl_matcher_recursive.hpp b/include/boost/regex/v4/perl_matcher_recursive.hpp index 746d02ab..68e1aac9 100644 --- a/include/boost/regex/v4/perl_matcher_recursive.hpp +++ b/include/boost/regex/v4/perl_matcher_recursive.hpp @@ -291,7 +291,7 @@ bool perl_matcher::match_rep() // Always copy the repeat count, so that the state is restored // when we exit this scope: // - repeater_count r(rep->id, &next_count, position); + repeater_count r(rep->state_id, &next_count, position); // // If we've had at least one repeat already, and the last one // matched the NULL string then set the repeat count to diff --git a/include/boost/regex/v4/regex_traits_defaults.hpp b/include/boost/regex/v4/regex_traits_defaults.hpp index 38c12738..42428dd8 100644 --- a/include/boost/regex/v4/regex_traits_defaults.hpp +++ b/include/boost/regex/v4/regex_traits_defaults.hpp @@ -134,8 +134,8 @@ inline bool is_separator(char c) BOOST_REGEX_DECL std::string BOOST_REGEX_CALL lookup_default_collate_name(const std::string& name); // -// get the id of a character clasification, the individual -// traits classes then transform that id into a bitmask: +// get the state_id of a character clasification, the individual +// traits classes then transform that state_id into a bitmask: // template struct character_pointer_range diff --git a/include/boost/regex/v4/states.hpp b/include/boost/regex/v4/states.hpp index 74885d2a..44dd2b4a 100644 --- a/include/boost/regex/v4/states.hpp +++ b/include/boost/regex/v4/states.hpp @@ -240,7 +240,7 @@ Repeat a section of the machine struct re_repeat : public re_alt { std::size_t min, max; // min and max allowable repeats - int id; // Unique identifier for this repeat + int state_id; // Unique identifier for this repeat bool leading; // True if this repeat is at the start of the machine (lets us optimize some searches) bool greedy; // True if this is a greedy repeat }; diff --git a/include/boost/regex/v4/u32regex_token_iterator.hpp b/include/boost/regex/v4/u32regex_token_iterator.hpp index d8833575..72669ac4 100644 --- a/include/boost/regex/v4/u32regex_token_iterator.hpp +++ b/include/boost/regex/v4/u32regex_token_iterator.hpp @@ -271,7 +271,7 @@ typedef u32regex_token_iterator utf8regex_token_iterator; typedef u32regex_token_iterator utf16regex_token_iterator; typedef u32regex_token_iterator utf32regex_token_iterator; -// construction from an integral sub_match id: +// construction from an integral sub_match state_id: inline u32regex_token_iterator make_u32regex_token_iterator(const char* p, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(p, p+std::strlen(p), e, submatch, m); @@ -333,7 +333,7 @@ inline u32regex_token_iterator make_u32regex_token_iterator(const } #endif // BOOST_MSVC < 1300 -// construction from a vector of sub_match id's: +// construction from a vector of sub_match state_id's: inline u32regex_token_iterator make_u32regex_token_iterator(const char* p, const u32regex& e, const std::vector& submatch, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(p, p+std::strlen(p), e, submatch, m); diff --git a/include/boost/regex/v4/w32_regex_traits.hpp b/include/boost/regex/v4/w32_regex_traits.hpp index 2f64843d..21a9694a 100644 --- a/include/boost/regex/v4/w32_regex_traits.hpp +++ b/include/boost/regex/v4/w32_regex_traits.hpp @@ -76,36 +76,36 @@ BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(char, lcid_type); #ifndef BOOST_NO_WREGEX BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(wchar_t, lcid_type); #ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(unsigned short ca, lcid_type id); +BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(unsigned short ca, lcid_type state_id); #endif #endif BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(char, lcid_type); #ifndef BOOST_NO_WREGEX BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(wchar_t, lcid_type); #ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(unsigned short ca, lcid_type id); +BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(unsigned short ca, lcid_type state_id); #endif #endif BOOST_REGEX_DECL cat_type BOOST_REGEX_CALL w32_cat_open(const std::string& name); -BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type id, int i, const std::string& def); +BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type state_id, int i, const std::string& def); #ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type id, int i, const std::wstring& def); +BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type state_id, int i, const std::wstring& def); #ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T BOOST_REGEX_DECL std::basic_string BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type, int i, const std::basic_string& def); #endif #endif -BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_transform(lcid_type id, const char* p1, const char* p2); +BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_transform(lcid_type state_id, const char* p1, const char* p2); #ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_transform(lcid_type id, const wchar_t* p1, const wchar_t* p2); +BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_transform(lcid_type state_id, const wchar_t* p1, const wchar_t* p2); #ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL std::basic_string BOOST_REGEX_CALL w32_transform(lcid_type id, const unsigned short* p1, const unsigned short* p2); +BOOST_REGEX_DECL std::basic_string BOOST_REGEX_CALL w32_transform(lcid_type state_id, const unsigned short* p1, const unsigned short* p2); #endif #endif BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_tolower(char c, lcid_type); #ifndef BOOST_NO_WREGEX BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL w32_tolower(wchar_t c, lcid_type); #ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_tolower(unsigned short c, lcid_type id); +BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_tolower(unsigned short c, lcid_type state_id); #endif #endif BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_toupper(char c, lcid_type); @@ -116,7 +116,7 @@ BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type, boost::uint32_t mask, c #ifndef BOOST_NO_WREGEX BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type, boost::uint32_t mask, wchar_t c); #ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type id, boost::uint32_t m, unsigned short c); +BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type state_id, boost::uint32_t m, unsigned short c); #endif #endif // @@ -540,9 +540,9 @@ typename w32_regex_traits_implementation::char_class_type if(pos != m_custom_class_names.end()) return pos->second; } - std::size_t id = 1 + re_detail::get_default_class_id(p1, p2); - if(id < sizeof(masks) / sizeof(masks[0])) - return masks[id]; + std::size_t state_id = 1 + re_detail::get_default_class_id(p1, p2); + if(state_id < sizeof(masks) / sizeof(masks[0])) + return masks[state_id]; return masks[0]; }