Compare commits

..

1 Commits

Author SHA1 Message Date
00b3733f8e Create a branch for inspect fixes.
[SVN r61439]
2010-04-20 21:11:27 +00:00
71 changed files with 631 additions and 639 deletions

View File

@ -3,6 +3,10 @@
# (See accompanying file LICENSE_1_0.txt or copy at # (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt. # http://www.boost.org/LICENSE_1_0.txt.
project boost/regex
: source-location ../src
;
# #
# ICU configuration: # ICU configuration:
# #
@ -10,36 +14,241 @@ if [ modules.peek : ICU_PATH ]
{ {
ICU_PATH = [ modules.peek : ICU_PATH ] ; ICU_PATH = [ modules.peek : ICU_PATH ] ;
} }
if [ modules.peek : ICU_LINK ]
rule check-icu-config ( )
{ {
ICU_LINK = [ modules.peek : ICU_LINK ] ; local HAVE_ICU = [ modules.peek : HAVE_ICU ] ;
local ICU_LINK = [ modules.peek : ICU_LINK ] ;
if ! $(gICU_CONFIG_CHECKED)
{
if $(HAVE_ICU) && ! $(ICU_PATH)
{
gHAS_ICU = true ;
gICU_CORE_LIB = icuuc ;
gICU_IN_LIB = icui18n ;
gICU_DATA_LIB = icudata ;
gICU_CONFIG_CHECKED = true ;
}
else if $(ICU_PATH)
{
dir = $(ICU_PATH) ;
if [ GLOB $(dir)/include/unicode : utypes.h ]
{
gHAS_ICU = true ;
# try and find ICU libraries, look for NT versions first:
if $(ICU_LINK)
{
gICU_LIBS += <linkflags>$(ICU_LINK) ;
}
else if [ GLOB $(dir)/lib64 : icuuc.* ]
{
gICU_CORE_LIB = icuuc ;
}
else if [ GLOB $(dir)/lib : icuuc.* ]
{
gICU_CORE_LIB = icuuc ;
}
else if [ GLOB $(dir)/lib : libicuuc.* ]
{
gICU_CORE_LIB = icuuc ;
}
else if [ GLOB $(ICU_PATH)/lib : cygicuuc*.dll ]
{
gICU_CORE_LIB = cygicuuc.dll ;
gICU_CYGWIN = true ;
}
else
{
ECHO warning: ICU shared common 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 libicuuc ... ;
gICU_CORE_LIB = icuuc ;
}
if $(ICU_LINK)
{
# nothing to do, it's already been done!
# gICU_LIBS += <linkflags>$(ICU_LINK) ;
}
else if [ GLOB $(dir)/lib : icuin.* ]
{
gICU_IN_LIB = icuin ;
}
else if [ GLOB $(dir)/lib : icui18n.* ]
{
gICU_IN_LIB = icui18n ;
}
else if [ GLOB $(dir)/lib64 : libicui18n.* ]
{
gICU_IN_LIB = icui18n ;
}
else if [ GLOB $(dir)/lib : libicui18n.* ]
{
gICU_IN_LIB = icui18n ;
}
else if [ GLOB $(ICU_PATH)/lib : cygicuin*.dll ]
{
gICU_IN_LIB = cygicuin.dll ;
gICU_CYGWIN = true ;
}
else
{
ECHO warning: ICU shared i18n 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 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 += <linkflags>$(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
{
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
}
}
gICU_CONFIG_CHECKED = true ;
}
if $(gHAS_ICU)
{
message icu_config ;
message icu_config2
: Note: Building Boost.Regex with Unicode/ICU support enabled
: " Using ICU in " $(ICU_PATH:J=" ")/include ;
return true ;
}
else
{
message icu_config
: "warning: Building Boost.Regex with the optional Unicode/ICU support disabled."
: "note: Please refer to the Boost.Regex documentation for more information"
: "note: this is a strictly optional feature." ;
if $(ICU_PATH)
{
message icu_config2
: warning! ICU configuration failed
: " Couldn't find utypes.h in " $(ICU_PATH:J=" ")/include/unicode ;
}
else
{
message icu_config2 ;
}
}
} }
if $(ICU_LINK) explicit icu_config ;
explicit icu_config2 ;
if [ check-icu-config ]
{ {
ICU_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <dll-path>$(ICU_PATH)/bin <define>BOOST_HAS_ICU=1 <runtime-link>shared ; if $(gHAS_ICU)
}
else
{ {
lib icuuc : : <search>$(ICU_PATH)/lib <link>shared <runtime-link>shared ; BOOST_REGEX_ICU_OPTS = "<target-os>freebsd:<include>/usr/local/include" ;
lib icuuc : : <toolset>msvc <variant>debug <name>icuucd <search>$(ICU_PATH)/lib <link>shared <runtime-link>shared ; ICU_SEARCH_OPTS = "<target-os>freebsd:<search>$(ICU_PATH)/lib" ;
lib icuuc : : <name>this_is_an_invalid_library_name ; BOOST_REGEX_ICU_OPTS += "<define>BOOST_HAS_ICU=1" ;
lib icudt : : <search>$(ICU_PATH)/lib <name>icudata <link>shared <runtime-link>shared ; BOOST_REGEX_ICU_OPTS += "$(gICU_LIBS)" ;
lib icudt : : <search>$(ICU_PATH)/lib <name>icudt <toolset>msvc <link>shared <runtime-link>shared ;
lib icudt : : <name>this_is_an_invalid_library_name ;
lib icuin : : <search>$(ICU_PATH)/lib <name>icui18n <link>shared <runtime-link>shared ;
lib icuin : : <toolset>msvc <variant>debug <name>icuind <search>$(ICU_PATH)/lib <link>shared <runtime-link>shared ;
lib icuin : : <toolset>msvc <variant>release <name>icuin <search>$(ICU_PATH)/lib <link>shared <runtime-link>shared ;
lib icuin : : <name>this_is_an_invalid_library_name ;
ICU_OPTS = <include>$(ICU_PATH)/include <library>icuuc/<link>shared/<runtime-link>shared <library>icudt/<link>shared/<runtime-link>shared <library>icuin/<link>shared/<runtime-link>shared <dll-path>$(ICU_PATH)/bin <define>BOOST_HAS_ICU=1 <runtime-link>shared ; if $(ICU_PATH)
{
# If ICU_PATH is specified on the command line, then it's
# relative to the current directory, while paths specified
# in a Jamfile are relative to that Jamfile. So, to
# avoid confusing the user if he's not running from
# libs/regex/build, explicitly root this.
ICU_PATH = [ path.native
[ path.root [ path.make $(ICU_PATH) ] [ path.pwd ] ] ] ;
if $(ICU_PATH) != "/usr" && $(ICU_PATH) != "/usr/local"
{
BOOST_REGEX_ICU_OPTS += "<include>$(ICU_PATH)/include" ;
ICU_SEARCH_OPTS = <search>$(ICU_PATH)/lib ;
}
}
if $(gICU_CYGWIN)
{
if $(gICU_CORE_LIB)
{
BOOST_REGEX_ICU_OPTS += "<linkflags>$(gICU_CORE_LIB) ;
}
if $(gICU_IN_LIB)
{
BOOST_REGEX_ICU_OPTS += "<linkflags>$(gICU_IN_LIB) ;
}
}
else
{
if $(gICU_CORE_LIB)
{
lib icucore : : <name>$(gICU_CORE_LIB) $(ICU_SEARCH_OPTS) <link>shared ;
ICU_EXTRA_SOURCE = icucore ;
explicit icucore ;
}
if $(gICU_IN_LIB)
{
lib icuin : : <name>$(gICU_IN_LIB) $(ICU_SEARCH_OPTS) <link>shared ;
ICU_EXTRA_SOURCE += icuin ;
explicit icuin ;
}
#Added by Tommy Nordgren libicudata must be linked against on Mac OS X
if $(gICU_DATA_LIB)
{
lib icudata : : <name>$(gICU_DATA_LIB) $(ICU_SEARCH_OPTS) <link>shared ;
ICU_EXTRA_SOURCE += icudata ;
explicit icudata ;
}
#End of addition by Tommy Nordgren
}
}
} }
exe has_icu : ./has_icu_test.cpp : $(ICU_OPTS) ;
explicit has_icu ;
alias icu_options : : : : [ check-target-builds has_icu : $(ICU_OPTS) : ] ;
SOURCES = SOURCES =
c_regex_traits.cpp c_regex_traits.cpp
cpp_regex_traits.cpp cpp_regex_traits.cpp
@ -60,13 +269,59 @@ SOURCES =
usinstances.cpp ; usinstances.cpp ;
lib boost_regex : ../src/$(SOURCES) icu_options lib boost_regex : ../src/$(SOURCES) $(ICU_EXTRA_SOURCE) icu_config2 icu_config
: :
#<link>static:<define>BOOST_REGEX_NO_LIB=1
#<link>static:<define>BOOST_REGEX_STATIC_LINK=1
<link>shared:<define>BOOST_REGEX_DYN_LINK=1 <link>shared:<define>BOOST_REGEX_DYN_LINK=1
<toolset>gcc-mw:<link>static <toolset>gcc-mw:<link>static
<toolset>gcc-mingw:<link>static <toolset>gcc-mingw:<link>static
<toolset>gcc-cygwin:<link>static <toolset>gcc-cygwin:<link>static
$(BOOST_REGEX_ICU_OPTS)
<conditional>@force-shared-linking
; ;
shared-linking-warning-emitted = ;
# The ICU is shipped as shared libraries with dynamic runtime.
# If Boost.Regex is built against static runtime, the combination
# will not work. The below rule forces shared runtime, and
# prints an explanation.
rule force-shared-linking ( properties * )
{
if $(gHAS_ICU)
{
if <runtime-link>static in $(properties)
{
if ! $(shared-linking-warning-emitted)
{
shared-linking-warning-emitted = 1 ;
ECHO "warning: forcing runtime-link=shared for Boost.Regex" ;
ECHO "warning: this is required when using the ICU library" ;
}
}
return <runtime-link>shared ;
}
}
alias icu_options : $(ICU_EXTRA_SOURCE) : : : $(BOOST_REGEX_ICU_OPTS) ;
explicit icu_options ;
boost-install boost_regex ; boost-install boost_regex ;

View File

@ -1,26 +0,0 @@
/*
*
* Copyright (c) 2010
* 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)
*
*/
#include <unicode/uversion.h>
#include <unicode/utypes.h>
#include <unicode/uchar.h>
#include <unicode/coll.h>
#if defined(_MSC_VER) && !defined(_DLL)
#error "Mixing ICU with a static runtime doesn't work"
#endif
int main()
{
UErrorCode err = U_ZERO_ERROR;
UChar32 c = ::u_charFromName(U_UNICODE_CHAR_NAME, "GREEK SMALL LETTER ALPHA", &err);
return err;
}

View File

@ -15,21 +15,6 @@ Currently open issues can be viewed [@https://svn.boost.org/trac/boost/query?sta
All issues including closed ones can be viewed [@https://svn.boost.org/trac/boost/query?status=assigned&status=closed&status=new&status=reopened&component=regex&order=priority&col=id&col=summary&col=status&col=type&col=milestone&col=component here]. All issues including closed ones can be viewed [@https://svn.boost.org/trac/boost/query?status=assigned&status=closed&status=new&status=reopened&component=regex&order=priority&col=id&col=summary&col=status&col=type&col=milestone&col=component here].
[h4 Boost 1.44]
Fixed issues:
[@https://svn.boost.org/trac/boost/ticket/4215 #4215],
[@https://svn.boost.org/trac/boost/ticket/4212 #4212],
[@https://svn.boost.org/trac/boost/ticket/4191 #4191],
[@https://svn.boost.org/trac/boost/ticket/4132 #4132],
[@https://svn.boost.org/trac/boost/ticket/4123 #4123],
[@https://svn.boost.org/trac/boost/ticket/4114 #4114],
[@https://svn.boost.org/trac/boost/ticket/4036 #4036],
[@https://svn.boost.org/trac/boost/ticket/4020 #4020],
[@https://svn.boost.org/trac/boost/ticket/3941 #3941],
[@https://svn.boost.org/trac/boost/ticket/3902 #3902],
[@https://svn.boost.org/trac/boost/ticket/3890 #3890]
[h4 Boost 1.42] [h4 Boost 1.42]
* Added support for Functors rather than strings as format expressions. * Added support for Functors rather than strings as format expressions.

View File

@ -28,7 +28,7 @@
Example Programs</a> Example Programs</a>
</h3></div></div></div> </h3></div></div></div>
<a name="boost_regex.background_information.examples.test_programs"></a><h5> <a name="boost_regex.background_information.examples.test_programs"></a><h5>
<a name="id829899"></a> <a name="id794448"></a>
<a class="link" href="examples.html#boost_regex.background_information.examples.test_programs">Test <a class="link" href="examples.html#boost_regex.background_information.examples.test_programs">Test
Programs</a> Programs</a>
</h5> </h5>
@ -107,7 +107,7 @@
Files: <a href="../../../../test/captures/captures_test.cpp" target="_top">captures_test.cpp</a>. Files: <a href="../../../../test/captures/captures_test.cpp" target="_top">captures_test.cpp</a>.
</p> </p>
<a name="boost_regex.background_information.examples.example_programs"></a><h5> <a name="boost_regex.background_information.examples.example_programs"></a><h5>
<a name="id830203"></a> <a name="id794751"></a>
<a class="link" href="examples.html#boost_regex.background_information.examples.example_programs">Example <a class="link" href="examples.html#boost_regex.background_information.examples.example_programs">Example
programs</a> programs</a>
</h5> </h5>
@ -133,7 +133,7 @@
Files: <a href="../../../../example/timer/regex_timer.cpp" target="_top">regex_timer.cpp</a>. Files: <a href="../../../../example/timer/regex_timer.cpp" target="_top">regex_timer.cpp</a>.
</p> </p>
<a name="boost_regex.background_information.examples.code_snippets"></a><h5> <a name="boost_regex.background_information.examples.code_snippets"></a><h5>
<a name="id830261"></a> <a name="id794810"></a>
<a class="link" href="examples.html#boost_regex.background_information.examples.code_snippets">Code <a class="link" href="examples.html#boost_regex.background_information.examples.code_snippets">Code
snippets</a> snippets</a>
</h5> </h5>

View File

@ -26,7 +26,7 @@
<a name="boost_regex.background_information.history"></a><a class="link" href="history.html" title="History"> History</a> <a name="boost_regex.background_information.history"></a><a class="link" href="history.html" title="History"> History</a>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
New issues should be submitted at <a href="http:svn.boost.org" target="_top">svn.boost.org</a> New issues should be submitted at <a href="http://svn.boost.org" target="_top">svn.boost.org</a>
- don't forget to include your email address in the ticket! - don't forget to include your email address in the ticket!
</p> </p>
<p> <p>
@ -35,26 +35,8 @@
<p> <p>
All issues including closed ones can be viewed <a href="https://svn.boost.org/trac/boost/query?status=assigned&amp;status=closed&amp;status=new&amp;status=reopened&amp;component=regex&amp;order=priority&amp;col=id&amp;col=summary&amp;col=status&amp;col=type&amp;col=milestone&amp;col=component" target="_top">here</a>. All issues including closed ones can be viewed <a href="https://svn.boost.org/trac/boost/query?status=assigned&amp;status=closed&amp;status=new&amp;status=reopened&amp;component=regex&amp;order=priority&amp;col=id&amp;col=summary&amp;col=status&amp;col=type&amp;col=milestone&amp;col=component" target="_top">here</a>.
</p> </p>
<a name="boost_regex.background_information.history.boost_1_44"></a><h5>
<a name="id834169"></a>
<a class="link" href="history.html#boost_regex.background_information.history.boost_1_44">Boost
1.44</a>
</h5>
<p>
Fixed issues: <a href="https://svn.boost.org/trac/boost/ticket/4215" target="_top">#4215</a>,
<a href="https://svn.boost.org/trac/boost/ticket/4212" target="_top">#4212</a>,
<a href="https://svn.boost.org/trac/boost/ticket/4191" target="_top">#4191</a>,
<a href="https://svn.boost.org/trac/boost/ticket/4132" target="_top">#4132</a>,
<a href="https://svn.boost.org/trac/boost/ticket/4123" target="_top">#4123</a>,
<a href="https://svn.boost.org/trac/boost/ticket/4114" target="_top">#4114</a>,
<a href="https://svn.boost.org/trac/boost/ticket/4036" target="_top">#4036</a>,
<a href="https://svn.boost.org/trac/boost/ticket/4020" target="_top">#4020</a>,
<a href="https://svn.boost.org/trac/boost/ticket/3941" target="_top">#3941</a>,
<a href="https://svn.boost.org/trac/boost/ticket/3902" target="_top">#3902</a>,
<a href="https://svn.boost.org/trac/boost/ticket/3890" target="_top">#3890</a>
</p>
<a name="boost_regex.background_information.history.boost_1_42"></a><h5> <a name="boost_regex.background_information.history.boost_1_42"></a><h5>
<a name="id834238"></a> <a name="id796340"></a>
<a class="link" href="history.html#boost_regex.background_information.history.boost_1_42">Boost <a class="link" href="history.html#boost_regex.background_information.history.boost_1_42">Boost
1.42</a> 1.42</a>
</h5> </h5>
@ -83,7 +65,7 @@
</li> </li>
</ul></div> </ul></div>
<a name="boost_regex.background_information.history.boost_1_40"></a><h5> <a name="boost_regex.background_information.history.boost_1_40"></a><h5>
<a name="id834317"></a> <a name="id796600"></a>
<a class="link" href="history.html#boost_regex.background_information.history.boost_1_40">Boost <a class="link" href="history.html#boost_regex.background_information.history.boost_1_40">Boost
1.40</a> 1.40</a>
</h5> </h5>
@ -92,7 +74,7 @@
branch resets and recursive regular expressions. branch resets and recursive regular expressions.
</li></ul></div> </li></ul></div>
<a name="boost_regex.background_information.history.boost_1_38"></a><h5> <a name="boost_regex.background_information.history.boost_1_38"></a><h5>
<a name="id834338"></a> <a name="id796620"></a>
<a class="link" href="history.html#boost_regex.background_information.history.boost_1_38">Boost <a class="link" href="history.html#boost_regex.background_information.history.boost_1_38">Boost
1.38</a> 1.38</a>
</h5> </h5>
@ -119,7 +101,7 @@
</li> </li>
</ul></div> </ul></div>
<a name="boost_regex.background_information.history.boost_1_34"></a><h5> <a name="boost_regex.background_information.history.boost_1_34"></a><h5>
<a name="id834416"></a> <a name="id796698"></a>
<a class="link" href="history.html#boost_regex.background_information.history.boost_1_34">Boost <a class="link" href="history.html#boost_regex.background_information.history.boost_1_34">Boost
1.34</a> 1.34</a>
</h5> </h5>
@ -142,7 +124,7 @@
</li> </li>
</ul></div> </ul></div>
<a name="boost_regex.background_information.history.boost_1_33_1"></a><h5> <a name="boost_regex.background_information.history.boost_1_33_1"></a><h5>
<a name="id834447"></a> <a name="id796729"></a>
<a class="link" href="history.html#boost_regex.background_information.history.boost_1_33_1">Boost <a class="link" href="history.html#boost_regex.background_information.history.boost_1_33_1">Boost
1.33.1</a> 1.33.1</a>
</h5> </h5>
@ -212,7 +194,7 @@
</li> </li>
</ul></div> </ul></div>
<a name="boost_regex.background_information.history.boost_1_33_0"></a><h5> <a name="boost_regex.background_information.history.boost_1_33_0"></a><h5>
<a name="id834526"></a> <a name="id796808"></a>
<a class="link" href="history.html#boost_regex.background_information.history.boost_1_33_0">Boost <a class="link" href="history.html#boost_regex.background_information.history.boost_1_33_0">Boost
1.33.0</a> 1.33.0</a>
</h5> </h5>
@ -267,7 +249,7 @@
</li> </li>
</ul></div> </ul></div>
<a name="boost_regex.background_information.history.boost_1_32_1"></a><h5> <a name="boost_regex.background_information.history.boost_1_32_1"></a><h5>
<a name="id834585"></a> <a name="id796867"></a>
<a class="link" href="history.html#boost_regex.background_information.history.boost_1_32_1">Boost <a class="link" href="history.html#boost_regex.background_information.history.boost_1_32_1">Boost
1.32.1</a> 1.32.1</a>
</h5> </h5>
@ -275,7 +257,7 @@
Fixed bug in partial matches of bounded repeats of '.'. Fixed bug in partial matches of bounded repeats of '.'.
</li></ul></div> </li></ul></div>
<a name="boost_regex.background_information.history.boost_1_31_0"></a><h5> <a name="boost_regex.background_information.history.boost_1_31_0"></a><h5>
<a name="id834605"></a> <a name="id796888"></a>
<a class="link" href="history.html#boost_regex.background_information.history.boost_1_31_0">Boost <a class="link" href="history.html#boost_regex.background_information.history.boost_1_31_0">Boost
1.31.0</a> 1.31.0</a>
</h5> </h5>

View File

@ -58,7 +58,7 @@
There are three separate localization mechanisms supported by Boost.Regex: There are three separate localization mechanisms supported by Boost.Regex:
</p> </p>
<a name="boost_regex.background_information.locale.win32_localization_model_"></a><h5> <a name="boost_regex.background_information.locale.win32_localization_model_"></a><h5>
<a name="id826760"></a> <a name="id790247"></a>
<a class="link" href="locale.html#boost_regex.background_information.locale.win32_localization_model_">Win32 <a class="link" href="locale.html#boost_regex.background_information.locale.win32_localization_model_">Win32
localization model.</a> localization model.</a>
</h5> </h5>
@ -90,7 +90,7 @@
are treated as "unknown" graphic characters. are treated as "unknown" graphic characters.
</p> </p>
<a name="boost_regex.background_information.locale.c_localization_model_"></a><h5> <a name="boost_regex.background_information.locale.c_localization_model_"></a><h5>
<a name="id826914"></a> <a name="id790402"></a>
<a class="link" href="locale.html#boost_regex.background_information.locale.c_localization_model_">C <a class="link" href="locale.html#boost_regex.background_information.locale.c_localization_model_">C
localization model.</a> localization model.</a>
</h5> </h5>
@ -114,7 +114,7 @@
libraries including version 1 of this library. libraries including version 1 of this library.
</p> </p>
<a name="boost_regex.background_information.locale.c___localization_model_"></a><h5> <a name="boost_regex.background_information.locale.c___localization_model_"></a><h5>
<a name="id826983"></a> <a name="id790470"></a>
<a class="link" href="locale.html#boost_regex.background_information.locale.c___localization_model_">C++ <a class="link" href="locale.html#boost_regex.background_information.locale.c___localization_model_">C++
localization model.</a> localization model.</a>
</h5> </h5>
@ -151,7 +151,7 @@
in your code. The best way to ensure this is to add the #define to <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">regex</span><span class="special">/</span><span class="identifier">user</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>. in your code. The best way to ensure this is to add the #define to <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">regex</span><span class="special">/</span><span class="identifier">user</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>.
</p> </p>
<a name="boost_regex.background_information.locale.providing_a_message_catalogue"></a><h5> <a name="boost_regex.background_information.locale.providing_a_message_catalogue"></a><h5>
<a name="id827284"></a> <a name="id791932"></a>
<a class="link" href="locale.html#boost_regex.background_information.locale.providing_a_message_catalogue">Providing <a class="link" href="locale.html#boost_regex.background_information.locale.providing_a_message_catalogue">Providing
a message catalogue</a> a message catalogue</a>
</h5> </h5>

View File

@ -28,7 +28,7 @@
Conformance</a> Conformance</a>
</h3></div></div></div> </h3></div></div></div>
<a name="boost_regex.background_information.standards.c__"></a><h5> <a name="boost_regex.background_information.standards.c__"></a><h5>
<a name="id830890"></a> <a name="id795439"></a>
<a class="link" href="standards.html#boost_regex.background_information.standards.c__">C++</a> <a class="link" href="standards.html#boost_regex.background_information.standards.c__">C++</a>
</h5> </h5>
<p> <p>
@ -36,7 +36,7 @@
Report on C++ Library Extensions</a>. Report on C++ Library Extensions</a>.
</p> </p>
<a name="boost_regex.background_information.standards.ecmascript___javascript"></a><h5> <a name="boost_regex.background_information.standards.ecmascript___javascript"></a><h5>
<a name="id830912"></a> <a name="id795460"></a>
<a class="link" href="standards.html#boost_regex.background_information.standards.ecmascript___javascript">ECMAScript <a class="link" href="standards.html#boost_regex.background_information.standards.ecmascript___javascript">ECMAScript
/ JavaScript</a> / JavaScript</a>
</h5> </h5>
@ -49,7 +49,7 @@
rather than a Unicode escape sequence; use \x{DDDD} for Unicode escape sequences. rather than a Unicode escape sequence; use \x{DDDD} for Unicode escape sequences.
</p> </p>
<a name="boost_regex.background_information.standards.perl"></a><h5> <a name="boost_regex.background_information.standards.perl"></a><h5>
<a name="id830932"></a> <a name="id795481"></a>
<a class="link" href="standards.html#boost_regex.background_information.standards.perl">Perl</a> <a class="link" href="standards.html#boost_regex.background_information.standards.perl">Perl</a>
</h5> </h5>
<p> <p>
@ -73,7 +73,7 @@
the Unicode requirements below. the Unicode requirements below.
</p> </p>
<a name="boost_regex.background_information.standards.posix"></a><h5> <a name="boost_regex.background_information.standards.posix"></a><h5>
<a name="id830972"></a> <a name="id795520"></a>
<a class="link" href="standards.html#boost_regex.background_information.standards.posix">POSIX</a> <a class="link" href="standards.html#boost_regex.background_information.standards.posix">POSIX</a>
</h5> </h5>
<p> <p>
@ -93,7 +93,7 @@
a custom traits class. a custom traits class.
</p> </p>
<a name="boost_regex.background_information.standards.unicode"></a><h5> <a name="boost_regex.background_information.standards.unicode"></a><h5>
<a name="id830996"></a> <a name="id795544"></a>
<a class="link" href="standards.html#boost_regex.background_information.standards.unicode">Unicode</a> <a class="link" href="standards.html#boost_regex.background_information.standards.unicode">Unicode</a>
</h5> </h5>
<p> <p>

View File

@ -35,7 +35,7 @@
accessed. accessed.
</p> </p>
<a name="boost_regex.captures.marked_sub_expressions"></a><h5> <a name="boost_regex.captures.marked_sub_expressions"></a><h5>
<a name="id672206"></a> <a name="id637253"></a>
<a class="link" href="captures.html#boost_regex.captures.marked_sub_expressions">Marked sub-expressions</a> <a class="link" href="captures.html#boost_regex.captures.marked_sub_expressions">Marked sub-expressions</a>
</h5> </h5>
<p> <p>
@ -218,7 +218,7 @@
output stream. output stream.
</p> </p>
<a name="boost_regex.captures.unmatched_sub_expressions"></a><h5> <a name="boost_regex.captures.unmatched_sub_expressions"></a><h5>
<a name="id672662"></a> <a name="id637709"></a>
<a class="link" href="captures.html#boost_regex.captures.unmatched_sub_expressions">Unmatched Sub-Expressions</a> <a class="link" href="captures.html#boost_regex.captures.unmatched_sub_expressions">Unmatched Sub-Expressions</a>
</h5> </h5>
<p> <p>
@ -231,7 +231,7 @@
you can determine which sub-expressions matched by accessing the <code class="computeroutput"><span class="identifier">sub_match</span><span class="special">::</span><span class="identifier">matched</span></code> data member. you can determine which sub-expressions matched by accessing the <code class="computeroutput"><span class="identifier">sub_match</span><span class="special">::</span><span class="identifier">matched</span></code> data member.
</p> </p>
<a name="boost_regex.captures.repeated_captures"></a><h5> <a name="boost_regex.captures.repeated_captures"></a><h5>
<a name="id672701"></a> <a name="id637748"></a>
<a class="link" href="captures.html#boost_regex.captures.repeated_captures">Repeated Captures</a> <a class="link" href="captures.html#boost_regex.captures.repeated_captures">Repeated Captures</a>
</h5> </h5>
<p> <p>

View File

@ -32,7 +32,7 @@
'$', '\', '(', ')', '?', and ':'. '$', '\', '(', ')', '?', and ':'.
</p> </p>
<a name="boost_regex.format.boost_format_syntax.grouping"></a><h5> <a name="boost_regex.format.boost_format_syntax.grouping"></a><h5>
<a name="id693208"></a> <a name="id658318"></a>
<a class="link" href="boost_format_syntax.html#boost_regex.format.boost_format_syntax.grouping">Grouping</a> <a class="link" href="boost_format_syntax.html#boost_regex.format.boost_format_syntax.grouping">Grouping</a>
</h5> </h5>
<p> <p>
@ -40,7 +40,7 @@
you want a to output literal parenthesis. you want a to output literal parenthesis.
</p> </p>
<a name="boost_regex.format.boost_format_syntax.conditionals"></a><h5> <a name="boost_regex.format.boost_format_syntax.conditionals"></a><h5>
<a name="id693225"></a> <a name="id658335"></a>
<a class="link" href="boost_format_syntax.html#boost_regex.format.boost_format_syntax.conditionals">Conditionals</a> <a class="link" href="boost_format_syntax.html#boost_regex.format.boost_format_syntax.conditionals">Conditionals</a>
</h5> </h5>
<p> <p>
@ -79,7 +79,7 @@
?{NAME}true-expression:false-expression ?{NAME}true-expression:false-expression
</p> </p>
<a name="boost_regex.format.boost_format_syntax.placeholder_sequences"></a><h5> <a name="boost_regex.format.boost_format_syntax.placeholder_sequences"></a><h5>
<a name="id693278"></a> <a name="id658388"></a>
<a class="link" href="boost_format_syntax.html#boost_regex.format.boost_format_syntax.placeholder_sequences">Placeholder <a class="link" href="boost_format_syntax.html#boost_regex.format.boost_format_syntax.placeholder_sequences">Placeholder
Sequences</a> Sequences</a>
</h5> </h5>
@ -319,7 +319,7 @@
as a literal. as a literal.
</p> </p>
<a name="boost_regex.format.boost_format_syntax.escape_sequences"></a><h5> <a name="boost_regex.format.boost_format_syntax.escape_sequences"></a><h5>
<a name="id693621"></a> <a name="id658731"></a>
<a class="link" href="boost_format_syntax.html#boost_regex.format.boost_format_syntax.escape_sequences">Escape <a class="link" href="boost_format_syntax.html#boost_regex.format.boost_format_syntax.escape_sequences">Escape
Sequences</a> Sequences</a>
</h5> </h5>

View File

@ -49,7 +49,7 @@
file before you can use it, instructions for specific platforms are as follows: file before you can use it, instructions for specific platforms are as follows:
</p> </p>
<a name="boost_regex.install.building_with_bjam"></a><h5> <a name="boost_regex.install.building_with_bjam"></a><h5>
<a name="id668332"></a> <a name="id635058"></a>
<a class="link" href="install.html#boost_regex.install.building_with_bjam">Building with bjam</a> <a class="link" href="install.html#boost_regex.install.building_with_bjam">Building with bjam</a>
</h5> </h5>
<p> <p>
@ -58,7 +58,7 @@
started guide</a> for more information. started guide</a> for more information.
</p> </p>
<a name="boost_regex.install.building_with_unicode_and_icu_support"></a><h5> <a name="boost_regex.install.building_with_unicode_and_icu_support"></a><h5>
<a name="id668356"></a> <a name="id635082"></a>
<a class="link" href="install.html#boost_regex.install.building_with_unicode_and_icu_support">Building <a class="link" href="install.html#boost_regex.install.building_with_unicode_and_icu_support">Building
With Unicode and ICU Support</a> With Unicode and ICU Support</a>
</h5> </h5>
@ -96,11 +96,11 @@
ICU you are using is binary compatible with the toolset you use to build Boost. ICU you are using is binary compatible with the toolset you use to build Boost.
</p> </p>
<a name="boost_regex.install.building_via_makefiles"></a><h5> <a name="boost_regex.install.building_via_makefiles"></a><h5>
<a name="id668475"></a> <a name="id635201"></a>
<a class="link" href="install.html#boost_regex.install.building_via_makefiles">Building via makefiles</a> <a class="link" href="install.html#boost_regex.install.building_via_makefiles">Building via makefiles</a>
</h5> </h5>
<a name="boost_regex.install.borland_c___builder_"></a><h6> <a name="boost_regex.install.borland_c___builder_"></a><h6>
<a name="id668488"></a> <a name="id635214"></a>
<a class="link" href="install.html#boost_regex.install.borland_c___builder_">Borland C++ Builder:</a> <a class="link" href="install.html#boost_regex.install.borland_c___builder_">Borland C++ Builder:</a>
</h6> </h6>
<div class="itemizedlist"><ul type="disc"> <div class="itemizedlist"><ul type="disc">
@ -166,7 +166,7 @@
a lot in compile times! a lot in compile times!
</p> </p>
<a name="boost_regex.install.microsoft_visual_c___6__7__7_1_and_8"></a><h5> <a name="boost_regex.install.microsoft_visual_c___6__7__7_1_and_8"></a><h5>
<a name="id668727"></a> <a name="id635453"></a>
<a class="link" href="install.html#boost_regex.install.microsoft_visual_c___6__7__7_1_and_8">Microsoft <a class="link" href="install.html#boost_regex.install.microsoft_visual_c___6__7__7_1_and_8">Microsoft
Visual C++ 6, 7, 7.1 and 8</a> Visual C++ 6, 7, 7.1 and 8</a>
</h5> </h5>
@ -253,7 +253,7 @@
</li> </li>
</ul></div> </ul></div>
<a name="boost_regex.install.gcc_2_95_and_later_"></a><h6> <a name="boost_regex.install.gcc_2_95_and_later_"></a><h6>
<a name="id668926"></a> <a name="id635652"></a>
<a class="link" href="install.html#boost_regex.install.gcc_2_95_and_later_">GCC(2.95 and later)</a> <a class="link" href="install.html#boost_regex.install.gcc_2_95_and_later_">GCC(2.95 and later)</a>
</h6> </h6>
<p> <p>
@ -302,7 +302,7 @@
see the <a href="../../../../config/index.html" target="_top">config library documentation</a>. see the <a href="../../../../config/index.html" target="_top">config library documentation</a>.
</p> </p>
<a name="boost_regex.install.sun_workshop_6_1"></a><h6> <a name="boost_regex.install.sun_workshop_6_1"></a><h6>
<a name="id669052"></a> <a name="id635778"></a>
<a class="link" href="install.html#boost_regex.install.sun_workshop_6_1">Sun Workshop 6.1</a> <a class="link" href="install.html#boost_regex.install.sun_workshop_6_1">Sun Workshop 6.1</a>
</h6> </h6>
<p> <p>
@ -347,7 +347,7 @@
will build v9 variants of the regex library named libboost_regex_v9.a etc. will build v9 variants of the regex library named libboost_regex_v9.a etc.
</p> </p>
<a name="boost_regex.install.makefiles_for_other_compilers"></a><h6> <a name="boost_regex.install.makefiles_for_other_compilers"></a><h6>
<a name="id669196"></a> <a name="id635922"></a>
<a class="link" href="install.html#boost_regex.install.makefiles_for_other_compilers">Makefiles <a class="link" href="install.html#boost_regex.install.makefiles_for_other_compilers">Makefiles
for Other compilers</a> for Other compilers</a>
</h6> </h6>

View File

@ -27,7 +27,7 @@
<a name="boost_regex.ref.bad_expression"></a><a class="link" href="bad_expression.html" title="bad_expression"> bad_expression</a> <a name="boost_regex.ref.bad_expression"></a><a class="link" href="bad_expression.html" title="bad_expression"> bad_expression</a>
</h3></div></div></div> </h3></div></div></div>
<a name="boost_regex.ref.bad_expression.synopsis"></a><h5> <a name="boost_regex.ref.bad_expression.synopsis"></a><h5>
<a name="id779033"></a> <a name="id743702"></a>
<a class="link" href="bad_expression.html#boost_regex.ref.bad_expression.synopsis">Synopsis</a> <a class="link" href="bad_expression.html#boost_regex.ref.bad_expression.synopsis">Synopsis</a>
</h5> </h5>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">pattern_except</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">pattern_except</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
@ -54,7 +54,7 @@
<span class="special">}</span> <span class="comment">// namespace boost <span class="special">}</span> <span class="comment">// namespace boost
</span></pre> </span></pre>
<a name="boost_regex.ref.bad_expression.description"></a><h5> <a name="boost_regex.ref.bad_expression.description"></a><h5>
<a name="id779394"></a> <a name="id744067"></a>
<a class="link" href="bad_expression.html#boost_regex.ref.bad_expression.description">Description</a> <a class="link" href="bad_expression.html#boost_regex.ref.bad_expression.description">Description</a>
</h5> </h5>
<pre class="programlisting"><span class="identifier">regex_error</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">error_type</span> <span class="identifier">err</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">pos</span><span class="special">);</span> <pre class="programlisting"><span class="identifier">regex_error</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">error_type</span> <span class="identifier">err</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">pos</span><span class="special">);</span>

View File

@ -27,7 +27,7 @@
<a name="boost_regex.ref.basic_regex"></a><a class="link" href="basic_regex.html" title="basic_regex"> basic_regex</a> <a name="boost_regex.ref.basic_regex"></a><a class="link" href="basic_regex.html" title="basic_regex"> basic_regex</a>
</h3></div></div></div> </h3></div></div></div>
<a name="boost_regex.ref.basic_regex.synopsis"></a><h5> <a name="boost_regex.ref.basic_regex.synopsis"></a><h5>
<a name="id693964"></a> <a name="id659074"></a>
<a class="link" href="basic_regex.html#boost_regex.ref.basic_regex.synopsis">Synopsis</a> <a class="link" href="basic_regex.html#boost_regex.ref.basic_regex.synopsis">Synopsis</a>
</h5> </h5>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">regex</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">regex</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
@ -244,7 +244,7 @@
<span class="special">}</span> <span class="comment">// namespace boost <span class="special">}</span> <span class="comment">// namespace boost
</span></pre> </span></pre>
<a name="boost_regex.ref.basic_regex.description"></a><h5> <a name="boost_regex.ref.basic_regex.description"></a><h5>
<a name="id699440"></a> <a name="id664487"></a>
<a class="link" href="basic_regex.html#boost_regex.ref.basic_regex.description">Description</a> <a class="link" href="basic_regex.html#boost_regex.ref.basic_regex.description">Description</a>
</h5> </h5>
<p> <p>
@ -327,7 +327,7 @@
<code class="computeroutput"><span class="identifier">basic_regex</span></code>. <code class="computeroutput"><span class="identifier">basic_regex</span></code>.
</p> </p>
<div class="table"> <div class="table">
<a name="id702443"></a><p class="title"><b>Table&#160;1.&#160;basic_regex default construction postconditions</b></p> <a name="id666398"></a><p class="title"><b>Table&#160;1.&#160;basic_regex default construction postconditions</b></p>
<div class="table-contents"><table class="table" summary="basic_regex default construction postconditions"> <div class="table-contents"><table class="table" summary="basic_regex default construction postconditions">
<colgroup> <colgroup>
<col> <col>
@ -407,7 +407,7 @@
flags</a> specified in <span class="emphasis"><em>f</em></span>. flags</a> specified in <span class="emphasis"><em>f</em></span>.
</p> </p>
<div class="table"> <div class="table">
<a name="id702741"></a><p class="title"><b>Table&#160;2.&#160;Postconditions for basic_regex construction</b></p> <a name="id666695"></a><p class="title"><b>Table&#160;2.&#160;Postconditions for basic_regex construction</b></p>
<div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction"> <div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
<colgroup> <colgroup>
<col> <col>
@ -512,7 +512,7 @@
specified in <span class="emphasis"><em>f</em></span>. specified in <span class="emphasis"><em>f</em></span>.
</p> </p>
<div class="table"> <div class="table">
<a name="id703153"></a><p class="title"><b>Table&#160;3.&#160;Postconditions for basic_regex construction</b></p> <a name="id667108"></a><p class="title"><b>Table&#160;3.&#160;Postconditions for basic_regex construction</b></p>
<div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction"> <div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
<colgroup> <colgroup>
<col> <col>
@ -616,7 +616,7 @@
according the option flags specified in <span class="emphasis"><em>f</em></span>. according the option flags specified in <span class="emphasis"><em>f</em></span>.
</p> </p>
<div class="table"> <div class="table">
<a name="id703558"></a><p class="title"><b>Table&#160;4.&#160;Postconditions for basic_regex construction</b></p> <a name="id667513"></a><p class="title"><b>Table&#160;4.&#160;Postconditions for basic_regex construction</b></p>
<div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction"> <div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
<colgroup> <colgroup>
<col> <col>
@ -727,7 +727,7 @@
flags</a> specified in <span class="emphasis"><em>f</em></span>. flags</a> specified in <span class="emphasis"><em>f</em></span>.
</p> </p>
<div class="table"> <div class="table">
<a name="id704106"></a><p class="title"><b>Table&#160;5.&#160;Postconditions for basic_regex construction</b></p> <a name="id669085"></a><p class="title"><b>Table&#160;5.&#160;Postconditions for basic_regex construction</b></p>
<div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction"> <div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
<colgroup> <colgroup>
<col> <col>
@ -829,7 +829,7 @@
flags</a> specified in <span class="emphasis"><em>f</em></span>. flags</a> specified in <span class="emphasis"><em>f</em></span>.
</p> </p>
<div class="table"> <div class="table">
<a name="id704465"></a><p class="title"><b>Table&#160;6.&#160;Postconditions for basic_regex construction</b></p> <a name="id669444"></a><p class="title"><b>Table&#160;6.&#160;Postconditions for basic_regex construction</b></p>
<div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction"> <div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
<colgroup> <colgroup>
<col> <col>
@ -1043,7 +1043,7 @@
in <span class="emphasis"><em>f</em></span>. in <span class="emphasis"><em>f</em></span>.
</p> </p>
<div class="table"> <div class="table">
<a name="id705981"></a><p class="title"><b>Table&#160;7.&#160;Postconditions for basic_regex::assign</b></p> <a name="id670960"></a><p class="title"><b>Table&#160;7.&#160;Postconditions for basic_regex::assign</b></p>
<div class="table-contents"><table class="table" summary="Postconditions for basic_regex::assign"> <div class="table-contents"><table class="table" summary="Postconditions for basic_regex::assign">
<colgroup> <colgroup>
<col> <col>

View File

@ -34,7 +34,7 @@
Boost-specific enhanced interface. Boost-specific enhanced interface.
</p> </p>
<a name="boost_regex.ref.concepts.traits_concept.minimal_requirements_"></a><h5> <a name="boost_regex.ref.concepts.traits_concept.minimal_requirements_"></a><h5>
<a name="id806618"></a> <a name="id771230"></a>
<a class="link" href="traits_concept.html#boost_regex.ref.concepts.traits_concept.minimal_requirements_">Minimal <a class="link" href="traits_concept.html#boost_regex.ref.concepts.traits_concept.minimal_requirements_">Minimal
requirements.</a> requirements.</a>
</h5> </h5>
@ -381,7 +381,7 @@
</tbody> </tbody>
</table></div> </table></div>
<a name="boost_regex.ref.concepts.traits_concept.additional_optional_requirements"></a><h5> <a name="boost_regex.ref.concepts.traits_concept.additional_optional_requirements"></a><h5>
<a name="id807234"></a> <a name="id771846"></a>
<a class="link" href="traits_concept.html#boost_regex.ref.concepts.traits_concept.additional_optional_requirements">Additional <a class="link" href="traits_concept.html#boost_regex.ref.concepts.traits_concept.additional_optional_requirements">Additional
Optional Requirements</a> Optional Requirements</a>
</h5> </h5>

View File

@ -34,7 +34,7 @@
previous version of Boost.Regex and will not be further updated: previous version of Boost.Regex and will not be further updated:
</p> </p>
<a name="boost_regex.ref.deprecated_interfaces.regex_format.algorithm_regex_format"></a><h5> <a name="boost_regex.ref.deprecated_interfaces.regex_format.algorithm_regex_format"></a><h5>
<a name="id807756"></a> <a name="id772368"></a>
<a class="link" href="regex_format.html#boost_regex.ref.deprecated_interfaces.regex_format.algorithm_regex_format">Algorithm <a class="link" href="regex_format.html#boost_regex.ref.deprecated_interfaces.regex_format.algorithm_regex_format">Algorithm
regex_format</a> regex_format</a>
</h5> </h5>

View File

@ -27,7 +27,7 @@
<a name="boost_regex.ref.error_type"></a><a class="link" href="error_type.html" title="error_type"> error_type</a> <a name="boost_regex.ref.error_type"></a><a class="link" href="error_type.html" title="error_type"> error_type</a>
</h3></div></div></div> </h3></div></div></div>
<a name="boost_regex.ref.error_type.synopsis"></a><h5> <a name="boost_regex.ref.error_type.synopsis"></a><h5>
<a name="id786382"></a> <a name="id751078"></a>
<a class="link" href="error_type.html#boost_regex.ref.error_type.synopsis">Synopsis</a> <a class="link" href="error_type.html#boost_regex.ref.error_type.synopsis">Synopsis</a>
</h5> </h5>
<p> <p>
@ -57,7 +57,7 @@
</span><span class="special">}</span> <span class="comment">// namespace boost </span><span class="special">}</span> <span class="comment">// namespace boost
</span></pre> </span></pre>
<a name="boost_regex.ref.error_type.description"></a><h5> <a name="boost_regex.ref.error_type.description"></a><h5>
<a name="id786797"></a> <a name="id751493"></a>
<a class="link" href="error_type.html#boost_regex.ref.error_type.description">Description</a> <a class="link" href="error_type.html#boost_regex.ref.error_type.description">Description</a>
</h5> </h5>
<p> <p>

View File

@ -69,7 +69,7 @@
</span><span class="special">}</span> <span class="comment">// namespace boost </span><span class="special">}</span> <span class="comment">// namespace boost
</span></pre> </span></pre>
<a name="boost_regex.ref.match_flag_type.description"></a><h5> <a name="boost_regex.ref.match_flag_type.description"></a><h5>
<a name="id785831"></a> <a name="id749762"></a>
<a class="link" href="match_flag_type.html#boost_regex.ref.match_flag_type.description">Description</a> <a class="link" href="match_flag_type.html#boost_regex.ref.match_flag_type.description">Description</a>
</h5> </h5>
<p> <p>

View File

@ -27,7 +27,7 @@
<a name="boost_regex.ref.match_results"></a><a class="link" href="match_results.html" title="match_results"> match_results</a> <a name="boost_regex.ref.match_results"></a><a class="link" href="match_results.html" title="match_results"> match_results</a>
</h3></div></div></div> </h3></div></div></div>
<a name="boost_regex.ref.match_results.synopsis"></a><h5> <a name="boost_regex.ref.match_results.synopsis"></a><h5>
<a name="id710291"></a> <a name="id674041"></a>
<a class="link" href="match_results.html#boost_regex.ref.match_results.synopsis">Synopsis</a> <a class="link" href="match_results.html#boost_regex.ref.match_results.synopsis">Synopsis</a>
</h5> </h5>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">regex</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">regex</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
@ -167,7 +167,7 @@
<span class="identifier">match_results</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="identifier">Allocator</span><span class="special">&gt;&amp;</span> <span class="identifier">m2</span><span class="special">);</span> <span class="identifier">match_results</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="identifier">Allocator</span><span class="special">&gt;&amp;</span> <span class="identifier">m2</span><span class="special">);</span>
</pre> </pre>
<a name="boost_regex.ref.match_results.description"></a><h5> <a name="boost_regex.ref.match_results.description"></a><h5>
<a name="id713816"></a> <a name="id678658"></a>
<a class="link" href="match_results.html#boost_regex.ref.match_results.description">Description</a> <a class="link" href="match_results.html#boost_regex.ref.match_results.description">Description</a>
</h5> </h5>
<p> <p>
@ -406,21 +406,14 @@
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">A</span><span class="special">&gt;</span> <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">A</span><span class="special">&gt;</span>
<span class="identifier">difference_type</span> <span class="identifier">length</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">A</span><span class="special">&gt;&amp;)</span><span class="keyword">const</span><span class="special">;</span> <span class="identifier">difference_type</span> <span class="identifier">length</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">A</span><span class="special">&gt;&amp;)</span><span class="keyword">const</span><span class="special">;</span>
</pre> </pre>
<p>
<span class="bold"><strong>Requires</strong></span>: that the match_results object
has been initialized as a result of a successful call to <a class="link" href="regex_search.html" title="regex_search"><code class="computeroutput"><span class="identifier">regex_search</span></code></a> or <a class="link" href="regex_match.html" title="regex_match"><code class="computeroutput"><span class="identifier">regex_match</span></code></a> or was returned from
a <a class="link" href="regex_iterator.html" title="regex_iterator"><code class="computeroutput"><span class="identifier">regex_iterator</span></code></a>,
and that the underlying iterators have not been subsequently invalidated.
Will raise a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">logic_error</span></code> if the match_results object
was not initialized.
</p>
<p> <p>
<span class="bold"><strong>Effects</strong></span>: Returns the length of sub-expression <span class="bold"><strong>Effects</strong></span>: Returns the length of sub-expression
<span class="emphasis"><em>sub</em></span>, that is to say: <code class="computeroutput"><span class="special">(*</span><span class="keyword">this</span><span class="special">)[</span><span class="identifier">sub</span><span class="special">].</span><span class="identifier">length</span><span class="special">()</span></code>. <span class="emphasis"><em>sub</em></span>, that is to say: <code class="computeroutput"><span class="special">(*</span><span class="keyword">this</span><span class="special">)[</span><span class="identifier">sub</span><span class="special">].</span><span class="identifier">length</span><span class="special">()</span></code>.
</p> </p>
<p> <p>
The overloads that accept a string refer to a named sub-expression <span class="emphasis"><em>n</em></span>. The overloads that accept a string refer to a named sub-expression <span class="emphasis"><em>n</em></span>.
In the event that there is no such named sub-expression then returns zero. In the event that there is no such named sub-expression then returns an empty
string.
</p> </p>
<p> <p>
The template overloads of this function, allow the string and/or character The template overloads of this function, allow the string and/or character
@ -441,14 +434,6 @@
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">A</span><span class="special">&gt;</span> <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">A</span><span class="special">&gt;</span>
<span class="identifier">difference_type</span> <span class="identifier">position</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">A</span><span class="special">&gt;&amp;)</span><span class="keyword">const</span><span class="special">;</span> <span class="identifier">difference_type</span> <span class="identifier">position</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">A</span><span class="special">&gt;&amp;)</span><span class="keyword">const</span><span class="special">;</span>
</pre> </pre>
<p>
<span class="bold"><strong>Requires</strong></span>: that the match_results object
has been initialized as a result of a successful call to <a class="link" href="regex_search.html" title="regex_search"><code class="computeroutput"><span class="identifier">regex_search</span></code></a> or <a class="link" href="regex_match.html" title="regex_match"><code class="computeroutput"><span class="identifier">regex_match</span></code></a> or was returned from
a <a class="link" href="regex_iterator.html" title="regex_iterator"><code class="computeroutput"><span class="identifier">regex_iterator</span></code></a>,
and that the underlying iterators have not been subsequently invalidated.
Will raise a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">logic_error</span></code> if the match_results object
was not initialized.
</p>
<p> <p>
<span class="bold"><strong>Effects</strong></span>: Returns the starting location of <span class="bold"><strong>Effects</strong></span>: Returns the starting location of
sub-expression <span class="emphasis"><em>sub</em></span>, or -1 if <span class="emphasis"><em>sub</em></span> sub-expression <span class="emphasis"><em>sub</em></span>, or -1 if <span class="emphasis"><em>sub</em></span>
@ -458,7 +443,8 @@
</p> </p>
<p> <p>
The overloads that accept a string refer to a named sub-expression <span class="emphasis"><em>n</em></span>. The overloads that accept a string refer to a named sub-expression <span class="emphasis"><em>n</em></span>.
In the event that there is no such named sub-expression then returns -1. In the event that there is no such named sub-expression then returns an empty
string.
</p> </p>
<p> <p>
The template overloads of this function, allow the string and/or character The template overloads of this function, allow the string and/or character
@ -481,14 +467,6 @@
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">A</span><span class="special">&gt;</span> <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">A</span><span class="special">&gt;</span>
<span class="identifier">string_type</span> <span class="identifier">str</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">A</span><span class="special">&gt;&amp;</span> <span class="identifier">sub</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span> <span class="identifier">string_type</span> <span class="identifier">str</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">A</span><span class="special">&gt;&amp;</span> <span class="identifier">sub</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
</pre> </pre>
<p>
<span class="bold"><strong>Requires</strong></span>: that the match_results object
has been initialized as a result of a successful call to <a class="link" href="regex_search.html" title="regex_search"><code class="computeroutput"><span class="identifier">regex_search</span></code></a> or <a class="link" href="regex_match.html" title="regex_match"><code class="computeroutput"><span class="identifier">regex_match</span></code></a> or was returned from
a <a class="link" href="regex_iterator.html" title="regex_iterator"><code class="computeroutput"><span class="identifier">regex_iterator</span></code></a>,
and that the underlying iterators have not been subsequently invalidated.
Will raise a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">logic_error</span></code> if the match_results object
was not initialized.
</p>
<p> <p>
<span class="bold"><strong>Effects</strong></span>: Returns sub-expression <span class="emphasis"><em>sub</em></span> <span class="bold"><strong>Effects</strong></span>: Returns sub-expression <span class="emphasis"><em>sub</em></span>
as a string: <code class="computeroutput"><span class="identifier">string_type</span><span class="special">((*</span><span class="keyword">this</span><span class="special">)[</span><span class="identifier">sub</span><span class="special">])</span></code>. as a string: <code class="computeroutput"><span class="identifier">string_type</span><span class="special">((*</span><span class="keyword">this</span><span class="special">)[</span><span class="identifier">sub</span><span class="special">])</span></code>.
@ -519,14 +497,6 @@
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">A</span><span class="special">&gt;</span> <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">A</span><span class="special">&gt;</span>
<span class="identifier">const_reference</span> <span class="keyword">operator</span><span class="special">[](</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">A</span><span class="special">&gt;&amp;</span> <span class="identifier">n</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> <span class="identifier">const_reference</span> <span class="keyword">operator</span><span class="special">[](</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">A</span><span class="special">&gt;&amp;</span> <span class="identifier">n</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
</pre> </pre>
<p>
<span class="bold"><strong>Requires</strong></span>: that the match_results object
has been initialized as a result of a successful call to <a class="link" href="regex_search.html" title="regex_search"><code class="computeroutput"><span class="identifier">regex_search</span></code></a> or <a class="link" href="regex_match.html" title="regex_match"><code class="computeroutput"><span class="identifier">regex_match</span></code></a> or was returned from
a <a class="link" href="regex_iterator.html" title="regex_iterator"><code class="computeroutput"><span class="identifier">regex_iterator</span></code></a>,
and that the underlying iterators have not been subsequently invalidated.
Will raise a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">logic_error</span></code> if the match_results object
was not initialized.
</p>
<p> <p>
<span class="bold"><strong>Effects</strong></span>: Returns a reference to the <a class="link" href="sub_match.html" title="sub_match"><code class="computeroutput"><span class="identifier">sub_match</span></code></a> <span class="bold"><strong>Effects</strong></span>: Returns a reference to the <a class="link" href="sub_match.html" title="sub_match"><code class="computeroutput"><span class="identifier">sub_match</span></code></a>
object representing the character sequence that matched marked sub-expression object representing the character sequence that matched marked sub-expression
@ -557,14 +527,6 @@
</p> </p>
<pre class="programlisting"><span class="identifier">const_reference</span> <span class="identifier">prefix</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <pre class="programlisting"><span class="identifier">const_reference</span> <span class="identifier">prefix</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
</pre> </pre>
<p>
<span class="bold"><strong>Requires</strong></span>: that the match_results object
has been initialized as a result of a successful call to <a class="link" href="regex_search.html" title="regex_search"><code class="computeroutput"><span class="identifier">regex_search</span></code></a> or <a class="link" href="regex_match.html" title="regex_match"><code class="computeroutput"><span class="identifier">regex_match</span></code></a> or was returned from
a <a class="link" href="regex_iterator.html" title="regex_iterator"><code class="computeroutput"><span class="identifier">regex_iterator</span></code></a>,
and that the underlying iterators have not been subsequently invalidated.
Will raise a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">logic_error</span></code> if the match_results object
was not initialized.
</p>
<p> <p>
<span class="bold"><strong>Effects</strong></span>: Returns a reference to the <a class="link" href="sub_match.html" title="sub_match"><code class="computeroutput"><span class="identifier">sub_match</span></code></a> <span class="bold"><strong>Effects</strong></span>: Returns a reference to the <a class="link" href="sub_match.html" title="sub_match"><code class="computeroutput"><span class="identifier">sub_match</span></code></a>
object representing the character sequence from the start of the string being object representing the character sequence from the start of the string being
@ -574,14 +536,6 @@
</p> </p>
<pre class="programlisting"><span class="identifier">const_reference</span> <span class="identifier">suffix</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <pre class="programlisting"><span class="identifier">const_reference</span> <span class="identifier">suffix</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
</pre> </pre>
<p>
<span class="bold"><strong>Requires</strong></span>: that the match_results object
has been initialized as a result of a successful call to <a class="link" href="regex_search.html" title="regex_search"><code class="computeroutput"><span class="identifier">regex_search</span></code></a> or <a class="link" href="regex_match.html" title="regex_match"><code class="computeroutput"><span class="identifier">regex_match</span></code></a> or was returned from
a <a class="link" href="regex_iterator.html" title="regex_iterator"><code class="computeroutput"><span class="identifier">regex_iterator</span></code></a>,
and that the underlying iterators have not been subsequently invalidated.
Will raise a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">logic_error</span></code> if the match_results object
was not initialized.
</p>
<p> <p>
<span class="bold"><strong>Effects</strong></span>: Returns a reference to the <a class="link" href="sub_match.html" title="sub_match"><code class="computeroutput"><span class="identifier">sub_match</span></code></a> <span class="bold"><strong>Effects</strong></span>: Returns a reference to the <a class="link" href="sub_match.html" title="sub_match"><code class="computeroutput"><span class="identifier">sub_match</span></code></a>
object representing the character sequence from the end of the match found object representing the character sequence from the end of the match found
@ -630,14 +584,6 @@
want to pass function objects with internal state might want to use <a href="../../../../../../doc/html/ref.html" target="_top">Boost.Ref</a> to wrap the object want to pass function objects with internal state might want to use <a href="../../../../../../doc/html/ref.html" target="_top">Boost.Ref</a> to wrap the object
so that it's passed by reference. so that it's passed by reference.
</p> </p>
<p>
<span class="bold"><strong>Requires</strong></span>: that the match_results object
has been initialized as a result of a successful call to <a class="link" href="regex_search.html" title="regex_search"><code class="computeroutput"><span class="identifier">regex_search</span></code></a> or <a class="link" href="regex_match.html" title="regex_match"><code class="computeroutput"><span class="identifier">regex_match</span></code></a> or was returned from
a <a class="link" href="regex_iterator.html" title="regex_iterator"><code class="computeroutput"><span class="identifier">regex_iterator</span></code></a>,
and that the underlying iterators have not been subsequently invalidated.
Will raise a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">logic_error</span></code> if the match_results object
was not initialized.
</p>
<p> <p>
<span class="bold"><strong>Effects</strong></span>: If <code class="computeroutput"><span class="identifier">fmt</span></code> <span class="bold"><strong>Effects</strong></span>: If <code class="computeroutput"><span class="identifier">fmt</span></code>
is either a null-terminated string, or a container of <code class="computeroutput"><span class="identifier">char_type</span></code>'s, is either a null-terminated string, or a container of <code class="computeroutput"><span class="identifier">char_type</span></code>'s,
@ -697,14 +643,6 @@
to <code class="computeroutput"><span class="special">*</span><span class="identifier">out</span></code>, to <code class="computeroutput"><span class="special">*</span><span class="identifier">out</span></code>,
and then return the new OutputIterator position. and then return the new OutputIterator position.
</p> </p>
<p>
<span class="bold"><strong>Requires</strong></span>: that the match_results object
has been initialized as a result of a successful call to <a class="link" href="regex_search.html" title="regex_search"><code class="computeroutput"><span class="identifier">regex_search</span></code></a> or <a class="link" href="regex_match.html" title="regex_match"><code class="computeroutput"><span class="identifier">regex_match</span></code></a> or was returned from
a <a class="link" href="regex_iterator.html" title="regex_iterator"><code class="computeroutput"><span class="identifier">regex_iterator</span></code></a>,
and that the underlying iterators have not been subsequently invalidated.
Will raise a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">logic_error</span></code> if the match_results object
was not initialized.
</p>
<p> <p>
<span class="bold"><strong>Effects</strong></span>: If <code class="computeroutput"><span class="identifier">fmt</span></code> <span class="bold"><strong>Effects</strong></span>: If <code class="computeroutput"><span class="identifier">fmt</span></code>
is either a null-terminated string, or a container of <code class="computeroutput"><span class="identifier">char_type</span></code>'s, is either a null-terminated string, or a container of <code class="computeroutput"><span class="identifier">char_type</span></code>'s,
@ -778,14 +716,6 @@
</p> </p>
<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">capture_sequence_type</span><span class="special">&amp;</span> <span class="identifier">captures</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">i</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span> <pre class="programlisting"><span class="keyword">const</span> <span class="identifier">capture_sequence_type</span><span class="special">&amp;</span> <span class="identifier">captures</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">i</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
</pre> </pre>
<p>
<span class="bold"><strong>Requires</strong></span>: that the match_results object
has been initialized as a result of a successful call to <a class="link" href="regex_search.html" title="regex_search"><code class="computeroutput"><span class="identifier">regex_search</span></code></a> or <a class="link" href="regex_match.html" title="regex_match"><code class="computeroutput"><span class="identifier">regex_match</span></code></a> or was returned from
a <a class="link" href="regex_iterator.html" title="regex_iterator"><code class="computeroutput"><span class="identifier">regex_iterator</span></code></a>,
and that the underlying iterators have not been subsequently invalidated.
Will raise a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">logic_error</span></code> if the match_results object
was not initialized.
</p>
<p> <p>
<span class="bold"><strong>Effects</strong></span>: returns a sequence containing all <span class="bold"><strong>Effects</strong></span>: returns a sequence containing all
the captures obtained for sub-expression i. the captures obtained for sub-expression i.

View File

@ -43,7 +43,7 @@
on to the "real" algorithm. on to the "real" algorithm.
</p> </p>
<a name="boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_match"></a><h5> <a name="boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_match"></a><h5>
<a name="id788624"></a> <a name="id755068"></a>
<a class="link" href="unicode_algo.html#boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_match">u32regex_match</a> <a class="link" href="unicode_algo.html#boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_match">u32regex_match</a>
</h5> </h5>
<p> <p>
@ -89,7 +89,7 @@
<span class="special">}</span> <span class="special">}</span>
</pre> </pre>
<a name="boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_search"></a><h5> <a name="boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_search"></a><h5>
<a name="id789139"></a> <a name="id755583"></a>
<a class="link" href="unicode_algo.html#boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_search">u32regex_search</a> <a class="link" href="unicode_algo.html#boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_search">u32regex_search</a>
</h5> </h5>
<p> <p>
@ -128,7 +128,7 @@
<span class="special">}</span> <span class="special">}</span>
</pre> </pre>
<a name="boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_replace"></a><h5> <a name="boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_replace"></a><h5>
<a name="id789558"></a> <a name="id756002"></a>
<a class="link" href="unicode_algo.html#boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_replace">u32regex_replace</a> <a class="link" href="unicode_algo.html#boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_replace">u32regex_replace</a>
</h5> </h5>
<p> <p>

View File

@ -28,7 +28,7 @@
Unicode Aware Regex Iterators</a> Unicode Aware Regex Iterators</a>
</h5></div></div></div> </h5></div></div></div>
<a name="boost_regex.ref.non_std_strings.icu.unicode_iter.u32regex_iterator"></a><h5> <a name="boost_regex.ref.non_std_strings.icu.unicode_iter.u32regex_iterator"></a><h5>
<a name="id789876"></a> <a name="id756320"></a>
<a class="link" href="unicode_iter.html#boost_regex.ref.non_std_strings.icu.unicode_iter.u32regex_iterator">u32regex_iterator</a> <a class="link" href="unicode_iter.html#boost_regex.ref.non_std_strings.icu.unicode_iter.u32regex_iterator">u32regex_iterator</a>
</h5> </h5>
<p> <p>
@ -126,7 +126,7 @@
Provided of course that the input is encoded as UTF-8. Provided of course that the input is encoded as UTF-8.
</p> </p>
<a name="boost_regex.ref.non_std_strings.icu.unicode_iter.u32regex_token_iterator"></a><h5> <a name="boost_regex.ref.non_std_strings.icu.unicode_iter.u32regex_token_iterator"></a><h5>
<a name="id791452"></a> <a name="id757620"></a>
<a class="link" href="unicode_iter.html#boost_regex.ref.non_std_strings.icu.unicode_iter.u32regex_token_iterator">u32regex_token_iterator</a> <a class="link" href="unicode_iter.html#boost_regex.ref.non_std_strings.icu.unicode_iter.u32regex_token_iterator">u32regex_token_iterator</a>
</h5> </h5>
<p> <p>

View File

@ -34,7 +34,7 @@
here they are anyway: here they are anyway:
</p> </p>
<a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_match"></a><h5> <a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_match"></a><h5>
<a name="id797849"></a> <a name="id763019"></a>
<a class="link" href="mfc_algo.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_match">regex_match</a> <a class="link" href="mfc_algo.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_match">regex_match</a>
</h5> </h5>
<p> <p>
@ -82,7 +82,7 @@
<span class="special">}</span> <span class="special">}</span>
</pre> </pre>
<a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_match__second_overload_"></a><h5> <a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_match__second_overload_"></a><h5>
<a name="id798507"></a> <a name="id763677"></a>
<a class="link" href="mfc_algo.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_match__second_overload_">regex_match <a class="link" href="mfc_algo.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_match__second_overload_">regex_match
(second overload)</a> (second overload)</a>
</h5> </h5>
@ -110,7 +110,7 @@
<span class="special">}</span> <span class="special">}</span>
</pre> </pre>
<a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_search"></a><h5> <a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_search"></a><h5>
<a name="id798937"></a> <a name="id764107"></a>
<a class="link" href="mfc_algo.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_search">regex_search</a> <a class="link" href="mfc_algo.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_search">regex_search</a>
</h5> </h5>
<p> <p>
@ -149,7 +149,7 @@
<span class="special">}</span> <span class="special">}</span>
</pre> </pre>
<a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_search__second_overload_"></a><h5> <a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_search__second_overload_"></a><h5>
<a name="id799473"></a> <a name="id764643"></a>
<a class="link" href="mfc_algo.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_search__second_overload_">regex_search <a class="link" href="mfc_algo.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_search__second_overload_">regex_search
(second overload)</a> (second overload)</a>
</h5> </h5>
@ -164,7 +164,7 @@
<span class="special">+</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">GetLength</span><span class="special">(),</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span></code> <span class="special">+</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">GetLength</span><span class="special">(),</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span></code>
</p> </p>
<a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_replace"></a><h5> <a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_replace"></a><h5>
<a name="id800856"></a> <a name="id764933"></a>
<a class="link" href="mfc_algo.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_replace">regex_replace</a> <a class="link" href="mfc_algo.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_replace">regex_replace</a>
</h5> </h5>
<p> <p>

View File

@ -32,7 +32,7 @@
an MFC/ATL string to a <a class="link" href="../../regex_iterator.html" title="regex_iterator"><code class="computeroutput"><span class="identifier">regex_iterator</span></code></a> or <a class="link" href="../../regex_token_iterator.html" title="regex_token_iterator"><code class="computeroutput"><span class="identifier">regex_token_iterator</span></code></a>: an MFC/ATL string to a <a class="link" href="../../regex_iterator.html" title="regex_iterator"><code class="computeroutput"><span class="identifier">regex_iterator</span></code></a> or <a class="link" href="../../regex_token_iterator.html" title="regex_token_iterator"><code class="computeroutput"><span class="identifier">regex_token_iterator</span></code></a>:
</p> </p>
<a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_iter.regex_iterator_creation_helper"></a><h5> <a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_iter.regex_iterator_creation_helper"></a><h5>
<a name="id801626"></a> <a name="id766267"></a>
<a class="link" href="mfc_iter.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_iter.regex_iterator_creation_helper">regex_iterator <a class="link" href="mfc_iter.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_iter.regex_iterator_creation_helper">regex_iterator
creation helper</a> creation helper</a>
</h5> </h5>
@ -68,7 +68,7 @@
<span class="special">}</span> <span class="special">}</span>
</pre> </pre>
<a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_iter.regex_token_iterator_creation_helpers"></a><h5> <a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_iter.regex_token_iterator_creation_helpers"></a><h5>
<a name="id802175"></a> <a name="id766816"></a>
<a class="link" href="mfc_iter.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_iter.regex_token_iterator_creation_helpers">regex_token_iterator <a class="link" href="mfc_iter.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_iter.regex_token_iterator_creation_helpers">regex_token_iterator
creation helpers</a> creation helpers</a>
</h5> </h5>

View File

@ -165,7 +165,7 @@
<a name="regcomp"></a><p> <a name="regcomp"></a><p>
</p> </p>
<a name="boost_regex.ref.posix.regcomp"></a><h5> <a name="boost_regex.ref.posix.regcomp"></a><h5>
<a name="id804314"></a> <a name="id770047"></a>
<a class="link" href="posix.html#boost_regex.ref.posix.regcomp">regcomp</a> <a class="link" href="posix.html#boost_regex.ref.posix.regcomp">regcomp</a>
</h5> </h5>
<p> <p>
@ -379,7 +379,7 @@
<a name="regerror"></a><p> <a name="regerror"></a><p>
</p> </p>
<a name="boost_regex.ref.posix.regerror"></a><h5> <a name="boost_regex.ref.posix.regerror"></a><h5>
<a name="id804819"></a> <a name="id770552"></a>
<a class="link" href="posix.html#boost_regex.ref.posix.regerror">regerror</a> <a class="link" href="posix.html#boost_regex.ref.posix.regerror">regerror</a>
</h5> </h5>
<p> <p>
@ -467,7 +467,7 @@
<a name="regexec"></a><p> <a name="regexec"></a><p>
</p> </p>
<a name="boost_regex.ref.posix.regexec"></a><h5> <a name="boost_regex.ref.posix.regexec"></a><h5>
<a name="id804947"></a> <a name="id770680"></a>
<a class="link" href="posix.html#boost_regex.ref.posix.regexec">regexec</a> <a class="link" href="posix.html#boost_regex.ref.posix.regexec">regexec</a>
</h5> </h5>
<p> <p>
@ -537,7 +537,7 @@
<a name="regfree"></a><p> <a name="regfree"></a><p>
</p> </p>
<a name="boost_regex.ref.posix.regfree"></a><h5> <a name="boost_regex.ref.posix.regfree"></a><h5>
<a name="id806185"></a> <a name="id770792"></a>
<a class="link" href="posix.html#boost_regex.ref.posix.regfree">regfree</a> <a class="link" href="posix.html#boost_regex.ref.posix.regfree">regfree</a>
</h5> </h5>
<p> <p>

View File

@ -78,7 +78,7 @@
<span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">match_flag_type</span> <span class="identifier">m</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">match_default</span><span class="special">);</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">match_flag_type</span> <span class="identifier">m</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">match_default</span><span class="special">);</span>
</pre> </pre>
<a name="boost_regex.ref.regex_iterator.description"></a><h5> <a name="boost_regex.ref.regex_iterator.description"></a><h5>
<a name="id762755"></a> <a name="id727441"></a>
<a class="link" href="regex_iterator.html#boost_regex.ref.regex_iterator.description">Description</a> <a class="link" href="regex_iterator.html#boost_regex.ref.regex_iterator.description">Description</a>
</h5> </h5>
<p> <p>
@ -436,7 +436,7 @@
<span class="emphasis"><em>m</em></span>. <span class="emphasis"><em>m</em></span>.
</p> </p>
<a name="boost_regex.ref.regex_iterator.examples"></a><h5> <a name="boost_regex.ref.regex_iterator.examples"></a><h5>
<a name="id766409"></a> <a name="id731095"></a>
<a class="link" href="regex_iterator.html#boost_regex.ref.regex_iterator.examples">Examples</a> <a class="link" href="regex_iterator.html#boost_regex.ref.regex_iterator.examples">Examples</a>
</h5> </h5>
<p> <p>

View File

@ -80,7 +80,7 @@
<span class="identifier">match_flag_type</span> <span class="identifier">flags</span> <span class="special">=</span> <span class="identifier">match_default</span><span class="special">);</span> <span class="identifier">match_flag_type</span> <span class="identifier">flags</span> <span class="special">=</span> <span class="identifier">match_default</span><span class="special">);</span>
</pre> </pre>
<a name="boost_regex.ref.regex_match.description"></a><h5> <a name="boost_regex.ref.regex_match.description"></a><h5>
<a name="id747144"></a> <a name="id710652"></a>
<a class="link" href="regex_match.html#boost_regex.ref.regex_match.description">Description</a> <a class="link" href="regex_match.html#boost_regex.ref.regex_match.description">Description</a>
</h5> </h5>
<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span> <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
@ -360,7 +360,7 @@
<span class="bold"><strong>Effects</strong></span>: Returns the result of <code class="computeroutput"><span class="identifier">regex_match</span><span class="special">(</span><span class="identifier">s</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">flags</span><span class="special">)</span></code>. <span class="bold"><strong>Effects</strong></span>: Returns the result of <code class="computeroutput"><span class="identifier">regex_match</span><span class="special">(</span><span class="identifier">s</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">flags</span><span class="special">)</span></code>.
</p> </p>
<a name="boost_regex.ref.regex_match.examples"></a><h5> <a name="boost_regex.ref.regex_match.examples"></a><h5>
<a name="id750606"></a> <a name="id714115"></a>
<a class="link" href="regex_match.html#boost_regex.ref.regex_match.examples">Examples</a> <a class="link" href="regex_match.html#boost_regex.ref.regex_match.examples">Examples</a>
</h5> </h5>
<p> <p>

View File

@ -53,7 +53,7 @@
<span class="identifier">match_flag_type</span> <span class="identifier">flags</span> <span class="special">=</span> <span class="identifier">match_default</span><span class="special">);</span> <span class="identifier">match_flag_type</span> <span class="identifier">flags</span> <span class="special">=</span> <span class="identifier">match_default</span><span class="special">);</span>
</pre> </pre>
<a name="boost_regex.ref.regex_replace.description"></a><h5> <a name="boost_regex.ref.regex_replace.description"></a><h5>
<a name="id757041"></a> <a name="id721642"></a>
<a class="link" href="regex_replace.html#boost_regex.ref.regex_replace.description">Description</a> <a class="link" href="regex_replace.html#boost_regex.ref.regex_replace.description">Description</a>
</h5> </h5>
<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span><span class="special">&gt;</span> <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span><span class="special">&gt;</span>
@ -199,7 +199,7 @@
and then returns <code class="computeroutput"><span class="identifier">result</span></code>. and then returns <code class="computeroutput"><span class="identifier">result</span></code>.
</p> </p>
<a name="boost_regex.ref.regex_replace.examples"></a><h5> <a name="boost_regex.ref.regex_replace.examples"></a><h5>
<a name="id759580"></a> <a name="id723094"></a>
<a class="link" href="regex_replace.html#boost_regex.ref.regex_replace.examples">Examples</a> <a class="link" href="regex_replace.html#boost_regex.ref.regex_replace.examples">Examples</a>
</h5> </h5>
<p> <p>

View File

@ -73,7 +73,7 @@
<span class="identifier">match_flag_type</span> <span class="identifier">flags</span> <span class="special">=</span> <span class="identifier">match_default</span><span class="special">);</span> <span class="identifier">match_flag_type</span> <span class="identifier">flags</span> <span class="special">=</span> <span class="identifier">match_default</span><span class="special">);</span>
</pre> </pre>
<a name="boost_regex.ref.regex_search.description"></a><h5> <a name="boost_regex.ref.regex_search.description"></a><h5>
<a name="id752230"></a> <a name="id715739"></a>
<a class="link" href="regex_search.html#boost_regex.ref.regex_search.description">Description</a> <a class="link" href="regex_search.html#boost_regex.ref.regex_search.description">Description</a>
</h5> </h5>
<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span> <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
@ -355,7 +355,7 @@
<span class="bold"><strong>Effects</strong></span>: Returns the result of <code class="computeroutput"><span class="identifier">regex_search</span><span class="special">(</span><span class="identifier">s</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">flags</span><span class="special">)</span></code>. <span class="bold"><strong>Effects</strong></span>: Returns the result of <code class="computeroutput"><span class="identifier">regex_search</span><span class="special">(</span><span class="identifier">s</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">flags</span><span class="special">)</span></code>.
</p> </p>
<a name="boost_regex.ref.regex_search.examples"></a><h5> <a name="boost_regex.ref.regex_search.examples"></a><h5>
<a name="id755755"></a> <a name="id718172"></a>
<a class="link" href="regex_search.html#boost_regex.ref.regex_search.examples">Examples</a> <a class="link" href="regex_search.html#boost_regex.ref.regex_search.examples">Examples</a>
</h5> </h5>
<p> <p>

View File

@ -136,7 +136,7 @@
<span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">match_flag_type</span> <span class="identifier">m</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">match_default</span><span class="special">);</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">match_flag_type</span> <span class="identifier">m</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">match_default</span><span class="special">);</span>
</pre> </pre>
<a name="boost_regex.ref.regex_token_iterator.description"></a><h5> <a name="boost_regex.ref.regex_token_iterator.description"></a><h5>
<a name="id772869"></a> <a name="id737538"></a>
<a class="link" href="regex_token_iterator.html#boost_regex.ref.regex_token_iterator.description">Description</a> <a class="link" href="regex_token_iterator.html#boost_regex.ref.regex_token_iterator.description">Description</a>
</h5> </h5>
<a name="boost_regex.regex_token_iterator.construct1"></a><p> <a name="boost_regex.regex_token_iterator.construct1"></a><p>
@ -383,7 +383,7 @@
<span class="emphasis"><em>m</em></span>. <span class="emphasis"><em>m</em></span>.
</p> </p>
<a name="boost_regex.ref.regex_token_iterator.examples"></a><h5> <a name="boost_regex.ref.regex_token_iterator.examples"></a><h5>
<a name="id775933"></a> <a name="id740597"></a>
<a class="link" href="regex_token_iterator.html#boost_regex.ref.regex_token_iterator.examples">Examples</a> <a class="link" href="regex_token_iterator.html#boost_regex.ref.regex_token_iterator.examples">Examples</a>
</h5> </h5>
<p> <p>

View File

@ -46,7 +46,7 @@
<span class="special">}</span> <span class="comment">// namespace boost <span class="special">}</span> <span class="comment">// namespace boost
</span></pre> </span></pre>
<a name="boost_regex.ref.regex_traits.description"></a><h5> <a name="boost_regex.ref.regex_traits.description"></a><h5>
<a name="id787337"></a> <a name="id752033"></a>
<a class="link" href="regex_traits.html#boost_regex.ref.regex_traits.description">Description</a> <a class="link" href="regex_traits.html#boost_regex.ref.regex_traits.description">Description</a>
</h5> </h5>
<p> <p>

View File

@ -329,11 +329,11 @@
<span class="special">}</span> <span class="comment">// namespace boost <span class="special">}</span> <span class="comment">// namespace boost
</span></pre> </span></pre>
<a name="boost_regex.ref.sub_match.description"></a><h5> <a name="boost_regex.ref.sub_match.description"></a><h5>
<a name="id731546"></a> <a name="id694508"></a>
<a class="link" href="sub_match.html#boost_regex.ref.sub_match.description">Description</a> <a class="link" href="sub_match.html#boost_regex.ref.sub_match.description">Description</a>
</h5> </h5>
<a name="boost_regex.ref.sub_match.members"></a><h6> <a name="boost_regex.ref.sub_match.members"></a><h6>
<a name="id731559"></a> <a name="id694521"></a>
<a class="link" href="sub_match.html#boost_regex.ref.sub_match.members">Members</a> <a class="link" href="sub_match.html#boost_regex.ref.sub_match.members">Members</a>
</h6> </h6>
<a name="boost_regex.sub_match.value_type"></a><p> <a name="boost_regex.sub_match.value_type"></a><p>
@ -473,7 +473,7 @@
</li> </li>
</ul></div> </ul></div>
<a name="boost_regex.ref.sub_match.sub_match_non_member_operators"></a><h6> <a name="boost_regex.ref.sub_match.sub_match_non_member_operators"></a><h6>
<a name="id732659"></a> <a name="id696168"></a>
<a class="link" href="sub_match.html#boost_regex.ref.sub_match.sub_match_non_member_operators">sub_match <a class="link" href="sub_match.html#boost_regex.ref.sub_match.sub_match_non_member_operators">sub_match
non-member operators</a> non-member operators</a>
</h6> </h6>
@ -1008,7 +1008,7 @@
<span class="special">+</span> <span class="identifier">m2</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>. <span class="special">+</span> <span class="identifier">m2</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>.
</p> </p>
<a name="boost_regex.ref.sub_match.stream_inserter"></a><h6> <a name="boost_regex.ref.sub_match.stream_inserter"></a><h6>
<a name="id745745"></a> <a name="id709254"></a>
<a class="link" href="sub_match.html#boost_regex.ref.sub_match.stream_inserter">Stream inserter</a> <a class="link" href="sub_match.html#boost_regex.ref.sub_match.stream_inserter">Stream inserter</a>
</h6> </h6>
<a name="boost_regex.sub_match.op_stream"></a><p> <a name="boost_regex.sub_match.op_stream"></a><p>

View File

@ -28,7 +28,7 @@
Expression Syntax</a> Expression Syntax</a>
</h3></div></div></div> </h3></div></div></div>
<a name="boost_regex.syntax.basic_extended.synopsis"></a><h4> <a name="boost_regex.syntax.basic_extended.synopsis"></a><h4>
<a name="id681924"></a> <a name="id646927"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.synopsis">Synopsis</a> <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.synopsis">Synopsis</a>
</h4> </h4>
<p> <p>
@ -46,7 +46,7 @@
<a name="boost_regex.posix_extended_syntax"></a><p> <a name="boost_regex.posix_extended_syntax"></a><p>
</p> </p>
<a name="boost_regex.syntax.basic_extended.posix_extended_syntax"></a><h4> <a name="boost_regex.syntax.basic_extended.posix_extended_syntax"></a><h4>
<a name="id682102"></a> <a name="id647106"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.posix_extended_syntax">POSIX <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.posix_extended_syntax">POSIX
Extended Syntax</a> Extended Syntax</a>
</h4> </h4>
@ -56,7 +56,7 @@
</p> </p>
<pre class="programlisting">.[{()\*+?|^$</pre> <pre class="programlisting">.[{()\*+?|^$</pre>
<a name="boost_regex.syntax.basic_extended.wildcard_"></a><h5> <a name="boost_regex.syntax.basic_extended.wildcard_"></a><h5>
<a name="id682124"></a> <a name="id647127"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.wildcard_">Wildcard:</a> <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.wildcard_">Wildcard:</a>
</h5> </h5>
<p> <p>
@ -74,7 +74,7 @@
</li> </li>
</ul></div> </ul></div>
<a name="boost_regex.syntax.basic_extended.anchors_"></a><h5> <a name="boost_regex.syntax.basic_extended.anchors_"></a><h5>
<a name="id682168"></a> <a name="id647172"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.anchors_">Anchors:</a> <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.anchors_">Anchors:</a>
</h5> </h5>
<p> <p>
@ -86,7 +86,7 @@
of an expression, or the last character of a sub-expression. of an expression, or the last character of a sub-expression.
</p> </p>
<a name="boost_regex.syntax.basic_extended.marked_sub_expressions_"></a><h5> <a name="boost_regex.syntax.basic_extended.marked_sub_expressions_"></a><h5>
<a name="id682191"></a> <a name="id647194"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.marked_sub_expressions_">Marked <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.marked_sub_expressions_">Marked
sub-expressions:</a> sub-expressions:</a>
</h5> </h5>
@ -98,7 +98,7 @@
to by a back-reference. to by a back-reference.
</p> </p>
<a name="boost_regex.syntax.basic_extended.repeats_"></a><h5> <a name="boost_regex.syntax.basic_extended.repeats_"></a><h5>
<a name="id682225"></a> <a name="id647228"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.repeats_">Repeats:</a> <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.repeats_">Repeats:</a>
</h5> </h5>
<p> <p>
@ -184,7 +184,7 @@ cab
operator to be applied to. operator to be applied to.
</p> </p>
<a name="boost_regex.syntax.basic_extended.back_references_"></a><h5> <a name="boost_regex.syntax.basic_extended.back_references_"></a><h5>
<a name="id682531"></a> <a name="id647534"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.back_references_">Back references:</a> <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.back_references_">Back references:</a>
</h5> </h5>
<p> <p>
@ -214,7 +214,7 @@ cab
</p></td></tr> </p></td></tr>
</table></div> </table></div>
<a name="boost_regex.syntax.basic_extended.alternation"></a><h5> <a name="boost_regex.syntax.basic_extended.alternation"></a><h5>
<a name="id682594"></a> <a name="id647598"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.alternation">Alternation</a> <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.alternation">Alternation</a>
</h5> </h5>
<p> <p>
@ -227,7 +227,7 @@ cab
will match either of "abd" or "abef". will match either of "abd" or "abef".
</p> </p>
<a name="boost_regex.syntax.basic_extended.character_sets_"></a><h5> <a name="boost_regex.syntax.basic_extended.character_sets_"></a><h5>
<a name="id682662"></a> <a name="id647665"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.character_sets_">Character <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.character_sets_">Character
sets:</a> sets:</a>
</h5> </h5>
@ -240,7 +240,7 @@ cab
A bracket expression may contain any combination of the following: A bracket expression may contain any combination of the following:
</p> </p>
<a name="boost_regex.syntax.basic_extended.single_characters_"></a><h6> <a name="boost_regex.syntax.basic_extended.single_characters_"></a><h6>
<a name="id682682"></a> <a name="id647685"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.single_characters_">Single <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.single_characters_">Single
characters:</a> characters:</a>
</h6> </h6>
@ -249,7 +249,7 @@ cab
or 'c'. or 'c'.
</p> </p>
<a name="boost_regex.syntax.basic_extended.character_ranges_"></a><h6> <a name="boost_regex.syntax.basic_extended.character_ranges_"></a><h6>
<a name="id682713"></a> <a name="id647716"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.character_ranges_">Character <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.character_ranges_">Character
ranges:</a> ranges:</a>
</h6> </h6>
@ -265,7 +265,7 @@ cab
the code points of the characters only. the code points of the characters only.
</p> </p>
<a name="boost_regex.syntax.basic_extended.negation_"></a><h6> <a name="boost_regex.syntax.basic_extended.negation_"></a><h6>
<a name="id682774"></a> <a name="id647778"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.negation_">Negation:</a> <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.negation_">Negation:</a>
</h6> </h6>
<p> <p>
@ -274,7 +274,7 @@ cab
range <code class="computeroutput"><span class="identifier">a</span><span class="special">-</span><span class="identifier">c</span></code>. range <code class="computeroutput"><span class="identifier">a</span><span class="special">-</span><span class="identifier">c</span></code>.
</p> </p>
<a name="boost_regex.syntax.basic_extended.character_classes_"></a><h6> <a name="boost_regex.syntax.basic_extended.character_classes_"></a><h6>
<a name="id682828"></a> <a name="id647832"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.character_classes_">Character <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.character_classes_">Character
classes:</a> classes:</a>
</h6> </h6>
@ -284,7 +284,7 @@ cab
<a class="link" href="character_classes.html" title="Character Class Names">character class names</a>. <a class="link" href="character_classes.html" title="Character Class Names">character class names</a>.
</p> </p>
<a name="boost_regex.syntax.basic_extended.collating_elements_"></a><h6> <a name="boost_regex.syntax.basic_extended.collating_elements_"></a><h6>
<a name="id682880"></a> <a name="id647883"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.collating_elements_">Collating <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.collating_elements_">Collating
Elements:</a> Elements:</a>
</h6> </h6>
@ -312,7 +312,7 @@ cab
matches a NUL character. matches a NUL character.
</p> </p>
<a name="boost_regex.syntax.basic_extended.equivalence_classes_"></a><h6> <a name="boost_regex.syntax.basic_extended.equivalence_classes_"></a><h6>
<a name="id682982"></a> <a name="id647985"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.equivalence_classes_">Equivalence <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.equivalence_classes_">Equivalence
classes:</a> classes:</a>
</h6> </h6>
@ -329,7 +329,7 @@ cab
or even all locales on one platform. or even all locales on one platform.
</p> </p>
<a name="boost_regex.syntax.basic_extended.combinations_"></a><h6> <a name="boost_regex.syntax.basic_extended.combinations_"></a><h6>
<a name="id683040"></a> <a name="id648043"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.combinations_">Combinations:</a> <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.combinations_">Combinations:</a>
</h6> </h6>
<p> <p>
@ -337,7 +337,7 @@ cab
<code class="computeroutput"><span class="special">[[:</span><span class="identifier">digit</span><span class="special">:]</span><span class="identifier">a</span><span class="special">-</span><span class="identifier">c</span><span class="special">[.</span><span class="identifier">NUL</span><span class="special">.]]</span></code>. <code class="computeroutput"><span class="special">[[:</span><span class="identifier">digit</span><span class="special">:]</span><span class="identifier">a</span><span class="special">-</span><span class="identifier">c</span><span class="special">[.</span><span class="identifier">NUL</span><span class="special">.]]</span></code>.
</p> </p>
<a name="boost_regex.syntax.basic_extended.escapes"></a><h5> <a name="boost_regex.syntax.basic_extended.escapes"></a><h5>
<a name="id683092"></a> <a name="id648096"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.escapes">Escapes</a> <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.escapes">Escapes</a>
</h5> </h5>
<p> <p>
@ -363,7 +363,7 @@ cab
extensions are also supported by Boost.Regex: extensions are also supported by Boost.Regex:
</p> </p>
<a name="boost_regex.syntax.basic_extended.escapes_matching_a_specific_character"></a><h6> <a name="boost_regex.syntax.basic_extended.escapes_matching_a_specific_character"></a><h6>
<a name="id683362"></a> <a name="id648219"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.escapes_matching_a_specific_character">Escapes <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.escapes_matching_a_specific_character">Escapes
matching a specific character</a> matching a specific character</a>
</h6> </h6>
@ -552,7 +552,7 @@ cab
</tbody> </tbody>
</table></div> </table></div>
<a name="boost_regex.syntax.basic_extended._quot_single_character_quot__character_classes_"></a><h6> <a name="boost_regex.syntax.basic_extended._quot_single_character_quot__character_classes_"></a><h6>
<a name="id683652"></a> <a name="id648510"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended._quot_single_character_quot__character_classes_">"Single <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended._quot_single_character_quot__character_classes_">"Single
character" character classes:</a> character" character classes:</a>
</h6> </h6>
@ -706,7 +706,7 @@ cab
</tbody> </tbody>
</table></div> </table></div>
<a name="boost_regex.syntax.basic_extended.character_properties"></a><h6> <a name="boost_regex.syntax.basic_extended.character_properties"></a><h6>
<a name="id684141"></a> <a name="id648998"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.character_properties">Character <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.character_properties">Character
Properties</a> Properties</a>
</h6> </h6>
@ -813,7 +813,7 @@ cab
matches any "digit" character, as does <code class="computeroutput"><span class="special">\</span><span class="identifier">p</span><span class="special">{</span><span class="identifier">digit</span><span class="special">}</span></code>. matches any "digit" character, as does <code class="computeroutput"><span class="special">\</span><span class="identifier">p</span><span class="special">{</span><span class="identifier">digit</span><span class="special">}</span></code>.
</p> </p>
<a name="boost_regex.syntax.basic_extended.word_boundaries"></a><h6> <a name="boost_regex.syntax.basic_extended.word_boundaries"></a><h6>
<a name="id684448"></a> <a name="id649305"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.word_boundaries">Word Boundaries</a> <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.word_boundaries">Word Boundaries</a>
</h6> </h6>
<p> <p>
@ -888,7 +888,7 @@ cab
</tbody> </tbody>
</table></div> </table></div>
<a name="boost_regex.syntax.basic_extended.buffer_boundaries"></a><h6> <a name="boost_regex.syntax.basic_extended.buffer_boundaries"></a><h6>
<a name="id684604"></a> <a name="id649461"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.buffer_boundaries">Buffer <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.buffer_boundaries">Buffer
boundaries</a> boundaries</a>
</h6> </h6>
@ -979,7 +979,7 @@ cab
</tbody> </tbody>
</table></div> </table></div>
<a name="boost_regex.syntax.basic_extended.continuation_escape"></a><h6> <a name="boost_regex.syntax.basic_extended.continuation_escape"></a><h6>
<a name="id684789"></a> <a name="id649646"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.continuation_escape">Continuation <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.continuation_escape">Continuation
Escape</a> Escape</a>
</h6> </h6>
@ -991,7 +991,7 @@ cab
match to start where the last one ended. match to start where the last one ended.
</p> </p>
<a name="boost_regex.syntax.basic_extended.quoting_escape"></a><h6> <a name="boost_regex.syntax.basic_extended.quoting_escape"></a><h6>
<a name="id684816"></a> <a name="id649674"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.quoting_escape">Quoting <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.quoting_escape">Quoting
escape</a> escape</a>
</h6> </h6>
@ -1005,7 +1005,7 @@ cab
<span class="special">\*+</span><span class="identifier">aaa</span> <span class="special">\*+</span><span class="identifier">aaa</span>
</pre> </pre>
<a name="boost_regex.syntax.basic_extended.unicode_escapes"></a><h6> <a name="boost_regex.syntax.basic_extended.unicode_escapes"></a><h6>
<a name="id684897"></a> <a name="id649754"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.unicode_escapes">Unicode <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.unicode_escapes">Unicode
escapes</a> escapes</a>
</h6> </h6>
@ -1056,7 +1056,7 @@ cab
</tbody> </tbody>
</table></div> </table></div>
<a name="boost_regex.syntax.basic_extended.any_other_escape"></a><h6> <a name="boost_regex.syntax.basic_extended.any_other_escape"></a><h6>
<a name="id684999"></a> <a name="id649856"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.any_other_escape">Any other <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.any_other_escape">Any other
escape</a> escape</a>
</h6> </h6>
@ -1065,7 +1065,7 @@ cab
\@ matches a literal '@'. \@ matches a literal '@'.
</p> </p>
<a name="boost_regex.syntax.basic_extended.operator_precedence"></a><h5> <a name="boost_regex.syntax.basic_extended.operator_precedence"></a><h5>
<a name="id685015"></a> <a name="id649873"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.operator_precedence">Operator <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.operator_precedence">Operator
precedence</a> precedence</a>
</h5> </h5>
@ -1101,7 +1101,7 @@ cab
</li> </li>
</ol></div> </ol></div>
<a name="boost_regex.syntax.basic_extended.what_gets_matched"></a><h5> <a name="boost_regex.syntax.basic_extended.what_gets_matched"></a><h5>
<a name="id685149"></a> <a name="id650006"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.what_gets_matched">What <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.what_gets_matched">What
Gets Matched</a> Gets Matched</a>
</h5> </h5>
@ -1111,11 +1111,11 @@ cab
rule</a>. rule</a>.
</p> </p>
<a name="boost_regex.syntax.basic_extended.variations"></a><h4> <a name="boost_regex.syntax.basic_extended.variations"></a><h4>
<a name="id685170"></a> <a name="id650028"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.variations">Variations</a> <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.variations">Variations</a>
</h4> </h4>
<a name="boost_regex.syntax.basic_extended.egrep"></a><h5> <a name="boost_regex.syntax.basic_extended.egrep"></a><h5>
<a name="id685183"></a> <a name="id650041"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.egrep">Egrep</a> <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.egrep">Egrep</a>
</h5> </h5>
<p> <p>
@ -1136,7 +1136,7 @@ cab
used with the -E option. used with the -E option.
</p> </p>
<a name="boost_regex.syntax.basic_extended.awk"></a><h5> <a name="boost_regex.syntax.basic_extended.awk"></a><h5>
<a name="id685285"></a> <a name="id650143"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.awk">awk</a> <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.awk">awk</a>
</h5> </h5>
<p> <p>
@ -1150,7 +1150,7 @@ cab
these by default anyway. these by default anyway.
</p> </p>
<a name="boost_regex.syntax.basic_extended.options"></a><h4> <a name="boost_regex.syntax.basic_extended.options"></a><h4>
<a name="id685311"></a> <a name="id650168"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.options">Options</a> <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.options">Options</a>
</h4> </h4>
<p> <p>
@ -1163,7 +1163,7 @@ cab
modify how the case and locale sensitivity are to be applied. modify how the case and locale sensitivity are to be applied.
</p> </p>
<a name="boost_regex.syntax.basic_extended.references"></a><h4> <a name="boost_regex.syntax.basic_extended.references"></a><h4>
<a name="id685389"></a> <a name="id650246"></a>
<a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.references">References</a> <a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.references">References</a>
</h4> </h4>
<p> <p>

View File

@ -28,7 +28,7 @@
Expression Syntax</a> Expression Syntax</a>
</h3></div></div></div> </h3></div></div></div>
<a name="boost_regex.syntax.basic_syntax.synopsis"></a><h4> <a name="boost_regex.syntax.basic_syntax.synopsis"></a><h4>
<a name="id685438"></a> <a name="id650295"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.synopsis">Synopsis</a> <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.synopsis">Synopsis</a>
</h4> </h4>
<p> <p>
@ -45,7 +45,7 @@
<a name="boost_regex.posix_basic"></a><p> <a name="boost_regex.posix_basic"></a><p>
</p> </p>
<a name="boost_regex.syntax.basic_syntax.posix_basic_syntax"></a><h4> <a name="boost_regex.syntax.basic_syntax.posix_basic_syntax"></a><h4>
<a name="id686183"></a> <a name="id652403"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.posix_basic_syntax">POSIX <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.posix_basic_syntax">POSIX
Basic Syntax</a> Basic Syntax</a>
</h4> </h4>
@ -55,7 +55,7 @@
</p> </p>
<pre class="programlisting">.[\*^$</pre> <pre class="programlisting">.[\*^$</pre>
<a name="boost_regex.syntax.basic_syntax.wildcard_"></a><h5> <a name="boost_regex.syntax.basic_syntax.wildcard_"></a><h5>
<a name="id686205"></a> <a name="id652424"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.wildcard_">Wildcard:</a> <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.wildcard_">Wildcard:</a>
</h5> </h5>
<p> <p>
@ -73,7 +73,7 @@
</li> </li>
</ul></div> </ul></div>
<a name="boost_regex.syntax.basic_syntax.anchors_"></a><h5> <a name="boost_regex.syntax.basic_syntax.anchors_"></a><h5>
<a name="id686249"></a> <a name="id652469"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.anchors_">Anchors:</a> <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.anchors_">Anchors:</a>
</h5> </h5>
<p> <p>
@ -85,7 +85,7 @@
of an expression, or the last character of a sub-expression. of an expression, or the last character of a sub-expression.
</p> </p>
<a name="boost_regex.syntax.basic_syntax.marked_sub_expressions_"></a><h5> <a name="boost_regex.syntax.basic_syntax.marked_sub_expressions_"></a><h5>
<a name="id686270"></a> <a name="id652489"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.marked_sub_expressions_">Marked <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.marked_sub_expressions_">Marked
sub-expressions:</a> sub-expressions:</a>
</h5> </h5>
@ -97,7 +97,7 @@
by a back-reference. by a back-reference.
</p> </p>
<a name="boost_regex.syntax.basic_syntax.repeats_"></a><h5> <a name="boost_regex.syntax.basic_syntax.repeats_"></a><h5>
<a name="id686301"></a> <a name="id652520"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.repeats_">Repeats:</a> <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.repeats_">Repeats:</a>
</h5> </h5>
<p> <p>
@ -155,7 +155,7 @@ aaaa
to. to.
</p> </p>
<a name="boost_regex.syntax.basic_syntax.back_references_"></a><h5> <a name="boost_regex.syntax.basic_syntax.back_references_"></a><h5>
<a name="id686465"></a> <a name="id652685"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.back_references_">Back references:</a> <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.back_references_">Back references:</a>
</h5> </h5>
<p> <p>
@ -173,7 +173,7 @@ aaaa
</p> </p>
<pre class="programlisting">aaabba</pre> <pre class="programlisting">aaabba</pre>
<a name="boost_regex.syntax.basic_syntax.character_sets_"></a><h5> <a name="boost_regex.syntax.basic_syntax.character_sets_"></a><h5>
<a name="id686515"></a> <a name="id652734"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.character_sets_">Character <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.character_sets_">Character
sets:</a> sets:</a>
</h5> </h5>
@ -186,7 +186,7 @@ aaaa
A bracket expression may contain any combination of the following: A bracket expression may contain any combination of the following:
</p> </p>
<a name="boost_regex.syntax.basic_syntax.single_characters_"></a><h6> <a name="boost_regex.syntax.basic_syntax.single_characters_"></a><h6>
<a name="id686535"></a> <a name="id652754"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.single_characters_">Single <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.single_characters_">Single
characters:</a> characters:</a>
</h6> </h6>
@ -195,7 +195,7 @@ aaaa
or 'c'. or 'c'.
</p> </p>
<a name="boost_regex.syntax.basic_syntax.character_ranges_"></a><h6> <a name="boost_regex.syntax.basic_syntax.character_ranges_"></a><h6>
<a name="id686566"></a> <a name="id652786"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.character_ranges_">Character <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.character_ranges_">Character
ranges:</a> ranges:</a>
</h6> </h6>
@ -211,7 +211,7 @@ aaaa
of the characters only. of the characters only.
</p> </p>
<a name="boost_regex.syntax.basic_syntax.negation_"></a><h6> <a name="boost_regex.syntax.basic_syntax.negation_"></a><h6>
<a name="id686623"></a> <a name="id652842"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.negation_">Negation:</a> <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.negation_">Negation:</a>
</h6> </h6>
<p> <p>
@ -220,7 +220,7 @@ aaaa
range a-c. range a-c.
</p> </p>
<a name="boost_regex.syntax.basic_syntax.character_classes_"></a><h6> <a name="boost_regex.syntax.basic_syntax.character_classes_"></a><h6>
<a name="id686661"></a> <a name="id652880"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.character_classes_">Character <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.character_classes_">Character
classes:</a> classes:</a>
</h6> </h6>
@ -230,7 +230,7 @@ aaaa
<a class="link" href="character_classes.html" title="Character Class Names">character class names</a>. <a class="link" href="character_classes.html" title="Character Class Names">character class names</a>.
</p> </p>
<a name="boost_regex.syntax.basic_syntax.collating_elements_"></a><h6> <a name="boost_regex.syntax.basic_syntax.collating_elements_"></a><h6>
<a name="id686713"></a> <a name="id652932"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.collating_elements_">Collating <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.collating_elements_">Collating
Elements:</a> Elements:</a>
</h6> </h6>
@ -259,7 +259,7 @@ aaaa
element names</a>. element names</a>.
</p> </p>
<a name="boost_regex.syntax.basic_syntax.equivalence_classes_"></a><h6> <a name="boost_regex.syntax.basic_syntax.equivalence_classes_"></a><h6>
<a name="id686804"></a> <a name="id653023"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.equivalence_classes_">Equivalence <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.equivalence_classes_">Equivalence
classes:</a> classes:</a>
</h6> </h6>
@ -276,7 +276,7 @@ aaaa
or even all locales on one platform. or even all locales on one platform.
</p> </p>
<a name="boost_regex.syntax.basic_syntax.combinations_"></a><h6> <a name="boost_regex.syntax.basic_syntax.combinations_"></a><h6>
<a name="id686861"></a> <a name="id653081"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.combinations_">Combinations:</a> <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.combinations_">Combinations:</a>
</h6> </h6>
<p> <p>
@ -284,7 +284,7 @@ aaaa
<code class="computeroutput"><span class="special">[[:</span><span class="identifier">digit</span><span class="special">:]</span><span class="identifier">a</span><span class="special">-</span><span class="identifier">c</span><span class="special">[.</span><span class="identifier">NUL</span><span class="special">.]].</span></code> <code class="computeroutput"><span class="special">[[:</span><span class="identifier">digit</span><span class="special">:]</span><span class="identifier">a</span><span class="special">-</span><span class="identifier">c</span><span class="special">[.</span><span class="identifier">NUL</span><span class="special">.]].</span></code>
</p> </p>
<a name="boost_regex.syntax.basic_syntax.escapes"></a><h5> <a name="boost_regex.syntax.basic_syntax.escapes"></a><h5>
<a name="id686914"></a> <a name="id653134"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.escapes">Escapes</a> <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.escapes">Escapes</a>
</h5> </h5>
<p> <p>
@ -299,7 +299,7 @@ aaaa
will match either a literal '\' or a '^'. will match either a literal '\' or a '^'.
</p> </p>
<a name="boost_regex.syntax.basic_syntax.what_gets_matched"></a><h4> <a name="boost_regex.syntax.basic_syntax.what_gets_matched"></a><h4>
<a name="id686948"></a> <a name="id653167"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.what_gets_matched">What Gets <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.what_gets_matched">What Gets
Matched</a> Matched</a>
</h4> </h4>
@ -309,13 +309,13 @@ aaaa
rule</a>. rule</a>.
</p> </p>
<a name="boost_regex.syntax.basic_syntax.variations"></a><h4> <a name="boost_regex.syntax.basic_syntax.variations"></a><h4>
<a name="id686969"></a> <a name="id653189"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.variations">Variations</a> <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.variations">Variations</a>
</h4> </h4>
<a name="boost_regex.grep_syntax"></a><p> <a name="boost_regex.grep_syntax"></a><p>
</p> </p>
<a name="boost_regex.syntax.basic_syntax.grep"></a><h5> <a name="boost_regex.syntax.basic_syntax.grep"></a><h5>
<a name="id686990"></a> <a name="id653209"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.grep">Grep</a> <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.grep">Grep</a>
</h5> </h5>
<p> <p>
@ -333,7 +333,7 @@ aaaa
As its name suggests, this behavior is consistent with the Unix utility grep. As its name suggests, this behavior is consistent with the Unix utility grep.
</p> </p>
<a name="boost_regex.syntax.basic_syntax.emacs"></a><h5> <a name="boost_regex.syntax.basic_syntax.emacs"></a><h5>
<a name="id687085"></a> <a name="id653304"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.emacs">emacs</a> <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.emacs">emacs</a>
</h5> </h5>
<p> <p>
@ -613,7 +613,7 @@ aaaa
leftmost-longest rule</a>. leftmost-longest rule</a>.
</p> </p>
<a name="boost_regex.syntax.basic_syntax.options"></a><h4> <a name="boost_regex.syntax.basic_syntax.options"></a><h4>
<a name="id687502"></a> <a name="id653722"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.options">Options</a> <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.options">Options</a>
</h4> </h4>
<p> <p>
@ -627,7 +627,7 @@ aaaa
options</a> modify how the case and locale sensitivity are to be applied. options</a> modify how the case and locale sensitivity are to be applied.
</p> </p>
<a name="boost_regex.syntax.basic_syntax.references"></a><h4> <a name="boost_regex.syntax.basic_syntax.references"></a><h4>
<a name="id687609"></a> <a name="id653828"></a>
<a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.references">References</a> <a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.references">References</a>
</h4> </h4>
<p> <p>

View File

@ -28,7 +28,7 @@
Syntax</a> Syntax</a>
</h3></div></div></div> </h3></div></div></div>
<a name="boost_regex.syntax.perl_syntax.synopsis"></a><h4> <a name="boost_regex.syntax.perl_syntax.synopsis"></a><h4>
<a name="id675915"></a> <a name="id640933"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.synopsis">Synopsis</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.synopsis">Synopsis</a>
</h4> </h4>
<p> <p>
@ -43,7 +43,7 @@
</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span> <span class="identifier">e2</span><span class="special">(</span><span class="identifier">my_expression</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span><span class="special">::</span><span class="identifier">perl</span><span class="special">|</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span><span class="special">::</span><span class="identifier">icase</span><span class="special">);</span> </span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span> <span class="identifier">e2</span><span class="special">(</span><span class="identifier">my_expression</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span><span class="special">::</span><span class="identifier">perl</span><span class="special">|</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span><span class="special">::</span><span class="identifier">icase</span><span class="special">);</span>
</pre> </pre>
<a name="boost_regex.syntax.perl_syntax.perl_regular_expression_syntax"></a><h4> <a name="boost_regex.syntax.perl_syntax.perl_regular_expression_syntax"></a><h4>
<a name="id676062"></a> <a name="id641081"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.perl_regular_expression_syntax">Perl <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.perl_regular_expression_syntax">Perl
Regular Expression Syntax</a> Regular Expression Syntax</a>
</h4> </h4>
@ -53,7 +53,7 @@
</p> </p>
<pre class="programlisting">.[{()\*+?|^$</pre> <pre class="programlisting">.[{()\*+?|^$</pre>
<a name="boost_regex.syntax.perl_syntax.wildcard"></a><h5> <a name="boost_regex.syntax.perl_syntax.wildcard"></a><h5>
<a name="id676086"></a> <a name="id641105"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.wildcard">Wildcard</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.wildcard">Wildcard</a>
</h5> </h5>
<p> <p>
@ -73,7 +73,7 @@
</li> </li>
</ul></div> </ul></div>
<a name="boost_regex.syntax.perl_syntax.anchors"></a><h5> <a name="boost_regex.syntax.perl_syntax.anchors"></a><h5>
<a name="id676133"></a> <a name="id641151"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.anchors">Anchors</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.anchors">Anchors</a>
</h5> </h5>
<p> <p>
@ -83,7 +83,7 @@
A '$' character shall match the end of a line. A '$' character shall match the end of a line.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.marked_sub_expressions"></a><h5> <a name="boost_regex.syntax.perl_syntax.marked_sub_expressions"></a><h5>
<a name="id676155"></a> <a name="id641173"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.marked_sub_expressions">Marked <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.marked_sub_expressions">Marked
sub-expressions</a> sub-expressions</a>
</h5> </h5>
@ -94,7 +94,7 @@
can also repeated, or referred to by a back-reference. can also repeated, or referred to by a back-reference.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.non_marking_grouping"></a><h5> <a name="boost_regex.syntax.perl_syntax.non_marking_grouping"></a><h5>
<a name="id676181"></a> <a name="id641199"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.non_marking_grouping">Non-marking <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.non_marking_grouping">Non-marking
grouping</a> grouping</a>
</h5> </h5>
@ -107,7 +107,7 @@
without splitting out any separate sub-expressions. without splitting out any separate sub-expressions.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.repeats"></a><h5> <a name="boost_regex.syntax.perl_syntax.repeats"></a><h5>
<a name="id676217"></a> <a name="id641235"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.repeats">Repeats</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.repeats">Repeats</a>
</h5> </h5>
<p> <p>
@ -188,7 +188,7 @@
to be applied to. to be applied to.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.non_greedy_repeats"></a><h5> <a name="boost_regex.syntax.perl_syntax.non_greedy_repeats"></a><h5>
<a name="id676453"></a> <a name="id641472"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.non_greedy_repeats">Non greedy <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.non_greedy_repeats">Non greedy
repeats</a> repeats</a>
</h5> </h5>
@ -218,7 +218,7 @@
while consuming as little input as possible. while consuming as little input as possible.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.pocessive_repeats"></a><h5> <a name="boost_regex.syntax.perl_syntax.pocessive_repeats"></a><h5>
<a name="id676512"></a> <a name="id641531"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.pocessive_repeats">Pocessive <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.pocessive_repeats">Pocessive
repeats</a> repeats</a>
</h5> </h5>
@ -250,7 +250,7 @@
while giving nothing back. while giving nothing back.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.back_references"></a><h5> <a name="boost_regex.syntax.perl_syntax.back_references"></a><h5>
<a name="id676571"></a> <a name="id641589"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.back_references">Back references</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.back_references">Back references</a>
</h5> </h5>
<p> <p>
@ -360,7 +360,7 @@
named "two". named "two".
</p> </p>
<a name="boost_regex.syntax.perl_syntax.alternation"></a><h5> <a name="boost_regex.syntax.perl_syntax.alternation"></a><h5>
<a name="id676791"></a> <a name="id641809"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.alternation">Alternation</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.alternation">Alternation</a>
</h5> </h5>
<p> <p>
@ -387,7 +387,7 @@
<code class="literal">(?:abc)??</code> has exactly the same effect. <code class="literal">(?:abc)??</code> has exactly the same effect.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.character_sets"></a><h5> <a name="boost_regex.syntax.perl_syntax.character_sets"></a><h5>
<a name="id677140"></a> <a name="id643312"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.character_sets">Character sets</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.character_sets">Character sets</a>
</h5> </h5>
<p> <p>
@ -399,7 +399,7 @@
A bracket expression may contain any combination of the following: A bracket expression may contain any combination of the following:
</p> </p>
<a name="boost_regex.syntax.perl_syntax.single_characters"></a><h6> <a name="boost_regex.syntax.perl_syntax.single_characters"></a><h6>
<a name="id677171"></a> <a name="id643343"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.single_characters">Single characters</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.single_characters">Single characters</a>
</h6> </h6>
<p> <p>
@ -407,7 +407,7 @@
'b', or 'c'. 'b', or 'c'.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.character_ranges"></a><h6> <a name="boost_regex.syntax.perl_syntax.character_ranges"></a><h6>
<a name="id677192"></a> <a name="id643364"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.character_ranges">Character <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.character_ranges">Character
ranges</a> ranges</a>
</h6> </h6>
@ -421,7 +421,7 @@
sensitive. sensitive.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.negation"></a><h6> <a name="boost_regex.syntax.perl_syntax.negation"></a><h6>
<a name="id677225"></a> <a name="id643397"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.negation">Negation</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.negation">Negation</a>
</h6> </h6>
<p> <p>
@ -430,7 +430,7 @@
matches any character that is not in the range <code class="literal">a-c</code>. matches any character that is not in the range <code class="literal">a-c</code>.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.character_classes"></a><h6> <a name="boost_regex.syntax.perl_syntax.character_classes"></a><h6>
<a name="id677252"></a> <a name="id643424"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.character_classes">Character <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.character_classes">Character
classes</a> classes</a>
</h6> </h6>
@ -441,7 +441,7 @@
class names</a>. class names</a>.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.collating_elements"></a><h6> <a name="boost_regex.syntax.perl_syntax.collating_elements"></a><h6>
<a name="id677285"></a> <a name="id643457"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.collating_elements">Collating <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.collating_elements">Collating
Elements</a> Elements</a>
</h6> </h6>
@ -463,7 +463,7 @@
matches a <code class="literal">\0</code> character. matches a <code class="literal">\0</code> character.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.equivalence_classes"></a><h6> <a name="boost_regex.syntax.perl_syntax.equivalence_classes"></a><h6>
<a name="id677347"></a> <a name="id643519"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.equivalence_classes">Equivalence <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.equivalence_classes">Equivalence
classes</a> classes</a>
</h6> </h6>
@ -480,7 +480,7 @@
or even all locales on one platform. or even all locales on one platform.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.escaped_characters"></a><h6> <a name="boost_regex.syntax.perl_syntax.escaped_characters"></a><h6>
<a name="id677395"></a> <a name="id643567"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.escaped_characters">Escaped <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.escaped_characters">Escaped
Characters</a> Characters</a>
</h6> </h6>
@ -492,7 +492,7 @@
is <span class="emphasis"><em>not</em></span> a "word" character. is <span class="emphasis"><em>not</em></span> a "word" character.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.combinations"></a><h6> <a name="boost_regex.syntax.perl_syntax.combinations"></a><h6>
<a name="id677464"></a> <a name="id643636"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.combinations">Combinations</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.combinations">Combinations</a>
</h6> </h6>
<p> <p>
@ -500,7 +500,7 @@
<code class="literal">[[:digit:]a-c[.NUL.]]</code>. <code class="literal">[[:digit:]a-c[.NUL.]]</code>.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.escapes"></a><h5> <a name="boost_regex.syntax.perl_syntax.escapes"></a><h5>
<a name="id677485"></a> <a name="id643657"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.escapes">Escapes</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.escapes">Escapes</a>
</h5> </h5>
<p> <p>
@ -692,7 +692,7 @@
</tbody> </tbody>
</table></div> </table></div>
<a name="boost_regex.syntax.perl_syntax._quot_single_character_quot__character_classes_"></a><h6> <a name="boost_regex.syntax.perl_syntax._quot_single_character_quot__character_classes_"></a><h6>
<a name="id677873"></a> <a name="id644045"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax._quot_single_character_quot__character_classes_">"Single <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax._quot_single_character_quot__character_classes_">"Single
character" character classes:</a> character" character classes:</a>
</h6> </h6>
@ -894,7 +894,7 @@
</tbody> </tbody>
</table></div> </table></div>
<a name="boost_regex.syntax.perl_syntax.character_properties"></a><h6> <a name="boost_regex.syntax.perl_syntax.character_properties"></a><h6>
<a name="id678473"></a> <a name="id644645"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.character_properties">Character <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.character_properties">Character
Properties</a> Properties</a>
</h6> </h6>
@ -1002,7 +1002,7 @@
as does <code class="literal">\p{digit}</code>. as does <code class="literal">\p{digit}</code>.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.word_boundaries"></a><h6> <a name="boost_regex.syntax.perl_syntax.word_boundaries"></a><h6>
<a name="id678762"></a> <a name="id644934"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.word_boundaries">Word Boundaries</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.word_boundaries">Word Boundaries</a>
</h6> </h6>
<p> <p>
@ -1021,7 +1021,7 @@
<code class="literal">\B</code> Matches only when not at a word boundary. <code class="literal">\B</code> Matches only when not at a word boundary.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.buffer_boundaries"></a><h6> <a name="boost_regex.syntax.perl_syntax.buffer_boundaries"></a><h6>
<a name="id678814"></a> <a name="id644986"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.buffer_boundaries">Buffer boundaries</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.buffer_boundaries">Buffer boundaries</a>
</h6> </h6>
<p> <p>
@ -1048,7 +1048,7 @@
<code class="literal">(?=\n?\z)</code>. <code class="literal">(?=\n?\z)</code>.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.continuation_escape"></a><h6> <a name="boost_regex.syntax.perl_syntax.continuation_escape"></a><h6>
<a name="id678871"></a> <a name="id645043"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.continuation_escape">Continuation <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.continuation_escape">Continuation
Escape</a> Escape</a>
</h6> </h6>
@ -1060,7 +1060,7 @@
one ended. one ended.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.quoting_escape"></a><h6> <a name="boost_regex.syntax.perl_syntax.quoting_escape"></a><h6>
<a name="id678893"></a> <a name="id645065"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.quoting_escape">Quoting escape</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.quoting_escape">Quoting escape</a>
</h6> </h6>
<p> <p>
@ -1073,7 +1073,7 @@
<span class="special">\*+</span><span class="identifier">aaa</span> <span class="special">\*+</span><span class="identifier">aaa</span>
</pre> </pre>
<a name="boost_regex.syntax.perl_syntax.unicode_escapes"></a><h6> <a name="boost_regex.syntax.perl_syntax.unicode_escapes"></a><h6>
<a name="id678940"></a> <a name="id645112"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.unicode_escapes">Unicode escapes</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.unicode_escapes">Unicode escapes</a>
</h6> </h6>
<p> <p>
@ -1083,7 +1083,7 @@
followed by a sequence of zero or more combining characters. followed by a sequence of zero or more combining characters.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.matching_line_endings"></a><h6> <a name="boost_regex.syntax.perl_syntax.matching_line_endings"></a><h6>
<a name="id678966"></a> <a name="id645138"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.matching_line_endings">Matching <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.matching_line_endings">Matching
Line Endings</a> Line Endings</a>
</h6> </h6>
@ -1092,7 +1092,7 @@
sequence, specifically it is identical to the expression <code class="literal">(?&gt;\x0D\x0A?|[\x0A-\x0C\x85\x{2028}\x{2029}])</code>. sequence, specifically it is identical to the expression <code class="literal">(?&gt;\x0D\x0A?|[\x0A-\x0C\x85\x{2028}\x{2029}])</code>.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.keeping_back_some_text"></a><h6> <a name="boost_regex.syntax.perl_syntax.keeping_back_some_text"></a><h6>
<a name="id678992"></a> <a name="id645164"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.keeping_back_some_text">Keeping <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.keeping_back_some_text">Keeping
back some text</a> back some text</a>
</h6> </h6>
@ -1107,7 +1107,7 @@
This can be used to simulate variable width lookbehind assertions. This can be used to simulate variable width lookbehind assertions.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.any_other_escape"></a><h6> <a name="boost_regex.syntax.perl_syntax.any_other_escape"></a><h6>
<a name="id679022"></a> <a name="id645194"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.any_other_escape">Any other <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.any_other_escape">Any other
escape</a> escape</a>
</h6> </h6>
@ -1116,7 +1116,7 @@
\@ matches a literal '@'. \@ matches a literal '@'.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.perl_extended_patterns"></a><h5> <a name="boost_regex.syntax.perl_syntax.perl_extended_patterns"></a><h5>
<a name="id679039"></a> <a name="id645211"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.perl_extended_patterns">Perl <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.perl_extended_patterns">Perl
Extended Patterns</a> Extended Patterns</a>
</h5> </h5>
@ -1125,7 +1125,7 @@
<code class="literal">(?</code>. <code class="literal">(?</code>.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.named_subexpressions"></a><h6> <a name="boost_regex.syntax.perl_syntax.named_subexpressions"></a><h6>
<a name="id679061"></a> <a name="id645233"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.named_subexpressions">Named <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.named_subexpressions">Named
Subexpressions</a> Subexpressions</a>
</h6> </h6>
@ -1147,14 +1147,14 @@
format string for search and replace operations, or in the <a class="link" href="../ref/match_results.html" title="match_results"><code class="computeroutput"><span class="identifier">match_results</span></code></a> member functions. format string for search and replace operations, or in the <a class="link" href="../ref/match_results.html" title="match_results"><code class="computeroutput"><span class="identifier">match_results</span></code></a> member functions.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.comments"></a><h6> <a name="boost_regex.syntax.perl_syntax.comments"></a><h6>
<a name="id679156"></a> <a name="id645328"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.comments">Comments</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.comments">Comments</a>
</h6> </h6>
<p> <p>
<code class="literal">(?# ... )</code> is treated as a comment, it's contents are ignored. <code class="literal">(?# ... )</code> is treated as a comment, it's contents are ignored.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.modifiers"></a><h6> <a name="boost_regex.syntax.perl_syntax.modifiers"></a><h6>
<a name="id679178"></a> <a name="id645350"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.modifiers">Modifiers</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.modifiers">Modifiers</a>
</h6> </h6>
<p> <p>
@ -1168,7 +1168,7 @@
pattern only. pattern only.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.non_marking_groups"></a><h6> <a name="boost_regex.syntax.perl_syntax.non_marking_groups"></a><h6>
<a name="id679213"></a> <a name="id645385"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.non_marking_groups">Non-marking <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.non_marking_groups">Non-marking
groups</a> groups</a>
</h6> </h6>
@ -1177,7 +1177,7 @@
an additional sub-expression. an additional sub-expression.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.branch_reset"></a><h6> <a name="boost_regex.syntax.perl_syntax.branch_reset"></a><h6>
<a name="id679235"></a> <a name="id645407"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.branch_reset">Branch reset</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.branch_reset">Branch reset</a>
</h6> </h6>
<p> <p>
@ -1199,7 +1199,7 @@
# 1 2 2 3 2 3 4 # 1 2 2 3 2 3 4
</pre> </pre>
<a name="boost_regex.syntax.perl_syntax.lookahead"></a><h6> <a name="boost_regex.syntax.perl_syntax.lookahead"></a><h6>
<a name="id679272"></a> <a name="id645444"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.lookahead">Lookahead</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.lookahead">Lookahead</a>
</h6> </h6>
<p> <p>
@ -1222,7 +1222,7 @@
could be used to validate the password. could be used to validate the password.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.lookbehind"></a><h6> <a name="boost_regex.syntax.perl_syntax.lookbehind"></a><h6>
<a name="id680994"></a> <a name="id645997"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.lookbehind">Lookbehind</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.lookbehind">Lookbehind</a>
</h6> </h6>
<p> <p>
@ -1236,7 +1236,7 @@
(pattern must be of fixed length). (pattern must be of fixed length).
</p> </p>
<a name="boost_regex.syntax.perl_syntax.independent_sub_expressions"></a><h6> <a name="boost_regex.syntax.perl_syntax.independent_sub_expressions"></a><h6>
<a name="id681026"></a> <a name="id646029"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.independent_sub_expressions">Independent <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.independent_sub_expressions">Independent
sub-expressions</a> sub-expressions</a>
</h6> </h6>
@ -1249,7 +1249,7 @@
no match is found at all. no match is found at all.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.recursive_expressions"></a><h6> <a name="boost_regex.syntax.perl_syntax.recursive_expressions"></a><h6>
<a name="id681057"></a> <a name="id646060"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.recursive_expressions">Recursive <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.recursive_expressions">Recursive
Expressions</a> Expressions</a>
</h6> </h6>
@ -1273,7 +1273,7 @@
to the next sub-expression to be declared. to the next sub-expression to be declared.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.conditional_expressions"></a><h6> <a name="boost_regex.syntax.perl_syntax.conditional_expressions"></a><h6>
<a name="id681154"></a> <a name="id646158"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.conditional_expressions">Conditional <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.conditional_expressions">Conditional
Expressions</a> Expressions</a>
</h6> </h6>
@ -1321,7 +1321,7 @@
</li> </li>
</ul></div> </ul></div>
<a name="boost_regex.syntax.perl_syntax.operator_precedence"></a><h5> <a name="boost_regex.syntax.perl_syntax.operator_precedence"></a><h5>
<a name="id681296"></a> <a name="id646299"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.operator_precedence">Operator <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.operator_precedence">Operator
precedence</a> precedence</a>
</h5> </h5>
@ -1356,7 +1356,7 @@
</li> </li>
</ol></div> </ol></div>
<a name="boost_regex.syntax.perl_syntax.what_gets_matched"></a><h4> <a name="boost_regex.syntax.perl_syntax.what_gets_matched"></a><h4>
<a name="id681386"></a> <a name="id646389"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.what_gets_matched">What gets <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.what_gets_matched">What gets
matched</a> matched</a>
</h4> </h4>
@ -1531,7 +1531,7 @@
</tbody> </tbody>
</table></div> </table></div>
<a name="boost_regex.syntax.perl_syntax.variations"></a><h4> <a name="boost_regex.syntax.perl_syntax.variations"></a><h4>
<a name="id681744"></a> <a name="id646747"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.variations">Variations</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.variations">Variations</a>
</h4> </h4>
<p> <p>
@ -1540,7 +1540,7 @@
and <code class="literal">JScript</code></a> are all synonyms for <code class="literal">perl</code>. and <code class="literal">JScript</code></a> are all synonyms for <code class="literal">perl</code>.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.options"></a><h4> <a name="boost_regex.syntax.perl_syntax.options"></a><h4>
<a name="id681790"></a> <a name="id646794"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.options">Options</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.options">Options</a>
</h4> </h4>
<p> <p>
@ -1552,7 +1552,7 @@
are to be applied. are to be applied.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.pattern_modifiers"></a><h4> <a name="boost_regex.syntax.perl_syntax.pattern_modifiers"></a><h4>
<a name="id681838"></a> <a name="id646842"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.pattern_modifiers">Pattern <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.pattern_modifiers">Pattern
Modifiers</a> Modifiers</a>
</h4> </h4>
@ -1564,7 +1564,7 @@
and <code class="literal">no_mod_s</code></a>. and <code class="literal">no_mod_s</code></a>.
</p> </p>
<a name="boost_regex.syntax.perl_syntax.references"></a><h4> <a name="boost_regex.syntax.perl_syntax.references"></a><h4>
<a name="id681891"></a> <a name="id646894"></a>
<a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.references">References</a> <a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.references">References</a>
</h4> </h4>
<p> <p>

View File

@ -30,7 +30,7 @@
There are two ways to use Boost.Regex with Unicode strings: There are two ways to use Boost.Regex with Unicode strings:
</p> </p>
<a name="boost_regex.unicode.rely_on_wchar_t"></a><h5> <a name="boost_regex.unicode.rely_on_wchar_t"></a><h5>
<a name="id670360"></a> <a name="id637086"></a>
<a class="link" href="unicode.html#boost_regex.unicode.rely_on_wchar_t">Rely on wchar_t</a> <a class="link" href="unicode.html#boost_regex.unicode.rely_on_wchar_t">Rely on wchar_t</a>
</h5> </h5>
<p> <p>
@ -56,7 +56,7 @@
</li> </li>
</ul></div> </ul></div>
<a name="boost_regex.unicode.use_a_unicode_aware_regular_expression_type_"></a><h5> <a name="boost_regex.unicode.use_a_unicode_aware_regular_expression_type_"></a><h5>
<a name="id672158"></a> <a name="id637205"></a>
<a class="link" href="unicode.html#boost_regex.unicode.use_a_unicode_aware_regular_expression_type_">Use <a class="link" href="unicode.html#boost_regex.unicode.use_a_unicode_aware_regular_expression_type_">Use
a Unicode Aware Regular Expression Type.</a> a Unicode Aware Regular Expression Type.</a>
</h5> </h5>

View File

@ -28,7 +28,7 @@
</h3></div></div></div> </h3></div></div></div>
<div><p class="copyright">Copyright &#169; 1998 -2007 John Maddock</p></div> <div><p class="copyright">Copyright &#169; 1998 -2007 John Maddock</p></div>
<div><div class="legalnotice"> <div><div class="legalnotice">
<a name="id660044"></a><p> <a name="id625153"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p> </p>
@ -196,7 +196,7 @@
</p> </p>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: May 15, 2010 at 09:09:46 GMT</small></p></td> <td align="left"><p><small>Last revised: March 17, 2010 at 16:59:52 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td> <td align="right"><div class="copyright-footer"></div></td>
</tr></table> </tr></table>
<hr> <hr>

View File

@ -221,17 +221,11 @@ stored in *this.
template <class charT, class Traits, class A> template <class charT, class Traits, class A>
difference_type length(const std::basic_string<charT, Traits, A>&)const; difference_type length(const std::basic_string<charT, Traits, A>&)const;
[*Requires]: that the match_results object has been initialized as a result of a
successful call to [regex_search] or [regex_match] or was returned from a [regex_iterator], and
that the underlying iterators have not been subsequently invalidated. Will raise a
`std::logic_error` if the match_results object was not initialized.
[*Effects]: Returns the length of sub-expression /sub/, that is to say: [*Effects]: Returns the length of sub-expression /sub/, that is to say:
`(*this)[sub].length()`. `(*this)[sub].length()`.
The overloads that accept a string refer to a named sub-expression /n/. The overloads that accept a string refer to a named sub-expression /n/.
In the event that there is no such named sub-expression then returns zero. In the event that there is no such named sub-expression then returns an empty string.
The template overloads of this function, allow the string and\/or character type The template overloads of this function, allow the string and\/or character type
to be different from the character type of the underlying sequence and\/or regular expression: to be different from the character type of the underlying sequence and\/or regular expression:
@ -250,17 +244,12 @@ Unicode character type.
template <class charT, class Traits, class A> template <class charT, class Traits, class A>
difference_type position(const std::basic_string<charT, Traits, A>&)const; difference_type position(const std::basic_string<charT, Traits, A>&)const;
[*Requires]: that the match_results object has been initialized as a result of a
successful call to [regex_search] or [regex_match] or was returned from a [regex_iterator], and
that the underlying iterators have not been subsequently invalidated. Will raise a
`std::logic_error` if the match_results object was not initialized.
[*Effects]: Returns the starting location of sub-expression /sub/, or -1 if /sub/ was [*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()` 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. will return the location of the partial match even though `(*this)[0].matched` is false.
The overloads that accept a string refer to a named sub-expression /n/. The overloads that accept a string refer to a named sub-expression /n/.
In the event that there is no such named sub-expression then returns -1. In the event that there is no such named sub-expression then returns an empty string.
The template overloads of this function, allow the string and\/or character type The template overloads of this function, allow the string and\/or character type
to be different from the character type of the underlying sequence and\/or regular expression: to be different from the character type of the underlying sequence and\/or regular expression:
@ -282,11 +271,6 @@ Unicode character type.
template <class charT, class Traits, class A> template <class charT, class Traits, class A>
string_type str(const std::basic_string<charT, Traits, A>& sub)const; string_type str(const std::basic_string<charT, Traits, A>& sub)const;
[*Requires]: that the match_results object has been initialized as a result of a
successful call to [regex_search] or [regex_match] or was returned from a [regex_iterator], and
that the underlying iterators have not been subsequently invalidated. Will raise a
`std::logic_error` if the match_results object was not initialized.
[*Effects]: Returns sub-expression /sub/ as a string: `string_type((*this)[sub])`. [*Effects]: Returns sub-expression /sub/ as a string: `string_type((*this)[sub])`.
The overloads that accept a string, return the string that matched the named sub-expression /n/. The overloads that accept a string, return the string that matched the named sub-expression /n/.
@ -312,11 +296,6 @@ Unicode character type.
template <class charT, class Traits, class A> template <class charT, class Traits, class A>
const_reference operator[](const std::basic_string<charT, Traits, A>& n) const; const_reference operator[](const std::basic_string<charT, Traits, A>& n) const;
[*Requires]: that the match_results object has been initialized as a result of a
successful call to [regex_search] or [regex_match] or was returned from a [regex_iterator], and
that the underlying iterators have not been subsequently invalidated. Will raise a
`std::logic_error` if the match_results object was not initialized.
[*Effects]: Returns a reference to the [sub_match] object representing the character [*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 sequence that matched marked sub-expression /n/. If `n == 0` then returns a
reference to a [sub_match] object representing the character sequence that reference to a [sub_match] object representing the character sequence that
@ -342,11 +321,6 @@ Unicode character type.
const_reference prefix()const; const_reference prefix()const;
[*Requires]: that the match_results object has been initialized as a result of a
successful call to [regex_search] or [regex_match] or was returned from a [regex_iterator], and
that the underlying iterators have not been subsequently invalidated. Will raise a
`std::logic_error` if the match_results object was not initialized.
[*Effects]: Returns a reference to the [sub_match] object representing the [*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 character sequence from the start of the string being matched or searched, to the
start of the match found. start of the match found.
@ -356,11 +330,6 @@ start of the match found.
const_reference suffix()const; const_reference suffix()const;
[*Requires]: that the match_results object has been initialized as a result of a
successful call to [regex_search] or [regex_match] or was returned from a [regex_iterator], and
that the underlying iterators have not been subsequently invalidated. Will raise a
`std::logic_error` if the match_results object was not initialized.
[*Effects]: Returns a reference to the [sub_match] object representing the [*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 character sequence from the end of the match found to the end of the
string being matched or searched. string being matched or searched.
@ -404,11 +373,6 @@ OutputIterator position. Note that if the formatter is a functor, then it is
might want to use [@../../../../doc/html/ref.html Boost.Ref] to wrap the object so might want to use [@../../../../doc/html/ref.html Boost.Ref] to wrap the object so
that it's passed by reference. that it's passed by reference.
[*Requires]: that the match_results object has been initialized as a result of a
successful call to [regex_search] or [regex_match] or was returned from a [regex_iterator], and
that the underlying iterators have not been subsequently invalidated. Will raise a
`std::logic_error` if the match_results object was not initialized.
[*Effects]: If `fmt` is either a null-terminated string, or a [*Effects]: If `fmt` is either a null-terminated string, or a
container of `char_type`'s, then copies the character sequence `[fmt.begin(), fmt.end())` to container of `char_type`'s, then copies the character sequence `[fmt.begin(), fmt.end())` to
`OutputIterator` /out/. For each format specifier or escape sequence in `OutputIterator` /out/. For each format specifier or escape sequence in
@ -450,11 +414,6 @@ replacement text, or either `fmt(*this, out)` or `fmt(*this, out, flags)`, both
which write the replacement text to `*out`, and then return the new which write the replacement text to `*out`, and then return the new
OutputIterator position. OutputIterator position.
[*Requires]: that the match_results object has been initialized as a result of a
successful call to [regex_search] or [regex_match] or was returned from a [regex_iterator], and
that the underlying iterators have not been subsequently invalidated. Will raise a
`std::logic_error` if the match_results object was not initialized.
[*Effects]: [*Effects]:
If `fmt` is either a null-terminated string, or a If `fmt` is either a null-terminated string, or a
container of `char_type`'s, then copies the string /fmt/: For each format specifier or container of `char_type`'s, then copies the string /fmt/: For each format specifier or
@ -506,11 +465,6 @@ rely on that.
const capture_sequence_type& captures(std::size_t i)const; const capture_sequence_type& captures(std::size_t i)const;
[*Requires]: that the match_results object has been initialized as a result of a
successful call to [regex_search] or [regex_match] or was returned from a [regex_iterator], and
that the underlying iterators have not been subsequently invalidated. Will raise a
`std::logic_error` if the match_results object was not initialized.
[*Effects]: returns a sequence containing all the captures obtained for sub-expression i. [*Effects]: returns a sequence containing all the captures obtained for sub-expression i.
[*Returns]: `(*this)[i].captures();` [*Returns]: `(*this)[i].captures();`

View File

@ -10,12 +10,9 @@ project
# There are unidentified linker problems on these platforms: # There are unidentified linker problems on these platforms:
<toolset>mipspro-7.4:<link>static <toolset>mipspro-7.4:<link>static
<toolset>sun-5.9:<link>static <toolset>sun-5.9:<link>static
<toolset>msvc:<warnings>all
<toolset>gcc:<warnings>all
<toolset>gcc:<cxxflags>-Wextra
<define>U_USING_ICU_NAMESPACE=0
; ;
rule regex-test-run ( sources + : input * : name * ) rule regex-test-run ( sources + : input * : name * )
{ {
return [ return [

View File

@ -13,13 +13,8 @@
#include <fstream> #include <fstream>
#include <string> #include <string>
#include <vector> #include <vector>
#include <boost/regex.hpp>
#ifdef BOOST_MSVC
#pragma warning(disable:4512 4244)
#endif
#include <boost/program_options.hpp> #include <boost/program_options.hpp>
#include <boost/regex.hpp>
namespace po = boost::program_options; namespace po = boost::program_options;

View File

@ -152,15 +152,9 @@ int main()
assert(file == "d.h"); assert(file == "d.h");
// Greek text extraction with u32regex_search: // Greek text extraction with u32regex_search:
const UChar t[] = { U_NAMESPACE_QUALIFIER UnicodeString text = L"Some where in \x0391\x039D\x0395\x0398\x0391 2004";
'S', 'o', 'm', 'e', ' ', 'w', 'h', 'e', 'r', 'e', ' ', 'i', 'n', 0x0391, 0x039D, 0x0395, 0x0398, 0x0391, 0
};
const UChar g[] = {
0x0391, 0x039D, 0x0395, 0x0398, 0x0391, 0
};
U_NAMESPACE_QUALIFIER UnicodeString text = t;
U_NAMESPACE_QUALIFIER UnicodeString greek = extract_greek(text); U_NAMESPACE_QUALIFIER UnicodeString greek = extract_greek(text);
assert(greek == g); assert(greek == L"\x0391\x039D\x0395\x0398\x0391 2004");
// extract currency symbols with associated value, use iterator interface: // extract currency symbols with associated value, use iterator interface:
std::string text2 = " $100.23 or \xC2\xA3""198.12 "; // \xC2\xA3 is the pound 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

View File

@ -61,7 +61,7 @@ void search(std::istream& is)
std::memmove(buf, next_pos, leftover); std::memmove(buf, next_pos, leftover);
// fill the rest from the stream: // fill the rest from the stream:
is.read(buf + leftover, size); is.read(buf + leftover, size);
std::streamsize read = is.gcount(); unsigned read = is.gcount();
// check to see if we've run out of text: // check to see if we've run out of text:
have_more = read == size; have_more = read == size;
// reset next_pos: // reset next_pos:

View File

@ -51,7 +51,7 @@ void search(std::istream& is)
std::memmove(buf, next_pos, leftover); std::memmove(buf, next_pos, leftover);
// fill the rest from the stream: // fill the rest from the stream:
is.read(buf + leftover, size); is.read(buf + leftover, size);
std::streamsize read = is.gcount(); unsigned read = is.gcount();
// check to see if we've run out of text: // check to see if we've run out of text:
have_more = read == size; have_more = read == size;
// reset next_pos: // reset next_pos:

View File

@ -89,7 +89,7 @@ void load_file(std::string& s, std::istream& is)
{ {
s.erase(); s.erase();
if(is.bad()) return; if(is.bad()) return;
s.reserve(static_cast<std::string::size_type>(is.rdbuf()->in_avail())); s.reserve(is.rdbuf()->in_avail());
char c; char c;
while(is.get(c)) while(is.get(c))
{ {

View File

@ -84,7 +84,7 @@ void load_file(std::string& s, std::istream& is)
{ {
s.erase(); s.erase();
if(is.bad()) return; if(is.bad()) return;
s.reserve(static_cast<std::string::size_type>(is.rdbuf()->in_avail())); s.reserve(is.rdbuf()->in_avail());
char c; char c;
while(is.get(c)) while(is.get(c))
{ {

View File

@ -107,7 +107,7 @@ void load_file(std::string& s, std::istream& is)
{ {
s.erase(); s.erase();
if(is.bad()) return; if(is.bad()) return;
s.reserve(static_cast<std::string::size_type>(is.rdbuf()->in_avail())); s.reserve(is.rdbuf()->in_avail());
char c; char c;
while(is.get(c)) while(is.get(c))
{ {

View File

@ -72,7 +72,7 @@ void load_file(std::string& s, std::istream& is)
{ {
s.erase(); s.erase();
if(is.bad()) return; if(is.bad()) return;
s.reserve(static_cast<std::string::size_type>(is.rdbuf()->in_avail())); s.reserve(is.rdbuf()->in_avail());
char c; char c;
while(is.get(c)) while(is.get(c))
{ {

View File

@ -42,7 +42,7 @@ void load_file(std::string& s, std::istream& is)
{ {
s.erase(); s.erase();
if(is.bad()) return; if(is.bad()) return;
s.reserve(static_cast<std::string::size_type>(is.rdbuf()->in_avail())); s.reserve(is.rdbuf()->in_avail());
char c; char c;
while(is.get(c)) while(is.get(c))
{ {

View File

@ -42,7 +42,7 @@ void load_file(std::string& s, std::istream& is)
{ {
s.erase(); s.erase();
if(is.bad()) return; if(is.bad()) return;
s.reserve(static_cast<std::string::size_type>(is.rdbuf()->in_avail())); s.reserve(is.rdbuf()->in_avail());
char c; char c;
while(is.get(c)) while(is.get(c))
{ {

View File

@ -85,7 +85,7 @@ void load_file(std::string& s, std::istream& is)
{ {
s.erase(); s.erase();
if(is.bad()) return; if(is.bad()) return;
s.reserve(static_cast<std::string::size_type>(is.rdbuf()->in_avail())); s.reserve(is.rdbuf()->in_avail());
char c; char c;
while(is.get(c)) while(is.get(c))
{ {

View File

@ -33,7 +33,7 @@ void load_file(std::string& s, std::istream& is)
// //
// attempt to grow string buffer to match file size, // attempt to grow string buffer to match file size,
// this doesn't always work... // this doesn't always work...
s.reserve(static_cast<std::string::size_type>(is.rdbuf()->in_avail())); s.reserve(is.rdbuf()->in_avail());
char c; char c;
while(is.get(c)) while(is.get(c))
{ {

View File

@ -32,7 +32,7 @@ void load_file(std::string& s, std::istream& is)
// //
// attempt to grow string buffer to match file size, // attempt to grow string buffer to match file size,
// this doesn't always work... // this doesn't always work...
s.reserve(static_cast<std::string::size_type>(is.rdbuf()->in_avail())); s.reserve(is.rdbuf()->in_avail());
char c; char c;
while(is.get(c)) while(is.get(c))
{ {

View File

@ -106,9 +106,14 @@ public:
allocator_architype(); allocator_architype();
allocator_architype(const allocator_architype&); allocator_architype(const allocator_architype&);
#if defined(BOOST_MSVC) && (BOOST_MSVC == 1600)
//
// This doesn't appear to be part of the allocator requirements
// in the std, but is required by std::vector in VC10 :-(
//
template <class Other> template <class Other>
allocator_architype(const allocator_architype<Other>&); allocator_architype(const allocator_architype<Other>&);
#endif
void construct(pointer, const_reference); void construct(pointer, const_reference);
void destroy(pointer); void destroy(pointer);

View File

@ -186,19 +186,16 @@
* *
****************************************************************************/ ****************************************************************************/
#ifndef BOOST_SYMBOL_EXPORT #if defined(BOOST_HAS_DECLSPEC) && (defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)) && !defined(BOOST_REGEX_STATIC_LINK)
# define BOOST_SYMBOL_EXPORT
# define BOOST_SYMBOL_IMPORT
#endif
#if (defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)) && !defined(BOOST_REGEX_STATIC_LINK)
# if defined(BOOST_REGEX_SOURCE) # if defined(BOOST_REGEX_SOURCE)
# define BOOST_REGEX_DECL BOOST_SYMBOL_EXPORT # define BOOST_REGEX_DECL __declspec(dllexport)
# define BOOST_REGEX_BUILD_DLL # define BOOST_REGEX_BUILD_DLL
# else # else
# define BOOST_REGEX_DECL BOOST_SYMBOL_IMPORT # define BOOST_REGEX_DECL __declspec(dllimport)
# endif # endif
#else #endif
#ifndef BOOST_REGEX_DECL
# define BOOST_REGEX_DECL # define BOOST_REGEX_DECL
#endif #endif

View File

@ -27,10 +27,6 @@
#include <boost/mpl/int_fwd.hpp> #include <boost/mpl/int_fwd.hpp>
#include <bitset> #include <bitset>
#ifdef BOOST_MSVC
#pragma warning (push)
#pragma warning (disable: 4251)
#endif
namespace boost{ namespace boost{
@ -1019,10 +1015,6 @@ inline U_NAMESPACE_QUALIFIER UnicodeString u32regex_replace(const U_NAMESPACE_QU
} // namespace boost. } // namespace boost.
#ifdef BOOST_MSVC
#pragma warning (pop)
#endif
#include <boost/regex/v4/u32regex_iterator.hpp> #include <boost/regex/v4/u32regex_iterator.hpp>
#include <boost/regex/v4/u32regex_token_iterator.hpp> #include <boost/regex/v4/u32regex_token_iterator.hpp>

View File

@ -769,14 +769,14 @@ void basic_regex_creator<charT, traits>::fixup_recursions(re_syntax_base* state)
case syntax_element_assert_backref: case syntax_element_assert_backref:
{ {
// just check that the index is valid: // just check that the index is valid:
int idx = static_cast<const re_brace*>(state)->index; int id = static_cast<const re_brace*>(state)->index;
if(idx < 0) if(id < 0)
{ {
idx = -idx-1; id = -id-1;
if(idx >= 10000) if(id >= 10000)
{ {
idx = m_pdata->get_id(idx); id = m_pdata->get_id(id);
if(idx <= 0) if(id <= 0)
{ {
// check of sub-expression that doesn't exist: // check of sub-expression that doesn't exist:
if(0 == this->m_pdata->m_status) // update the error code if not already set if(0 == this->m_pdata->m_status) // update the error code if not already set
@ -804,12 +804,12 @@ void basic_regex_creator<charT, traits>::fixup_recursions(re_syntax_base* state)
{ {
bool ok = false; bool ok = false;
re_syntax_base* p = base; re_syntax_base* p = base;
std::ptrdiff_t idx = static_cast<re_jump*>(state)->alt.i; std::ptrdiff_t id = static_cast<re_jump*>(state)->alt.i;
if(idx > 10000) if(id > 10000)
idx = m_pdata->get_id(idx); id = m_pdata->get_id(id);
while(p) while(p)
{ {
if((p->type == syntax_element_startmark) && (static_cast<re_brace*>(p)->index == idx)) if((p->type == syntax_element_startmark) && (static_cast<re_brace*>(p)->index == id))
{ {
// //
// We've found the target of the recursion, set the jump target: // We've found the target of the recursion, set the jump target:
@ -833,7 +833,7 @@ void basic_regex_creator<charT, traits>::fixup_recursions(re_syntax_base* state)
next_rep_id = static_cast<re_repeat*>(p)->state_id; next_rep_id = static_cast<re_repeat*>(p)->state_id;
break; break;
case syntax_element_endmark: case syntax_element_endmark:
if(static_cast<const re_brace*>(p)->index == idx) if(static_cast<const re_brace*>(p)->index == id)
next_rep_id = -1; next_rep_id = -1;
break; break;
default: default:
@ -1039,14 +1039,6 @@ int basic_regex_creator<charT, traits>::calculate_backstep(re_syntax_base* state
case syntax_element_jump: case syntax_element_jump:
state = static_cast<re_jump*>(state)->alt.p; state = static_cast<re_jump*>(state)->alt.p;
continue; continue;
case syntax_element_alt:
{
int r1 = calculate_backstep(state->next.p);
int r2 = calculate_backstep(static_cast<re_alt*>(state)->alt.p);
if((r1 < 0) || (r1 != r2))
return -1;
return result + r1;
}
default: default:
break; break;
} }
@ -1551,4 +1543,3 @@ void basic_regex_creator<charT, traits>::probe_leading_repeat(re_syntax_base* st
#endif #endif
#endif #endif

View File

@ -1906,9 +1906,7 @@ bool basic_regex_parser<charT, traits>::parse_perl_extension()
m_has_case_change = false; m_has_case_change = false;
charT name_delim; charT name_delim;
int mark_reset = m_mark_reset; int mark_reset = m_mark_reset;
int max_mark = m_max_mark;
m_mark_reset = -1; m_mark_reset = -1;
m_max_mark = m_mark_count;
int v; int v;
// //
// select the actual extension used: // select the actual extension used:
@ -2538,7 +2536,6 @@ option_group_jump:
m_mark_count = m_max_mark; m_mark_count = m_max_mark;
} }
m_mark_reset = mark_reset; m_mark_reset = mark_reset;
m_max_mark = max_mark;
if(markid > 0) if(markid > 0)

View File

@ -118,14 +118,10 @@ template class BOOST_REGEX_TEMPLATE_DECL ::boost::re_detail::perl_matcher< std::
#undef BOOST_REGEX_TEMPLATE_DECL #undef BOOST_REGEX_TEMPLATE_DECL
#elif (defined(__GNUC__) && (__GNUC__ >= 3)) || !defined(BOOST_NO_EXTERN_TEMPLATE) #elif (defined(__GNUC__) && (__GNUC__ >= 3))
# ifndef BOOST_REGEX_INSTANTIATE # ifndef BOOST_REGEX_INSTANTIATE
# ifdef __GNUC__
# define template __extension__ extern template # define template __extension__ extern template
# else
# define template extern template
# endif
# endif # endif
#if !defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_REGEX_ICU_INSTANCES) #if !defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_REGEX_ICU_INSTANCES)

View File

@ -336,7 +336,7 @@ struct recursion_info
{ {
typedef typename Results::value_type value_type; typedef typename Results::value_type value_type;
typedef typename value_type::iterator iterator; typedef typename value_type::iterator iterator;
int idx; int id;
const re_syntax_base* preturn_address; const re_syntax_base* preturn_address;
Results results; Results results;
repeater_count<iterator>* repeater_stack; repeater_count<iterator>* repeater_stack;
@ -522,7 +522,7 @@ private:
void push_repeater_count(int i, repeater_count<BidiIterator>** s); void push_repeater_count(int i, repeater_count<BidiIterator>** s);
void push_single_repeat(std::size_t c, const re_repeat* r, BidiIterator last_position, int state_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); void push_non_greedy_repeat(const re_syntax_base* ps);
void push_recursion(int idx, const re_syntax_base* p, results_type* presults); void push_recursion(int id, const re_syntax_base* p, results_type* presults);
void push_recursion_pop(); void push_recursion_pop();
// pointer to base of stack: // pointer to base of stack:

View File

@ -732,10 +732,10 @@ inline bool perl_matcher<BidiIterator, Allocator, traits>::match_assert_backref(
{ {
// Have we recursed into subexpression "index"? // Have we recursed into subexpression "index"?
// If index == 0 then check for any recursion at all, otherwise for recursion to -index-1. // If index == 0 then check for any recursion at all, otherwise for recursion to -index-1.
int idx = -index-1; int id = -index-1;
if(idx >= 10000) if(id >= 10000)
idx = re.get_data().get_id(idx); id = re.get_data().get_id(id);
result = !recursion_stack.empty() && ((recursion_stack.back().idx == idx) || (index == 0)); result = !recursion_stack.empty() && ((recursion_stack.back().id == id) || (index == 0));
pstate = pstate->next.p; pstate = pstate->next.p;
} }
return result; return result;

View File

@ -130,8 +130,8 @@ struct saved_single_repeat : public saved_state
template <class Results> template <class Results>
struct saved_recursion : public saved_state struct saved_recursion : public saved_state
{ {
saved_recursion(int idx, const re_syntax_base* p, Results* pr) saved_recursion(int id, const re_syntax_base* p, Results* pr)
: saved_state(14), recursion_id(idx), preturn_address(p), results(*pr) : saved_state(14), recursion_id(id), preturn_address(p), results(*pr)
{} {}
int recursion_id; int recursion_id;
const re_syntax_base* preturn_address; const re_syntax_base* preturn_address;
@ -329,7 +329,7 @@ inline void perl_matcher<BidiIterator, Allocator, traits>::push_single_repeat(st
} }
template <class BidiIterator, class Allocator, class traits> template <class BidiIterator, class Allocator, class traits>
inline void perl_matcher<BidiIterator, Allocator, traits>::push_recursion(int idx, const re_syntax_base* p, results_type* presults) inline void perl_matcher<BidiIterator, Allocator, traits>::push_recursion(int id, const re_syntax_base* p, results_type* presults)
{ {
saved_recursion<results_type>* pmp = static_cast<saved_recursion<results_type>*>(m_backup_state); saved_recursion<results_type>* pmp = static_cast<saved_recursion<results_type>*>(m_backup_state);
--pmp; --pmp;
@ -339,7 +339,7 @@ inline void perl_matcher<BidiIterator, Allocator, traits>::push_recursion(int id
pmp = static_cast<saved_recursion<results_type>*>(m_backup_state); pmp = static_cast<saved_recursion<results_type>*>(m_backup_state);
--pmp; --pmp;
} }
(void) new (pmp)saved_recursion<results_type>(idx, p, presults); (void) new (pmp)saved_recursion<results_type>(id, p, presults);
m_backup_state = pmp; m_backup_state = pmp;
} }
@ -910,7 +910,7 @@ bool perl_matcher<BidiIterator, Allocator, traits>::match_recursion()
push_repeater_count(static_cast<const re_recurse*>(pstate)->state_id, &next_count); push_repeater_count(static_cast<const re_recurse*>(pstate)->state_id, &next_count);
} }
pstate = static_cast<const re_jump*>(pstate)->alt.p; pstate = static_cast<const re_jump*>(pstate)->alt.p;
recursion_stack.back().idx = static_cast<const re_brace*>(pstate)->index; recursion_stack.back().id = static_cast<const re_brace*>(pstate)->index;
return true; return true;
} }
@ -928,11 +928,11 @@ bool perl_matcher<BidiIterator, Allocator, traits>::match_endmark()
} }
if(!recursion_stack.empty()) if(!recursion_stack.empty())
{ {
if(index == recursion_stack.back().idx) if(index == recursion_stack.back().id)
{ {
pstate = recursion_stack.back().preturn_address; pstate = recursion_stack.back().preturn_address;
*m_presult = recursion_stack.back().results; *m_presult = recursion_stack.back().results;
push_recursion(recursion_stack.back().idx, recursion_stack.back().preturn_address, &recursion_stack.back().results); push_recursion(recursion_stack.back().id, recursion_stack.back().preturn_address, &recursion_stack.back().results);
recursion_stack.pop_back(); recursion_stack.pop_back();
} }
} }
@ -952,10 +952,10 @@ bool perl_matcher<BidiIterator, Allocator, traits>::match_match()
{ {
if(!recursion_stack.empty()) if(!recursion_stack.empty())
{ {
BOOST_ASSERT(0 == recursion_stack.back().idx); BOOST_ASSERT(0 == recursion_stack.back().id);
pstate = recursion_stack.back().preturn_address; pstate = recursion_stack.back().preturn_address;
*m_presult = recursion_stack.back().results; *m_presult = recursion_stack.back().results;
push_recursion(recursion_stack.back().idx, recursion_stack.back().preturn_address, &recursion_stack.back().results); push_recursion(recursion_stack.back().id, recursion_stack.back().preturn_address, &recursion_stack.back().results);
recursion_stack.pop_back(); recursion_stack.pop_back();
return true; return true;
} }
@ -1523,7 +1523,7 @@ bool perl_matcher<BidiIterator, Allocator, traits>::unwind_recursion(bool r)
if(!r) if(!r)
{ {
recursion_stack.push_back(recursion_info<results_type>()); recursion_stack.push_back(recursion_info<results_type>());
recursion_stack.back().idx = pmp->recursion_id; recursion_stack.back().id = pmp->recursion_id;
recursion_stack.back().preturn_address = pmp->preturn_address; recursion_stack.back().preturn_address = pmp->preturn_address;
recursion_stack.back().results = pmp->results; recursion_stack.back().results = pmp->results;
} }

View File

@ -866,7 +866,7 @@ bool perl_matcher<BidiIterator, Allocator, traits>::match_recursion()
recursion_stack.back().results = *m_presult; recursion_stack.back().results = *m_presult;
recursion_stack.back().repeater_stack = next_count; recursion_stack.back().repeater_stack = next_count;
pstate = static_cast<const re_jump*>(pstate)->alt.p; pstate = static_cast<const re_jump*>(pstate)->alt.p;
recursion_stack.back().idx = static_cast<const re_brace*>(pstate)->index; recursion_stack.back().id = static_cast<const re_brace*>(pstate)->index;
repeater_count<BidiIterator>* saved = next_count; repeater_count<BidiIterator>* saved = next_count;
repeater_count<BidiIterator> r(&next_count); // resets all repeat counts since we're recursing and starting fresh on those repeater_count<BidiIterator> r(&next_count); // resets all repeat counts since we're recursing and starting fresh on those
@ -897,7 +897,7 @@ bool perl_matcher<BidiIterator, Allocator, traits>::match_endmark()
} }
if(!recursion_stack.empty()) if(!recursion_stack.empty())
{ {
if(index == recursion_stack.back().idx) if(index == recursion_stack.back().id)
{ {
recursion_info<results_type> saved = recursion_stack.back(); recursion_info<results_type> saved = recursion_stack.back();
recursion_stack.pop_back(); recursion_stack.pop_back();
@ -929,7 +929,7 @@ bool perl_matcher<BidiIterator, Allocator, traits>::match_match()
{ {
if(!recursion_stack.empty()) if(!recursion_stack.empty())
{ {
BOOST_ASSERT(0 == recursion_stack.back().idx); BOOST_ASSERT(0 == recursion_stack.back().id);
const re_syntax_base* saved_state = pstate = recursion_stack.back().preturn_address; const re_syntax_base* saved_state = pstate = recursion_stack.back().preturn_address;
*m_presult = recursion_stack.back().results; *m_presult = recursion_stack.back().results;
recursion_stack.pop_back(); recursion_stack.pop_back();

View File

@ -149,37 +149,7 @@ namespace boost{ namespace re_detail{
{ {
return stdext::unchecked_equal(first, last, with); return stdext::unchecked_equal(first, last, with);
} }
#elif BOOST_WORKAROUND(BOOST_MSVC, > 1500)
//
// MSVC 10 will either emit warnings or else refuse to compile
// code that makes perfectly legitimate use of std::copy, when
// the OutputIterator type is a user-defined class (apparently all user
// defined iterators are "unsafe"). What's more Microsoft have removed their
// non-standard "unchecked" versions, even though their still in the MS
// documentation!! Work around this as best we can:
//
template<class InputIterator, class OutputIterator>
inline OutputIterator copy(
InputIterator first,
InputIterator last,
OutputIterator dest
)
{
while(first != last)
*dest++ = *first++;
return dest;
}
template<class InputIterator1, class InputIterator2>
inline bool equal(
InputIterator1 first,
InputIterator1 last,
InputIterator2 with
)
{
while(first != last)
if(*first++ != *with++) return false;
return true;
}
#else #else
using std::copy; using std::copy;
using std::equal; using std::equal;

View File

@ -292,7 +292,7 @@ template <class charT, class Traits, class Alloc>
inline u32regex_token_iterator<typename std::basic_string<charT, Traits, Alloc>::const_iterator> make_u32regex_token_iterator(const std::basic_string<charT, Traits, Alloc>& p, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default) inline u32regex_token_iterator<typename std::basic_string<charT, Traits, Alloc>::const_iterator> make_u32regex_token_iterator(const std::basic_string<charT, Traits, Alloc>& p, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default)
{ {
typedef typename std::basic_string<charT, Traits, Alloc>::const_iterator iter_type; typedef typename std::basic_string<charT, Traits, Alloc>::const_iterator iter_type;
return u32regex_token_iterator<iter_type>(p.begin(), p.end(), e, submatch, m); return u32regex_token_iterator<iter_type>(p.begin(), p.end(), e, m);
} }
inline u32regex_token_iterator<const UChar*> make_u32regex_token_iterator(const U_NAMESPACE_QUALIFIER UnicodeString& s, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default) inline u32regex_token_iterator<const UChar*> make_u32regex_token_iterator(const U_NAMESPACE_QUALIFIER UnicodeString& s, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default)
{ {

View File

@ -155,16 +155,16 @@ c_regex_traits<char>::char_class_type BOOST_REGEX_CALL c_regex_traits<char>::loo
char_class_xdigit, char_class_xdigit,
}; };
int idx = ::boost::re_detail::get_default_class_id(p1, p2); int id = ::boost::re_detail::get_default_class_id(p1, p2);
if(idx < 0) if(id < 0)
{ {
std::string s(p1, p2); std::string s(p1, p2);
for(std::string::size_type i = 0; i < s.size(); ++i) for(std::string::size_type i = 0; i < s.size(); ++i)
s[i] = static_cast<char>((std::tolower)(static_cast<unsigned char>(s[i]))); s[i] = static_cast<char>((std::tolower)(static_cast<unsigned char>(s[i])));
idx = ::boost::re_detail::get_default_class_id(&*s.begin(), &*s.begin() + s.size()); id = ::boost::re_detail::get_default_class_id(&*s.begin(), &*s.begin() + s.size());
} }
BOOST_ASSERT(std::size_t(idx+1) < sizeof(masks) / sizeof(masks[0])); BOOST_ASSERT(std::size_t(id+1) < sizeof(masks) / sizeof(masks[0]));
return masks[idx+1]; return masks[id+1];
} }
bool BOOST_REGEX_CALL c_regex_traits<char>::isctype(char c, char_class_type mask) bool BOOST_REGEX_CALL c_regex_traits<char>::isctype(char c, char_class_type mask)

View File

@ -388,14 +388,14 @@ icu_regex_traits::char_class_type icu_regex_traits::lookup_classname(const char_
char_class_type(U_GC_ND_MASK) | mask_xdigit, char_class_type(U_GC_ND_MASK) | mask_xdigit,
}; };
int idx = ::boost::re_detail::get_default_class_id(p1, p2); int id = ::boost::re_detail::get_default_class_id(p1, p2);
if(idx >= 0) if(id >= 0)
return masks[idx+1]; return masks[id+1];
char_class_type result = lookup_icu_mask(p1, p2); char_class_type result = lookup_icu_mask(p1, p2);
if(result != 0) if(result != 0)
return result; return result;
if(idx < 0) if(id < 0)
{ {
string_type s(p1, p2); string_type s(p1, p2);
string_type::size_type i = 0; string_type::size_type i = 0;
@ -411,16 +411,16 @@ icu_regex_traits::char_class_type icu_regex_traits::lookup_classname(const char_
} }
} }
if(s.size()) if(s.size())
idx = ::boost::re_detail::get_default_class_id(&*s.begin(), &*s.begin() + s.size()); id = ::boost::re_detail::get_default_class_id(&*s.begin(), &*s.begin() + s.size());
if(idx >= 0) if(id >= 0)
return masks[idx+1]; return masks[id+1];
if(s.size()) if(s.size())
result = lookup_icu_mask(&*s.begin(), &*s.begin() + s.size()); result = lookup_icu_mask(&*s.begin(), &*s.begin() + s.size());
if(result != 0) if(result != 0)
return result; return result;
} }
BOOST_ASSERT(std::size_t(idx+1) < sizeof(masks) / sizeof(masks[0])); BOOST_ASSERT(std::size_t(id+1) < sizeof(masks) / sizeof(masks[0]));
return masks[idx+1]; return masks[id+1];
} }
icu_regex_traits::string_type icu_regex_traits::lookup_collatename(const char_type* p1, const char_type* p2) const icu_regex_traits::string_type icu_regex_traits::lookup_collatename(const char_type* p1, const char_type* p2) const

View File

@ -43,10 +43,10 @@ namespace std{
namespace boost{ namespace re_detail{ namespace boost{ namespace re_detail{
#ifdef BOOST_NO_ANSI_APIS #ifdef BOOST_NO_ANSI_APIS
UINT get_code_page_for_locale_id(lcid_type idx) UINT get_code_page_for_locale_id(lcid_type id)
{ {
WCHAR code_page_string[7]; WCHAR code_page_string[7];
if (::GetLocaleInfoW(idx, LOCALE_IDEFAULTANSICODEPAGE, code_page_string, 7) == 0) if (::GetLocaleInfoW(id, LOCALE_IDEFAULTANSICODEPAGE, code_page_string, 7) == 0)
return 0; return 0;
return static_cast<UINT>(_wtol(code_page_string)); return static_cast<UINT>(_wtol(code_page_string));
@ -157,15 +157,15 @@ BOOST_REGEX_DECL lcid_type BOOST_REGEX_CALL w32_get_default_locale()
return ::GetUserDefaultLCID(); return ::GetUserDefaultLCID();
} }
BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(char c, lcid_type idx) BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(char c, lcid_type id)
{ {
#ifndef BOOST_NO_ANSI_APIS #ifndef BOOST_NO_ANSI_APIS
WORD mask; WORD mask;
if(::GetStringTypeExA(idx, CT_CTYPE1, &c, 1, &mask) && (mask & C1_LOWER)) if(::GetStringTypeExA(id, CT_CTYPE1, &c, 1, &mask) && (mask & C1_LOWER))
return true; return true;
return false; return false;
#else #else
UINT code_page = get_code_page_for_locale_id(idx); UINT code_page = get_code_page_for_locale_id(id);
if (code_page == 0) if (code_page == 0)
return false; return false;
@ -174,39 +174,39 @@ BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(char c, lcid_type idx)
return false; return false;
WORD mask; WORD mask;
if(::GetStringTypeExW(idx, CT_CTYPE1, &wide_c, 1, &mask) && (mask & C1_LOWER)) if(::GetStringTypeExW(id, CT_CTYPE1, &wide_c, 1, &mask) && (mask & C1_LOWER))
return true; return true;
return false; return false;
#endif #endif
} }
BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(wchar_t c, lcid_type idx) BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(wchar_t c, lcid_type id)
{ {
WORD mask; WORD mask;
if(::GetStringTypeExW(idx, CT_CTYPE1, &c, 1, &mask) && (mask & C1_LOWER)) if(::GetStringTypeExW(id, CT_CTYPE1, &c, 1, &mask) && (mask & C1_LOWER))
return true; return true;
return false; return false;
} }
#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T #ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(unsigned short ca, lcid_type idx) BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(unsigned short ca, lcid_type id)
{ {
WORD mask; WORD mask;
wchar_t c = ca; wchar_t c = ca;
if(::GetStringTypeExW(idx, CT_CTYPE1, &c, 1, &mask) && (mask & C1_LOWER)) if(::GetStringTypeExW(id, CT_CTYPE1, &c, 1, &mask) && (mask & C1_LOWER))
return true; return true;
return false; return false;
} }
#endif #endif
BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(char c, lcid_type idx) BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(char c, lcid_type id)
{ {
#ifndef BOOST_NO_ANSI_APIS #ifndef BOOST_NO_ANSI_APIS
WORD mask; WORD mask;
if(::GetStringTypeExA(idx, CT_CTYPE1, &c, 1, &mask) && (mask & C1_UPPER)) if(::GetStringTypeExA(id, CT_CTYPE1, &c, 1, &mask) && (mask & C1_UPPER))
return true; return true;
return false; return false;
#else #else
UINT code_page = get_code_page_for_locale_id(idx); UINT code_page = get_code_page_for_locale_id(id);
if (code_page == 0) if (code_page == 0)
return false; return false;
@ -215,25 +215,25 @@ BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(char c, lcid_type idx)
return false; return false;
WORD mask; WORD mask;
if(::GetStringTypeExW(idx, CT_CTYPE1, &wide_c, 1, &mask) && (mask & C1_UPPER)) if(::GetStringTypeExW(id, CT_CTYPE1, &wide_c, 1, &mask) && (mask & C1_UPPER))
return true; return true;
return false; return false;
#endif #endif
} }
BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(wchar_t c, lcid_type idx) BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(wchar_t c, lcid_type id)
{ {
WORD mask; WORD mask;
if(::GetStringTypeExW(idx, CT_CTYPE1, &c, 1, &mask) && (mask & C1_UPPER)) if(::GetStringTypeExW(id, CT_CTYPE1, &c, 1, &mask) && (mask & C1_UPPER))
return true; return true;
return false; return false;
} }
#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T #ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(unsigned short ca, lcid_type idx) BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(unsigned short ca, lcid_type id)
{ {
WORD mask; WORD mask;
wchar_t c = ca; wchar_t c = ca;
if(::GetStringTypeExW(idx, CT_CTYPE1, &c, 1, &mask) && (mask & C1_UPPER)) if(::GetStringTypeExW(id, CT_CTYPE1, &c, 1, &mask) && (mask & C1_UPPER))
return true; return true;
return false; return false;
} }
@ -322,11 +322,11 @@ BOOST_REGEX_DECL std::basic_string<unsigned short> BOOST_REGEX_CALL w32_cat_get(
} }
#endif #endif
#endif #endif
BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_transform(lcid_type idx, const char* p1, const char* p2) BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_transform(lcid_type id, const char* p1, const char* p2)
{ {
#ifndef BOOST_NO_ANSI_APIS #ifndef BOOST_NO_ANSI_APIS
int bytes = ::LCMapStringA( int bytes = ::LCMapStringA(
idx, // locale identifier id, // locale identifier
LCMAP_SORTKEY, // mapping transformation type LCMAP_SORTKEY, // mapping transformation type
p1, // source string p1, // source string
static_cast<int>(p2 - p1), // number of characters in source string static_cast<int>(p2 - p1), // number of characters in source string
@ -337,7 +337,7 @@ BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_transform(lcid_type idx, const
return std::string(p1, p2); return std::string(p1, p2);
std::string result(++bytes, '\0'); std::string result(++bytes, '\0');
bytes = ::LCMapStringA( bytes = ::LCMapStringA(
idx, // locale identifier id, // locale identifier
LCMAP_SORTKEY, // mapping transformation type LCMAP_SORTKEY, // mapping transformation type
p1, // source string p1, // source string
static_cast<int>(p2 - p1), // number of characters in source string static_cast<int>(p2 - p1), // number of characters in source string
@ -345,7 +345,7 @@ BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_transform(lcid_type idx, const
bytes // size of destination buffer bytes // size of destination buffer
); );
#else #else
UINT code_page = get_code_page_for_locale_id(idx); UINT code_page = get_code_page_for_locale_id(id);
if(code_page == 0) if(code_page == 0)
return std::string(p1, p2); return std::string(p1, p2);
@ -355,7 +355,7 @@ BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_transform(lcid_type idx, const
return std::string(p1, p2); return std::string(p1, p2);
int bytes = ::LCMapStringW( int bytes = ::LCMapStringW(
idx, // locale identifier id, // locale identifier
LCMAP_SORTKEY, // mapping transformation type LCMAP_SORTKEY, // mapping transformation type
wide_p1, // source string wide_p1, // source string
src_len, // number of characters in source string src_len, // number of characters in source string
@ -366,7 +366,7 @@ BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_transform(lcid_type idx, const
return std::string(p1, p2); return std::string(p1, p2);
std::string result(++bytes, '\0'); std::string result(++bytes, '\0');
bytes = ::LCMapStringW( bytes = ::LCMapStringW(
idx, // locale identifier id, // locale identifier
LCMAP_SORTKEY, // mapping transformation type LCMAP_SORTKEY, // mapping transformation type
wide_p1, // source string wide_p1, // source string
src_len, // number of characters in source string src_len, // number of characters in source string
@ -384,10 +384,10 @@ BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_transform(lcid_type idx, const
} }
#ifndef BOOST_NO_WREGEX #ifndef BOOST_NO_WREGEX
BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_transform(lcid_type idx, const wchar_t* p1, const wchar_t* p2) BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_transform(lcid_type id, const wchar_t* p1, const wchar_t* p2)
{ {
int bytes = ::LCMapStringW( int bytes = ::LCMapStringW(
idx, // locale identifier id, // locale identifier
LCMAP_SORTKEY, // mapping transformation type LCMAP_SORTKEY, // mapping transformation type
p1, // source string p1, // source string
static_cast<int>(p2 - p1), // number of characters in source string static_cast<int>(p2 - p1), // number of characters in source string
@ -398,7 +398,7 @@ BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_transform(lcid_type idx, cons
return std::wstring(p1, p2); return std::wstring(p1, p2);
std::string result(++bytes, '\0'); std::string result(++bytes, '\0');
bytes = ::LCMapStringW( bytes = ::LCMapStringW(
idx, // locale identifier id, // locale identifier
LCMAP_SORTKEY, // mapping transformation type LCMAP_SORTKEY, // mapping transformation type
p1, // source string p1, // source string
static_cast<int>(p2 - p1), // number of characters in source string static_cast<int>(p2 - p1), // number of characters in source string
@ -417,10 +417,10 @@ BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_transform(lcid_type idx, cons
return r2; return r2;
} }
#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T #ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
BOOST_REGEX_DECL std::basic_string<unsigned short> BOOST_REGEX_CALL w32_transform(lcid_type idx, const unsigned short* p1, const unsigned short* p2) BOOST_REGEX_DECL std::basic_string<unsigned short> BOOST_REGEX_CALL w32_transform(lcid_type id, const unsigned short* p1, const unsigned short* p2)
{ {
int bytes = ::LCMapStringW( int bytes = ::LCMapStringW(
idx, // locale identifier id, // locale identifier
LCMAP_SORTKEY, // mapping transformation type LCMAP_SORTKEY, // mapping transformation type
(LPCWSTR)p1, // source string (LPCWSTR)p1, // source string
static_cast<int>(p2 - p1), // number of characters in source string static_cast<int>(p2 - p1), // number of characters in source string
@ -431,7 +431,7 @@ BOOST_REGEX_DECL std::basic_string<unsigned short> BOOST_REGEX_CALL w32_transfor
return std::basic_string<unsigned short>(p1, p2); return std::basic_string<unsigned short>(p1, p2);
std::string result(++bytes, '\0'); std::string result(++bytes, '\0');
bytes = ::LCMapStringW( bytes = ::LCMapStringW(
idx, // locale identifier id, // locale identifier
LCMAP_SORTKEY, // mapping transformation type LCMAP_SORTKEY, // mapping transformation type
(LPCWSTR)p1, // source string (LPCWSTR)p1, // source string
static_cast<int>(p2 - p1), // number of characters in source string static_cast<int>(p2 - p1), // number of characters in source string
@ -451,12 +451,12 @@ BOOST_REGEX_DECL std::basic_string<unsigned short> BOOST_REGEX_CALL w32_transfor
} }
#endif #endif
#endif #endif
BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_tolower(char c, lcid_type idx) BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_tolower(char c, lcid_type id)
{ {
char result[2]; char result[2];
#ifndef BOOST_NO_ANSI_APIS #ifndef BOOST_NO_ANSI_APIS
int b = ::LCMapStringA( int b = ::LCMapStringA(
idx, // locale identifier id, // locale identifier
LCMAP_LOWERCASE, // mapping transformation type LCMAP_LOWERCASE, // mapping transformation type
&c, // source string &c, // source string
1, // number of characters in source string 1, // number of characters in source string
@ -465,7 +465,7 @@ BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_tolower(char c, lcid_type idx)
if(b == 0) if(b == 0)
return c; return c;
#else #else
UINT code_page = get_code_page_for_locale_id(idx); UINT code_page = get_code_page_for_locale_id(id);
if (code_page == 0) if (code_page == 0)
return c; return c;
@ -475,7 +475,7 @@ BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_tolower(char c, lcid_type idx)
WCHAR wide_result; WCHAR wide_result;
int b = ::LCMapStringW( int b = ::LCMapStringW(
idx, // locale identifier id, // locale identifier
LCMAP_LOWERCASE, // mapping transformation type LCMAP_LOWERCASE, // mapping transformation type
&wide_c, // source string &wide_c, // source string
1, // number of characters in source string 1, // number of characters in source string
@ -491,11 +491,11 @@ BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_tolower(char c, lcid_type idx)
} }
#ifndef BOOST_NO_WREGEX #ifndef BOOST_NO_WREGEX
BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL w32_tolower(wchar_t c, lcid_type idx) BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL w32_tolower(wchar_t c, lcid_type id)
{ {
wchar_t result[2]; wchar_t result[2];
int b = ::LCMapStringW( int b = ::LCMapStringW(
idx, // locale identifier id, // locale identifier
LCMAP_LOWERCASE, // mapping transformation type LCMAP_LOWERCASE, // mapping transformation type
&c, // source string &c, // source string
1, // number of characters in source string 1, // number of characters in source string
@ -506,11 +506,11 @@ BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL w32_tolower(wchar_t c, lcid_type idx)
return result[0]; return result[0];
} }
#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T #ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_tolower(unsigned short c, lcid_type idx) BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_tolower(unsigned short c, lcid_type id)
{ {
wchar_t result[2]; wchar_t result[2];
int b = ::LCMapStringW( int b = ::LCMapStringW(
idx, // locale identifier id, // locale identifier
LCMAP_LOWERCASE, // mapping transformation type LCMAP_LOWERCASE, // mapping transformation type
(wchar_t const*)&c, // source string (wchar_t const*)&c, // source string
1, // number of characters in source string 1, // number of characters in source string
@ -522,12 +522,12 @@ BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_tolower(unsigned short c, l
} }
#endif #endif
#endif #endif
BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_toupper(char c, lcid_type idx) BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_toupper(char c, lcid_type id)
{ {
char result[2]; char result[2];
#ifndef BOOST_NO_ANSI_APIS #ifndef BOOST_NO_ANSI_APIS
int b = ::LCMapStringA( int b = ::LCMapStringA(
idx, // locale identifier id, // locale identifier
LCMAP_UPPERCASE, // mapping transformation type LCMAP_UPPERCASE, // mapping transformation type
&c, // source string &c, // source string
1, // number of characters in source string 1, // number of characters in source string
@ -536,7 +536,7 @@ BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_toupper(char c, lcid_type idx)
if(b == 0) if(b == 0)
return c; return c;
#else #else
UINT code_page = get_code_page_for_locale_id(idx); UINT code_page = get_code_page_for_locale_id(id);
if(code_page == 0) if(code_page == 0)
return c; return c;
@ -546,7 +546,7 @@ BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_toupper(char c, lcid_type idx)
WCHAR wide_result; WCHAR wide_result;
int b = ::LCMapStringW( int b = ::LCMapStringW(
idx, // locale identifier id, // locale identifier
LCMAP_UPPERCASE, // mapping transformation type LCMAP_UPPERCASE, // mapping transformation type
&wide_c, // source string &wide_c, // source string
1, // number of characters in source string 1, // number of characters in source string
@ -562,11 +562,11 @@ BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_toupper(char c, lcid_type idx)
} }
#ifndef BOOST_NO_WREGEX #ifndef BOOST_NO_WREGEX
BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL w32_toupper(wchar_t c, lcid_type idx) BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL w32_toupper(wchar_t c, lcid_type id)
{ {
wchar_t result[2]; wchar_t result[2];
int b = ::LCMapStringW( int b = ::LCMapStringW(
idx, // locale identifier id, // locale identifier
LCMAP_UPPERCASE, // mapping transformation type LCMAP_UPPERCASE, // mapping transformation type
&c, // source string &c, // source string
1, // number of characters in source string 1, // number of characters in source string
@ -577,11 +577,11 @@ BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL w32_toupper(wchar_t c, lcid_type idx)
return result[0]; return result[0];
} }
#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T #ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_toupper(unsigned short c, lcid_type idx) BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_toupper(unsigned short c, lcid_type id)
{ {
wchar_t result[2]; wchar_t result[2];
int b = ::LCMapStringW( int b = ::LCMapStringW(
idx, // locale identifier id, // locale identifier
LCMAP_UPPERCASE, // mapping transformation type LCMAP_UPPERCASE, // mapping transformation type
(wchar_t const*)&c, // source string (wchar_t const*)&c, // source string
1, // number of characters in source string 1, // number of characters in source string
@ -593,14 +593,14 @@ BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_toupper(unsigned short c, l
} }
#endif #endif
#endif #endif
BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type idx, boost::uint32_t m, char c) BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type id, boost::uint32_t m, char c)
{ {
WORD mask; WORD mask;
#ifndef BOOST_NO_ANSI_APIS #ifndef BOOST_NO_ANSI_APIS
if(::GetStringTypeExA(idx, CT_CTYPE1, &c, 1, &mask) && (mask & m & w32_regex_traits_implementation<char>::mask_base)) if(::GetStringTypeExA(id, CT_CTYPE1, &c, 1, &mask) && (mask & m & w32_regex_traits_implementation<char>::mask_base))
return true; return true;
#else #else
UINT code_page = get_code_page_for_locale_id(idx); UINT code_page = get_code_page_for_locale_id(id);
if(code_page == 0) if(code_page == 0)
return false; return false;
@ -608,7 +608,7 @@ BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type idx, boost::uint32_t m,
if (::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) if (::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0)
return false; return false;
if(::GetStringTypeExW(idx, CT_CTYPE1, &wide_c, 1, &mask) && (mask & m & w32_regex_traits_implementation<char>::mask_base)) if(::GetStringTypeExW(id, CT_CTYPE1, &wide_c, 1, &mask) && (mask & m & w32_regex_traits_implementation<char>::mask_base))
return true; return true;
#endif #endif
if((m & w32_regex_traits_implementation<char>::mask_word) && (c == '_')) if((m & w32_regex_traits_implementation<char>::mask_word) && (c == '_'))
@ -617,10 +617,10 @@ BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type idx, boost::uint32_t m,
} }
#ifndef BOOST_NO_WREGEX #ifndef BOOST_NO_WREGEX
BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type idx, boost::uint32_t m, wchar_t c) BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type id, boost::uint32_t m, wchar_t c)
{ {
WORD mask; WORD mask;
if(::GetStringTypeExW(idx, CT_CTYPE1, &c, 1, &mask) && (mask & m & w32_regex_traits_implementation<wchar_t>::mask_base)) if(::GetStringTypeExW(id, CT_CTYPE1, &c, 1, &mask) && (mask & m & w32_regex_traits_implementation<wchar_t>::mask_base))
return true; return true;
if((m & w32_regex_traits_implementation<wchar_t>::mask_word) && (c == '_')) if((m & w32_regex_traits_implementation<wchar_t>::mask_word) && (c == '_'))
return true; return true;
@ -629,10 +629,10 @@ BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type idx, boost::uint32_t m,
return false; return false;
} }
#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T #ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type idx, boost::uint32_t m, unsigned short c) BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type id, boost::uint32_t m, unsigned short c)
{ {
WORD mask; WORD mask;
if(::GetStringTypeExW(idx, CT_CTYPE1, (wchar_t const*)&c, 1, &mask) && (mask & m & w32_regex_traits_implementation<wchar_t>::mask_base)) if(::GetStringTypeExW(id, CT_CTYPE1, (wchar_t const*)&c, 1, &mask) && (mask & m & w32_regex_traits_implementation<wchar_t>::mask_base))
return true; return true;
if((m & w32_regex_traits_implementation<wchar_t>::mask_word) && (c == '_')) if((m & w32_regex_traits_implementation<wchar_t>::mask_word) && (c == '_'))
return true; return true;

View File

@ -195,16 +195,16 @@ c_regex_traits<wchar_t>::char_class_type BOOST_REGEX_CALL c_regex_traits<wchar_t
char_class_xdigit, char_class_xdigit,
}; };
int idx = ::boost::re_detail::get_default_class_id(p1, p2); int id = ::boost::re_detail::get_default_class_id(p1, p2);
if(idx < 0) if(id < 0)
{ {
std::wstring s(p1, p2); std::wstring s(p1, p2);
for(std::wstring::size_type i = 0; i < s.size(); ++i) for(std::wstring::size_type i = 0; i < s.size(); ++i)
s[i] = (std::towlower)(s[i]); s[i] = (std::towlower)(s[i]);
idx = ::boost::re_detail::get_default_class_id(&*s.begin(), &*s.begin() + s.size()); id = ::boost::re_detail::get_default_class_id(&*s.begin(), &*s.begin() + s.size());
} }
BOOST_ASSERT(idx+1 < static_cast<int>(sizeof(masks) / sizeof(masks[0]))); BOOST_ASSERT(id+1 < static_cast<int>(sizeof(masks) / sizeof(masks[0])));
return masks[idx+1]; return masks[id+1];
} }
bool BOOST_REGEX_CALL c_regex_traits<wchar_t>::isctype(wchar_t c, char_class_type mask) bool BOOST_REGEX_CALL c_regex_traits<wchar_t>::isctype(wchar_t c, char_class_type mask)

View File

@ -9,15 +9,9 @@ project
<link>shared:<define>BOOST_REGEX_DYN_LINK=1 <link>shared:<define>BOOST_REGEX_DYN_LINK=1
<toolset>msvc-7.1:<define>TEST_MFC=1 <toolset>msvc-7.1:<define>TEST_MFC=1
<toolset>msvc-7.0:<define>TEST_MFC=1 <toolset>msvc-7.0:<define>TEST_MFC=1
<toolset>msvc:<asynch-exceptions>on
# There are unidentified linker problems on these platforms: # There are unidentified linker problems on these platforms:
<toolset>mipspro-7.4:<link>static <toolset>mipspro-7.4:<link>static
<toolset>sun-5.9:<link>static <toolset>sun-5.9:<link>static
<toolset>msvc:<warnings>all
<toolset>gcc:<warnings>all
<toolset>gcc:<cxxflags>-Wextra
<toolset>gcc:<cxxflags>-Wshadow
<define>U_USING_ICU_NAMESPACE=0
; ;
# #
@ -141,4 +135,4 @@ test-suite regex
] ]
; ;
build-project ../example ;

View File

@ -35,7 +35,7 @@ int main()
regex_tA re; regex_tA re;
int result; int result;
result = regcompA(&re, expression, REG_AWK); result = regcompA(&re, expression, REG_AWK);
if(result > (int)REG_NOERROR) if(result > REG_NOERROR)
{ {
char buf[256]; char buf[256];
regerrorA(result, &re, buf, sizeof(buf)); regerrorA(result, &re, buf, sizeof(buf));
@ -46,7 +46,7 @@ int main()
matches[0].rm_so = 0; matches[0].rm_so = 0;
matches[0].rm_eo = strlen(text); matches[0].rm_eo = strlen(text);
result = regexecA(&re, text, 1, matches, REG_NOTBOL | REG_NOTEOL | REG_STARTEND); result = regexecA(&re, text, 1, matches, REG_NOTBOL | REG_NOTEOL | REG_STARTEND);
if(result > (int)REG_NOERROR) if(result > REG_NOERROR)
{ {
char buf[256]; char buf[256];
regerrorA(result, &re, buf, sizeof(buf)); regerrorA(result, &re, buf, sizeof(buf));
@ -54,7 +54,7 @@ int main()
regfreeA(&re); regfreeA(&re);
return result; return result;
} }
assert((matches[0].rm_so == matches[0].rm_eo) && (matches[0].rm_eo == 1)); assert(matches[0].rm_so == matches[0].rm_eo == 1);
regfreeA(&re); regfreeA(&re);
printf("no errors found\n"); printf("no errors found\n");
return 0; return 0;

View File

@ -45,11 +45,11 @@ int main()
char nbuf[256]; char nbuf[256];
int i; int i;
result = regcomp(&re, expression, REG_AWK); result = regcomp(&re, expression, REG_AWK);
if(result > (int)REG_NOERROR) if(result > REG_NOERROR)
{ {
regerror(result, &re, buf, sizeof(buf)); regerror(result, &re, buf, sizeof(buf));
for(i = 0; i < 256; ++i) for(i = 0; i < 256; ++i)
nbuf[i] = (char)(buf[i]); nbuf[i] = buf[i];
printf(nbuf); printf(nbuf);
return result; return result;
} }
@ -61,11 +61,11 @@ int main()
matches[0].rm_so = 0; matches[0].rm_so = 0;
matches[0].rm_eo = wcslen(text); matches[0].rm_eo = wcslen(text);
result = regexec(&re, text, 1, matches, REG_NOTBOL | REG_NOTEOL | REG_STARTEND); result = regexec(&re, text, 1, matches, REG_NOTBOL | REG_NOTEOL | REG_STARTEND);
if(result > (int)REG_NOERROR) if(result > REG_NOERROR)
{ {
regerror(result, &re, buf, sizeof(buf)); regerror(result, &re, buf, sizeof(buf));
for(i = 0; i < 256; ++i) for(i = 0; i < 256; ++i)
nbuf[i] = (char)(buf[i]); nbuf[i] = buf[i];
printf(nbuf); printf(nbuf);
regfree(&re); regfree(&re);
return result; return result;

View File

@ -33,14 +33,9 @@ int* get_array_data();
int error_count = 0; int error_count = 0;
#ifndef TEST_THREADS
#define RUN_TESTS(name) \ #define RUN_TESTS(name) \
std::cout << "Running test case \"" #name "\".\n";\ std::cout << "Running test case \"" #name "\".\n";\
name(); name();
#else
#define RUN_TESTS(name) \
name();
#endif
void run_tests() void run_tests()

View File

@ -132,8 +132,6 @@ void test_conditionals()
TEST_INVALID_REGEX("(?<!*|A)", perl); TEST_INVALID_REGEX("(?<!*|A)", perl);
TEST_INVALID_REGEX("(?<=?|A)", perl); TEST_INVALID_REGEX("(?<=?|A)", perl);
TEST_INVALID_REGEX("(?<=*|\\B)", perl); TEST_INVALID_REGEX("(?<=*|\\B)", perl);
TEST_INVALID_REGEX("(?<!a|bc)de", perl);
TEST_INVALID_REGEX("(?<=a|bc)de", perl);
} }
void test_options() void test_options()
@ -280,8 +278,8 @@ void test_options2()
TEST_REGEX_SEARCH("(?<=^[[:alpha:]]{4})(?:bar|cat)", perl, "aaaacat", match_default, make_array(4, 7, -2, -2)); TEST_REGEX_SEARCH("(?<=^[[:alpha:]]{4})(?:bar|cat)", perl, "aaaacat", match_default, make_array(4, 7, -2, -2));
TEST_REGEX_SEARCH("(?<=^[[:alpha:]]{4})(?:bar|cat)", perl, "aaacat", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("(?<=^[[:alpha:]]{4})(?:bar|cat)", perl, "aaacat", match_default, make_array(-2, -2));
//TEST_REGEX_SEARCH("(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ", perl, "abxyZZ", match_default, make_array(4, 6, -2, -2)); TEST_REGEX_SEARCH("(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ", perl, "abxyZZ", match_default, make_array(4, 6, -2, -2));
//TEST_REGEX_SEARCH("(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ", perl, "abXyZZ", match_default, make_array(4, 6, -2, -2)); TEST_REGEX_SEARCH("(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ", perl, "abXyZZ", match_default, make_array(4, 6, -2, -2));
TEST_REGEX_SEARCH("(?:ab(?i)x(?-i)y|(?i)z|b)ZZ", perl, "ZZZ", match_default, make_array(0, 3, -2, -2)); TEST_REGEX_SEARCH("(?:ab(?i)x(?-i)y|(?i)z|b)ZZ", perl, "ZZZ", match_default, make_array(0, 3, -2, -2));
TEST_REGEX_SEARCH("(?:ab(?i)x(?-i)y|(?i)z|b)ZZ", perl, "zZZ", match_default, make_array(0, 3, -2, -2)); TEST_REGEX_SEARCH("(?:ab(?i)x(?-i)y|(?i)z|b)ZZ", perl, "zZZ", match_default, make_array(0, 3, -2, -2));
TEST_REGEX_SEARCH("(?:ab(?i)x(?-i)y|(?i)z|b)ZZ", perl, "bZZ", match_default, make_array(0, 3, -2, -2)); TEST_REGEX_SEARCH("(?:ab(?i)x(?-i)y|(?i)z|b)ZZ", perl, "bZZ", match_default, make_array(0, 3, -2, -2));
@ -676,15 +674,6 @@ void test_mark_resets()
TEST_REGEX_SEARCH("^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)", perl, "XYabcdY", match_default, make_array(0, 7, 2, 3, 3, 4, -1, -1, -1, -1, 4, 5, 5, 6, 6, 7, -2, -2)); TEST_REGEX_SEARCH("^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)", perl, "XYabcdY", match_default, make_array(0, 7, 2, 3, 3, 4, -1, -1, -1, -1, 4, 5, 5, 6, 6, 7, -2, -2));
TEST_REGEX_SEARCH("^X(?7)(a)(?|(b|(r)(s))|(q))(c)(d)(Y)", perl, "XYabcdY", match_default, make_array(0, 7, 2, 3, 3, 4, -1, -1, -1, -1, 4, 5, 5, 6, 6, 7, -2, -2)); TEST_REGEX_SEARCH("^X(?7)(a)(?|(b|(r)(s))|(q))(c)(d)(Y)", perl, "XYabcdY", match_default, make_array(0, 7, 2, 3, 3, 4, -1, -1, -1, -1, 4, 5, 5, 6, 6, 7, -2, -2));
TEST_REGEX_SEARCH("^X(?7)(a)(?|(b|(?|(r)|(t))(s))|(q))(c)(d)(Y)", perl, "XYabcdY", match_default, make_array(0, 7, 2, 3, 3, 4, -1, -1, -1, -1, 4, 5, 5, 6, 6, 7, -2, -2)); TEST_REGEX_SEARCH("^X(?7)(a)(?|(b|(?|(r)|(t))(s))|(q))(c)(d)(Y)", perl, "XYabcdY", match_default, make_array(0, 7, 2, 3, 3, 4, -1, -1, -1, -1, 4, 5, 5, 6, 6, 7, -2, -2));
TEST_REGEX_SEARCH("(?|(abc)|(?:((?:xyz)))|(123))", perl, "abc", match_default, make_array(0, 3, 0, 3, -2, -2));
TEST_REGEX_SEARCH("(?|(abc)|(?:)((?:)xyz)|(123))", perl, "xyz", match_default, make_array(0, 3, 0, 3, -2, -2));
TEST_REGEX_SEARCH("(?|(abc)|((?:(x)|(y)|(z)))|(123))", perl, "y", match_default, make_array(0, 1, 0, 1, -1, -1, 0, 1, -1, -1, -2, -2));
TEST_REGEX_SEARCH("(?|(abc)|((?|(x)|(y)|(z)))|(123))", perl, "y", match_default, make_array(0, 1, 0, 1, 0, 1, -2, -2));
TEST_REGEX_SEARCH("(?|(abc)|((?|(x)|(y)|(z)))|(123))", perl, "abc", match_default, make_array(0, 3, 0, 3, -1, -1, -2, -2));
TEST_REGEX_SEARCH("(?|(abc)|((?|(x)|(y)|(z)))|(123))", perl, "123", match_default, make_array(0, 3, 0, 3, -1, -1, -2, -2));
TEST_REGEX_SEARCH("(?|(abc)|((x)|(y)|(z))|(123))", perl, "z", match_default, make_array(0, 1, 0, 1, -1, -1, -1, -1, 0, 1, -2, -2));
TEST_REGEX_SEARCH("(?|(abc)|((x)|(y)|(z))|(123))", perl, "abc", match_default, make_array(0, 3, 0, 3, -1, -1, -1, -1, -1, -1, -2, -2));
TEST_REGEX_SEARCH("(?|(abc)|((x)|(y)|(z))|(123))", perl, "123", match_default, make_array(0, 3, 0, 3, -1, -1, -1, -1, -1, -1, -2, -2));
} }
void test_recursion() void test_recursion()

View File

@ -94,7 +94,7 @@ void test(const std::vector< ::boost::uint32_t>& v)
std::copy(u32to16type(v.begin()), u32to16type(v.end()), std::back_inserter(v16)); std::copy(u32to16type(v.begin()), u32to16type(v.end()), std::back_inserter(v16));
#endif #endif
#ifndef BOOST_NO_STD_DISTANCE #ifndef BOOST_NO_STD_DISTANCE
BOOST_CHECK_EQUAL((std::size_t)std::distance(u32to16type(v.begin()), u32to16type(v.end())), v16.size()); BOOST_CHECK_EQUAL(std::distance(u32to16type(v.begin()), u32to16type(v.end())), v16.size());
#endif #endif
#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS) #if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)
v32.assign(u16to32type(v16.begin()), u16to32type(v16.end())); v32.assign(u16to32type(v16.begin()), u16to32type(v16.end()));
@ -103,7 +103,7 @@ void test(const std::vector< ::boost::uint32_t>& v)
std::copy(u16to32type(v16.begin()), u16to32type(v16.end()), std::back_inserter(v32)); std::copy(u16to32type(v16.begin()), u16to32type(v16.end()), std::back_inserter(v32));
#endif #endif
#ifndef BOOST_NO_STD_DISTANCE #ifndef BOOST_NO_STD_DISTANCE
BOOST_CHECK_EQUAL((std::size_t)std::distance(u16to32type(v16.begin()), u16to32type(v16.end())), v32.size()); BOOST_CHECK_EQUAL(std::distance(u16to32type(v16.begin()), u16to32type(v16.end())), v32.size());
#endif #endif
BOOST_CHECK_EQUAL(v.size(), v32.size()); BOOST_CHECK_EQUAL(v.size(), v32.size());
i = v.begin(); i = v.begin();
@ -117,12 +117,12 @@ void test(const std::vector< ::boost::uint32_t>& v)
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_STD_ITERATOR) && !defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_STD_ITERATOR) && !defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)
v16.assign(ru32to16type(u32to16type(v.end())), ru32to16type(u32to16type(v.begin()))); v16.assign(ru32to16type(u32to16type(v.end())), ru32to16type(u32to16type(v.begin())));
#ifndef BOOST_NO_STD_DISTANCE #ifndef BOOST_NO_STD_DISTANCE
BOOST_CHECK_EQUAL((std::size_t)std::distance(ru32to16type(u32to16type(v.end())), ru32to16type(u32to16type(v.begin()))), v16.size()); BOOST_CHECK_EQUAL(std::distance(ru32to16type(u32to16type(v.end())), ru32to16type(u32to16type(v.begin()))), v16.size());
#endif #endif
std::reverse(v16.begin(), v16.end()); std::reverse(v16.begin(), v16.end());
v32.assign(ru16to32type(u16to32type(v16.end())), ru16to32type(u16to32type(v16.begin()))); v32.assign(ru16to32type(u16to32type(v16.end())), ru16to32type(u16to32type(v16.begin())));
#ifndef BOOST_NO_STD_DISTANCE #ifndef BOOST_NO_STD_DISTANCE
BOOST_CHECK_EQUAL((std::size_t)std::distance(ru16to32type(u16to32type(v16.end())), ru16to32type(u16to32type(v16.begin()))), v32.size()); BOOST_CHECK_EQUAL(std::distance(ru16to32type(u16to32type(v16.end())), ru16to32type(u16to32type(v16.begin()))), v32.size());
#endif #endif
BOOST_CHECK_EQUAL(v.size(), v32.size()); BOOST_CHECK_EQUAL(v.size(), v32.size());
std::reverse(v32.begin(), v32.end()); std::reverse(v32.begin(), v32.end());
@ -142,7 +142,7 @@ void test(const std::vector< ::boost::uint32_t>& v)
std::copy(u32to8type(v.begin()), u32to8type(v.end()), std::back_inserter(v8)); std::copy(u32to8type(v.begin()), u32to8type(v.end()), std::back_inserter(v8));
#endif #endif
#ifndef BOOST_NO_STD_DISTANCE #ifndef BOOST_NO_STD_DISTANCE
BOOST_CHECK_EQUAL((std::size_t)std::distance(u32to8type(v.begin()), u32to8type(v.end())), v8.size()); BOOST_CHECK_EQUAL(std::distance(u32to8type(v.begin()), u32to8type(v.end())), v8.size());
#endif #endif
#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS) #if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)
v32.assign(u8to32type(v8.begin()), u8to32type(v8.end())); v32.assign(u8to32type(v8.begin()), u8to32type(v8.end()));
@ -151,7 +151,7 @@ void test(const std::vector< ::boost::uint32_t>& v)
std::copy(u8to32type(v8.begin()), u8to32type(v8.end()), std::back_inserter(v32)); std::copy(u8to32type(v8.begin()), u8to32type(v8.end()), std::back_inserter(v32));
#endif #endif
#ifndef BOOST_NO_STD_DISTANCE #ifndef BOOST_NO_STD_DISTANCE
BOOST_CHECK_EQUAL((std::size_t)std::distance(u8to32type(v8.begin()), u8to32type(v8.end())), v32.size()); BOOST_CHECK_EQUAL(std::distance(u8to32type(v8.begin()), u8to32type(v8.end())), v32.size());
#endif #endif
BOOST_CHECK_EQUAL(v.size(), v32.size()); BOOST_CHECK_EQUAL(v.size(), v32.size());
i = v.begin(); i = v.begin();
@ -165,12 +165,12 @@ void test(const std::vector< ::boost::uint32_t>& v)
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_STD_ITERATOR) && !defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_STD_ITERATOR) && !defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)
v8.assign(ru32to8type(u32to8type(v.end())), ru32to8type(u32to8type(v.begin()))); v8.assign(ru32to8type(u32to8type(v.end())), ru32to8type(u32to8type(v.begin())));
#ifndef BOOST_NO_STD_DISTANCE #ifndef BOOST_NO_STD_DISTANCE
BOOST_CHECK_EQUAL((std::size_t)std::distance(ru32to8type(u32to8type(v.end())), ru32to8type(u32to8type(v.begin()))), v8.size()); BOOST_CHECK_EQUAL(std::distance(ru32to8type(u32to8type(v.end())), ru32to8type(u32to8type(v.begin()))), v8.size());
#endif #endif
std::reverse(v8.begin(), v8.end()); std::reverse(v8.begin(), v8.end());
v32.assign(ru8to32type(u8to32type(v8.end())), ru8to32type(u8to32type(v8.begin()))); v32.assign(ru8to32type(u8to32type(v8.end())), ru8to32type(u8to32type(v8.begin())));
#ifndef BOOST_NO_STD_DISTANCE #ifndef BOOST_NO_STD_DISTANCE
BOOST_CHECK_EQUAL((std::size_t)std::distance(ru8to32type(u8to32type(v8.end())), ru8to32type(u8to32type(v8.begin()))), v32.size()); BOOST_CHECK_EQUAL(std::distance(ru8to32type(u8to32type(v8.end())), ru8to32type(u8to32type(v8.begin()))), v32.size());
#endif #endif
BOOST_CHECK_EQUAL(v.size(), v32.size()); BOOST_CHECK_EQUAL(v.size(), v32.size());
std::reverse(v32.begin(), v32.end()); std::reverse(v32.begin(), v32.end());