diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index 4cfaa478..6a21561d 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -125,12 +125,24 @@ rule check-icu-config ( ) } else { - ECHO WARNING: ICU shared data library not found in path. ; - ECHO HINT: If the regex library fails to link then try again ; - ECHO with the environment variable ICU_LINK set to contain ; - ECHO the linker options required to link to ICU. ; - ECHO Defaulting to look for libicudata ... ; - gICU_DATA_LIB = icudata ; + local os = [ modules.peek : OS ] ; + echo $(os) ; + if $(os) != "DARWIN" + { + ECHO WARNING: ICU shared data library not found in path. ; + ECHO HINT: If the regex library fails to link then try again ; + ECHO with the environment variable ICU_LINK set to contain ; + ECHO the linker options required to link to ICU. ; + } + else + { + ECHO WARNING: ICU shared data library not found in path. ; + ECHO HINT: If the regex library fails to link then try again ; + ECHO with the environment variable ICU_LINK set to contain ; + ECHO the linker options required to link to ICU. ; + ECHO Defaulting to look for libicudata ... ; + gICU_DATA_LIB = icudata ; + } } #End of addition by Tommy Nordgren } @@ -157,7 +169,8 @@ rule check-icu-config ( ) if [ check-icu-config ] { - BOOST_REGEX_ICU_OPTS = "BOOST_HAS_ICU=1" ; + BOOST_REGEX_ICU_OPTS = "freebsd:/usr/local/include" ; + BOOST_REGEX_ICU_OPTS += "BOOST_HAS_ICU=1" ; if $(ICU_PATH) { @@ -183,18 +196,18 @@ if [ check-icu-config ] { if $(gICU_CORE_LIB) { - lib icucore : : $(gICU_CORE_LIB) $(ICU_SEARCH_OPTS) ; + lib icucore : : $(gICU_CORE_LIB) $(ICU_SEARCH_OPTS) shared ; ICU_EXTRA_SOURCE = icucore ; } if $(gICU_IN_LIB) { - lib icuin : : $(gICU_IN_LIB) $(ICU_SEARCH_OPTS) ; + lib icuin : : $(gICU_IN_LIB) $(ICU_SEARCH_OPTS) shared ; ICU_EXTRA_SOURCE += icuin ; } #Added by Tommy Nordgren libicudata must be linked against on Mac OS X if $(gICU_DATA_LIB) { - lib icudata : : $(gICU_DATA_LIB) $(ICU_SEARCH_OPTS) ; + lib icudata : : $(gICU_DATA_LIB) $(ICU_SEARCH_OPTS) shared ; ICU_EXTRA_SOURCE += icudata ; } #End of addition by Tommy Nordgren @@ -232,6 +245,11 @@ lib boost_regex : ../src/$(SOURCES) $(ICU_EXTRA_SOURCE) $(BOOST_REGEX_ICU_OPTS) ; +alias icu_options : $(ICU_EXTRA_SOURCE) : : : $(BOOST_REGEX_ICU_OPTS) ; + +boost-install boost_regex ; + + diff --git a/build/bcb6.mak b/build/bcb6.mak index 1ccae618..12526451 100644 --- a/build/bcb6.mak +++ b/build/bcb6.mak @@ -39,7 +39,7 @@ BCROOT=$(MAKEDIR)\.. !endif -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : bcb bcb\libboost_regex-bcb-s-1_35 bcb\libboost_regex-bcb-s-1_35.lib bcb\libboost_regex-bcb-mt-s-1_35 bcb\libboost_regex-bcb-mt-s-1_35.lib bcb\boost_regex-bcb-mt-1_35 bcb\boost_regex-bcb-mt-1_35.lib bcb\boost_regex-bcb-1_35 bcb\boost_regex-bcb-1_35.lib bcb\libboost_regex-bcb-mt-1_35 bcb\libboost_regex-bcb-mt-1_35.lib bcb\libboost_regex-bcb-1_35 bcb\libboost_regex-bcb-1_35.lib bcb\libboost_regex-bcb-sd-1_35 bcb\libboost_regex-bcb-sd-1_35.lib bcb\libboost_regex-bcb-mt-sd-1_35 bcb\libboost_regex-bcb-mt-sd-1_35.lib bcb\boost_regex-bcb-mt-d-1_35 bcb\boost_regex-bcb-mt-d-1_35.lib bcb\boost_regex-bcb-d-1_35 bcb\boost_regex-bcb-d-1_35.lib bcb\libboost_regex-bcb-mt-d-1_35 bcb\libboost_regex-bcb-mt-d-1_35.lib bcb\libboost_regex-bcb-d-1_35 bcb\libboost_regex-bcb-d-1_35.lib diff --git a/build/common.sh b/build/common.sh index 9812798c..b6053d04 100644 --- a/build/common.sh +++ b/build/common.sh @@ -6,7 +6,11 @@ # locate all the header dependencies: for file in ../../../boost/regex/*.hpp ; do if [ -f $file ]; then - header="$header $file" + if [ $file != ../../../boost/regex/concepts.hpp ]; then + if [ $file != ../../../boost/regex/mfc.hpp ]; then + header="$header $file" + fi + fi fi done @@ -58,3 +62,5 @@ boost_version=$(grep 'define.*BOOST_LIB_VERSION' ../../../boost/version.hpp | se echo Boost version tag = $boost_version + + diff --git a/build/gcc-shared.mak b/build/gcc-shared.mak index ea2a76f3..7aca2a0d 100644 --- a/build/gcc-shared.mak +++ b/build/gcc-shared.mak @@ -1,3 +1,7 @@ +# copyright John Maddock 2006-7 +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt. # # auto generated makefile for gcc compiler # @@ -41,7 +45,7 @@ $(warning "Building Boost.Regex with ICU in $(ICU_PATH)") endif -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : gcc gcc gcc/boost_regex-gcc-1_35_shared ./gcc/libboost_regex-gcc-1_35.so gcc gcc/boost_regex-gcc-d-1_35_shared ./gcc/libboost_regex-gcc-d-1_35.so @@ -184,3 +188,4 @@ boost_regex-gcc-d-1_35_clean : ./gcc/libboost_regex-gcc-d-1_35.so : gcc/boost_regex-gcc-d-1_35_shared/c_regex_traits.o gcc/boost_regex-gcc-d-1_35_shared/cpp_regex_traits.o gcc/boost_regex-gcc-d-1_35_shared/cregex.o gcc/boost_regex-gcc-d-1_35_shared/fileiter.o gcc/boost_regex-gcc-d-1_35_shared/icu.o gcc/boost_regex-gcc-d-1_35_shared/instances.o gcc/boost_regex-gcc-d-1_35_shared/posix_api.o gcc/boost_regex-gcc-d-1_35_shared/regex.o gcc/boost_regex-gcc-d-1_35_shared/regex_debug.o gcc/boost_regex-gcc-d-1_35_shared/regex_raw_buffer.o gcc/boost_regex-gcc-d-1_35_shared/regex_traits_defaults.o gcc/boost_regex-gcc-d-1_35_shared/static_mutex.o gcc/boost_regex-gcc-d-1_35_shared/usinstances.o gcc/boost_regex-gcc-d-1_35_shared/w32_regex_traits.o gcc/boost_regex-gcc-d-1_35_shared/wc_regex_traits.o gcc/boost_regex-gcc-d-1_35_shared/wide_posix_api.o gcc/boost_regex-gcc-d-1_35_shared/winstances.o $(LINKER) -o gcc/libboost_regex-gcc-d-1_35.so $(LDFLAGS) $(ICU_LDFLAGS) gcc/boost_regex-gcc-d-1_35_shared/c_regex_traits.o gcc/boost_regex-gcc-d-1_35_shared/cpp_regex_traits.o gcc/boost_regex-gcc-d-1_35_shared/cregex.o gcc/boost_regex-gcc-d-1_35_shared/fileiter.o gcc/boost_regex-gcc-d-1_35_shared/icu.o gcc/boost_regex-gcc-d-1_35_shared/instances.o gcc/boost_regex-gcc-d-1_35_shared/posix_api.o gcc/boost_regex-gcc-d-1_35_shared/regex.o gcc/boost_regex-gcc-d-1_35_shared/regex_debug.o gcc/boost_regex-gcc-d-1_35_shared/regex_raw_buffer.o gcc/boost_regex-gcc-d-1_35_shared/regex_traits_defaults.o gcc/boost_regex-gcc-d-1_35_shared/static_mutex.o gcc/boost_regex-gcc-d-1_35_shared/usinstances.o gcc/boost_regex-gcc-d-1_35_shared/w32_regex_traits.o gcc/boost_regex-gcc-d-1_35_shared/wc_regex_traits.o gcc/boost_regex-gcc-d-1_35_shared/wide_posix_api.o gcc/boost_regex-gcc-d-1_35_shared/winstances.o $(ICU_LIBS) $(LIBS) + diff --git a/build/gcc.mak b/build/gcc.mak index 7dd4f9da..715a02ca 100644 --- a/build/gcc.mak +++ b/build/gcc.mak @@ -1,4 +1,4 @@ -# copyright John Maddock 2006 +# copyright John Maddock 2006-7 # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt. @@ -45,7 +45,7 @@ $(warning "Building Boost.Regex with ICU in $(ICU_PATH)") endif -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : gcc gcc gcc/boost_regex-gcc-1_35 ./gcc/libboost_regex-gcc-1_35.a gcc gcc/boost_regex-gcc-d-1_35 ./gcc/libboost_regex-gcc-d-1_35.a @@ -190,3 +190,4 @@ boost_regex-gcc-d-1_35_clean : ar -r gcc/libboost_regex-gcc-d-1_35.a gcc/boost_regex-gcc-d-1_35/c_regex_traits.o gcc/boost_regex-gcc-d-1_35/cpp_regex_traits.o gcc/boost_regex-gcc-d-1_35/cregex.o gcc/boost_regex-gcc-d-1_35/fileiter.o gcc/boost_regex-gcc-d-1_35/icu.o gcc/boost_regex-gcc-d-1_35/instances.o gcc/boost_regex-gcc-d-1_35/posix_api.o gcc/boost_regex-gcc-d-1_35/regex.o gcc/boost_regex-gcc-d-1_35/regex_debug.o gcc/boost_regex-gcc-d-1_35/regex_raw_buffer.o gcc/boost_regex-gcc-d-1_35/regex_traits_defaults.o gcc/boost_regex-gcc-d-1_35/static_mutex.o gcc/boost_regex-gcc-d-1_35/usinstances.o gcc/boost_regex-gcc-d-1_35/w32_regex_traits.o gcc/boost_regex-gcc-d-1_35/wc_regex_traits.o gcc/boost_regex-gcc-d-1_35/wide_posix_api.o gcc/boost_regex-gcc-d-1_35/winstances.o -ar -s gcc/libboost_regex-gcc-d-1_35.a + diff --git a/build/gcc_gen.sh b/build/gcc_gen.sh index 9492e8ec..2c9ece45 100644 --- a/build/gcc_gen.sh +++ b/build/gcc_gen.sh @@ -108,7 +108,7 @@ function gcc_gen() cat > $out << EOF -# copyright John Maddock 2006 +# copyright John Maddock 2006-7 # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt. @@ -192,6 +192,10 @@ function gcc_gen_shared() cat > $out << EOF +# copyright John Maddock 2006-7 +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt. # # auto generated makefile for gcc compiler # @@ -271,3 +275,4 @@ rm -f $tout $iout + diff --git a/build/generic.mak b/build/generic.mak index ebd8ae19..4ef093cc 100644 --- a/build/generic.mak +++ b/build/generic.mak @@ -30,7 +30,7 @@ C1=-c -O2 -I../../../ -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : $(DIRNAME) $(DIRNAME) $(DIRNAME)/boost_regex ./$(DIRNAME)/libboost_regex.so diff --git a/build/sunpro.mak b/build/sunpro.mak index bb2e82f1..2fd0232d 100644 --- a/build/sunpro.mak +++ b/build/sunpro.mak @@ -38,7 +38,7 @@ SUNWS_CACHE_NAME=SunWS_cache -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : sunpro sunpro/libboost_regex$(LIBSUFFIX) sunpro/libboost_regex$(LIBSUFFIX).a sunpro/libboost_regex_mt$(LIBSUFFIX) sunpro/libboost_regex_mt$(LIBSUFFIX).a sunpro/shared_libboost_regex$(LIBSUFFIX) sunpro/libboost_regex$(LIBSUFFIX).so sunpro/shared_libboost_regex_mt$(LIBSUFFIX) sunpro/libboost_regex_mt$(LIBSUFFIX).so diff --git a/build/vc6-stlport.mak b/build/vc6-stlport.mak index 3a51dde4..7c37ac58 100644 --- a/build/vc6-stlport.mak +++ b/build/vc6-stlport.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc6-mt-sp-1_35_dir ./vc6-stlport/libboost_regex-vc6-mt-sp-1_35.lib boost_regex-vc6-mt-p-1_35_dir ./vc6-stlport/boost_regex-vc6-mt-p-1_35.lib libboost_regex-vc6-mt-p-1_35_dir ./vc6-stlport/libboost_regex-vc6-mt-p-1_35.lib boost_regex-vc6-mt-gdp-1_35_dir ./vc6-stlport/boost_regex-vc6-mt-gdp-1_35.lib libboost_regex-vc6-mt-sgdp-1_35_dir ./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_35.lib libboost_regex-vc6-mt-gdp-1_35_dir ./vc6-stlport/libboost_regex-vc6-mt-gdp-1_35.lib @@ -220,7 +220,7 @@ boost_regex-vc6-mt-p-1_35_clean : del vc6-stlport\boost_regex-vc6-mt-p-1_35\*.pch ./vc6-stlport/boost_regex-vc6-mt-p-1_35.lib : vc6-stlport/boost_regex-vc6-mt-p-1_35/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/cpp_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/cregex.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/fileiter.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/icu.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/instances.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/posix_api.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex_debug.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex_raw_buffer.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex_traits_defaults.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/static_mutex.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/usinstances.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/w32_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/wc_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/wide_posix_api.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6-stlport/boost_regex-vc6-mt-p-1_35.pdb" /debug /machine:I386 /out:"vc6-stlport/boost_regex-vc6-mt-p-1_35.dll" /implib:"vc6-stlport/boost_regex-vc6-mt-p-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc6-stlport/boost_regex-vc6-mt-p-1_35/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/cpp_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/cregex.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/fileiter.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/icu.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/instances.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/posix_api.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex_debug.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex_raw_buffer.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex_traits_defaults.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/static_mutex.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/usinstances.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/w32_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/wc_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/wide_posix_api.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc6-stlport/boost_regex-vc6-mt-p-1_35.pdb" /debug /machine:I386 /out:"vc6-stlport/boost_regex-vc6-mt-p-1_35.dll" /implib:"vc6-stlport/boost_regex-vc6-mt-p-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc6-stlport/boost_regex-vc6-mt-p-1_35/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/cpp_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/cregex.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/fileiter.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/icu.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/instances.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/posix_api.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex_debug.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex_raw_buffer.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/regex_traits_defaults.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/static_mutex.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/usinstances.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/w32_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/wc_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/wide_posix_api.obj vc6-stlport/boost_regex-vc6-mt-p-1_35/winstances.obj ######################################################## # @@ -356,7 +356,7 @@ boost_regex-vc6-mt-gdp-1_35_clean : del vc6-stlport\boost_regex-vc6-mt-gdp-1_35\*.pch ./vc6-stlport/boost_regex-vc6-mt-gdp-1_35.lib : vc6-stlport/boost_regex-vc6-mt-gdp-1_35/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/cpp_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/cregex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/fileiter.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/icu.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/instances.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/posix_api.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex_debug.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex_raw_buffer.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex_traits_defaults.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/static_mutex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/usinstances.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/w32_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/wc_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/wide_posix_api.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6-stlport/boost_regex-vc6-mt-gdp-1_35.pdb" /debug /machine:I386 /out:"vc6-stlport/boost_regex-vc6-mt-gdp-1_35.dll" /implib:"vc6-stlport/boost_regex-vc6-mt-gdp-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc6-stlport/boost_regex-vc6-mt-gdp-1_35/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/cpp_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/cregex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/fileiter.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/icu.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/instances.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/posix_api.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex_debug.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex_raw_buffer.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex_traits_defaults.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/static_mutex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/usinstances.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/w32_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/wc_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/wide_posix_api.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc6-stlport/boost_regex-vc6-mt-gdp-1_35.pdb" /debug /machine:I386 /out:"vc6-stlport/boost_regex-vc6-mt-gdp-1_35.dll" /implib:"vc6-stlport/boost_regex-vc6-mt-gdp-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc6-stlport/boost_regex-vc6-mt-gdp-1_35/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/cpp_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/cregex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/fileiter.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/icu.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/instances.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/posix_api.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex_debug.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex_raw_buffer.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/regex_traits_defaults.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/static_mutex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/usinstances.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/w32_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/wc_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/wide_posix_api.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_35/winstances.obj ######################################################## # diff --git a/build/vc6.mak b/build/vc6.mak index 849d9870..398f99e5 100644 --- a/build/vc6.mak +++ b/build/vc6.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc6-s-1_35_dir ./vc6/libboost_regex-vc6-s-1_35.lib libboost_regex-vc6-mt-s-1_35_dir ./vc6/libboost_regex-vc6-mt-s-1_35.lib libboost_regex-vc6-sgd-1_35_dir ./vc6/libboost_regex-vc6-sgd-1_35.lib libboost_regex-vc6-mt-sgd-1_35_dir ./vc6/libboost_regex-vc6-mt-sgd-1_35.lib boost_regex-vc6-mt-gd-1_35_dir ./vc6/boost_regex-vc6-mt-gd-1_35.lib boost_regex-vc6-mt-1_35_dir ./vc6/boost_regex-vc6-mt-1_35.lib libboost_regex-vc6-mt-1_35_dir ./vc6/libboost_regex-vc6-mt-1_35.lib libboost_regex-vc6-mt-gd-1_35_dir ./vc6/libboost_regex-vc6-mt-gd-1_35.lib @@ -424,7 +424,7 @@ boost_regex-vc6-mt-gd-1_35_clean : del vc6\boost_regex-vc6-mt-gd-1_35\*.pch ./vc6/boost_regex-vc6-mt-gd-1_35.lib : vc6/boost_regex-vc6-mt-gd-1_35/c_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/cregex.obj vc6/boost_regex-vc6-mt-gd-1_35/fileiter.obj vc6/boost_regex-vc6-mt-gd-1_35/icu.obj vc6/boost_regex-vc6-mt-gd-1_35/instances.obj vc6/boost_regex-vc6-mt-gd-1_35/posix_api.obj vc6/boost_regex-vc6-mt-gd-1_35/regex.obj vc6/boost_regex-vc6-mt-gd-1_35/regex_debug.obj vc6/boost_regex-vc6-mt-gd-1_35/regex_raw_buffer.obj vc6/boost_regex-vc6-mt-gd-1_35/regex_traits_defaults.obj vc6/boost_regex-vc6-mt-gd-1_35/static_mutex.obj vc6/boost_regex-vc6-mt-gd-1_35/usinstances.obj vc6/boost_regex-vc6-mt-gd-1_35/w32_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/wc_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/wide_posix_api.obj vc6/boost_regex-vc6-mt-gd-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6/boost_regex-vc6-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc6/boost_regex-vc6-mt-gd-1_35.dll" /implib:"vc6/boost_regex-vc6-mt-gd-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc6/boost_regex-vc6-mt-gd-1_35/c_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/cregex.obj vc6/boost_regex-vc6-mt-gd-1_35/fileiter.obj vc6/boost_regex-vc6-mt-gd-1_35/icu.obj vc6/boost_regex-vc6-mt-gd-1_35/instances.obj vc6/boost_regex-vc6-mt-gd-1_35/posix_api.obj vc6/boost_regex-vc6-mt-gd-1_35/regex.obj vc6/boost_regex-vc6-mt-gd-1_35/regex_debug.obj vc6/boost_regex-vc6-mt-gd-1_35/regex_raw_buffer.obj vc6/boost_regex-vc6-mt-gd-1_35/regex_traits_defaults.obj vc6/boost_regex-vc6-mt-gd-1_35/static_mutex.obj vc6/boost_regex-vc6-mt-gd-1_35/usinstances.obj vc6/boost_regex-vc6-mt-gd-1_35/w32_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/wc_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/wide_posix_api.obj vc6/boost_regex-vc6-mt-gd-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc6/boost_regex-vc6-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc6/boost_regex-vc6-mt-gd-1_35.dll" /implib:"vc6/boost_regex-vc6-mt-gd-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc6/boost_regex-vc6-mt-gd-1_35/c_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/cregex.obj vc6/boost_regex-vc6-mt-gd-1_35/fileiter.obj vc6/boost_regex-vc6-mt-gd-1_35/icu.obj vc6/boost_regex-vc6-mt-gd-1_35/instances.obj vc6/boost_regex-vc6-mt-gd-1_35/posix_api.obj vc6/boost_regex-vc6-mt-gd-1_35/regex.obj vc6/boost_regex-vc6-mt-gd-1_35/regex_debug.obj vc6/boost_regex-vc6-mt-gd-1_35/regex_raw_buffer.obj vc6/boost_regex-vc6-mt-gd-1_35/regex_traits_defaults.obj vc6/boost_regex-vc6-mt-gd-1_35/static_mutex.obj vc6/boost_regex-vc6-mt-gd-1_35/usinstances.obj vc6/boost_regex-vc6-mt-gd-1_35/w32_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/wc_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_35/wide_posix_api.obj vc6/boost_regex-vc6-mt-gd-1_35/winstances.obj ######################################################## # @@ -492,7 +492,7 @@ boost_regex-vc6-mt-1_35_clean : del vc6\boost_regex-vc6-mt-1_35\*.pch ./vc6/boost_regex-vc6-mt-1_35.lib : vc6/boost_regex-vc6-mt-1_35/c_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/cregex.obj vc6/boost_regex-vc6-mt-1_35/fileiter.obj vc6/boost_regex-vc6-mt-1_35/icu.obj vc6/boost_regex-vc6-mt-1_35/instances.obj vc6/boost_regex-vc6-mt-1_35/posix_api.obj vc6/boost_regex-vc6-mt-1_35/regex.obj vc6/boost_regex-vc6-mt-1_35/regex_debug.obj vc6/boost_regex-vc6-mt-1_35/regex_raw_buffer.obj vc6/boost_regex-vc6-mt-1_35/regex_traits_defaults.obj vc6/boost_regex-vc6-mt-1_35/static_mutex.obj vc6/boost_regex-vc6-mt-1_35/usinstances.obj vc6/boost_regex-vc6-mt-1_35/w32_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/wc_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/wide_posix_api.obj vc6/boost_regex-vc6-mt-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6/boost_regex-vc6-mt-1_35.pdb" /debug /machine:I386 /out:"vc6/boost_regex-vc6-mt-1_35.dll" /implib:"vc6/boost_regex-vc6-mt-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc6/boost_regex-vc6-mt-1_35/c_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/cregex.obj vc6/boost_regex-vc6-mt-1_35/fileiter.obj vc6/boost_regex-vc6-mt-1_35/icu.obj vc6/boost_regex-vc6-mt-1_35/instances.obj vc6/boost_regex-vc6-mt-1_35/posix_api.obj vc6/boost_regex-vc6-mt-1_35/regex.obj vc6/boost_regex-vc6-mt-1_35/regex_debug.obj vc6/boost_regex-vc6-mt-1_35/regex_raw_buffer.obj vc6/boost_regex-vc6-mt-1_35/regex_traits_defaults.obj vc6/boost_regex-vc6-mt-1_35/static_mutex.obj vc6/boost_regex-vc6-mt-1_35/usinstances.obj vc6/boost_regex-vc6-mt-1_35/w32_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/wc_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/wide_posix_api.obj vc6/boost_regex-vc6-mt-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc6/boost_regex-vc6-mt-1_35.pdb" /debug /machine:I386 /out:"vc6/boost_regex-vc6-mt-1_35.dll" /implib:"vc6/boost_regex-vc6-mt-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc6/boost_regex-vc6-mt-1_35/c_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/cregex.obj vc6/boost_regex-vc6-mt-1_35/fileiter.obj vc6/boost_regex-vc6-mt-1_35/icu.obj vc6/boost_regex-vc6-mt-1_35/instances.obj vc6/boost_regex-vc6-mt-1_35/posix_api.obj vc6/boost_regex-vc6-mt-1_35/regex.obj vc6/boost_regex-vc6-mt-1_35/regex_debug.obj vc6/boost_regex-vc6-mt-1_35/regex_raw_buffer.obj vc6/boost_regex-vc6-mt-1_35/regex_traits_defaults.obj vc6/boost_regex-vc6-mt-1_35/static_mutex.obj vc6/boost_regex-vc6-mt-1_35/usinstances.obj vc6/boost_regex-vc6-mt-1_35/w32_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/wc_regex_traits.obj vc6/boost_regex-vc6-mt-1_35/wide_posix_api.obj vc6/boost_regex-vc6-mt-1_35/winstances.obj ######################################################## # diff --git a/build/vc7-stlport.mak b/build/vc7-stlport.mak index 74285b14..967b9a7c 100644 --- a/build/vc7-stlport.mak +++ b/build/vc7-stlport.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc7-mt-sp-1_35_dir ./vc7-stlport/libboost_regex-vc7-mt-sp-1_35.lib boost_regex-vc7-mt-p-1_35_dir ./vc7-stlport/boost_regex-vc7-mt-p-1_35.lib libboost_regex-vc7-mt-p-1_35_dir ./vc7-stlport/libboost_regex-vc7-mt-p-1_35.lib boost_regex-vc7-mt-gdp-1_35_dir ./vc7-stlport/boost_regex-vc7-mt-gdp-1_35.lib libboost_regex-vc7-mt-sgdp-1_35_dir ./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_35.lib libboost_regex-vc7-mt-gdp-1_35_dir ./vc7-stlport/libboost_regex-vc7-mt-gdp-1_35.lib @@ -220,7 +220,7 @@ boost_regex-vc7-mt-p-1_35_clean : del vc7-stlport\boost_regex-vc7-mt-p-1_35\*.pch ./vc7-stlport/boost_regex-vc7-mt-p-1_35.lib : vc7-stlport/boost_regex-vc7-mt-p-1_35/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/cpp_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/cregex.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/fileiter.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/icu.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/instances.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/posix_api.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex_debug.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex_raw_buffer.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex_traits_defaults.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/static_mutex.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/usinstances.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/w32_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/wc_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/wide_posix_api.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/boost_regex-vc7-mt-p-1_35.pdb" /debug /machine:I386 /out:"vc7-stlport/boost_regex-vc7-mt-p-1_35.dll" /implib:"vc7-stlport/boost_regex-vc7-mt-p-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc7-stlport/boost_regex-vc7-mt-p-1_35/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/cpp_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/cregex.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/fileiter.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/icu.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/instances.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/posix_api.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex_debug.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex_raw_buffer.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex_traits_defaults.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/static_mutex.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/usinstances.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/w32_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/wc_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/wide_posix_api.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/boost_regex-vc7-mt-p-1_35.pdb" /debug /machine:I386 /out:"vc7-stlport/boost_regex-vc7-mt-p-1_35.dll" /implib:"vc7-stlport/boost_regex-vc7-mt-p-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc7-stlport/boost_regex-vc7-mt-p-1_35/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/cpp_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/cregex.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/fileiter.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/icu.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/instances.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/posix_api.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex_debug.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex_raw_buffer.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/regex_traits_defaults.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/static_mutex.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/usinstances.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/w32_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/wc_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/wide_posix_api.obj vc7-stlport/boost_regex-vc7-mt-p-1_35/winstances.obj ######################################################## # @@ -356,7 +356,7 @@ boost_regex-vc7-mt-gdp-1_35_clean : del vc7-stlport\boost_regex-vc7-mt-gdp-1_35\*.pch ./vc7-stlport/boost_regex-vc7-mt-gdp-1_35.lib : vc7-stlport/boost_regex-vc7-mt-gdp-1_35/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/cpp_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/cregex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/fileiter.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/icu.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/instances.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/posix_api.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex_debug.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex_raw_buffer.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex_traits_defaults.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/static_mutex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/usinstances.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/w32_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/wc_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/wide_posix_api.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/boost_regex-vc7-mt-gdp-1_35.pdb" /debug /machine:I386 /out:"vc7-stlport/boost_regex-vc7-mt-gdp-1_35.dll" /implib:"vc7-stlport/boost_regex-vc7-mt-gdp-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc7-stlport/boost_regex-vc7-mt-gdp-1_35/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/cpp_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/cregex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/fileiter.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/icu.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/instances.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/posix_api.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex_debug.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex_raw_buffer.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex_traits_defaults.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/static_mutex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/usinstances.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/w32_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/wc_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/wide_posix_api.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/boost_regex-vc7-mt-gdp-1_35.pdb" /debug /machine:I386 /out:"vc7-stlport/boost_regex-vc7-mt-gdp-1_35.dll" /implib:"vc7-stlport/boost_regex-vc7-mt-gdp-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc7-stlport/boost_regex-vc7-mt-gdp-1_35/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/cpp_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/cregex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/fileiter.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/icu.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/instances.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/posix_api.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex_debug.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex_raw_buffer.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/regex_traits_defaults.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/static_mutex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/usinstances.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/w32_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/wc_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/wide_posix_api.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_35/winstances.obj ######################################################## # diff --git a/build/vc7.mak b/build/vc7.mak index aabf0098..a5e9984c 100644 --- a/build/vc7.mak +++ b/build/vc7.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc7-s-1_35_dir ./vc7/libboost_regex-vc7-s-1_35.lib libboost_regex-vc7-mt-s-1_35_dir ./vc7/libboost_regex-vc7-mt-s-1_35.lib libboost_regex-vc7-sgd-1_35_dir ./vc7/libboost_regex-vc7-sgd-1_35.lib libboost_regex-vc7-mt-sgd-1_35_dir ./vc7/libboost_regex-vc7-mt-sgd-1_35.lib boost_regex-vc7-mt-gd-1_35_dir ./vc7/boost_regex-vc7-mt-gd-1_35.lib boost_regex-vc7-mt-1_35_dir ./vc7/boost_regex-vc7-mt-1_35.lib libboost_regex-vc7-mt-1_35_dir ./vc7/libboost_regex-vc7-mt-1_35.lib libboost_regex-vc7-mt-gd-1_35_dir ./vc7/libboost_regex-vc7-mt-gd-1_35.lib @@ -424,7 +424,7 @@ boost_regex-vc7-mt-gd-1_35_clean : del vc7\boost_regex-vc7-mt-gd-1_35\*.pch ./vc7/boost_regex-vc7-mt-gd-1_35.lib : vc7/boost_regex-vc7-mt-gd-1_35/c_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/cregex.obj vc7/boost_regex-vc7-mt-gd-1_35/fileiter.obj vc7/boost_regex-vc7-mt-gd-1_35/icu.obj vc7/boost_regex-vc7-mt-gd-1_35/instances.obj vc7/boost_regex-vc7-mt-gd-1_35/posix_api.obj vc7/boost_regex-vc7-mt-gd-1_35/regex.obj vc7/boost_regex-vc7-mt-gd-1_35/regex_debug.obj vc7/boost_regex-vc7-mt-gd-1_35/regex_raw_buffer.obj vc7/boost_regex-vc7-mt-gd-1_35/regex_traits_defaults.obj vc7/boost_regex-vc7-mt-gd-1_35/static_mutex.obj vc7/boost_regex-vc7-mt-gd-1_35/usinstances.obj vc7/boost_regex-vc7-mt-gd-1_35/w32_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/wc_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/wide_posix_api.obj vc7/boost_regex-vc7-mt-gd-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7/boost_regex-vc7-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc7/boost_regex-vc7-mt-gd-1_35.dll" /implib:"vc7/boost_regex-vc7-mt-gd-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc7/boost_regex-vc7-mt-gd-1_35/c_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/cregex.obj vc7/boost_regex-vc7-mt-gd-1_35/fileiter.obj vc7/boost_regex-vc7-mt-gd-1_35/icu.obj vc7/boost_regex-vc7-mt-gd-1_35/instances.obj vc7/boost_regex-vc7-mt-gd-1_35/posix_api.obj vc7/boost_regex-vc7-mt-gd-1_35/regex.obj vc7/boost_regex-vc7-mt-gd-1_35/regex_debug.obj vc7/boost_regex-vc7-mt-gd-1_35/regex_raw_buffer.obj vc7/boost_regex-vc7-mt-gd-1_35/regex_traits_defaults.obj vc7/boost_regex-vc7-mt-gd-1_35/static_mutex.obj vc7/boost_regex-vc7-mt-gd-1_35/usinstances.obj vc7/boost_regex-vc7-mt-gd-1_35/w32_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/wc_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/wide_posix_api.obj vc7/boost_regex-vc7-mt-gd-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc7/boost_regex-vc7-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc7/boost_regex-vc7-mt-gd-1_35.dll" /implib:"vc7/boost_regex-vc7-mt-gd-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc7/boost_regex-vc7-mt-gd-1_35/c_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/cregex.obj vc7/boost_regex-vc7-mt-gd-1_35/fileiter.obj vc7/boost_regex-vc7-mt-gd-1_35/icu.obj vc7/boost_regex-vc7-mt-gd-1_35/instances.obj vc7/boost_regex-vc7-mt-gd-1_35/posix_api.obj vc7/boost_regex-vc7-mt-gd-1_35/regex.obj vc7/boost_regex-vc7-mt-gd-1_35/regex_debug.obj vc7/boost_regex-vc7-mt-gd-1_35/regex_raw_buffer.obj vc7/boost_regex-vc7-mt-gd-1_35/regex_traits_defaults.obj vc7/boost_regex-vc7-mt-gd-1_35/static_mutex.obj vc7/boost_regex-vc7-mt-gd-1_35/usinstances.obj vc7/boost_regex-vc7-mt-gd-1_35/w32_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/wc_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_35/wide_posix_api.obj vc7/boost_regex-vc7-mt-gd-1_35/winstances.obj ######################################################## # @@ -492,7 +492,7 @@ boost_regex-vc7-mt-1_35_clean : del vc7\boost_regex-vc7-mt-1_35\*.pch ./vc7/boost_regex-vc7-mt-1_35.lib : vc7/boost_regex-vc7-mt-1_35/c_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/cregex.obj vc7/boost_regex-vc7-mt-1_35/fileiter.obj vc7/boost_regex-vc7-mt-1_35/icu.obj vc7/boost_regex-vc7-mt-1_35/instances.obj vc7/boost_regex-vc7-mt-1_35/posix_api.obj vc7/boost_regex-vc7-mt-1_35/regex.obj vc7/boost_regex-vc7-mt-1_35/regex_debug.obj vc7/boost_regex-vc7-mt-1_35/regex_raw_buffer.obj vc7/boost_regex-vc7-mt-1_35/regex_traits_defaults.obj vc7/boost_regex-vc7-mt-1_35/static_mutex.obj vc7/boost_regex-vc7-mt-1_35/usinstances.obj vc7/boost_regex-vc7-mt-1_35/w32_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/wc_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/wide_posix_api.obj vc7/boost_regex-vc7-mt-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7/boost_regex-vc7-mt-1_35.pdb" /debug /machine:I386 /out:"vc7/boost_regex-vc7-mt-1_35.dll" /implib:"vc7/boost_regex-vc7-mt-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc7/boost_regex-vc7-mt-1_35/c_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/cregex.obj vc7/boost_regex-vc7-mt-1_35/fileiter.obj vc7/boost_regex-vc7-mt-1_35/icu.obj vc7/boost_regex-vc7-mt-1_35/instances.obj vc7/boost_regex-vc7-mt-1_35/posix_api.obj vc7/boost_regex-vc7-mt-1_35/regex.obj vc7/boost_regex-vc7-mt-1_35/regex_debug.obj vc7/boost_regex-vc7-mt-1_35/regex_raw_buffer.obj vc7/boost_regex-vc7-mt-1_35/regex_traits_defaults.obj vc7/boost_regex-vc7-mt-1_35/static_mutex.obj vc7/boost_regex-vc7-mt-1_35/usinstances.obj vc7/boost_regex-vc7-mt-1_35/w32_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/wc_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/wide_posix_api.obj vc7/boost_regex-vc7-mt-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc7/boost_regex-vc7-mt-1_35.pdb" /debug /machine:I386 /out:"vc7/boost_regex-vc7-mt-1_35.dll" /implib:"vc7/boost_regex-vc7-mt-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc7/boost_regex-vc7-mt-1_35/c_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/cregex.obj vc7/boost_regex-vc7-mt-1_35/fileiter.obj vc7/boost_regex-vc7-mt-1_35/icu.obj vc7/boost_regex-vc7-mt-1_35/instances.obj vc7/boost_regex-vc7-mt-1_35/posix_api.obj vc7/boost_regex-vc7-mt-1_35/regex.obj vc7/boost_regex-vc7-mt-1_35/regex_debug.obj vc7/boost_regex-vc7-mt-1_35/regex_raw_buffer.obj vc7/boost_regex-vc7-mt-1_35/regex_traits_defaults.obj vc7/boost_regex-vc7-mt-1_35/static_mutex.obj vc7/boost_regex-vc7-mt-1_35/usinstances.obj vc7/boost_regex-vc7-mt-1_35/w32_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/wc_regex_traits.obj vc7/boost_regex-vc7-mt-1_35/wide_posix_api.obj vc7/boost_regex-vc7-mt-1_35/winstances.obj ######################################################## # diff --git a/build/vc71-stlport.mak b/build/vc71-stlport.mak index aa2743cc..264b449c 100644 --- a/build/vc71-stlport.mak +++ b/build/vc71-stlport.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc71-mt-sp-1_35_dir ./vc71-stlport/libboost_regex-vc71-mt-sp-1_35.lib boost_regex-vc71-mt-p-1_35_dir ./vc71-stlport/boost_regex-vc71-mt-p-1_35.lib libboost_regex-vc71-mt-p-1_35_dir ./vc71-stlport/libboost_regex-vc71-mt-p-1_35.lib boost_regex-vc71-mt-gdp-1_35_dir ./vc71-stlport/boost_regex-vc71-mt-gdp-1_35.lib libboost_regex-vc71-mt-sgdp-1_35_dir ./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_35.lib libboost_regex-vc71-mt-gdp-1_35_dir ./vc71-stlport/libboost_regex-vc71-mt-gdp-1_35.lib @@ -220,7 +220,7 @@ boost_regex-vc71-mt-p-1_35_clean : del vc71-stlport\boost_regex-vc71-mt-p-1_35\*.pch ./vc71-stlport/boost_regex-vc71-mt-p-1_35.lib : vc71-stlport/boost_regex-vc71-mt-p-1_35/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/cpp_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/cregex.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/fileiter.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/icu.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/instances.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/posix_api.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex_debug.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex_raw_buffer.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex_traits_defaults.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/static_mutex.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/usinstances.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/w32_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/wc_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/wide_posix_api.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/boost_regex-vc71-mt-p-1_35.pdb" /debug /machine:I386 /out:"vc71-stlport/boost_regex-vc71-mt-p-1_35.dll" /implib:"vc71-stlport/boost_regex-vc71-mt-p-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc71-stlport/boost_regex-vc71-mt-p-1_35/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/cpp_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/cregex.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/fileiter.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/icu.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/instances.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/posix_api.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex_debug.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex_raw_buffer.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex_traits_defaults.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/static_mutex.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/usinstances.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/w32_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/wc_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/wide_posix_api.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/boost_regex-vc71-mt-p-1_35.pdb" /debug /machine:I386 /out:"vc71-stlport/boost_regex-vc71-mt-p-1_35.dll" /implib:"vc71-stlport/boost_regex-vc71-mt-p-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc71-stlport/boost_regex-vc71-mt-p-1_35/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/cpp_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/cregex.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/fileiter.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/icu.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/instances.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/posix_api.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex_debug.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex_raw_buffer.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/regex_traits_defaults.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/static_mutex.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/usinstances.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/w32_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/wc_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/wide_posix_api.obj vc71-stlport/boost_regex-vc71-mt-p-1_35/winstances.obj ######################################################## # @@ -356,7 +356,7 @@ boost_regex-vc71-mt-gdp-1_35_clean : del vc71-stlport\boost_regex-vc71-mt-gdp-1_35\*.pch ./vc71-stlport/boost_regex-vc71-mt-gdp-1_35.lib : vc71-stlport/boost_regex-vc71-mt-gdp-1_35/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/cpp_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/cregex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/fileiter.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/icu.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/instances.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/posix_api.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex_debug.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex_raw_buffer.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex_traits_defaults.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/static_mutex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/usinstances.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/w32_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/wc_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/wide_posix_api.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/boost_regex-vc71-mt-gdp-1_35.pdb" /debug /machine:I386 /out:"vc71-stlport/boost_regex-vc71-mt-gdp-1_35.dll" /implib:"vc71-stlport/boost_regex-vc71-mt-gdp-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc71-stlport/boost_regex-vc71-mt-gdp-1_35/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/cpp_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/cregex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/fileiter.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/icu.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/instances.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/posix_api.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex_debug.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex_raw_buffer.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex_traits_defaults.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/static_mutex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/usinstances.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/w32_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/wc_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/wide_posix_api.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/boost_regex-vc71-mt-gdp-1_35.pdb" /debug /machine:I386 /out:"vc71-stlport/boost_regex-vc71-mt-gdp-1_35.dll" /implib:"vc71-stlport/boost_regex-vc71-mt-gdp-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc71-stlport/boost_regex-vc71-mt-gdp-1_35/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/cpp_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/cregex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/fileiter.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/icu.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/instances.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/posix_api.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex_debug.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex_raw_buffer.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/regex_traits_defaults.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/static_mutex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/usinstances.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/w32_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/wc_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/wide_posix_api.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_35/winstances.obj ######################################################## # diff --git a/build/vc71.mak b/build/vc71.mak index 0912478a..1956d4a3 100644 --- a/build/vc71.mak +++ b/build/vc71.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc71-s-1_35_dir ./vc71/libboost_regex-vc71-s-1_35.lib libboost_regex-vc71-mt-s-1_35_dir ./vc71/libboost_regex-vc71-mt-s-1_35.lib libboost_regex-vc71-sgd-1_35_dir ./vc71/libboost_regex-vc71-sgd-1_35.lib libboost_regex-vc71-mt-sgd-1_35_dir ./vc71/libboost_regex-vc71-mt-sgd-1_35.lib boost_regex-vc71-mt-gd-1_35_dir ./vc71/boost_regex-vc71-mt-gd-1_35.lib boost_regex-vc71-mt-1_35_dir ./vc71/boost_regex-vc71-mt-1_35.lib libboost_regex-vc71-mt-1_35_dir ./vc71/libboost_regex-vc71-mt-1_35.lib libboost_regex-vc71-mt-gd-1_35_dir ./vc71/libboost_regex-vc71-mt-gd-1_35.lib @@ -424,7 +424,7 @@ boost_regex-vc71-mt-gd-1_35_clean : del vc71\boost_regex-vc71-mt-gd-1_35\*.pch ./vc71/boost_regex-vc71-mt-gd-1_35.lib : vc71/boost_regex-vc71-mt-gd-1_35/c_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/cpp_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/cregex.obj vc71/boost_regex-vc71-mt-gd-1_35/fileiter.obj vc71/boost_regex-vc71-mt-gd-1_35/icu.obj vc71/boost_regex-vc71-mt-gd-1_35/instances.obj vc71/boost_regex-vc71-mt-gd-1_35/posix_api.obj vc71/boost_regex-vc71-mt-gd-1_35/regex.obj vc71/boost_regex-vc71-mt-gd-1_35/regex_debug.obj vc71/boost_regex-vc71-mt-gd-1_35/regex_raw_buffer.obj vc71/boost_regex-vc71-mt-gd-1_35/regex_traits_defaults.obj vc71/boost_regex-vc71-mt-gd-1_35/static_mutex.obj vc71/boost_regex-vc71-mt-gd-1_35/usinstances.obj vc71/boost_regex-vc71-mt-gd-1_35/w32_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/wc_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/wide_posix_api.obj vc71/boost_regex-vc71-mt-gd-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71/boost_regex-vc71-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc71/boost_regex-vc71-mt-gd-1_35.dll" /implib:"vc71/boost_regex-vc71-mt-gd-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc71/boost_regex-vc71-mt-gd-1_35/c_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/cpp_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/cregex.obj vc71/boost_regex-vc71-mt-gd-1_35/fileiter.obj vc71/boost_regex-vc71-mt-gd-1_35/icu.obj vc71/boost_regex-vc71-mt-gd-1_35/instances.obj vc71/boost_regex-vc71-mt-gd-1_35/posix_api.obj vc71/boost_regex-vc71-mt-gd-1_35/regex.obj vc71/boost_regex-vc71-mt-gd-1_35/regex_debug.obj vc71/boost_regex-vc71-mt-gd-1_35/regex_raw_buffer.obj vc71/boost_regex-vc71-mt-gd-1_35/regex_traits_defaults.obj vc71/boost_regex-vc71-mt-gd-1_35/static_mutex.obj vc71/boost_regex-vc71-mt-gd-1_35/usinstances.obj vc71/boost_regex-vc71-mt-gd-1_35/w32_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/wc_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/wide_posix_api.obj vc71/boost_regex-vc71-mt-gd-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc71/boost_regex-vc71-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc71/boost_regex-vc71-mt-gd-1_35.dll" /implib:"vc71/boost_regex-vc71-mt-gd-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc71/boost_regex-vc71-mt-gd-1_35/c_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/cpp_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/cregex.obj vc71/boost_regex-vc71-mt-gd-1_35/fileiter.obj vc71/boost_regex-vc71-mt-gd-1_35/icu.obj vc71/boost_regex-vc71-mt-gd-1_35/instances.obj vc71/boost_regex-vc71-mt-gd-1_35/posix_api.obj vc71/boost_regex-vc71-mt-gd-1_35/regex.obj vc71/boost_regex-vc71-mt-gd-1_35/regex_debug.obj vc71/boost_regex-vc71-mt-gd-1_35/regex_raw_buffer.obj vc71/boost_regex-vc71-mt-gd-1_35/regex_traits_defaults.obj vc71/boost_regex-vc71-mt-gd-1_35/static_mutex.obj vc71/boost_regex-vc71-mt-gd-1_35/usinstances.obj vc71/boost_regex-vc71-mt-gd-1_35/w32_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/wc_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_35/wide_posix_api.obj vc71/boost_regex-vc71-mt-gd-1_35/winstances.obj ######################################################## # @@ -492,7 +492,7 @@ boost_regex-vc71-mt-1_35_clean : del vc71\boost_regex-vc71-mt-1_35\*.pch ./vc71/boost_regex-vc71-mt-1_35.lib : vc71/boost_regex-vc71-mt-1_35/c_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/cpp_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/cregex.obj vc71/boost_regex-vc71-mt-1_35/fileiter.obj vc71/boost_regex-vc71-mt-1_35/icu.obj vc71/boost_regex-vc71-mt-1_35/instances.obj vc71/boost_regex-vc71-mt-1_35/posix_api.obj vc71/boost_regex-vc71-mt-1_35/regex.obj vc71/boost_regex-vc71-mt-1_35/regex_debug.obj vc71/boost_regex-vc71-mt-1_35/regex_raw_buffer.obj vc71/boost_regex-vc71-mt-1_35/regex_traits_defaults.obj vc71/boost_regex-vc71-mt-1_35/static_mutex.obj vc71/boost_regex-vc71-mt-1_35/usinstances.obj vc71/boost_regex-vc71-mt-1_35/w32_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/wc_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/wide_posix_api.obj vc71/boost_regex-vc71-mt-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71/boost_regex-vc71-mt-1_35.pdb" /debug /machine:I386 /out:"vc71/boost_regex-vc71-mt-1_35.dll" /implib:"vc71/boost_regex-vc71-mt-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc71/boost_regex-vc71-mt-1_35/c_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/cpp_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/cregex.obj vc71/boost_regex-vc71-mt-1_35/fileiter.obj vc71/boost_regex-vc71-mt-1_35/icu.obj vc71/boost_regex-vc71-mt-1_35/instances.obj vc71/boost_regex-vc71-mt-1_35/posix_api.obj vc71/boost_regex-vc71-mt-1_35/regex.obj vc71/boost_regex-vc71-mt-1_35/regex_debug.obj vc71/boost_regex-vc71-mt-1_35/regex_raw_buffer.obj vc71/boost_regex-vc71-mt-1_35/regex_traits_defaults.obj vc71/boost_regex-vc71-mt-1_35/static_mutex.obj vc71/boost_regex-vc71-mt-1_35/usinstances.obj vc71/boost_regex-vc71-mt-1_35/w32_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/wc_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/wide_posix_api.obj vc71/boost_regex-vc71-mt-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc71/boost_regex-vc71-mt-1_35.pdb" /debug /machine:I386 /out:"vc71/boost_regex-vc71-mt-1_35.dll" /implib:"vc71/boost_regex-vc71-mt-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc71/boost_regex-vc71-mt-1_35/c_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/cpp_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/cregex.obj vc71/boost_regex-vc71-mt-1_35/fileiter.obj vc71/boost_regex-vc71-mt-1_35/icu.obj vc71/boost_regex-vc71-mt-1_35/instances.obj vc71/boost_regex-vc71-mt-1_35/posix_api.obj vc71/boost_regex-vc71-mt-1_35/regex.obj vc71/boost_regex-vc71-mt-1_35/regex_debug.obj vc71/boost_regex-vc71-mt-1_35/regex_raw_buffer.obj vc71/boost_regex-vc71-mt-1_35/regex_traits_defaults.obj vc71/boost_regex-vc71-mt-1_35/static_mutex.obj vc71/boost_regex-vc71-mt-1_35/usinstances.obj vc71/boost_regex-vc71-mt-1_35/w32_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/wc_regex_traits.obj vc71/boost_regex-vc71-mt-1_35/wide_posix_api.obj vc71/boost_regex-vc71-mt-1_35/winstances.obj ######################################################## # diff --git a/build/vc8.mak b/build/vc8.mak index ee1fec36..e14e2073 100644 --- a/build/vc8.mak +++ b/build/vc8.mak @@ -60,7 +60,7 @@ ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib !ENDIF -ALL_HEADER= ../../../boost/regex/concepts.hpp ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/mfc.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp +ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/error_type.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/primary_transform.hpp ../../../boost/regex/v4/protected_call.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/regex_traits_defaults.hpp ../../../boost/regex/v4/regex_workaround.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/v4/syntax_type.hpp ../../../boost/regex/v4/u32regex_iterator.hpp ../../../boost/regex/v4/u32regex_token_iterator.hpp ../../../boost/regex/v4/w32_regex_traits.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cwchar.hpp all : main_dir libboost_regex-vc80-mt-s-1_35_dir ./vc80/libboost_regex-vc80-mt-s-1_35.lib libboost_regex-vc80-mt-sgd-1_35_dir ./vc80/libboost_regex-vc80-mt-sgd-1_35.lib boost_regex-vc80-mt-gd-1_35_dir ./vc80/boost_regex-vc80-mt-gd-1_35.lib boost_regex-vc80-mt-1_35_dir ./vc80/boost_regex-vc80-mt-1_35.lib libboost_regex-vc80-mt-1_35_dir ./vc80/libboost_regex-vc80-mt-1_35.lib libboost_regex-vc80-mt-gd-1_35_dir ./vc80/libboost_regex-vc80-mt-gd-1_35.lib @@ -283,7 +283,7 @@ boost_regex-vc80-mt-gd-1_35_clean : del vc80\boost_regex-vc80-mt-gd-1_35\*.pch ./vc80/boost_regex-vc80-mt-gd-1_35.lib : vc80/boost_regex-vc80-mt-gd-1_35/c_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/cpp_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/cregex.obj vc80/boost_regex-vc80-mt-gd-1_35/fileiter.obj vc80/boost_regex-vc80-mt-gd-1_35/icu.obj vc80/boost_regex-vc80-mt-gd-1_35/instances.obj vc80/boost_regex-vc80-mt-gd-1_35/posix_api.obj vc80/boost_regex-vc80-mt-gd-1_35/regex.obj vc80/boost_regex-vc80-mt-gd-1_35/regex_debug.obj vc80/boost_regex-vc80-mt-gd-1_35/regex_raw_buffer.obj vc80/boost_regex-vc80-mt-gd-1_35/regex_traits_defaults.obj vc80/boost_regex-vc80-mt-gd-1_35/static_mutex.obj vc80/boost_regex-vc80-mt-gd-1_35/usinstances.obj vc80/boost_regex-vc80-mt-gd-1_35/w32_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/wc_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/wide_posix_api.obj vc80/boost_regex-vc80-mt-gd-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc80/boost_regex-vc80-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc80/boost_regex-vc80-mt-gd-1_35.dll" /implib:"vc80/boost_regex-vc80-mt-gd-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc80/boost_regex-vc80-mt-gd-1_35/c_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/cpp_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/cregex.obj vc80/boost_regex-vc80-mt-gd-1_35/fileiter.obj vc80/boost_regex-vc80-mt-gd-1_35/icu.obj vc80/boost_regex-vc80-mt-gd-1_35/instances.obj vc80/boost_regex-vc80-mt-gd-1_35/posix_api.obj vc80/boost_regex-vc80-mt-gd-1_35/regex.obj vc80/boost_regex-vc80-mt-gd-1_35/regex_debug.obj vc80/boost_regex-vc80-mt-gd-1_35/regex_raw_buffer.obj vc80/boost_regex-vc80-mt-gd-1_35/regex_traits_defaults.obj vc80/boost_regex-vc80-mt-gd-1_35/static_mutex.obj vc80/boost_regex-vc80-mt-gd-1_35/usinstances.obj vc80/boost_regex-vc80-mt-gd-1_35/w32_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/wc_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/wide_posix_api.obj vc80/boost_regex-vc80-mt-gd-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc80/boost_regex-vc80-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc80/boost_regex-vc80-mt-gd-1_35.dll" /implib:"vc80/boost_regex-vc80-mt-gd-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc80/boost_regex-vc80-mt-gd-1_35/c_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/cpp_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/cregex.obj vc80/boost_regex-vc80-mt-gd-1_35/fileiter.obj vc80/boost_regex-vc80-mt-gd-1_35/icu.obj vc80/boost_regex-vc80-mt-gd-1_35/instances.obj vc80/boost_regex-vc80-mt-gd-1_35/posix_api.obj vc80/boost_regex-vc80-mt-gd-1_35/regex.obj vc80/boost_regex-vc80-mt-gd-1_35/regex_debug.obj vc80/boost_regex-vc80-mt-gd-1_35/regex_raw_buffer.obj vc80/boost_regex-vc80-mt-gd-1_35/regex_traits_defaults.obj vc80/boost_regex-vc80-mt-gd-1_35/static_mutex.obj vc80/boost_regex-vc80-mt-gd-1_35/usinstances.obj vc80/boost_regex-vc80-mt-gd-1_35/w32_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/wc_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_35/wide_posix_api.obj vc80/boost_regex-vc80-mt-gd-1_35/winstances.obj ######################################################## # @@ -351,7 +351,7 @@ boost_regex-vc80-mt-1_35_clean : del vc80\boost_regex-vc80-mt-1_35\*.pch ./vc80/boost_regex-vc80-mt-1_35.lib : vc80/boost_regex-vc80-mt-1_35/c_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/cpp_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/cregex.obj vc80/boost_regex-vc80-mt-1_35/fileiter.obj vc80/boost_regex-vc80-mt-1_35/icu.obj vc80/boost_regex-vc80-mt-1_35/instances.obj vc80/boost_regex-vc80-mt-1_35/posix_api.obj vc80/boost_regex-vc80-mt-1_35/regex.obj vc80/boost_regex-vc80-mt-1_35/regex_debug.obj vc80/boost_regex-vc80-mt-1_35/regex_raw_buffer.obj vc80/boost_regex-vc80-mt-1_35/regex_traits_defaults.obj vc80/boost_regex-vc80-mt-1_35/static_mutex.obj vc80/boost_regex-vc80-mt-1_35/usinstances.obj vc80/boost_regex-vc80-mt-1_35/w32_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/wc_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/wide_posix_api.obj vc80/boost_regex-vc80-mt-1_35/winstances.obj - link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc80/boost_regex-vc80-mt-1_35.pdb" /debug /machine:I386 /out:"vc80/boost_regex-vc80-mt-1_35.dll" /implib:"vc80/boost_regex-vc80-mt-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc80/boost_regex-vc80-mt-1_35/c_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/cpp_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/cregex.obj vc80/boost_regex-vc80-mt-1_35/fileiter.obj vc80/boost_regex-vc80-mt-1_35/icu.obj vc80/boost_regex-vc80-mt-1_35/instances.obj vc80/boost_regex-vc80-mt-1_35/posix_api.obj vc80/boost_regex-vc80-mt-1_35/regex.obj vc80/boost_regex-vc80-mt-1_35/regex_debug.obj vc80/boost_regex-vc80-mt-1_35/regex_raw_buffer.obj vc80/boost_regex-vc80-mt-1_35/regex_traits_defaults.obj vc80/boost_regex-vc80-mt-1_35/static_mutex.obj vc80/boost_regex-vc80-mt-1_35/usinstances.obj vc80/boost_regex-vc80-mt-1_35/w32_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/wc_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/wide_posix_api.obj vc80/boost_regex-vc80-mt-1_35/winstances.obj + link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc80/boost_regex-vc80-mt-1_35.pdb" /debug /machine:I386 /out:"vc80/boost_regex-vc80-mt-1_35.dll" /implib:"vc80/boost_regex-vc80-mt-1_35.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS) vc80/boost_regex-vc80-mt-1_35/c_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/cpp_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/cregex.obj vc80/boost_regex-vc80-mt-1_35/fileiter.obj vc80/boost_regex-vc80-mt-1_35/icu.obj vc80/boost_regex-vc80-mt-1_35/instances.obj vc80/boost_regex-vc80-mt-1_35/posix_api.obj vc80/boost_regex-vc80-mt-1_35/regex.obj vc80/boost_regex-vc80-mt-1_35/regex_debug.obj vc80/boost_regex-vc80-mt-1_35/regex_raw_buffer.obj vc80/boost_regex-vc80-mt-1_35/regex_traits_defaults.obj vc80/boost_regex-vc80-mt-1_35/static_mutex.obj vc80/boost_regex-vc80-mt-1_35/usinstances.obj vc80/boost_regex-vc80-mt-1_35/w32_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/wc_regex_traits.obj vc80/boost_regex-vc80-mt-1_35/wide_posix_api.obj vc80/boost_regex-vc80-mt-1_35/winstances.obj ######################################################## # diff --git a/build/vc_gen.sh b/build/vc_gen.sh index 6ef5d0f6..2b3cb28a 100644 --- a/build/vc_gen.sh +++ b/build/vc_gen.sh @@ -121,7 +121,7 @@ EOF # # now for the main target for this library: echo ./$subdir$stlport_suffix/$libname.lib : $all_obj >> $tout - echo " link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:\"$subdir$stlport_suffix/$libname.pdb\" /debug /machine:I386 /out:\"$subdir$stlport_suffix/$libname.dll\" /implib:\"$subdir$stlport_suffix/$libname.lib\" /LIBPATH:\"\$(STLPORT_PATH)\\lib\" \$(XLFLAGS) \$(ICU_LINK_OPTS) $all_obj" >> $tout + echo " link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:\"$subdir$stlport_suffix/$libname.pdb\" /debug /machine:I386 /out:\"$subdir$stlport_suffix/$libname.dll\" /implib:\"$subdir$stlport_suffix/$libname.lib\" /LIBPATH:\"\$(STLPORT_PATH)\\lib\" \$(XLFLAGS) \$(ICU_LINK_OPTS) $all_obj" >> $tout echo "" >> $tout } @@ -489,3 +489,4 @@ rm -f $tout $iout + diff --git a/doc/Jamfile.v2 b/doc/Jamfile.v2 index 38357c9e..5dedf523 100644 --- a/doc/Jamfile.v2 +++ b/doc/Jamfile.v2 @@ -34,7 +34,7 @@ boostbook standalone # PDF Options: # TOC Generation: this is needed for FOP-0.9 and later: - #fop1.extensions=1 + fop1.extensions=0 # Or enable this if you're using XEP: xep.extensions=1 # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9! @@ -55,3 +55,4 @@ boostbook standalone ; + diff --git a/doc/acknowledgements.qbk b/doc/acknowledgements.qbk index 62a175f1..d35a7962 100644 --- a/doc/acknowledgements.qbk +++ b/doc/acknowledgements.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:acknowledgements Acknowledgements] @@ -39,3 +46,4 @@ spot any bugs, please get in touch. [endsect] + diff --git a/doc/bad_expression.qbk b/doc/bad_expression.qbk index 20d30d77..267bc365 100644 --- a/doc/bad_expression.qbk +++ b/doc/bad_expression.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:bad_expression bad_expression] @@ -48,4 +55,4 @@ and `bad_expression` for errors, these have been replaced by the single class `regex_error` to keep the library in synchronization with the [tr1]. -[endsect] \ No newline at end of file +[endsect] diff --git a/doc/basic_regex.qbk b/doc/basic_regex.qbk index eb8bb03a..2aa1aae4 100644 --- a/doc/basic_regex.qbk +++ b/doc/basic_regex.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:basic_regex basic_regex] [h4 Synopsis] @@ -657,3 +664,4 @@ and outputs the textual representation of the expression to the stream.] [*Effects]: calls `lhs.swap(rhs)`. [endsect] + diff --git a/doc/captures.qbk b/doc/captures.qbk index 8a1ac05e..08abbf9d 100644 --- a/doc/captures.qbk +++ b/doc/captures.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:captures Understanding Marked Sub-Expressions and Captures] @@ -190,3 +197,4 @@ therefore to use this feature you need to: * Pass the match_extra flag to the particular algorithms where you actually need the captures information (regex_search, regex_match, or regex_iterator). [endsect] + diff --git a/doc/character_class_names.qbk b/doc/character_class_names.qbk index e2480a13..e4771aa5 100644 --- a/doc/character_class_names.qbk +++ b/doc/character_class_names.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:character_classes Character Class Names] @@ -82,3 +89,4 @@ those from Chapter 4 of the Unicode standard. [endsect] [endsect] + diff --git a/doc/collating_names.qbk b/doc/collating_names.qbk index 5dd4e4c0..6f7aab97 100644 --- a/doc/collating_names.qbk +++ b/doc/collating_names.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:collating_names Collating Names] @@ -118,3 +125,4 @@ would match the Unicode character 0x0418. [endsect] [endsect] + diff --git a/doc/concepts.qbk b/doc/concepts.qbk index c1d33c1d..d6758967 100644 --- a/doc/concepts.qbk +++ b/doc/concepts.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:concepts Concepts] @@ -60,10 +67,9 @@ an object of type `X::locale_type`. [[v.lookup_classname(F1, F2)][X::char_class_type][Converts the character sequence designated by the iterator range \[F1,F2) into a bitmask type that can subsequently be passed to isctype. Values returned from lookup_classname can be safely bitwise or'ed together. Returns 0 if the character sequence is not the name of a character class recognized by X. The value returned shall be independent of the case of the characters in the sequence.]] [[v.lookup_collatename(F1, F2)][X::string_type][Returns a sequence of characters that represents the collating element consisting of the character sequence designated by the iterator range \[F1, F2). Returns an empty string if the character sequence is not a valid collating element.]] [[v.isctype(c, v.lookup_classname (F1, F2))][bool][Returns true if character c is a member of the character class designated by the iterator range \[F1, F2), false otherwise.]] -[[v.value(c, i)][int][Returns the value represented by the digit c in base I if the character c is a valid digit in base I; otherwise returns -1. \[Note: the value of I will only be 8, 10, or 16. -end note\]]] +[[v.value(c, I)][int][Returns the value represented by the digit c in base I if the character c is a valid digit in base I; otherwise returns -1. \[Note: the value of I will only be 8, 10, or 16. -end note\]]] [[u.imbue(loc)][X::locale_type][Imbues u with the locale loc, returns the previous locale used by u if any. ]] [[v.getloc()][X::locale_type][Returns the current locale used by v if any. ]] -[[v.error_string(i)][std::string][Returns a human readable error string for the error condition i, where i is one of the values enumerated by type regex_constants::error_type. If the value i is not recognized then returns the string "Unknown error" or a localized equivalent.]] ] [h4 Additional Optional Requirements] @@ -82,14 +88,14 @@ configure itself appropriately. [[v.escape_syntax_type(c)][regex_constants::escape_syntax_type][Returns a symbolic value of type regex_constants::escape_syntax_type, that signifies the meaning of character c within the regular expression grammar, when c has been preceded by an escape character. Precondition: if b is the character preceding c in the expression being parsed then: `v.syntax_type(b) == syntax_escape`]] [[v.translate(c, b)][X::char_type][Returns a character d such that: for any character d that is to be considered equivalent to c then `v.translate(c,false)==v.translate(d,false)`. Likewise for all characters C that are to be considered equivalent to c when comparisons are to be performed without regard to case, then `v.translate(c,true)==v.translate(C,true)`.]] [[v.toi(I1, I2, i)][An integer type capable of holding either a charT or an int.][Behaves as follows: if `p == q` or if `*p` is not a digit character then returns -1. Otherwise performs formatted numeric input on the sequence \[p,q) and returns the result as an int. Postcondition: either p == q or *p is a non-digit character.]] -[[v.error_string(i)][std::string][Returns a human readable error string for the error condition i, where i is one of the values enumerated by type regex_constants::error_type. If the value i is not recognized then returns the string "Unknown error" or a localized equivalent.]] +[[v.error_string(I)][std::string][Returns a human readable error string for the error condition i, where i is one of the values enumerated by type regex_constants::error_type. If the value /I/ is not recognized then returns the string "Unknown error" or a localized equivalent.]] [[v.tolower(c)][X::char_type][Converts c to lower case, used for Perl-style \l and \L formating operations.]] [[v.toupper(c)][X::char_type][Converts c to upper case, used for Perl-style \u and \U formating operations.]] ] [endsect] -[section:iterator_concepts Iterator Rrequirements] +[section:iterator_concepts Iterator Requirements] The regular expression algorithms (and iterators) take all require a Bidirectional-Iterator. @@ -98,3 +104,4 @@ Bidirectional-Iterator. [endsect] + diff --git a/doc/configuration.qbk b/doc/configuration.qbk index a4e04dcc..2acb55bb 100644 --- a/doc/configuration.qbk +++ b/doc/configuration.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:configuration Configuration] @@ -76,3 +83,4 @@ multi-threaded systems, you may find that a higher value is in order.]] [endsect] + diff --git a/doc/error_type.qbk b/doc/error_type.qbk index adb94ea8..70441998 100644 --- a/doc/error_type.qbk +++ b/doc/error_type.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:error_type error_type] @@ -53,3 +60,4 @@ take one of the following values: ] [endsect] + diff --git a/doc/examples.qbk b/doc/examples.qbk index e0bca347..262e824e 100644 --- a/doc/examples.qbk +++ b/doc/examples.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:examples Test and Example Programs] @@ -11,41 +18,54 @@ library will behave as claimed - at least as far as those items tested are concerned - if anyone spots anything that isn't being tested I'd be glad to hear about it. -Directory: [@../../test/regress libs/regex/test/regress]. +Files: -Files: See directory. +* [@../../test/regress/main.cpp main.cpp] +* [@../../test/regress/basic_tests.cpp basic_tests.cpp] +* [@../../test/regress/test_alt.cpp test_alt.cpp] +* [@../../test/regress/test_anchors.cpp test_anchors.cpp] +* [@../../test/regress/test_asserts.cpp test_asserts.cpp] +* [@../../test/regress/test_backrefs.cpp test_backrefs.cpp] +* [@../../test/regress/test_deprecated.cpp test_deprecated.cpp] +* [@../../test/regress/test_emacs.cpp test_emacs.cpp] +* [@../../test/regress/test_escapes.cpp test_escapes.cpp] +* [@../../test/regress/test_grep.cpp test_grep.cpp] +* [@../../test/regress/test_icu.cpp test_icu.cpp] +* [@../../test/regress/test_locale.cpp test_locale.cpp] +* [@../../test/regress/test_mfc.cpp test_mfc.cpp] +* [@../../test/regress/test_non_greedy_repeats.cpp test_non_greedy_repeats.cpp] +* [@../../test/regress/test_operators.cpp test_operators.cpp] +* [@../../test/regress/test_overloads.cpp test_overloads.cpp] +* [@../../test/regress/test_perl_ex.cpp test_perl_ex.cpp] +* [@../../test/regress/test_replace.cpp test_replace.cpp] +* [@../../test/regress/test_sets.cpp test_sets.cpp] +* [@../../test/regress/test_simple_repeats.cpp test_simple_repeats.cpp] +* [@../../test/regress/test_tricky_cases.cpp test_tricky_cases.cpp] +* [@../../test/regress/test_unicode.cpp test_unicode.cpp] [*bad_expression_test:] Verifies that "bad" regular expressions don't cause the matcher to go into infinite loops, but to throw an exception instead. -Directory: [@../../test/pathology libs/regex/test/pathology]. - Files: [@../../test/pathology/bad_expression_test.cpp bad_expression_test.cpp]. [*recursion_test:] Verifies that the matcher can't overrun the stack (no matter what the expression). -Directory: [@../../test/pathology libs/regex/test/pathology]. - Files: [@../../test/pathology/recursion_test.cpp recursion_test.cpp]. [*concepts:] Verifies that the library meets all documented concepts (a compile only test). -Directory: [@../../test/concepts libs/regex/test/concepts]. - Files: [@../../test/concepts/concept_check.cpp concept_check.cpp]. [*captures_test:] Test code for captures. -Directory: [@../../test/captures libs/test/captures]. - Files: [@../../test/captures/captures_test.cpp captures_test.cpp]. [h4 Example programs] @@ -105,3 +125,4 @@ The following are deprecated: [@../../example/snippets/regex_split_example_2.cpp regex_split_example_2.cpp] : regex_split example: spit out linked URL's. [endsect] + diff --git a/doc/faq.qbk b/doc/faq.qbk index 0ae3e660..585425fb 100644 --- a/doc/faq.qbk +++ b/doc/faq.qbk @@ -1,3 +1,9 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] [section:faq FAQ] @@ -89,3 +95,4 @@ that you are interested in. Note however, that very few current compilers still have problems with these overloaded functions. [endsect] + diff --git a/doc/format_boost_syntax.qbk b/doc/format_boost_syntax.qbk index 0d96dba8..cba57dd8 100644 --- a/doc/format_boost_syntax.qbk +++ b/doc/format_boost_syntax.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:boost_format_syntax Boost-Extended Format String Syntax] @@ -71,3 +78,4 @@ x is one of the escape sequences shown below. [endsect] + diff --git a/doc/format_perl_syntax.qbk b/doc/format_perl_syntax.qbk index 291192d5..35bd9f45 100644 --- a/doc/format_perl_syntax.qbk +++ b/doc/format_perl_syntax.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:perl_format Perl Format String Syntax] @@ -47,3 +54,4 @@ x is one of the escape sequences shown below. [endsect] + diff --git a/doc/format_sed_syntax.qbk b/doc/format_sed_syntax.qbk index 374d5b16..30706ebe 100644 --- a/doc/format_sed_syntax.qbk +++ b/doc/format_sed_syntax.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:sed_format Sed Format String Syntax] @@ -31,3 +38,4 @@ is one of the escape sequences shown below. [endsect] + diff --git a/doc/format_syntax.qbk b/doc/format_syntax.qbk index f9dd8b12..43065703 100644 --- a/doc/format_syntax.qbk +++ b/doc/format_syntax.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:format Search and Replace Format String Syntax] @@ -16,3 +23,4 @@ to the output. [endsect] + diff --git a/doc/further_info.qbk b/doc/further_info.qbk index b9e2b36e..08c5d0ff 100644 --- a/doc/further_info.qbk +++ b/doc/further_info.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:futher References and Further Information] @@ -26,3 +33,4 @@ selection of useful pattern matching papers available from their respective web [endsect] + diff --git a/doc/gcc-performance.html b/doc/gcc-performance.html new file mode 100644 index 00000000..5dcea95a --- /dev/null +++ b/doc/gcc-performance.html @@ -0,0 +1,543 @@ + + + + Regular Expression Performance Comparison (gcc 3.2) + + + + + + + +

Regular Expression Performance Comparison

+

The following tables provide comparisons between the following regular + expression libraries:

+

The Boost regex library.

+

The GNU regular expression library.

+

Philip Hazel's PCRE library.

+

Details

+

Machine: Intel Pentium 4 2.8GHz PC.

+

Compiler: GNU C++ version 3.2 20020927 (prerelease).

+

C++ Standard Library: GNU libstdc++ version 20020927.

+

OS: Cygwin.

+

Boost version: 1.31.0.

+

PCRE version: 4.1.

+

As ever care should be taken in interpreting the results, only sensible regular + expressions (rather than pathological cases) are given, most are taken from the + Boost regex examples, or from the Library of + Regular Expressions. In addition, some variation in the relative + performance of these libraries can be expected on other machines - as memory + access and processor caching effects can be quite large for most finite state + machine algorithms. In each case the first figure given is the relative time + taken (so a value of 1.0 is as good as it gets), while the second figure is the + actual time taken.

+

Averages

+

The following are the average relative scores for all the tests: the perfect + regular expression library would score 1, in practice anything less than 2 + is pretty good.

+ + + + + + + + + + + + + +
BoostBoost + C++ localePOSIXPCRE
1.45031.49124108.3721.56255
+
+
+

Comparison 1: Long Search

+

For each of the following regular expressions the time taken to find all + occurrences of the expression within a long English language text was measured + (mtent12.txt + from Project Gutenberg, 19Mb). 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionBoostBoost + C++ localePOSIXPCRE
Twain3.49
+ (0.205s)
4.09
+ (0.24s)
65.2
+ (3.83s)
1
+ (0.0588s)
Huck[[:alpha:]]+3.86
+ (0.203s)
4.52
+ (0.238s)
100
+ (5.26s)
1
+ (0.0526s)
[[:alpha:]]+ing1.01
+ (1.23s)
1
+ (1.22s)
4.95
+ (6.04s)
4.67
+ (5.71s)
^[^ ]*?Twain1
+ (0.31s)
1.05
+ (0.326s)
NA3.32
+ (1.03s)
Tom|Sawyer|Huckleberry|Finn1.02
+ (0.125s)
1
+ (0.123s)
165
+ (20.3s)
1.08
+ (0.133s)
(Tom|Sawyer|Huckleberry|Finn).{0,30}river|river.{0,30}(Tom|Sawyer|Huckleberry|Finn)1
+ (0.345s)
1.03
+ (0.355s)
NA1.71
+ (0.59s)
+
+
+

Comparison 2: Medium Sized Search

+

For each of the following regular expressions the time taken to find all + occurrences of the expression within a medium sized English language text was + measured (the first 50K from mtent12.txt). 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionBoostBoost + C++ localePOSIXPCRE
Twain1.8
+ (0.000519s)
2.14
+ (0.000616s)
9.08
+ (0.00262s)
1
+ (0.000289s)
Huck[[:alpha:]]+3.65
+ (0.000499s)
4.36
+ (0.000597s)
1
+ (0.000137s)
1.43
+ (0.000196s)
[[:alpha:]]+ing1
+ (0.00258s)
1
+ (0.00258s)
5.28
+ (0.0136s)
5.63
+ (0.0145s)
^[^ ]*?Twain1
+ (0.000929s)
1.03
+ (0.000957s)
NA2.82
+ (0.00262s)
Tom|Sawyer|Huckleberry|Finn1
+ (0.000812s)
1
+ (0.000812s)
60.1
+ (0.0488s)
1.28
+ (0.00104s)
(Tom|Sawyer|Huckleberry|Finn).{0,30}river|river.{0,30}(Tom|Sawyer|Huckleberry|Finn)1.02
+ (0.00178s)
1
+ (0.00174s)
242
+ (0.421s)
1.3
+ (0.00227s)
+
+
+

Comparison 3: C++ Code Search

+

For each of the following regular expressions the time taken to find all + occurrences of the expression within the C++ source file + boost/crc.hpp was measured. 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionBoostBoost + C++ localePOSIXPCRE
^(template[[:space:]]*<[^;:{]+>[[:space:]]*)?(class|struct)[[:space:]]*(\<\w+\>([ + ]*\([^)]*\))?[[:space:]]*)*(\<\w*\>)[[:space:]]*(<[^;:{]+>[[:space:]]*)?(\{|:[^;\{()]*\{)1.04
+ (0.000144s)
1
+ (0.000139s)
862
+ (0.12s)
4.56
+ (0.000636s)
(^[ + ]*#(?:[^\\\n]|\\[^\n_[:punct:][:alnum:]]*[\n[:punct:][:word:]])*)|(//[^\n]*|/\*.*?\*/)|\<([+-]?(?:(?:0x[[:xdigit:]]+)|(?:(?:[[:digit:]]*\.)?[[:digit:]]+(?:[eE][+-]?[[:digit:]]+)?))u?(?:(?:int(?:8|16|32|64))|L)?)\>|('(?:[^\\']|\\.)*'|"(?:[^\\"]|\\.)*")|\<(__asm|__cdecl|__declspec|__export|__far16|__fastcall|__fortran|__import|__pascal|__rtti|__stdcall|_asm|_cdecl|__except|_export|_far16|_fastcall|__finally|_fortran|_import|_pascal|_stdcall|__thread|__try|asm|auto|bool|break|case|catch|cdecl|char|class|const|const_cast|continue|default|delete|do|double|dynamic_cast|else|enum|explicit|extern|false|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|operator|pascal|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_cast|struct|switch|template|this|throw|true|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\>1
+ (0.0139s)
1.01
+ (0.0141s)
NA1.55
+ (0.0216s)
^[ ]*#[ ]*include[ ]+("[^"]+"|<[^>]+>)1.04
+ (0.000332s)
1
+ (0.000318s)
130
+ (0.0413s)
1.72
+ (0.000547s)
^[ ]*#[ ]*include[ ]+("boost/[^"]+"|<boost/[^>]+>)1.02
+ (0.000323s)
1
+ (0.000318s)
150
+ (0.0476s)
1.72
+ (0.000547s)
+
+

+

Comparison 4: HTML Document Search +

+

For each of the following regular expressions the time taken to find all + occurrences of the expression within the html file libs/libraries.htm + was measured. 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionBoostBoost + C++ localePOSIXPCRE
beman|john|dave1.03
+ (0.000367s)
1
+ (0.000357s)
47.4
+ (0.0169s)
1.16
+ (0.000416s)
<p>.*?</p>1.25
+ (0.000459s)
1
+ (0.000367s)
NA1.03
+ (0.000376s)
<a[^>]+href=("[^"]*"|[^[:space:]]+)[^>]*>1
+ (0.000509s)
1.02
+ (0.000518s)
305
+ (0.155s)
1.1
+ (0.000558s)
<h[12345678][^>]*>.*?</h[12345678]>1.04
+ (0.00025s)
1
+ (0.00024s)
NA1.16
+ (0.000279s)
<img[^>]+src=("[^"]*"|[^[:space:]]+)[^>]*>2.22
+ (0.000489s)
1.69
+ (0.000372s)
148
+ (0.0326s)
1
+ (0.00022s)
<font[^>]+face=("[^"]*"|[^[:space:]]+)[^>]*>.*?</font>1.71
+ (0.000371s)
1.75
+ (0.000381s)
NA1
+ (0.000218s)
+
+
+

Comparison 3: Simple Matches

+

For each of the following regular expressions the time taken to match against + the text indicated was measured. 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionTextBoostBoost + C++ localePOSIXPCRE
abcabc1.36
+ (2.15e-07s)
1.36
+ (2.15e-07s)
2.76
+ (4.34e-07s)
1
+ (1.58e-07s)
^([0-9]+)(\-| |$)(.*)$100- this is a line of ftp response which contains a message string1.55
+ (7.26e-07s)
1.51
+ (7.07e-07s)
319
+ (0.000149s)
1
+ (4.67e-07s)
([[:digit:]]{4}[- ]){3}[[:digit:]]{3,4}1234-5678-1234-4561.96
+ (9.54e-07s)
1.96
+ (9.54e-07s)
44.5
+ (2.17e-05s)
1
+ (4.87e-07s)
^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$john@johnmaddock.co.uk1.22
+ (1.51e-06s)
1.23
+ (1.53e-06s)
162
+ (0.000201s)
1
+ (1.24e-06s)
^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$foo12@foo.edu1.28
+ (1.47e-06s)
1.3
+ (1.49e-06s)
104
+ (0.00012s)
1
+ (1.15e-06s)
^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$bob.smith@foo.tv1.28
+ (1.47e-06s)
1.3
+ (1.49e-06s)
113
+ (0.00013s)
1
+ (1.15e-06s)
^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$EH10 2QQ1.38
+ (4.68e-07s)
1.41
+ (4.77e-07s)
13.5
+ (4.59e-06s)
1
+ (3.39e-07s)
^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$G1 1AA1.28
+ (4.35e-07s)
1.25
+ (4.25e-07s)
11.7
+ (3.97e-06s)
1
+ (3.39e-07s)
^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$SW1 1ZZ1.32
+ (4.53e-07s)
1.31
+ (4.49e-07s)
12.2
+ (4.2e-06s)
1
+ (3.44e-07s)
^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$4/1/20011.16
+ (3.82e-07s)
1.2
+ (3.96e-07s)
13.9
+ (4.59e-06s)
1
+ (3.29e-07s)
^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$12/12/20011.38
+ (4.49e-07s)
1.38
+ (4.49e-07s)
16
+ (5.2e-06s)
1
+ (3.25e-07s)
^[-+]?[[:digit:]]*\.?[[:digit:]]*$1231.19
+ (7.64e-07s)
1.16
+ (7.45e-07s)
7.51
+ (4.81e-06s)
1
+ (6.4e-07s)
^[-+]?[[:digit:]]*\.?[[:digit:]]*$+3.141591.32
+ (8.97e-07s)
1.31
+ (8.88e-07s)
14
+ (9.48e-06s)
1
+ (6.78e-07s)
^[-+]?[[:digit:]]*\.?[[:digit:]]*$-3.141591.32
+ (8.97e-07s)
1.31
+ (8.88e-07s)
14
+ (9.48e-06s)
1
+ (6.78e-07s)
+
+
+
+

© Copyright John Maddock 2003

+

Use, modification and distribution are subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt + or copy at http://www.boost.org/LICENSE_1_0.txt)

+ + + diff --git a/doc/headers.qbk b/doc/headers.qbk index f9eecfa6..d7b8e7cc 100644 --- a/doc/headers.qbk +++ b/doc/headers.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:headers Headers] @@ -12,3 +19,4 @@ There is also a header containing only forward declarations [endsect] + diff --git a/doc/history.qbk b/doc/history.qbk index bafc642f..fea29663 100644 --- a/doc/history.qbk +++ b/doc/history.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:history History] @@ -59,3 +66,4 @@ [endsect] + diff --git a/doc/html/boost_regex/background_information.html b/doc/html/boost_regex/background_information.html index ecf49934..8296530b 100644 --- a/doc/html/boost_regex/background_information.html +++ b/doc/html/boost_regex/background_information.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -44,28 +44,14 @@ Acknowledgements
History
-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/acknowledgements.html b/doc/html/boost_regex/background_information/acknowledgements.html index d5356278..b7b23fdf 100644 --- a/doc/html/boost_regex/background_information/acknowledgements.html +++ b/doc/html/boost_regex/background_information/acknowledgements.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -74,7 +74,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/examples.html b/doc/html/boost_regex/background_information/examples.html index 983c20c4..02183086 100644 --- a/doc/html/boost_regex/background_information/examples.html +++ b/doc/html/boost_regex/background_information/examples.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -28,7 +28,7 @@ Example Programs
- + Test Programs
@@ -43,11 +43,32 @@ it.

- Directory: libs/regex/test/regress. -

-

- Files: See directory. + Files:

+

bad_expression_test:

@@ -55,9 +76,6 @@ Verifies that "bad" regular expressions don't cause the matcher to go into infinite loops, but to throw an exception instead.

-

- Directory: libs/regex/test/pathology. -

Files: bad_expression_test.cpp.

@@ -67,9 +85,6 @@

Verifies that the matcher can't overrun the stack (no matter what the expression).

-

- Directory: libs/regex/test/pathology. -

Files: recursion_test.cpp.

@@ -79,9 +94,6 @@

Verifies that the library meets all documented concepts (a compile only test).

-

- Directory: libs/regex/test/concepts. -

Files: concept_check.cpp.

@@ -91,14 +103,11 @@

Test code for captures.

-

- Directory: libs/test/captures. -

Files: captures_test.cpp.

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

- + Code snippets
@@ -208,7 +217,11 @@ - +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/faq.html b/doc/html/boost_regex/background_information/faq.html index e860f4a3..46e9d6bd 100644 --- a/doc/html/boost_regex/background_information/faq.html +++ b/doc/html/boost_regex/background_information/faq.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -141,7 +141,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/futher.html b/doc/html/boost_regex/background_information/futher.html index cb7087ef..d0347100 100644 --- a/doc/html/boost_regex/background_information/futher.html +++ b/doc/html/boost_regex/background_information/futher.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -62,7 +62,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/headers.html b/doc/html/boost_regex/background_information/headers.html index e88973ff..829efed8 100644 --- a/doc/html/boost_regex/background_information/headers.html +++ b/doc/html/boost_regex/background_information/headers.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -40,7 +40,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/history.html b/doc/html/boost_regex/background_information/history.html index d71e74b2..3240fd5b 100644 --- a/doc/html/boost_regex/background_information/history.html +++ b/doc/html/boost_regex/background_information/history.html @@ -11,10 +11,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -26,7 +26,7 @@ History
- + Boost 1.34
@@ -49,7 +49,7 @@
- + Boost 1.33.1
@@ -119,7 +119,7 @@
- + Boost 1.33.0
@@ -174,7 +174,7 @@
- + Boost 1.32.1
@@ -182,7 +182,7 @@ Fixed bug in partial matches of bounded repeats of '.'.
- + Boost 1.31.0
@@ -220,7 +220,11 @@ - +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/locale.html b/doc/html/boost_regex/background_information/locale.html index f0e6aefb..0cb063c7 100644 --- a/doc/html/boost_regex/background_information/locale.html +++ b/doc/html/boost_regex/background_information/locale.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -58,7 +58,7 @@ There are three separate localization mechanisms supported by Boost.Regex:

- + Win32 localization model.
@@ -74,8 +74,7 @@ a string table with the user-defined strings. The traits class exports the function:

-
-static std::string set_message_catalogue(const std::string& s);
+
static std::string set_message_catalogue(const std::string& s);
 

which needs to be called with a string identifying the name of the resource @@ -83,8 +82,7 @@ before you construct any basic_regex instances):

-
-boost::w32_regex_traits<char>::set_message_catalogue("mydll.dll");
+
boost::w32_regex_traits<char>::set_message_catalogue("mydll.dll");
 

The library provides full Unicode support under NT, under Windows 9x the @@ -92,7 +90,7 @@ are treated as "unknown" graphic characters.

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

- + C++ localization model.
@@ -131,16 +129,14 @@ requires a POSIX message catalogue, which will be loaded via the std::messages facet of the expression's locale, the traits class exports the symbol:

-
-static std::string set_message_catalogue(const std::string& s);
+
static std::string set_message_catalogue(const std::string& s);
 

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

-
-boost::cpp_regex_traits<char>::set_message_catalogue("mycatalogue");
+
boost::cpp_regex_traits<char>::set_message_catalogue("mycatalogue");
 

Note that calling basic_regex<>::imbue @@ -155,7 +151,7 @@ in your code. The best way to ensure this is to add the #define to <boost/regex/user.hpp>.

- + Providing a message catalogue
@@ -1779,7 +1775,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/performance.html b/doc/html/boost_regex/background_information/performance.html index 1732fd58..b6fac183 100644 --- a/doc/html/boost_regex/background_information/performance.html +++ b/doc/html/boost_regex/background_information/performance.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -46,7 +46,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/redist.html b/doc/html/boost_regex/background_information/redist.html index 4e3434ce..72258f79 100644 --- a/doc/html/boost_regex/background_information/redist.html +++ b/doc/html/boost_regex/background_information/redist.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -47,7 +47,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/background_information/standards.html b/doc/html/boost_regex/background_information/standards.html index 910d0d3a..534755f3 100644 --- a/doc/html/boost_regex/background_information/standards.html +++ b/doc/html/boost_regex/background_information/standards.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -28,7 +28,7 @@ Conformance
- + C++

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

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

- + Perl

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

- + POSIX

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

- + Unicode

@@ -549,7 +549,11 @@ - +
Copyright © 2007 John Maddock


diff --git a/doc/html/boost_regex/background_information/thread_safety.html b/doc/html/boost_regex/background_information/thread_safety.html index 86f73d7f..dc167483 100644 --- a/doc/html/boost_regex/background_information/thread_safety.html +++ b/doc/html/boost_regex/background_information/thread_safety.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -71,7 +71,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/captures.html b/doc/html/boost_regex/captures.html index af64a95d..f306d7c4 100644 --- a/doc/html/boost_regex/captures.html +++ b/doc/html/boost_regex/captures.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -35,7 +35,7 @@ accessed.

- + Marked sub-expressions

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

-
-boost::match_results<IteratorType> m;
+
boost::match_results<IteratorType> m;
 

The Perl and Boost.Regex equivalents are as follows: @@ -219,7 +218,7 @@ output stream.

- + Unmatched Sub-Expressions

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

- + Repeated Captures

@@ -256,8 +255,7 @@ the regular expression matching. The following example program shows how this information may be used:

-
-#include <boost/regex.hpp>
+
#include <boost/regex.hpp>
 #include <iostream>
 
 void print_captures(const std::string& regx, const std::string& text)
@@ -371,7 +369,11 @@ Text:        "now is the time for all good men to come to the aid of the party"
 
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/configuration.html b/doc/html/boost_regex/configuration.html index df6a4d80..bc93d094 100644 --- a/doc/html/boost_regex/configuration.html +++ b/doc/html/boost_regex/configuration.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -37,7 +37,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/configuration/algorithm.html b/doc/html/boost_regex/configuration/algorithm.html index 50320abb..395fcfbf 100644 --- a/doc/html/boost_regex/configuration/algorithm.html +++ b/doc/html/boost_regex/configuration/algorithm.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -79,7 +79,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/configuration/compiler.html b/doc/html/boost_regex/configuration/compiler.html index ee8f55ea..e423ab16 100644 --- a/doc/html/boost_regex/configuration/compiler.html +++ b/doc/html/boost_regex/configuration/compiler.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -36,7 +36,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/configuration/linkage.html b/doc/html/boost_regex/configuration/linkage.html index a4959292..6b21f7ff 100644 --- a/doc/html/boost_regex/configuration/linkage.html +++ b/doc/html/boost_regex/configuration/linkage.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -77,7 +77,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/configuration/locale.html b/doc/html/boost_regex/configuration/locale.html index 9b5c16c3..a5f3c041 100644 --- a/doc/html/boost_regex/configuration/locale.html +++ b/doc/html/boost_regex/configuration/locale.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -95,7 +95,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/configuration/tuning.html b/doc/html/boost_regex/configuration/tuning.html index c58319ac..c88cc880 100644 --- a/doc/html/boost_regex/configuration/tuning.html +++ b/doc/html/boost_regex/configuration/tuning.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -140,7 +140,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/format.html b/doc/html/boost_regex/format.html index 1e24ee79..832b6a0f 100644 --- a/doc/html/boost_regex/format.html +++ b/doc/html/boost_regex/format.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -45,16 +45,14 @@ is passed to one of these functions, then the format string is treated as a string literal, and is copied unchanged to the output.

-

-

-

-

-

-

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/format/boost_format_syntax.html b/doc/html/boost_regex/format/boost_format_syntax.html index b2fc8352..c733757b 100644 --- a/doc/html/boost_regex/format/boost_format_syntax.html +++ b/doc/html/boost_regex/format/boost_format_syntax.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -32,7 +32,7 @@ '$', '\', '(', ')', '?', and ':'.

- + Grouping

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

- + Conditionals

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

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

- + Escape Sequences
@@ -389,7 +389,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/format/perl_format.html b/doc/html/boost_regex/format/perl_format.html index a04deb0a..44ed90f5 100644 --- a/doc/html/boost_regex/format/perl_format.html +++ b/doc/html/boost_regex/format/perl_format.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -344,7 +344,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/format/sed_format.html b/doc/html/boost_regex/format/sed_format.html index 6a142e76..d617a7a7 100644 --- a/doc/html/boost_regex/format/sed_format.html +++ b/doc/html/boost_regex/format/sed_format.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -235,7 +235,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/install.html b/doc/html/boost_regex/install.html index 9facdc5f..46755547 100644 --- a/doc/html/boost_regex/install.html +++ b/doc/html/boost_regex/install.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -49,7 +49,7 @@ file before you can use it, instructions for specific platforms are as follows:

- + Building with bjam

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

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

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

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

- + Sun Workshop 6.1

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

- + Makefiles for Other compilers
@@ -358,7 +358,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/introduction_and_overview.html b/doc/html/boost_regex/introduction_and_overview.html index a9132aa7..de04044d 100644 --- a/doc/html/boost_regex/introduction_and_overview.html +++ b/doc/html/boost_regex/introduction_and_overview.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -47,8 +47,7 @@ there are two typedefs that are almost always the means by which this class is referenced:

-
-namespace boost{
+
namespace boost{
 
 template <class charT, 
          class traits = regex_traits<charT> >
@@ -86,8 +85,7 @@
       Now let's take that expression and place it in some C++ code to validate the
       format of a credit card number:
     

-
-bool validate_card_format(const std::string& s)
+
bool validate_card_format(const std::string& s)
 {
    static const boost::regex e("(\\d{4}[- ]){3}\\d{4}");
    return regex_match(s, e);
@@ -115,8 +113,7 @@
       and replace operation is performed with the algorithm regex_replace, for our credit card
       example we can write two algorithms like this to provide the format conversions:
     

-
-// match any format with the regular expression:
+
// match any format with the regular expression:
 const boost::regex e("\\A(\\d{3,4})[- ]?(\\d{4})[- ]?(\\d{4})[- ]?(\\d{4})\\z");
 const std::string machine_format("\\1\\2\\3\\4");
 const std::string human_format("\\1-\\2-\\3-\\4");
@@ -144,8 +141,7 @@
       the class match_results,
       as before there are typedefs of this class for the most common cases:
     

-
-namespace boost{
+
namespace boost{
 
 typedef match_results<const char*>                  cmatch;
 typedef match_results<const wchar_t*>               wcmatch;
@@ -205,7 +201,11 @@
 
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/partial_matches.html b/doc/html/boost_regex/partial_matches.html index c02f0333..ff764a69 100644 --- a/doc/html/boost_regex/partial_matches.html +++ b/doc/html/boost_regex/partial_matches.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -192,8 +192,7 @@ the input could never become a valid number, and the inputted character must be discarded, and a suitable error indication displayed to the user.

-
-#include <string>
+
#include <string>
 #include <iostream>
 #include <boost/regex.hpp>
 
@@ -228,8 +227,7 @@
       if a partial match was encountered, then the partial match gets searched a
       second time as the start of the next batch of text:
     

-
-#include <iostream>
+
#include <iostream>
 #include <fstream>
 #include <sstream>
 #include <string>
@@ -295,7 +293,11 @@
 
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref.html b/doc/html/boost_regex/ref.html index 814fbecd..0ff0d198 100644 --- a/doc/html/boost_regex/ref.html +++ b/doc/html/boost_regex/ref.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -91,7 +91,7 @@
Traits Class Requirements
Iterator - Rrequirements
+ Requirements
Deprecated Interfaces
@@ -105,32 +105,14 @@ Level Class RegEx (Deprecated)
-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/bad_expression.html b/doc/html/boost_regex/ref/bad_expression.html index 52d66acd..09e0dce2 100644 --- a/doc/html/boost_regex/ref/bad_expression.html +++ b/doc/html/boost_regex/ref/bad_expression.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -27,19 +27,17 @@ bad_expression
- + Synopsis
-
-#include <boost/pattern_except.hpp>
+
#include <boost/pattern_except.hpp>
 

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

-
-namespace boost{
+
namespace boost{
 
 class regex_error : public std::runtime_error
 {
@@ -56,25 +54,22 @@
 } // namespace boost
 
- + Description
-
-regex_error(const std::string& s, regex_constants::error_type err, std::ptrdiff_t pos);
+
regex_error(const std::string& s, regex_constants::error_type err, std::ptrdiff_t pos);
 regex_error(boost::regex_constants::error_type err);
 

Effects: Constructs an object of class regex_error.

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

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

-
-std::ptrdiff_t position()const; 
+
std::ptrdiff_t position()const; 
 

Effects: returns the location in the expression @@ -94,7 +89,11 @@ - +
Copyright © 2007 John Maddock


diff --git a/doc/html/boost_regex/ref/basic_regex.html b/doc/html/boost_regex/ref/basic_regex.html index 06568384..1a72c91a 100644 --- a/doc/html/boost_regex/ref/basic_regex.html +++ b/doc/html/boost_regex/ref/basic_regex.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -27,11 +27,10 @@ basic_regex
- + Synopsis
-
-#include <boost/regex.hpp>
+
#include <boost/regex.hpp>
 

The template class basic_regex @@ -58,8 +57,7 @@ see unicode support), you won't need to use anything other than these:

-
-namespace boost{
+
namespace boost{
 
 template <class charT, class traits = regex_traits<charT>  >
 class basic_regex;
@@ -74,8 +72,7 @@
         follows: it is based very closely on class basic_string,
         and fulfils the requirements for a constant-container of charT.
       

-
-namespace boost{
+
namespace boost{
 
 template <class  charT, class traits = regex_traits<charT> >
 class basic_regex {
@@ -246,15 +243,14 @@
 } // namespace boost
 
- + Description

Class basic_regex has the following public members:

-
-// main option selection:
+
// main option selection:
 static const regex_constants:: syntax_option_type normal           
                                           = regex_constants::normal;
 static const regex_constants:: syntax_option_type ECMAScript       
@@ -323,15 +319,14 @@
       

-
-basic_regex();
+
basic_regex();
 

Effects: Constructs an object of class basic_regex.

-

Table 1. basic_regex default construction postconditions

+

Table 1. basic_regex default construction postconditions

@@ -391,8 +386,7 @@

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

Requires: p shall not @@ -412,7 +406,7 @@ flags specified in f.

-

Table 2. Postconditions for basic_regex construction

+

Table 2. Postconditions for basic_regex construction

@@ -496,8 +490,7 @@

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

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

-

Table 3. Postconditions for basic_regex construction

+

Table 3. Postconditions for basic_regex construction

@@ -602,8 +595,7 @@

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

Requires: p shall not @@ -623,7 +615,7 @@ according the option flags specified in f.

-

Table 4. Postconditions for basic_regex construction

+

Table 4. Postconditions for basic_regex construction

@@ -707,8 +699,7 @@

-
-basic_regex(const basic_regex& e);
+
basic_regex(const basic_regex& e);
 

Effects: Constructs an object of class @@ -717,8 +708,7 @@

-
-template <class ST, class SA>
+
template <class ST, class SA>
 basic_regex(const basic_string<charT, ST, SA>& s, 
             flag_type f = regex_constants::normal);
 
@@ -736,7 +726,7 @@ flags specified in f.

-

Table 5. Postconditions for basic_regex construction

+

Table 5. Postconditions for basic_regex construction

@@ -820,8 +810,7 @@

-
-template <class ForwardIterator>
+
template <class ForwardIterator>
 basic_regex(ForwardIterator first, ForwardIterator last, 
             flag_type f = regex_constants::normal);
 
@@ -839,7 +828,7 @@ flags specified in f.

-

Table 6. Postconditions for basic_regex construction

+

Table 6. Postconditions for basic_regex construction

@@ -923,16 +912,14 @@

-
-basic_regex& operator=(const basic_regex& e);
+
basic_regex& operator=(const basic_regex& e);
 

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

-
-basic_regex& operator=(const charT* ptr);
+
basic_regex& operator=(const charT* ptr);
 

Requires: p shall not @@ -943,8 +930,7 @@

-
-template <class ST, class SA>
+
template <class ST, class SA>
 basic_regex& operator=(const basic_string<charT, ST, SA>& p);
 

@@ -952,8 +938,7 @@

-
-const_iterator begin() const;
+
const_iterator begin() const;
 

Effects: Returns a starting iterator to @@ -961,8 +946,7 @@

-
-const_iterator end() const;
+
const_iterator end() const;
 

Effects: Returns termination iterator to @@ -970,8 +954,7 @@

-
-size_type size() const;
+
size_type size() const;
 

Effects: Returns the length of the sequence @@ -979,8 +962,7 @@

-
-size_type max_size() const;
+
size_type max_size() const;
 

Effects: Returns the maximum length of the @@ -988,8 +970,7 @@

-
-bool empty() const;
+
bool empty() const;
 

Effects: Returns true if the object does @@ -997,8 +978,7 @@

-
-unsigned mark_count() const;
+
unsigned mark_count() const;
 

Effects: Returns the number of marked sub-expressions @@ -1006,32 +986,28 @@

-
-basic_regex& assign(const basic_regex& that);
+
basic_regex& assign(const basic_regex& that);
 

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

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

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

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

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

-
-template <class string_traits, class A>
+
template <class string_traits, class A>
 basic_regex& assign(const basic_string<charT, string_traits, A>& s,
                   flag_type f = regex_constants::normal);
 
@@ -1050,7 +1026,7 @@ in f.

-

Table 7. Postconditions for basic_regex::assign

+

Table 7. Postconditions for basic_regex::assign

@@ -1134,8 +1110,7 @@

-
-template <class InputIterator>
+
template <class InputIterator>
 basic_regex& assign(InputIterator first, InputIterator last,
                     flag_type f = regex_constants::normal);
 
@@ -1149,8 +1124,7 @@

-
-flag_type flags() const;
+
flag_type flags() const;
 

Effects: Returns a copy of the regular @@ -1159,8 +1133,7 @@

-
-int status() const;
+
int status() const;
 

Effects: Returns zero if the expression @@ -1169,8 +1142,7 @@

-
-basic_string<charT> str() const;
+
basic_string<charT> str() const;
 

Effects: Returns a copy of the character @@ -1178,8 +1150,7 @@

-
-int compare(basic_regex& e)const;
+
int compare(basic_regex& e)const;
 

Effects: If flags() == e.flags() then returns str().compare(e.str()), @@ -1188,8 +1159,7 @@

-
-locale_type imbue(locale_type l);
+
locale_type imbue(locale_type l);
 

Effects: Returns the result of traits_inst.imbue(l) where @@ -1203,8 +1173,7 @@

-
-locale_type getloc() const;
+
locale_type getloc() const;
 

Effects: Returns the result of traits_inst.getloc() @@ -1214,8 +1183,7 @@

-
-void swap(basic_regex& e) throw();
+
void swap(basic_regex& e) throw();
 

Effects: Swaps the contents of the two regular @@ -1244,8 +1212,7 @@

-
-template <class charT, class traits>
+
template <class charT, class traits>
 bool operator == (const basic_regex<charT, traits>& lhs,
                   const basic_regex<charT, traits>& rhs);
 
@@ -1255,8 +1222,7 @@

-
-template <class charT, class traits>
+
template <class charT, class traits>
 bool operator != (const basic_regex<charT, traits>& lhs,
                   const basic_regex<charT, traits>& rhs);
 
@@ -1266,8 +1232,7 @@

-
-template <class charT, class traits>
+
template <class charT, class traits>
 bool operator < (const basic_regex<charT, traits>& lhs,
                const basic_regex<charT, traits>& rhs);
 
@@ -1277,8 +1242,7 @@

-
-template <class charT, class traits>
+
template <class charT, class traits>
 bool operator <= (const basic_regex<charT, traits>& lhs,
                   const basic_regex<charT, traits>& rhs);
 
@@ -1288,8 +1252,7 @@

-
-template <class charT, class traits>
+
template <class charT, class traits>
 bool operator >= (const basic_regex<charT, traits>& lhs,
                   const basic_regex<charT, traits>& rhs);
 
@@ -1299,8 +1262,7 @@

-
-template <class charT, class traits>
+
template <class charT, class traits>
 bool operator > (const basic_regex<charT, traits>& lhs,
                const basic_regex<charT, traits>& rhs);
 
@@ -1320,8 +1282,7 @@

-
-template <class charT, class io_traits, class re_traits>
+
template <class charT, class io_traits, class re_traits>
 basic_ostream<charT, io_traits>&
    operator << (basic_ostream<charT, io_traits>& os
                const basic_regex<charT, re_traits>& e);
@@ -1331,8 +1292,7 @@
       

-
-template <class charT, class traits>
+
template <class charT, class traits>
 void swap(basic_regex<charT, traits>& lhs,
          basic_regex<charT, traits>& rhs);
 
@@ -1342,7 +1302,11 @@ - +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/concepts.html b/doc/html/boost_regex/ref/concepts.html index fe2ea0cb..c0b0e15a 100644 --- a/doc/html/boost_regex/ref/concepts.html +++ b/doc/html/boost_regex/ref/concepts.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -31,12 +31,16 @@
Traits Class Requirements
Iterator - Rrequirements
+ Requirements
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/concepts/charT_concept.html b/doc/html/boost_regex/ref/concepts/charT_concept.html index 5deae2df..ca2b4f81 100644 --- a/doc/html/boost_regex/ref/concepts/charT_concept.html +++ b/doc/html/boost_regex/ref/concepts/charT_concept.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

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

diff --git a/doc/html/boost_regex/ref/concepts/iterator_concepts.html b/doc/html/boost_regex/ref/concepts/iterator_concepts.html index f65480a8..c7e39d13 100644 --- a/doc/html/boost_regex/ref/concepts/iterator_concepts.html +++ b/doc/html/boost_regex/ref/concepts/iterator_concepts.html @@ -1,7 +1,7 @@ -Iterator Rrequirements +Iterator Requirements @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -24,8 +24,8 @@

The regular expression algorithms (and iterators) take all require a Bidirectional-Iterator. @@ -33,7 +33,11 @@

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/concepts/traits_concept.html b/doc/html/boost_regex/ref/concepts/traits_concept.html index d791f879..f7f2e58a 100644 --- a/doc/html/boost_regex/ref/concepts/traits_concept.html +++ b/doc/html/boost_regex/ref/concepts/traits_concept.html @@ -7,15 +7,15 @@ - + - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -34,7 +34,7 @@ Boost-specific enhanced interface.

- + Minimal requirements.
@@ -327,7 +327,7 @@

- v.value(c, i) + v.value(c, I)

@@ -378,30 +378,10 @@

- - -

- v.error_string(i) -

- - -

- std::string -

- - -

- Returns a human readable error string for the error condition i, - where i is one of the values enumerated by type regex_constants::error_type. - If the value i is not recognized then returns the string "Unknown - error" or a localized equivalent. -

- -
- + Additional Optional Requirements
@@ -541,7 +521,7 @@

- v.error_string(i) + v.error_string(I)

@@ -553,8 +533,8 @@

Returns a human readable error string for the error condition i, where i is one of the values enumerated by type regex_constants::error_type. - If the value i is not recognized then returns the string "Unknown - error" or a localized equivalent. + If the value I is not recognized then returns + the string "Unknown error" or a localized equivalent.

@@ -599,7 +579,11 @@ - +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/deprecated_interfaces.html b/doc/html/boost_regex/ref/deprecated_interfaces.html index 07045e17..5b9ffb3e 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces.html @@ -6,16 +6,16 @@ - + - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -36,18 +36,14 @@
High Level Class RegEx (Deprecated)
-

-

-

-

-

-

-

-

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html b/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html index ba37fb11..a490e8d0 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -33,8 +33,7 @@ exists, and existing code will continue to compile, however the following documentation is unlikely to be further updated.

-
-#include <boost/cregex.hpp>
+
#include <boost/cregex.hpp>
 

The class RegEx provides a high level simplified interface to the regular @@ -42,8 +41,7 @@ regular expressions always follow the "normal" syntax - that is the same as the perl / ECMAScript synatx.

-
-typedef bool (*GrepCallback)(const RegEx& expression);
+
typedef bool (*GrepCallback)(const RegEx& expression);
 typedef bool (*GrepFileCallback)(const char* file, const RegEx& expression);
 typedef bool (*FindFilesCallback)(const char* file);
 
@@ -818,7 +816,11 @@
 
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html b/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html index 28ef42c8..04d02660 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -34,12 +34,11 @@ previous version of Boost.Regex and will not be further updated:

- + Algorithm regex_format
-
-#include <boost/regex.hpp>
+
#include <boost/regex.hpp>
 

The algorithm regex_format @@ -47,8 +46,7 @@ string, regex_format can be used for search and replace operations:

-
-template <class OutputIterator, class iterator, class Allocator, class charT>
+
template <class OutputIterator, class iterator, class Allocator, class charT>
 OutputIterator regex_format(OutputIterator out,
                            const match_results<iterator, Allocator>& m,
                            const charT* fmt,
@@ -73,8 +71,7 @@
             form, depending upon your compilers capabilities
           

-
-template <class iterator, class Allocator, class charT>
+
template <class iterator, class Allocator, class charT>
 std::basic_string<charT> regex_format
                                  (const match_results<iterator, Allocator>& m, 
                                  const charT* fmt,
@@ -170,7 +167,11 @@
 
 
-
+
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html b/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html index 33fd7e4e..92cbaa83 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -36,16 +36,14 @@ The following documentation is taken unchanged from the previous boost release, and will not be updated in future.

-
-#include <boost/regex.hpp>
+
#include <boost/regex.hpp>
 

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

-
-template <class Predicate, class iterator, class charT, class traits>
+
template <class Predicate, class iterator, class charT, class traits>
 unsigned int regex_grep(Predicate foo,
                         iterator first,
                         iterator last,
@@ -58,8 +56,7 @@
           std::basic_string<>&
           in place of a pair of iterators.
         

-
-template <class Predicate, class charT, class traits>
+
template <class Predicate, class charT, class traits>
 unsigned int regex_grep(Predicate foo, 
             const charT* str, 
             const basic_regex<charT, traits>& e, 
@@ -104,8 +101,7 @@
 

The general form of the predicate is:

-
-struct grep_predicate
+
struct grep_predicate
 {
    bool operator()(const match_results<iterator_type>& m);
 };
@@ -135,8 +131,7 @@
 

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

-
-#include <string> 
+
#include <string> 
 #include <map> 
 #include <boost/regex.hpp> 
 
@@ -198,8 +193,7 @@
           Example: Use regex_grep
           to call a global callback function:
         

-
-#include <string> 
+
#include <string> 
 #include <map> 
 #include <boost/regex.hpp> 
 
@@ -259,8 +253,7 @@
           to call a class member function, use the standard library adapters std::mem_fun and std::bind1st
           to convert the member function into a predicate:
         

-
-#include <string> 
+
#include <string> 
 #include <map> 
 #include <boost/regex.hpp> 
 #include <functional> 
@@ -313,8 +306,7 @@
           Finally, C++ Builder users can use C++ Builder's closure type as a callback
           argument:
         

-
-#include <string> 
+
#include <string> 
 #include <map> 
 #include <boost/regex.hpp> 
 #include <functional> 
@@ -370,7 +362,11 @@
 
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html b/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html index dd07bf04..d43db820 100644 --- a/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html +++ b/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

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

-
-#include <boost/regex.hpp> 
+
#include <boost/regex.hpp> 
 

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

-
-template <class OutputIterator, class charT, class Traits1, class Alloc1, class Traits2>
+
template <class OutputIterator, class charT, class Traits1, class Alloc1, class Traits2>
 std::size_t regex_split(OutputIterator out, 
                         std::basic_string<charT, Traits1, Alloc1>& s, 
                         const basic_regex<charT, Traits2>& e,
@@ -90,8 +88,7 @@
           the input string into a series of tokens, and remove each token from the
           string s:
         

-
-unsigned tokenise(std::list<std::string>& l, std::string& s)
+
unsigned tokenise(std::list<std::string>& l, std::string& s)
 {
    return boost::regex_split(std::back_inserter(l), s);
 }
@@ -100,8 +97,7 @@
           Example: the following short program will extract all of the URL's from
           a html file, and print them out to cout:
         

-
-#include <list>
+
#include <list>
 #include <fstream>
 #include <iostream>
 #include <boost/regex.hpp>
@@ -153,7 +149,11 @@
 
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/error_type.html b/doc/html/boost_regex/ref/error_type.html index d2deb78b..f18f3fdb 100644 --- a/doc/html/boost_regex/ref/error_type.html +++ b/doc/html/boost_regex/ref/error_type.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -27,15 +27,14 @@ error_type
- + Synopsis

Type error type represents the different types of errors that can be raised by the library when parsing a regular expression.

-
-namespace boost{ namespace regex_constants{
+
namespace boost{ namespace regex_constants{
 
 typedef implementation-specific-type error_type;
 
@@ -58,7 +57,7 @@
 } // namespace boost
 
- + Description

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


diff --git a/doc/html/boost_regex/ref/match_flag_type.html b/doc/html/boost_regex/ref/match_flag_type.html index e0ebccba..f95d26d7 100644 --- a/doc/html/boost_regex/ref/match_flag_type.html +++ b/doc/html/boost_regex/ref/match_flag_type.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -32,8 +32,7 @@ controls how a regular expression is matched against a character sequence. The behavior of the format flags is described in more detail in the format syntax guide.

-
-namespace boost{ namespace regex_constants{
+
namespace boost{ namespace regex_constants{
 
 typedef implemenation-specific-bitmask-type match_flag_type;
 
@@ -70,7 +69,7 @@
 } // namespace boost
 
- + Description

@@ -314,7 +313,7 @@

- Specified that the expression "." does not match a character + Specifies that the expression "." does not match a character null '\0'.

@@ -427,7 +426,7 @@

- Specified that when a regular expression match is to be replaced + Specifies that when a regular expression match is to be replaced by a new string, that the new string is a literal copy of the replacement text.

@@ -479,7 +478,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/match_results.html b/doc/html/boost_regex/ref/match_results.html index 086ba614..47f364d9 100644 --- a/doc/html/boost_regex/ref/match_results.html +++ b/doc/html/boost_regex/ref/match_results.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -27,11 +27,10 @@ match_results
- + Synopsis
-
-#include <boost/regex.hpp>
+
#include <boost/regex.hpp>
 

Regular expressions are different from many simple pattern-matching algorithms @@ -62,8 +61,7 @@ wcmatch, smatch, or wsmatch:

-
-template <class BidirectionalIterator,
+
template <class BidirectionalIterator,
          class Allocator = std::allocator<sub_match<BidirectionalIterator> >
 class match_results;
 
@@ -144,7 +142,7 @@
          match_results<BidirectionalIterator, Allocator>& m2);
 
- + Description

@@ -154,8 +152,7 @@

-
-match_results(const Allocator& a = Allocator());
+
match_results(const Allocator& a = Allocator());
 

Effects: Constructs an object of class @@ -220,8 +217,7 @@

-
-match_results(const match_results& m);
+
match_results(const match_results& m);
 

Effects: Constructs an object of class match_results, @@ -229,8 +225,7 @@

-
-match_results& operator=(const match_results& m);
+
match_results& operator=(const match_results& m);
 

Effects: Assigns m to *this. The postconditions @@ -354,8 +349,7 @@

-
-size_type size()const;
+
size_type size()const;
 

Effects: Returns the number of sub_match elements stored in *this; @@ -364,8 +358,7 @@

-
-size_type max_size()const;
+
size_type max_size()const;
 

Effects: Returns the maximum number of @@ -374,16 +367,14 @@

-
-bool empty()const;
+
bool empty()const;
 

Effects: Returns size() == 0.

-
-difference_type length(int sub = 0)const;
+
difference_type length(int sub = 0)const;
 

Effects: Returns the length of sub-expression @@ -391,8 +382,7 @@

-
-difference_type position(unsigned int sub = 0)const;
+
difference_type position(unsigned int sub = 0)const;
 

Effects: Returns the starting location of @@ -403,8 +393,7 @@

-
-string_type str(int sub = 0)const;
+
string_type str(int sub = 0)const;
 

Effects: Returns sub-expression sub @@ -412,8 +401,7 @@

-
-const_reference operator[](int n) const;
+
const_reference operator[](int n) const;
 

Effects: Returns a reference to the sub_match @@ -427,8 +415,7 @@

-
-const_reference prefix()const;
+
const_reference prefix()const;
 

Effects: Returns a reference to the sub_match @@ -437,8 +424,7 @@

-
-const_reference suffix()const;
+
const_reference suffix()const;
 

Effects: Returns a reference to the sub_match @@ -447,8 +433,7 @@

-
-const_iterator begin()const;
+
const_iterator begin()const;
 

Effects: Returns a starting iterator that @@ -456,8 +441,7 @@

-
-const_iterator end()const;
+
const_iterator end()const;
 

Effects: Returns a terminating iterator @@ -465,8 +449,7 @@

-
-template <class OutputIterator>
+
template <class OutputIterator>
 OutputIterator format(OutputIterator out,
                      const string_type& fmt,
                      match_flag_type flags = format_default);
@@ -494,8 +477,7 @@
       

-
-string_type format(const string_type& fmt,
+
string_type format(const string_type& fmt,
                   match_flag_type flags = format_default);
 

@@ -512,8 +494,7 @@

-
-allocator_type get_allocator()const;
+
allocator_type get_allocator()const;
 

Effects: Returns a copy of the Allocator @@ -521,8 +502,7 @@

-
-void swap(match_results& that);
+
void swap(match_results& that);
 

Effects: Swaps the contents of the two sequences. @@ -537,8 +517,7 @@

-
-typedef typename value_type::capture_sequence_type capture_sequence_type;
+
typedef typename value_type::capture_sequence_type capture_sequence_type;
 

Defines an implementation-specific type that satisfies the requirements of @@ -548,8 +527,7 @@

-
-const capture_sequence_type& captures(std::size_t i)const; 
+
const capture_sequence_type& captures(std::size_t i)const; 
 

Effects: returns a sequence containing all @@ -585,8 +563,7 @@

-
-template <class BidirectionalIterator, class Allocator>
+
template <class BidirectionalIterator, class Allocator>
 bool operator == (const match_results<BidirectionalIterator, Allocator>& m1,
                   const match_results<BidirectionalIterator, Allocator>& m2);
 
@@ -596,8 +573,7 @@

-
-template <class BidirectionalIterator, class Allocator>
+
template <class BidirectionalIterator, class Allocator>
 bool operator != (const match_results<BidirectionalIterator, Allocator>& m1,
                   const match_results<BidirectionalIterator, Allocator>& m2);
 
@@ -607,8 +583,7 @@

-
-template <class charT, class traits, class BidirectionalIterator, class Allocator>
+
template <class charT, class traits, class BidirectionalIterator, class Allocator>
 basic_ostream<charT, traits>&
    operator << (basic_ostream<charT, traits>& os,
                const match_results<BidirectionalIterator, Allocator>& m);
@@ -621,8 +596,7 @@
       

-
-template <class BidirectionalIterator, class Allocator>
+
template <class BidirectionalIterator, class Allocator>
 void swap(match_results<BidirectionalIterator, Allocator>& m1,
          match_results<BidirectionalIterator, Allocator>& m2);
 
@@ -632,7 +606,11 @@ - +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/non_std_strings.html b/doc/html/boost_regex/ref/non_std_strings.html index 62ad63d5..165d4bb7 100644 --- a/doc/html/boost_regex/ref/non_std_strings.html +++ b/doc/html/boost_regex/ref/non_std_strings.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -70,12 +70,14 @@ been provided for them already: currently this includes the ICU and MFC string class types.

-

-

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/non_std_strings/icu.html b/doc/html/boost_regex/ref/non_std_strings/icu.html index 337c084b..e4bc06f3 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -40,7 +40,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/intro.html b/doc/html/boost_regex/ref/non_std_strings/icu/intro.html index 5e719f6f..4472e41a 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/intro.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/intro.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -30,8 +30,7 @@

The header:

-
-<boost/regex/icu.hpp>
+
<boost/regex/icu.hpp>
 

contains the data types and algorithms necessary for working with regular @@ -63,7 +62,11 @@

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html index 0691e820..2a386b1d 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -43,7 +43,7 @@ on to the "real" algorithm.

- + u32regex_match

@@ -57,8 +57,7 @@

Example: match a password, encoded in a UTF-16 UnicodeString:

-
-//
+
//
 // Find out if *password* meets our password requirements,
 // as defined by the regular expression *requirements*.
 //
@@ -70,8 +69,7 @@
 

Example: match a UTF-8 encoded filename:

-
-//
+
//
 // Extract filename part of a path from a UTF-8 encoded std::string and return the result
 // as another std::string:
 //
@@ -91,7 +89,7 @@
 }
 
- + u32regex_search

@@ -105,8 +103,7 @@

Example: search for a character sequence in a specific language block:

-
-UnicodeString extract_greek(const UnicodeString& text)
+
UnicodeString extract_greek(const UnicodeString& text)
 {
    // searches through some UTF-16 encoded text for a block encoded in Greek,
    // this expression is imperfect, but the best we can do for now - searching
@@ -131,7 +128,7 @@
 }
 
- + u32regex_replace

@@ -149,8 +146,7 @@

Example: Credit card number reformatting:

-
-//
+
//
 // Take a credit card number as a string of digits, 
 // and reformat it as a human readable string with "-"
 // separating each group of four digit;, 
@@ -170,7 +166,11 @@
 
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html index 031f60af..73ad7f29 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -28,7 +28,7 @@ Unicode Aware Regex Iterators
- + u32regex_iterator

@@ -39,8 +39,7 @@ u32regex_search internally, allowing it to interface correctly with UTF-8, UTF-16, and UTF-32 data:

-
-template <class BidirectionalIterator>
+
template <class BidirectionalIterator>
 class u32regex_iterator
 {
    // for members see regex_iterator
@@ -55,8 +54,7 @@
             from a string, there are a series of non-member helper functions called
             make_u32regex_iterator:
           

-
-u32regex_iterator<const char*> 
+
u32regex_iterator<const char*> 
    make_u32regex_iterator(const char* s, 
                           const u32regex& e, 
                           regex_constants::match_flag_type m = regex_constants::match_default);
@@ -91,8 +89,7 @@
             Example: search for international currency symbols, along with their
             associated numeric value:
           

-
-void enumerate_currencies(const std::string& text)
+
void enumerate_currencies(const std::string& text)
 {
    // enumerate and print all the currency symbols, along
    // with any associated numeric values:
@@ -129,7 +126,7 @@
             Provided of course that the input is encoded as UTF-8.
           

- + u32regex_token_iterator

@@ -140,8 +137,7 @@ u32regex_search internally, allowing it to interface correctly with UTF-8, UTF-16, and UTF-32 data:

-
-template <class BidirectionalIterator>
+
template <class BidirectionalIterator>
 class u32regex_token_iterator
 {
    // for members see regex_token_iterator
@@ -156,8 +152,7 @@
             from a string, there are a series of non-member helper functions called
             make_u32regex_token_iterator:
           

-
-u32regex_token_iterator<const char*> 
+
u32regex_token_iterator<const char*> 
    make_u32regex_token_iterator(
          const char* s, 
          const u32regex& e, 
@@ -198,8 +193,7 @@
             of marked sub-expression sub in regular expression e,
             found in text s, using match_flags m.
           

-
-template <std::size_t N>
+
template <std::size_t N>
 u32regex_token_iterator<const char*> 
    make_u32regex_token_iterator(
          const char* p, 
@@ -244,8 +238,7 @@
             for each submatch in regular expression e, found
             in text s, using match_flags m.
           

-
-u32regex_token_iterator<const char*> 
+
u32regex_token_iterator<const char*> 
    make_u32regex_token_iterator(
          const char* p, 
          const u32regex& e, 
@@ -290,8 +283,7 @@
             Example: search for international currency symbols, along with their
             associated numeric value:
           

-
-void enumerate_currencies2(const std::string& text)
+
void enumerate_currencies2(const std::string& text)
 {
    // enumerate and print all the currency symbols, along
    // with any associated numeric values:
@@ -317,7 +309,11 @@
 
 
-
+
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html index 54c37692..6729f74d 100644 --- a/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html +++ b/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

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

-
-class icu_regex_traits;
+
class icu_regex_traits;
 

and a regular expression type based upon that:

-
-typedef basic_regex<UChar32,icu_regex_traits> u32regex;
+
typedef basic_regex<UChar32,icu_regex_traits> u32regex;
 

The type u32regex is @@ -53,8 +51,7 @@ which allow regular expressions to be created from UTF-8, UTF-16, or UTF-32 encoded strings:

-
-template <class InputIterator> 
+
template <class InputIterator> 
 u32regex make_u32regex(InputIterator i, 
                        InputIterator j, 
                        boost::regex_constants::syntax_option_type opt);
@@ -65,8 +62,7 @@
             sequence is determined based upon sizeof(*i): 1 implies UTF-8, 2 implies
             UTF-16, and 4 implies UTF-32.
           

-
-u32regex make_u32regex(const char* p, 
+
u32regex make_u32regex(const char* p, 
                        boost::regex_constants::syntax_option_type opt 
                            = boost::regex_constants::perl);
 
@@ -74,8 +70,7 @@ Effects: Creates a regular expression object from the Null-terminated UTF-8 characater sequence p.

-
-u32regex make_u32regex(const unsigned char* p, 
+
u32regex make_u32regex(const unsigned char* p, 
                        boost::regex_constants::syntax_option_type opt 
                            = boost::regex_constants::perl);
 
@@ -83,8 +78,7 @@ Effects: Creates a regular expression object from the Null-terminated UTF-8 characater sequence p.

-
-u32regex make_u32regex(const wchar_t* p, 
+
u32regex make_u32regex(const wchar_t* p, 
                        boost::regex_constants::syntax_option_type opt 
                            = boost::regex_constants::perl);
 
@@ -94,8 +88,7 @@ encoding of the sequence is determined based upon sizeof(wchar_t): 1 implies UTF-8, 2 implies UTF-16, and 4 implies UTF-32.

-
-u32regex make_u32regex(const UChar* p, 
+
u32regex make_u32regex(const UChar* p, 
                        boost::regex_constants::syntax_option_type opt 
                            = boost::regex_constants::perl);
 
@@ -103,8 +96,7 @@ Effects: Creates a regular expression object from the Null-terminated UTF-16 characater sequence p.

-
-template<class C, class T, class A>
+
template<class C, class T, class A>
 u32regex make_u32regex(const std::basic_string<C, T, A>& s, 
                        boost::regex_constants::syntax_option_type opt 
                            = boost::regex_constants::perl);
@@ -115,8 +107,7 @@
             based upon sizeof(C): 1 implies UTF-8, 2 implies UTF-16, and 4 implies
             UTF-32.
           

-
-u32regex make_u32regex(const UnicodeString& s, 
+
u32regex make_u32regex(const UnicodeString& s, 
                        boost::regex_constants::syntax_option_type opt 
                            = boost::regex_constants::perl);
 
@@ -127,7 +118,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings.html index 3298ba2f..738372e3 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -42,7 +42,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html index 76d42e1b..3dc47f0c 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -34,7 +34,7 @@ here they are anyway:

- + regex_match

@@ -47,8 +47,7 @@ text matches the expression, if this isn't what you want then use regex_search instead.

-
-template <class charT, class T, class A>
+
template <class charT, class T, class A>
 bool regex_match(
    const ATL::CSimpleStringT<charT>& s, 
    match_results<const B*, A>& what, 
@@ -63,8 +62,7 @@
 

Example:

-
-//
+
//
 // Extract filename part of a path from a CString and return the result
 // as another CString:
 //
@@ -84,12 +82,11 @@
 }
 
- + regex_match (second overload)
-
-template <class charT, class T>
+
template <class charT, class T>
 bool regex_match(
    const ATL::CSimpleStringT<charT>& s,
    const basic_regex<B, T>& e,
@@ -103,8 +100,7 @@
 

Example:

-
-//
+
//
 // Find out if *password* meets our password requirements,
 // as defined by the regular expression *requirements*.
 //
@@ -114,15 +110,14 @@
 }      
 
- + regex_search

There are two additional overloads for regex_search, the first reports what matched the second does not:

-
-template <class charT, class A, class T>
+
template <class charT, class A, class T>
 bool regex_search(const ATL::CSimpleStringT<charT>& s,
                   match_results<const charT*, A>& what,
                   const basic_regex<charT, T>& e,
@@ -136,8 +131,7 @@
             Example: Postcode extraction from an
             address string.
           

-
-CString extract_postcode(const CString& address)
+
CString extract_postcode(const CString& address)
 {
    // searches throw address for a UK postcode and returns the result,
    // the expression used is by Phil A. on www.regxlib.com:
@@ -155,12 +149,11 @@
 }      
 
- + regex_search (second overload)
-
-template <class charT, class T>
+
template <class charT, class T>
 inline bool regex_search(const ATL::CSimpleStringT<charT>& s,
                const basic_regex<charT, T>& e,
                boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)
@@ -171,15 +164,14 @@
             + s.GetLength(), e, f);
           

- + regex_replace

There are two additional overloads for regex_replace, the first sends output to an output iterator, while the second creates a new string

-
-template <class OutputIterator, class BidirectionalIterator, class traits, class
+
template <class OutputIterator, class BidirectionalIterator, class traits, class
          charT>
 OutputIterator regex_replace(OutputIterator out,
                            BidirectionalIterator first,
@@ -192,8 +184,7 @@
             Effects: returns ::boost::regex_replace(out, first, last, e, fmt.GetString(),
             flags);
           

-
-template <class traits, charT>
+
template <class traits, charT>
 ATL::CSimpleStringT<charT> regex_replace(const ATL::CSimpleStringT<charT>& s,
                            const basic_regex<charT, traits>& e,
                            const ATL::CSimpleStringT<charT>& fmt,
@@ -207,8 +198,7 @@
 

Example:

-
-//
+
//
 // Take a credit card number as a string of digits, 
 // and reformat it as a human readable string with "-"
 // separating each group of four digits:
@@ -224,7 +214,11 @@
 
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html index 0923a1f9..fa0da3ec 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -38,8 +38,7 @@ then you can substitute any of the following MFC/ATL types (all of which inherit from CSimpleStringT):

-
-CString
+
CString
 CStringA
 CStringW
 CAtlString
@@ -52,7 +51,11 @@
 
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html index 04c5c41e..794ea347 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -32,12 +32,11 @@ an MFC/ATL string to a regex_iterator or regex_token_iterator:

- + regex_iterator creation helper
-
-template <class charT>
+
template <class charT>
 regex_iterator<charT const*> 
    make_regex_iterator(
       const ATL::CSimpleStringT<charT>& s, 
@@ -52,8 +51,7 @@
 

Example:

-
-void enumerate_links(const CString& html)
+
void enumerate_links(const CString& html)
 {
    // enumerate and print all the  links in some HTML text,
    // the expression used is by Andew Lee on www.regxlib.com:
@@ -70,12 +68,11 @@
 }
 
- + regex_token_iterator creation helpers
-
-template <class charT> 
+
template <class charT> 
 regex_token_iterator<charT const*> 
    make_regex_token_iterator(
       const ATL::CSimpleStringT<charT>& s, 
@@ -89,8 +86,7 @@
             sub,
             f);
           

-
-template <class charT> 
+
template <class charT> 
 regex_token_iterator<charT const*> 
    make_regex_token_iterator(
       const ATL::CSimpleStringT<charT>& s, 
@@ -104,8 +100,7 @@
             subs,
             f);
           

-
-template <class charT, std::size_t N> 
+
template <class charT, std::size_t N> 
 regex_token_iterator<charT const*> 
    make_regex_token_iterator(
       const ATL::CSimpleStringT<charT>& s, 
@@ -122,8 +117,7 @@
 

Example:

-
-void enumerate_links2(const CString& html)
+
void enumerate_links2(const CString& html)
 {
    // enumerate and print all the  links in some HTML text,
    // the expression used is by Andew Lee on www.regxlib.com:
@@ -142,7 +136,11 @@
 
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_create.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_create.html index 7ddd4f7b..dda660a7 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_create.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_create.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -31,8 +31,7 @@ The following helper function is available to assist in the creation of a regular expression from an MFC/ATL string type:

-
-template <class charT>
+
template <class charT>
 basic_regex<charT> 
    make_regex(const ATL::CSimpleStringT<charT>& s, 
             ::boost::regex_constants::syntax_option_type f = boost::regex_constants::normal);
@@ -44,7 +43,11 @@
 
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_types.html b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_types.html index 8edd6c09..746db452 100644 --- a/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_types.html +++ b/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_types.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -31,8 +31,7 @@ The following typedefs are provided for the convenience of those working with TCHAR's:

-
-typedef basic_regex<TCHAR>                  tregex; 
+
typedef basic_regex<TCHAR>                  tregex; 
 typedef match_results<TCHAR const*>         tmatch; 
 typedef regex_iterator<TCHAR const*>        tregex_iterator; 
 typedef regex_token_iterator<TCHAR const*>  tregex_token_iterator; 
@@ -45,7 +44,11 @@
 
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/posix.html b/doc/html/boost_regex/ref/posix.html index c2bd5a77..e2134095 100644 --- a/doc/html/boost_regex/ref/posix.html +++ b/doc/html/boost_regex/ref/posix.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -39,14 +39,12 @@ as the names used are macros that expand to the actual function names.

-
-#include <boost/cregex.hpp>
+
#include <boost/cregex.hpp>
 

or:

-
-#include <boost/regex.h>
+
#include <boost/regex.h>
 

The following functions are available for users who need a POSIX compatible @@ -69,8 +67,7 @@

The functions are defined as:

-
-extern "C" {
+
extern "C" {
 
 struct regex_tA;
 struct regex_tW;
@@ -168,7 +165,7 @@
 

- + regcomp

@@ -382,7 +379,7 @@

- + regerror

@@ -470,7 +467,7 @@

- + regexec

@@ -540,7 +537,7 @@

- + regfree

@@ -550,7 +547,11 @@ - +
Copyright © 2007 John Maddock


diff --git a/doc/html/boost_regex/ref/regex_iterator.html b/doc/html/boost_regex/ref/regex_iterator.html index a77d0d5f..3bda19c5 100644 --- a/doc/html/boost_regex/ref/regex_iterator.html +++ b/doc/html/boost_regex/ref/regex_iterator.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -32,8 +32,7 @@ regex_iterator yields a reference to a match_results object.

-
-template <class BidirectionalIterator, 
+
template <class BidirectionalIterator, 
          class charT = iterator_traits<BidirectionalIterator>::value_type,
          class traits = regex_traits<charT> >
 class regex_iterator 
@@ -79,7 +78,7 @@
                           regex_constants::match_flag_type m = regex_constants::match_default);
 
- + Description

@@ -89,8 +88,7 @@

-
-regex_iterator();
+
regex_iterator();
 

Effects: constructs an end of sequence @@ -98,8 +96,7 @@

-
-regex_iterator(BidirectionalIterator a, BidirectionalIterator b, 
+
regex_iterator(BidirectionalIterator a, BidirectionalIterator b, 
                const regex_type& re, 
                match_flag_type m = match_default);
 
@@ -119,8 +116,7 @@

-
-regex_iterator(const regex_iterator& that);
+
regex_iterator(const regex_iterator& that);
 

Effects: constructs a copy of that. @@ -130,8 +126,7 @@

-
-regex_iterator& operator=(const regex_iterator&);
+
regex_iterator& operator=(const regex_iterator&);
 

Effects: sets *this equal to those in that. @@ -141,8 +136,7 @@

-
-bool operator==(const regex_iterator& that)const;
+
bool operator==(const regex_iterator& that)const;
 

Effects: returns true if *this is equal @@ -150,16 +144,14 @@

-
-bool operator!=(const regex_iterator&)const;
+
bool operator!=(const regex_iterator&)const;
 

Effects: returns !(*this == that).

-
-const value_type& operator*()const;
+
const value_type& operator*()const;
 

Effects: dereferencing a regex_iterator object it yields @@ -383,16 +375,14 @@

-
-const value_type* operator->()const;
+
const value_type* operator->()const;
 

Effects: returns &(*this).

-
-regex_iterator& operator++();
+
regex_iterator& operator++();
 

Effects: moves the iterator to the next @@ -417,8 +407,7 @@

-
-regex_iterator operator++(int);
+
regex_iterator operator++(int);
 

Effects: constructs a copy result of *this, then @@ -429,8 +418,7 @@

-
-template <class charT, class traits> 
+
template <class charT, class traits> 
 regex_iterator<const charT*, charT, traits>
    make_regex_iterator(const charT* p, const basic_regex<charT, traits>& e, 
                      regex_constants::match_flag_type m = regex_constants::match_default); 
@@ -448,15 +436,14 @@
         m.
       

- + Examples

The following example takes a C++ source file and builds up an index of class names, and the location of that class in the file.

-
-#include <string>
+
#include <string>
 #include <map>
 #include <fstream>
 #include <iostream>
@@ -550,7 +537,11 @@
 
 
-
+
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/regex_match.html b/doc/html/boost_regex/ref/regex_match.html index 3cc9fb34..e55dd632 100644 --- a/doc/html/boost_regex/ref/regex_match.html +++ b/doc/html/boost_regex/ref/regex_match.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -26,8 +26,7 @@ -
-#include <boost/regex.hpp> 
+
#include <boost/regex.hpp> 
 

The algorithm regex_match @@ -48,8 +47,7 @@ set.

-
-template <class BidirectionalIterator, class Allocator, class charT, class traits>
+
template <class BidirectionalIterator, class Allocator, class charT, class traits>
 bool regex_match(BidirectionalIterator first, BidirectionalIterator last,
                  match_results<BidirectionalIterator, Allocator>& m,
                  const basic_regex <charT, traits>& e,
@@ -82,11 +80,10 @@
                  match_flag_type flags = match_default);
 
- + Description
-
-template <class BidirectionalIterator, class Allocator, class charT, class traits>
+
template <class BidirectionalIterator, class Allocator, class charT, class traits>
 bool regex_match(BidirectionalIterator first, BidirectionalIterator last,
                  match_results<BidirectionalIterator, Allocator>& m,
                  const basic_regex <charT, traits>& e,
@@ -313,8 +310,7 @@
 
 
 
-
-template <class BidirectionalIterator, class charT, class traits>
+
template <class BidirectionalIterator, class charT, class traits>
 bool regex_match(BidirectionalIterator first, BidirectionalIterator last,
                const basic_regex <charT, traits>& e,
                match_flag_type flags = match_default);
@@ -325,8 +321,7 @@
         and then returning the result of regex_match(first, last, what, e,
         flags).
       

-
-template <class charT, class Allocator, class traits>
+
template <class charT, class Allocator, class traits>
 bool regex_match(const charT* str, match_results<const charT*, Allocator>& m,
                const basic_regex <charT, traits>& e,
                match_flag_type flags = match_default);
@@ -336,8 +331,7 @@
         + char_traits<charT>::length(str),
         m, e, flags).
       

-
-template <class ST, class SA, class Allocator,
+
template <class ST, class SA, class Allocator,
          class charT, class traits>
 bool regex_match(const basic_string<charT, ST, SA>& s,
                match_results<typename basic_string<charT, ST, SA>::const_iterator, Allocator>& m, 
@@ -347,8 +341,7 @@
 

Effects: Returns the result of regex_match(s.begin(), s.end(), m, e, flags).

-
-template <class charT, class traits>
+
template <class charT, class traits>
 bool regex_match(const charT* str,
                const basic_regex <charT, traits>& e,
                match_flag_type flags = match_default);
@@ -358,8 +351,7 @@
         + char_traits<charT>::length(str),
         e, flags).
       

-
-template <class ST, class SA, class charT, class traits>
+
template <class ST, class SA, class charT, class traits>
 bool regex_match(const basic_string<charT, ST, SA>& s,
                const basic_regex <charT, traits>& e,
                match_flag_type flags = match_default);
@@ -368,14 +360,13 @@
         Effects: Returns the result of regex_match(s.begin(), s.end(), e, flags).
       

- + Examples

The following example processes an ftp response:

-
-#include <stdlib.h> 
+
#include <stdlib.h> 
 #include <boost/regex.hpp> 
 #include <string> 
 #include <iostream> 
@@ -409,7 +400,11 @@
 
 
-
+
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/regex_replace.html b/doc/html/boost_regex/ref/regex_replace.html index f8a9c96c..c7d5dabe 100644 --- a/doc/html/boost_regex/ref/regex_replace.html +++ b/doc/html/boost_regex/ref/regex_replace.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -26,8 +26,7 @@ -
-#include <boost/regex.hpp> 
+
#include <boost/regex.hpp> 
 

The algorithm regex_replace searches through a @@ -39,8 +38,7 @@ set. If the flag format_first_only is set then only the first occurrence is replaced rather than all occurrences.

-
-template <class OutputIterator, class BidirectionalIterator, class traits, class charT>
+
template <class OutputIterator, class BidirectionalIterator, class traits, class charT>
 OutputIterator regex_replace(OutputIterator out,
                              BidirectionalIterator first,
                              BidirectionalIterator last,
@@ -55,11 +53,10 @@
                                   match_flag_type flags = match_default);
 
- + Description
-
-template <class OutputIterator, class BidirectionalIterator, class traits, class charT>
+
template <class OutputIterator, class BidirectionalIterator, class traits, class charT>
 OutputIterator regex_replace(OutputIterator out,
                              BidirectionalIterator first,
                              BidirectionalIterator last,
@@ -91,8 +88,7 @@
 

Effects: Constructs an regex_iterator object:

-
-regex_iterator<BidirectionalIterator, charT, traits, Allocator> 
+
regex_iterator<BidirectionalIterator, charT, traits, Allocator> 
                                           i(first, last, e, flags), 
 

@@ -103,44 +99,37 @@

If no such matches are found and

-
-!(flags & format_no_copy) 
+
!(flags & format_no_copy) 
 

then calls

-
-std::copy(first, last, out). 
+
std::copy(first, last, out). 
 

Otherwise, for each match found, if

-
-!(flags & format_no_copy) 
+
!(flags & format_no_copy) 
 

calls

-
-std::copy(m.prefix().first, m.prefix().last, out), 
+
std::copy(m.prefix().first, m.prefix().last, out), 
 

and then calls

-
-m.format(out, fmt, flags). 
+
m.format(out, fmt, flags). 
 

Finally if

-
-!(flags & format_no_copy) 
+
!(flags & format_no_copy) 
 

calls

-
-std::copy(last_m.suffix().first, last_m,suffix().last, out) 
+
std::copy(last_m.suffix().first, last_m,suffix().last, out) 
 

where last_m is a copy of the last match found. @@ -161,8 +150,7 @@

Returns: out.

-
-template <class traits, class charT>
+
template <class traits, class charT>
 basic_string<charT> regex_replace(const basic_string<charT>& s,
                                   const basic_regex<charT, traits>& e,
                                   const basic_string<charT>& fmt,
@@ -175,15 +163,14 @@
         and then returns result.
       

- + Examples

The following example takes C/C++ source code as input, and outputs syntax highlighted HTML code.

-
-#include <fstream>
+
#include <fstream>
 #include <sstream>
 #include <string>
 #include <iterator>
@@ -295,7 +282,11 @@
 
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/regex_search.html b/doc/html/boost_regex/ref/regex_search.html index c80a4a38..10fc7836 100644 --- a/doc/html/boost_regex/ref/regex_search.html +++ b/doc/html/boost_regex/ref/regex_search.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -26,8 +26,7 @@ -
-#include <boost/regex.hpp> 
+
#include <boost/regex.hpp> 
 

The algorithm regex_search will search a range @@ -36,8 +35,7 @@ for a match if a match could conceivably start at that position. The algorithm is defined as follows:

-
-template <class BidirectionalIterator, 
+
template <class BidirectionalIterator, 
          class Allocator, class charT, class traits>
 bool regex_search(BidirectionalIterator first, BidirectionalIterator last,
                   match_results<BidirectionalIterator, Allocator>& m,
@@ -75,11 +73,10 @@
                   match_flag_type flags = match_default);
 
- + Description
-
-template <class BidirectionalIterator, class Allocator, class charT, class traits>
+
template <class BidirectionalIterator, class Allocator, class charT, class traits>
 bool regex_search(BidirectionalIterator first, BidirectionalIterator last,
                   match_results<BidirectionalIterator, Allocator>& m,
                   const basic_regex<charT, traits>& e,
@@ -308,8 +305,7 @@
 
 
 
-
-template <class charT, class Allocator, class traits>
+
template <class charT, class Allocator, class traits>
 bool regex_search(const charT* str, match_results<const charT*, Allocator>& m,
                   const basic_regex<charT, traits>& e,
                   match_flag_type flags = match_default);
@@ -319,8 +315,7 @@
         + char_traits<charT>::length(str),
         m, e, flags).
       

-
-template <class ST, class SA, class Allocator, class charT,
+
template <class ST, class SA, class Allocator, class charT,
          class traits>
 bool regex_search(const basic_string<charT, ST, SA>& s,
                   match_results<typename basic_string<charT, ST, SA>::const_iterator, Allocator>& m,
@@ -330,8 +325,7 @@
 

Effects: Returns the result of regex_search(s.begin(), s.end(), m, e, flags).

-
-template <class iterator, class charT, class traits>
+
template <class iterator, class charT, class traits>
 bool regex_search(iterator first, iterator last,
                   const basic_regex<charT, traits>& e,
                   match_flag_type flags = match_default);
@@ -342,8 +336,7 @@
         and then returning the result of regex_search(first, last, what, e,
         flags).
       

-
-template <class charT, class traits>
+
template <class charT, class traits>
 bool regex_search(const charT* str
                   const basic_regex<charT, traits>& e,
                   match_flag_type flags = match_default);
@@ -353,8 +346,7 @@
         + char_traits<charT>::length(str),
         e, flags).
       

-
-template <class ST, class SA, class charT, class traits>
+
template <class ST, class SA, class charT, class traits>
 bool regex_search(const basic_string<charT, ST, SA>& s,
                   const basic_regex<charT, traits>& e,
                   match_flag_type flags = match_default);
@@ -363,7 +355,7 @@
         Effects: Returns the result of regex_search(s.begin(), s.end(), e, flags).
       

- + Examples

@@ -373,8 +365,7 @@ is implemented, for example it could easily be modified to work with the SGI rope class, which uses a non-contiguous storage strategy.

-
-#include <string> 
+
#include <string> 
 #include <map> 
 #include <boost/regex.hpp> 
 
@@ -418,7 +409,11 @@
 
 
-
+
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/regex_token_iterator.html b/doc/html/boost_regex/ref/regex_token_iterator.html index ac17d494..56b09721 100644 --- a/doc/html/boost_regex/ref/regex_token_iterator.html +++ b/doc/html/boost_regex/ref/regex_token_iterator.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -39,8 +39,7 @@ each section of the character container sequence that does not match the regular expression specified.

-
-template <class BidirectionalIterator, 
+
template <class BidirectionalIterator, 
          class charT = iterator_traits<BidirectionalIterator>::value_type,
          class traits = regex_traits<charT> >
 class regex_token_iterator 
@@ -137,21 +136,19 @@
          regex_constants::match_flag_type m = regex_constants::match_default);
 
- + Description

-
-regex_token_iterator();
+
regex_token_iterator();
 

Effects: constructs an end of sequence iterator.

-
-regex_token_iterator(BidirectionalIterator a, 
+
regex_token_iterator(BidirectionalIterator a, 
                      BidirectionalIterator b, 
                      const regex_type& re, 
                      int submatch = 0, 
@@ -181,8 +178,7 @@
       

-
-regex_token_iterator(BidirectionalIterator a, 
+
regex_token_iterator(BidirectionalIterator a, 
                      BidirectionalIterator b, 
                      const regex_type& re, 
                      const std::vector<int>& submatches, 
@@ -216,8 +212,7 @@
       

-
-template <std::size_t N>
+
template <std::size_t N>
 regex_token_iterator(BidirectionalIterator a, 
                      BidirectionalIterator b, 
                      const regex_type& re, 
@@ -250,8 +245,7 @@
       

-
-regex_token_iterator(const regex_token_iterator& that);
+
regex_token_iterator(const regex_token_iterator& that);
 

Effects: constructs a copy of that. @@ -261,8 +255,7 @@

-
-regex_token_iterator& operator=(const regex_token_iterator& that);
+
regex_token_iterator& operator=(const regex_token_iterator& that);
 

Effects: sets *this to be equal to that. @@ -272,24 +265,21 @@

-
-bool operator==(const regex_token_iterator&)const;
+
bool operator==(const regex_token_iterator&)const;
 

Effects: returns true if *this is the same position as that.

-
-bool operator!=(const regex_token_iterator&)const;
+
bool operator!=(const regex_token_iterator&)const;
 

Effects: returns !(*this == that).

-
-const value_type& operator*()const;
+
const value_type& operator*()const;
 

Effects: returns the current character sequence @@ -297,16 +287,14 @@

-
-const value_type* operator->()const;
+
const value_type* operator->()const;
 

Effects: returns &(*this).

-
-regex_token_iterator& operator++();
+
regex_token_iterator& operator++();
 

Effects: Moves on to the next character @@ -325,8 +313,7 @@

-
-regex_token_iterator& operator++(int);
+
regex_token_iterator& operator++(int);
 

Effects: constructs a copy result of *this, then @@ -337,8 +324,7 @@

-
-template <class charT, class traits>
+
template <class charT, class traits>
 regex_token_iterator<const charT*, charT, traits> 
    make_regex_token_iterator(
          const charT* p, 
@@ -397,14 +383,13 @@
         m.
       

- + Examples

The following example takes a string and splits it into a series of tokens:

-
-#include <iostream>
+
#include <iostream>
 #include <boost/regex.hpp>
 
 using namespace std;
@@ -442,8 +427,7 @@
         The following example takes a html file and outputs a list of all the linked
         files:
       

-
-#include <fstream>
+
#include <fstream>
 #include <iostream>
 #include <iterator>
 #include <boost/regex.hpp>
@@ -512,7 +496,11 @@
 
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/regex_traits.html b/doc/html/boost_regex/ref/regex_traits.html index 6ba48c1c..74b6511c 100644 --- a/doc/html/boost_regex/ref/regex_traits.html +++ b/doc/html/boost_regex/ref/regex_traits.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -26,8 +26,7 @@ -
-namespace boost{
+
namespace boost{
 
 template <class charT, class implementationT = sensible_default_choice>
 struct regex_traits : public implementationT
@@ -39,15 +38,15 @@
 struct c_regex_traits;
 
 template <class charT>
-struct cpp_regex_traits;
+class cpp_regex_traits;
 
 template <class charT>
-struct w32_regex_traits;
+class w32_regex_traits;
 
 } // namespace boost
 
- + Description

@@ -93,7 +92,11 @@

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/sub_match.html b/doc/html/boost_regex/ref/sub_match.html index bf321f1b..e2bbf19a 100644 --- a/doc/html/boost_regex/ref/sub_match.html +++ b/doc/html/boost_regex/ref/sub_match.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -26,8 +26,7 @@ -
-#include <boost/regex.hpp>
+
#include <boost/regex.hpp>
 

Regular expressions are different from many simple pattern-matching algorithms @@ -82,8 +81,7 @@ second represent the character range that formed the partial match.

-
-namespace boost{
+
namespace boost{
 
 template <class BidirectionalIterator>
 class sub_match;
@@ -331,57 +329,51 @@
 } // namespace boost
 
- + Description
- + Members

-
-typedef typename std::iterator_traits<iterator>::value_type value_type;
+
typedef typename std::iterator_traits<iterator>::value_type value_type;
 

The type pointed to by the iterators.

-
-typedef typename std::iterator_traits<iterator>::difference_type difference_type;
+
typedef typename std::iterator_traits<iterator>::difference_type difference_type;
 

A type that represents the difference between two iterators.

-
-typedef BidirectionalIterator iterator;
+
typedef BidirectionalIterator iterator;
 

The iterator type.

-
-iterator first
+
iterator first
 

An iterator denoting the position of the start of the match.

-
-iterator second
+
iterator second
 

An iterator denoting the position of the end of the match.

-
-bool matched
+
bool matched
 

A Boolean value denoting whether this sub-expression participated in the @@ -389,8 +381,7 @@

-
-static difference_type length();
+
static difference_type length();
 

Effects: returns the length of this matched @@ -398,16 +389,14 @@

-
-operator basic_string<value_type>()const;
+
operator basic_string<value_type>()const;
 

Effects: converts *this into a string: returns (matched ? basic_string<value_type>(first, second) : basic_string<value_type>()).

-
-basic_string<value_type> str()const;
+
basic_string<value_type> str()const;
 

Effects: returns a string representation @@ -417,8 +406,7 @@

-
-int compare(const sub_match& s)const;
+
int compare(const sub_match& s)const;
 

Effects: performs a lexical comparison to @@ -426,8 +414,7 @@

-
-int compare(const basic_string<value_type>& s)const;
+
int compare(const basic_string<value_type>& s)const;
 

Effects: compares *this to the string s: @@ -435,8 +422,7 @@

-
-int compare(const value_type* s)const;
+
int compare(const value_type* s)const;
 

Effects: compares *this to the null-terminated string s: @@ -444,8 +430,7 @@

-
-typedef implementation-private capture_sequence_type;
+
typedef implementation-private capture_sequence_type;
 

Defines an implementation-specific type that satisfies the requirements of @@ -455,8 +440,7 @@

-
-const capture_sequence_type& captures()const; 
+
const capture_sequence_type& captures()const; 
 

Effects: returns a sequence containing all @@ -489,14 +473,13 @@

- + sub_match non-member operators

-
-template <class BidirectionalIterator>
+
template <class BidirectionalIterator>
 bool operator == (const sub_match<BidirectionalIterator>& lhs,
                   const sub_match<BidirectionalIterator>& rhs);
 
@@ -506,8 +489,7 @@

-
-template <class BidirectionalIterator>
+
template <class BidirectionalIterator>
 bool operator != (const sub_match<BidirectionalIterator>& lhs,
                   const sub_match<BidirectionalIterator>& rhs);
 
@@ -517,8 +499,7 @@

-
-template <class BidirectionalIterator>
+
template <class BidirectionalIterator>
 bool operator < (const sub_match<BidirectionalIterator>& lhs,
                const sub_match<BidirectionalIterator>& rhs);
 
@@ -528,8 +509,7 @@

-
-template <class BidirectionalIterator>
+
template <class BidirectionalIterator>
 bool operator <= (const sub_match<BidirectionalIterator>& lhs,
                   const sub_match<BidirectionalIterator>& rhs);
 
@@ -539,8 +519,7 @@

-
-template <class BidirectionalIterator>
+
template <class BidirectionalIterator>
 bool operator >= (const sub_match<BidirectionalIterator>& lhs,
                   const sub_match<BidirectionalIterator>& rhs);
 
@@ -550,8 +529,7 @@

-
-template <class BidirectionalIterator>
+
template <class BidirectionalIterator>
 bool operator > (const sub_match<BidirectionalIterator>& lhs,
                const sub_match<BidirectionalIterator>& rhs);
 
@@ -561,8 +539,7 @@

-
-template <class BidirectionalIterator, class traits, class Allocator> 
+
template <class BidirectionalIterator, class traits, class Allocator> 
 bool operator == (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                                           traits,
                                                           Allocator>& lhs, 
@@ -574,8 +551,7 @@
       

-
-template <class BidirectionalIterator, class traits, class Allocator> 
+
template <class BidirectionalIterator, class traits, class Allocator> 
 bool operator != (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                                           traits, 
                                                           Allocator>& lhs,
@@ -587,8 +563,7 @@
       

-
-template <class BidirectionalIterator, class traits, class Allocator> 
+
template <class BidirectionalIterator, class traits, class Allocator> 
 bool operator < (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                          traits, 
                                          Allocator>& lhs,
@@ -600,8 +575,7 @@
       

-
-template <class BidirectionalIterator, class traits, class Allocator> 
+
template <class BidirectionalIterator, class traits, class Allocator> 
 bool operator > (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                                          traits, 
                                                          Allocator>& lhs,
@@ -613,8 +587,7 @@
       

-
-template <class BidirectionalIterator, class traits, class Allocator> 
+
template <class BidirectionalIterator, class traits, class Allocator> 
 bool operator >= (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                           traits, 
                                           Allocator>& lhs,
@@ -626,8 +599,7 @@
       

-
-template <class BidirectionalIterator, class traits, class Allocator> 
+
template <class BidirectionalIterator, class traits, class Allocator> 
 bool operator <= (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                           traits, 
                                           Allocator>& lhs,
@@ -639,8 +611,7 @@
       

-
-template <class BidirectionalIterator, class traits, class Allocator> 
+
template <class BidirectionalIterator, class traits, class Allocator> 
 bool operator == (const sub_match<BidirectionalIterator>& lhs,
                   const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                           traits, 
@@ -652,8 +623,7 @@
       

-
-template <class BidirectionalIterator, class traits, class Allocator> 
+
template <class BidirectionalIterator, class traits, class Allocator> 
 bool operator != (const sub_match<BidirectionalIterator>& lhs,
                   const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                           traits, 
@@ -665,8 +635,7 @@
       

-
-template <class BidirectionalIterator, class traits, class Allocator> 
+
template <class BidirectionalIterator, class traits, class Allocator> 
 bool operator < (const sub_match<BidirectionalIterator>& lhs,
                const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                        traits, 
@@ -678,8 +647,7 @@
       

-
-template <class BidirectionalIterator, class traits, class Allocator> 
+
template <class BidirectionalIterator, class traits, class Allocator> 
 bool operator > (const sub_match<BidirectionalIterator>& lhs,
                  const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                          traits, 
@@ -691,8 +659,7 @@
       

-
-template <class BidirectionalIterator, class traits, class Allocator> 
+
template <class BidirectionalIterator, class traits, class Allocator> 
 bool operator >= (const sub_match<BidirectionalIterator>& lhs,
                   const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                           traits, 
@@ -704,8 +671,7 @@
       

-
-template <class BidirectionalIterator, class traits, class Allocator> 
+
template <class BidirectionalIterator, class traits, class Allocator> 
 bool operator <= (const sub_match<BidirectionalIterator>& lhs,
                   const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, 
                                           traits, 
@@ -717,8 +683,7 @@
       

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator == (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
                   const sub_match<BidirectionalIterator>& rhs); 
 
@@ -728,8 +693,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator != (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
                   const sub_match<BidirectionalIterator>& rhs); 
 
@@ -739,8 +703,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator < (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
                const sub_match<BidirectionalIterator>& rhs); 
 
@@ -750,8 +713,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator > (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
                const sub_match<BidirectionalIterator>& rhs); 
 
@@ -761,8 +723,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator >= (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
                   const sub_match<BidirectionalIterator>& rhs); 
 
@@ -772,8 +733,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator <= (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
                   const sub_match<BidirectionalIterator>& rhs); 
 
@@ -783,8 +743,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator == (const sub_match<BidirectionalIterator>& lhs, 
                   typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
 
@@ -794,8 +753,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator != (const sub_match<BidirectionalIterator>& lhs, 
                   typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
 
@@ -805,8 +763,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator < (const sub_match<BidirectionalIterator>& lhs, 
                typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
 
@@ -816,8 +773,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator > (const sub_match<BidirectionalIterator>& lhs, 
                typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
 
@@ -827,8 +783,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator >= (const sub_match<BidirectionalIterator>& lhs, 
                   typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
 
@@ -838,8 +793,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator <= (const sub_match<BidirectionalIterator>& lhs, 
                   typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
 
@@ -849,8 +803,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator == (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
                   const sub_match<BidirectionalIterator>& rhs); 
 
@@ -860,8 +813,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator != (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
                   const sub_match<BidirectionalIterator>& rhs); 
 
@@ -871,8 +823,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator < (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
                const sub_match<BidirectionalIterator>& rhs); 
 
@@ -882,8 +833,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator > (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
                const sub_match<BidirectionalIterator>& rhs); 
 
@@ -893,8 +843,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator >= (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
                   const sub_match<BidirectionalIterator>& rhs); 
 
@@ -904,8 +853,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator <= (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
                   const sub_match<BidirectionalIterator>& rhs); 
 
@@ -915,8 +863,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator == (const sub_match<BidirectionalIterator>& lhs, 
                   typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
 
@@ -926,8 +873,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator != (const sub_match<BidirectionalIterator>& lhs, 
                   typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
 
@@ -937,8 +883,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator < (const sub_match<BidirectionalIterator>& lhs, 
                typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
 
@@ -948,8 +893,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator > (const sub_match<BidirectionalIterator>& lhs, 
                typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
 
@@ -959,8 +903,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator >= (const sub_match<BidirectionalIterator>& lhs, 
                   typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
 
@@ -970,8 +913,7 @@

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 bool operator <= (const sub_match<BidirectionalIterator>& lhs, 
                   typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
 
@@ -986,8 +928,7 @@

-
-template <class BidirectionalIterator, class traits, class Allocator> 
+
template <class BidirectionalIterator, class traits, class Allocator> 
 std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type, traits, Allocator> 
    operator + (const std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type, 
                                        traits, 
@@ -1000,8 +941,7 @@
       

-
-template <class BidirectionalIterator, class traits, class Allocator> 
+
template <class BidirectionalIterator, class traits, class Allocator> 
 std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>
    operator + (const sub_match<BidirectionalIterator>& m, 
                const std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type, 
@@ -1014,8 +954,7 @@
       

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type> 
    operator + (typename iterator_traits<BidirectionalIterator>::value_type const* s, 
                const sub_match<BidirectionalIterator>& m); 
@@ -1026,8 +965,7 @@
       

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type> 
    operator + (const sub_match<BidirectionalIterator>& m, 
                typename iterator_traits<BidirectionalIterator>::value_type const * s);
@@ -1038,8 +976,7 @@
       

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type> 
    operator + (typename iterator_traits<BidirectionalIterator>::value_type const& s, 
                const sub_match<BidirectionalIterator>& m); 
@@ -1050,8 +987,7 @@
       

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type> 
    operator + (const sub_match<BidirectionalIterator>& m, 
                typename iterator_traits<BidirectionalIterator>::value_type const& s); 
@@ -1062,8 +998,7 @@
       

-
-template <class BidirectionalIterator> 
+
template <class BidirectionalIterator> 
 std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type> 
    operator + (const sub_match<BidirectionalIterator>& m1,
                const sub_match<BidirectionalIterator>& m2);
@@ -1073,13 +1008,12 @@
         + m2.str().
       

- + Stream inserter

-
-template <class charT, class traits, class BidirectionalIterator>
+
template <class charT, class traits, class BidirectionalIterator>
 basic_ostream<charT, traits>&
    operator << (basic_ostream<charT, traits>& os
                const sub_match<BidirectionalIterator>& m);
@@ -1090,7 +1024,11 @@
 
 
-
+
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/syntax_option_type.html b/doc/html/boost_regex/ref/syntax_option_type.html index 05d85304..47e16b56 100644 --- a/doc/html/boost_regex/ref/syntax_option_type.html +++ b/doc/html/boost_regex/ref/syntax_option_type.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -43,7 +43,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_basic.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_basic.html index 28d5b5c4..13776798 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_basic.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_basic.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -378,7 +378,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_extended.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_extended.html index f2690f5e..a3291b78 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_extended.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_extended.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -333,7 +333,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_literal.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_literal.html index d8d50cdf..5914a382 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_literal.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_literal.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -143,7 +143,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_overview.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_overview.html index 7a3b9eee..1ebb3e4c 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_overview.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_overview.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -42,20 +42,17 @@ within the scope of class template basic_regex, so you can use any of:

-
-boost::regex_constants::constant_name
+
boost::regex_constants::constant_name
 

or

-
-boost::regex::constant_name
+
boost::regex::constant_name
 

or

-
-boost::wregex::constant_name
+
boost::wregex::constant_name
 

in an interchangeable manner. @@ -63,7 +60,11 @@

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_perl.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_perl.html index 95eaac41..46962821 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_perl.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_perl.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -376,7 +376,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_synopsis.html b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_synopsis.html index 9e01046a..9fbc0e06 100644 --- a/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_synopsis.html +++ b/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_synopsis.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -34,8 +34,7 @@ constants listed here, are also duplicated within the scope of class template basic_regex.

-
-namespace std{ namespace regex_constants{
+
namespace std{ namespace regex_constants{
 
 typedef implementation-specific-bitmask-type syntax_option_type;
 
@@ -63,7 +62,11 @@
 
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/syntax.html b/doc/html/boost_regex/syntax.html index 4a9c6b84..2509541a 100644 --- a/doc/html/boost_regex/syntax.html +++ b/doc/html/boost_regex/syntax.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -79,22 +79,14 @@ You can also construct a regular expression that treats every character as a literal, but that's not really a "syntax"!

-

-

-

-

-

-

-

-

-

-

-

-

- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/syntax/basic_extended.html b/doc/html/boost_regex/syntax/basic_extended.html index cb3b7125..b8490b92 100644 --- a/doc/html/boost_regex/syntax/basic_extended.html +++ b/doc/html/boost_regex/syntax/basic_extended.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -28,7 +28,7 @@ Expression Syntax

- + Synopsis

@@ -38,8 +38,7 @@ the flag extended to the regex constructor, for example:

-
-// e1 is a case sensitive POSIX-Extended expression:
+
// e1 is a case sensitive POSIX-Extended expression:
 boost::regex e1(my_expression, boost::regex::extended);
 // e2 a case insensitive POSIX-Extended expression:
 boost::regex e2(my_expression, boost::regex::extended|boost::regex::icase);
@@ -47,7 +46,7 @@
 

- + POSIX Extended Syntax

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

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

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

- + Anchors:

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

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

- + Repeats:

@@ -165,30 +164,27 @@ cab

Will match either of:

-
-aa
+
aa
 aaa
 

But neither of:

-
-a
+
a
 aaaa
 

It is an error to use a repeat operator, if the preceding construct can not be repeated, for example:

-
-a(*)
+
a(*)
 

Will raise an error, as there is nothing for the * operator to be applied to.

- + Back references:

@@ -200,14 +196,12 @@ cab

Will match the string:

-
-aaabbaaa
+
aaabbaaa
 

But not the string:

-
-aaabba
+
aaabba
 
@@ -220,7 +214,7 @@ cab

- + Alternation

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

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

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

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

- + Negation:

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

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

- + Collating Elements:
@@ -312,14 +306,13 @@ cab

As an extension, a collating element may also be specified via its symbolic name, for example:

-
-[[.NUL.]]
+
[[.NUL.]]
 

matches a NUL character.

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

- + Combinations:

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

- + Escapes

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

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

- + Word Boundaries

@@ -895,7 +888,7 @@ cab

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

- + Quoting escape
@@ -1008,12 +1001,11 @@ cab as literals, until either the end of the regular expression or \E is found. For example the expression: \Q\*+\Ea+ would match either of:

-
-\*+a
+
\*+a
 \*+aaa
 
- + Unicode escapes
@@ -1064,7 +1056,7 @@ cab
- + Any other escape
@@ -1073,7 +1065,7 @@ cab \@ matches a literal '@'.

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

- + Variations

- + Egrep

@@ -1133,8 +1125,7 @@ cab expressions, a match is found if any of the expressions in the list match, for example:

-
-boost::regex e("abc\ndef", boost::regex::egrep);
+
boost::regex e("abc\ndef", boost::regex::egrep);
 

will match either of the POSIX-Basic expressions "abc" or "def". @@ -1145,7 +1136,7 @@ cab used with the -E option.

- + awk

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

- + Options

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

- + References

@@ -1193,7 +1184,11 @@ cab - +
Copyright © 2007 John Maddock


diff --git a/doc/html/boost_regex/syntax/basic_syntax.html b/doc/html/boost_regex/syntax/basic_syntax.html index 1c6da9c4..6a7bde4f 100644 --- a/doc/html/boost_regex/syntax/basic_syntax.html +++ b/doc/html/boost_regex/syntax/basic_syntax.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -28,7 +28,7 @@ Expression Syntax

- + Synopsis

@@ -37,8 +37,7 @@ the flag basic to the regex constructor (see syntax_option_type), for example:

-
-// e1 is a case sensitive POSIX-Basic expression:
+
// e1 is a case sensitive POSIX-Basic expression:
 boost::regex e1(my_expression, boost::regex::basic);
 // e2 a case insensitive POSIX-Basic expression:
 boost::regex e2(my_expression, boost::regex::basic|boost::regex::icase);
@@ -46,7 +45,7 @@
 

- + POSIX Basic Syntax

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

.[\*^$
- + Wildcard:

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

- + Anchors:

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

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

- + Repeats:

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

- + Back references:

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

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

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

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

- + Negation:

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

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

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

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

- + Combinations:

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

- + Escapes

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

- + What Gets Matched

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

- + Variations

- + Grep

@@ -324,8 +323,7 @@ aaaa set, then the expression is treated as a newline separated list of POSIX-Basic expressions, a match is found if any of the expressions in the list match, for example:

-
-boost::regex e("abc\ndef", boost::regex::grep);
+
boost::regex e("abc\ndef", boost::regex::grep);
 

will match either of the POSIX-Basic @@ -335,7 +333,7 @@ aaaa As its name suggests, this behavior is consistent with the Unix utility grep.

- + emacs

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

- + Options

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

- + References

@@ -648,7 +646,11 @@ aaaa - +
Copyright © 2007 John Maddock


diff --git a/doc/html/boost_regex/syntax/character_classes.html b/doc/html/boost_regex/syntax/character_classes.html index baf9fa93..a149c5d5 100644 --- a/doc/html/boost_regex/syntax/character_classes.html +++ b/doc/html/boost_regex/syntax/character_classes.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -36,7 +36,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/syntax/character_classes/optional_char_class_names.html b/doc/html/boost_regex/syntax/character_classes/optional_char_class_names.html index d8b7c5a9..d9addc04 100644 --- a/doc/html/boost_regex/syntax/character_classes/optional_char_class_names.html +++ b/doc/html/boost_regex/syntax/character_classes/optional_char_class_names.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -533,7 +533,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/syntax/character_classes/std_char_clases.html b/doc/html/boost_regex/syntax/character_classes/std_char_clases.html index b3f24808..2826f46f 100644 --- a/doc/html/boost_regex/syntax/character_classes/std_char_clases.html +++ b/doc/html/boost_regex/syntax/character_classes/std_char_clases.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -382,7 +382,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/syntax/collating_names.html b/doc/html/boost_regex/syntax/collating_names.html index b837a1a6..4902501a 100644 --- a/doc/html/boost_regex/syntax/collating_names.html +++ b/doc/html/boost_regex/syntax/collating_names.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -36,7 +36,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/syntax/collating_names/digraphs.html b/doc/html/boost_regex/syntax/collating_names/digraphs.html index 90a30186..f7132b3d 100644 --- a/doc/html/boost_regex/syntax/collating_names/digraphs.html +++ b/doc/html/boost_regex/syntax/collating_names/digraphs.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -47,7 +47,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/syntax/collating_names/named_unicode.html b/doc/html/boost_regex/syntax/collating_names/named_unicode.html index ac4c46af..3cc6c247 100644 --- a/doc/html/boost_regex/syntax/collating_names/named_unicode.html +++ b/doc/html/boost_regex/syntax/collating_names/named_unicode.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -40,7 +40,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/syntax/collating_names/posix_symbolic_names.html b/doc/html/boost_regex/syntax/collating_names/posix_symbolic_names.html index 91e5ce27..1ab94332 100644 --- a/doc/html/boost_regex/syntax/collating_names/posix_symbolic_names.html +++ b/doc/html/boost_regex/syntax/collating_names/posix_symbolic_names.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -971,7 +971,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/syntax/leftmost_longest_rule.html b/doc/html/boost_regex/syntax/leftmost_longest_rule.html index aa5a57b9..38cb3b76 100644 --- a/doc/html/boost_regex/syntax/leftmost_longest_rule.html +++ b/doc/html/boost_regex/syntax/leftmost_longest_rule.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -65,7 +65,11 @@
- +
Copyright © 2007 John Maddock

diff --git a/doc/html/boost_regex/syntax/perl_syntax.html b/doc/html/boost_regex/syntax/perl_syntax.html index 0750577a..cfe83674 100644 --- a/doc/html/boost_regex/syntax/perl_syntax.html +++ b/doc/html/boost_regex/syntax/perl_syntax.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -28,7 +28,7 @@ Syntax

- + Synopsis

@@ -38,15 +38,14 @@ to the basic_regex constructor, for example:

-
-// e1 is a case sensitive Perl regular expression: 
+
// e1 is a case sensitive Perl regular expression: 
 // since Perl is the default option there's no need to explicitly specify the syntax used here:
 boost::regex e1(my_expression);
 // e2 a case insensitive Perl regular expression:
 boost::regex e2(my_expression, boost::regex::perl|boost::regex::icase);
 

- + Perl Regular Expression Syntax

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

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

@@ -66,7 +65,7 @@

  • The NULL character when the flag - match_no_dot_null + match_not_dot_null is passed to the matching algorithms.
  • @@ -76,7 +75,7 @@
- + Anchors

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

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

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

- + Repeats

@@ -126,8 +125,7 @@ preceding atom zero or more times, for example the expression a*b will match any of the following:

-
-b
+
b
 ab
 aaaaaaaab
 
@@ -136,30 +134,26 @@ preceding atom one or more times, for example the expression a+b will match any of the following:

-
-ab
+
ab
 aaaaaaaab
 

But will not match:

-
-b
+
b
 

The ? operator will match the preceding atom zero or one times, for example the expression ca?b will match any of the following:

-
-cb
+
cb
 cab
 

But will not match:

-
-caab
+
caab
 

An atom can also be repeated with a bounded repeat: @@ -183,30 +177,27 @@

Will match either of:

-
-aa
+
aa
 aaa
 

But neither of:

-
-a
+
a
 aaaa
 

It is an error to use a repeat operator, if the preceding construct can not be repeated, for example:

-
-a(*)
+
a(*)
 

Will raise an error, as there is nothing for the * operator to be applied to.

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

- + Back references

@@ -249,17 +240,15 @@

Will match the string:

-
-aaabbaaa
+
aaabbaaa
 

But not the string:

-
-aaabba
+
aaabba
 
- + Alternation

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

- + Character sets

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

- + Single characters

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

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

- + Negation

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

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

- + Collating Elements
@@ -358,15 +347,14 @@

As an extension, a collating element may also be specified via it's symbolic name, for example:

-
-[[.NUL.]]
+
[[.NUL.]]
 

matches a \0 character.

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

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

- + Combinations

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

- + Escapes

@@ -596,7 +584,7 @@

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

- + Word Boundaries

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

- + Buffer boundaries

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

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

- + Quoting escape

@@ -926,12 +914,11 @@ as literals, until either the end of the regular expression or \E is found. For example the expression: \Q\*+\Ea+ would match either of:

-
-\*+a
+
\*+a
 \*+aaa
 
- + Unicode escapes

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

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

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

- + Comments

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

- + Modifiers

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

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

- + Lookahead

@@ -1010,14 +997,13 @@ letter, a punctuation symbol, and be at least 6 characters long, then the expression:

-
-(?=.*[[:lower:]])(?=.*[[:upper:]])(?=.*[[:punct:]]).{6,}
+
(?=.*[[:lower:]])(?=.*[[:upper:]])(?=.*[[:punct:]]).{6,}
 

could be used to validate the password.

- + Lookbehind

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

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

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

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

- + What gets matched

@@ -1285,7 +1271,7 @@

- + Variations

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

- + Options

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

- + Pattern Modifiers

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

- + References

@@ -1328,7 +1314,11 @@ - +
Copyright © 2007 John Maddock


diff --git a/doc/html/boost_regex/unicode.html b/doc/html/boost_regex/unicode.html index a723e309..3b98caff 100644 --- a/doc/html/boost_regex/unicode.html +++ b/doc/html/boost_regex/unicode.html @@ -12,10 +12,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -30,7 +30,7 @@ There are two ways to use Boost.Regex with Unicode strings:

- + Rely on wchar_t

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

- + Use a Unicode Aware Regular Expression Type.
@@ -71,7 +71,11 @@ - +
Copyright © 2007 John Maddock

diff --git a/doc/html/index.html b/doc/html/index.html index dbbf8618..b95c821b 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -10,10 +10,10 @@ - + - - + +
Boost C++ LibrariesHomeHome LibrariesPeopleFAQPeopleFAQ More

@@ -26,9 +26,9 @@

John Maddock

-
+
-

+

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

@@ -155,7 +155,7 @@
Traits Class Requirements
Iterator - Rrequirements
+ Requirements
Deprecated Interfaces
@@ -191,19 +191,13 @@

-

-

-

-

-

-

-

-

+ A printer-friendly PDF + version of this manual is also available.

- - + +

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

Last revised: July 25, 2008 at 09:01:43 GMT


Next
diff --git a/doc/icu_strings.qbk b/doc/icu_strings.qbk index 4a4e13ec..758f1d25 100644 --- a/doc/icu_strings.qbk +++ b/doc/icu_strings.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:icu Working With Unicode and ICU String Types] @@ -474,3 +481,4 @@ Example: search for international currency symbols, along with their associated [endsect] [endsect] + diff --git a/doc/install.qbk b/doc/install.qbk index f46b6f65..016759f8 100644 --- a/doc/install.qbk +++ b/doc/install.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:install Building and Installing the Library] When you extract the library from its zip file, you must preserve its internal @@ -244,3 +251,4 @@ There is a generic makefile (generic.mak ) provided in `/libs/regex/ before use. [endsect] + diff --git a/doc/introduction.qbk b/doc/introduction.qbk index 5329e90d..b7a5184c 100644 --- a/doc/introduction.qbk +++ b/doc/introduction.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section Introduction and Overview] Regular expressions are a form of pattern-matching that are often used in @@ -153,3 +160,4 @@ libraries including GNU and BSD4 regex packages, PCRE and Perl 5. [endsect] + diff --git a/doc/leftmost_longest.qbk b/doc/leftmost_longest.qbk index fd1a3323..c50cde23 100644 --- a/doc/leftmost_longest.qbk +++ b/doc/leftmost_longest.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:leftmost_longest_rule The Leftmost Longest Rule] @@ -22,3 +29,4 @@ indistinguishable; return the first one found. [endsect] + diff --git a/doc/locale.qbk b/doc/locale.qbk index 12699572..1e3c15c5 100644 --- a/doc/locale.qbk +++ b/doc/locale.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:locale Localization] Boost.Regex provides extensive support for run-time localization, the @@ -221,3 +228,4 @@ custom error messages, and custom syntax messages replace the default ones. [endsect] + diff --git a/doc/match_flag_type.qbk b/doc/match_flag_type.qbk index 5b047eb5..e6fe8f8b 100644 --- a/doc/match_flag_type.qbk +++ b/doc/match_flag_type.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:match_flag_type match_flag_type] The type `match_flag_type` is an implementation specific bitmask type @@ -67,7 +74,7 @@ This flag is used when matching incomplete or very long texts, see the partial m [[match_single_line][Equivalent to the inverse of Perl's m/ modifier; prevents ^ from matching after an embedded newline character (so that it only matches at the start of the text being matched), and $ from matching before an embedded newline (so that it only matches at the end of the text being matched).]] [[match_prev_avail][Specifies that --first is a valid iterator position, when this flag is set then the flags match_not_bol and match_not_bow are ignored by the regular expression algorithms (RE.7) and iterators (RE.8).]] [[match_not_dot_newline][Specifies that the expression "." does not match a newline character. This is the inverse of Perl's s/ modifier.]] -[[match_not_dot_null][Specified that the expression "." does not match a character null '\\0'.]] +[[match_not_dot_null][Specifies that the expression "." does not match a character null '\\0'.]] [[match_posix][Specifies that the expression should be matched according to the POSIX [link boost_regex.syntax.leftmost_longest_rule leftmost-longest rule], regardless of what kind of expression was compiled. @@ -101,7 +108,7 @@ This flag is used when matching incomplete or very long texts, see the partial m [[format_perl][Specifies that when a regular expression match is to be replaced by a new string, that the new string is constructed using [link boost_regex.format.perl_format the same rules as Perl 5].]] -[[format_literal][Specified that when a regular expression match is to be +[[format_literal][Specifies that when a regular expression match is to be replaced by a new string, that the new string is a literal copy of the replacement text.]] [[format_all][Specifies that all syntax extensions are enabled, including @@ -113,3 +120,4 @@ This flag is used when matching incomplete or very long texts, see the partial m [endsect] + diff --git a/doc/match_result.qbk b/doc/match_result.qbk index 7aa48a5e..eb3861fd 100644 --- a/doc/match_result.qbk +++ b/doc/match_result.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:match_results match_results] [h4 Synopsis] @@ -369,3 +376,4 @@ order for this member function to be defined and return useful information. [*Effects]: Swaps the contents of the two sequences. [endsect] + diff --git a/doc/mfc_strings.qbk b/doc/mfc_strings.qbk index 14db8ce6..8d70fec4 100644 --- a/doc/mfc_strings.qbk +++ b/doc/mfc_strings.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:mfc_strings Using Boost Regex With MFC Strings] [section:mfc_intro Introduction to Boost.Regex and MFC Strings] @@ -285,3 +292,4 @@ MFC/ATL string to a [regex_iterator] or [regex_token_iterator]: [endsect] [endsect] + diff --git a/doc/non_std_strings.qbk b/doc/non_std_strings.qbk index ac037176..63851a77 100644 --- a/doc/non_std_strings.qbk +++ b/doc/non_std_strings.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:non_std_strings Interfacing With Non-Standard String Types] The Boost.Regex algorithms and iterators are all iterator-based, @@ -20,3 +27,4 @@ types. [endsect] + diff --git a/doc/old_regex.qbk b/doc/old_regex.qbk index bd1f1cda..7e1e1ca8 100644 --- a/doc/old_regex.qbk +++ b/doc/old_regex.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:old_regex High Level Class RegEx (Deprecated)] @@ -273,3 +280,4 @@ Member functions for class RegEx are defined as follows: ] [endsect] + diff --git a/doc/partial_matches.qbk b/doc/partial_matches.qbk index 12e39212..65801b2c 100644 --- a/doc/partial_matches.qbk +++ b/doc/partial_matches.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:partial_matches Partial Matches] The [match_flag_type] `match_partial` can be passed to the following algorithms: @@ -139,3 +146,4 @@ gets searched a second time as the start of the next batch of text: [endsect] + diff --git a/doc/performance.qbk b/doc/performance.qbk index 63b3cc37..47d72779 100644 --- a/doc/performance.qbk +++ b/doc/performance.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:performance Performance] The performance of Boost.Regex in both recursive and non-recursive modes @@ -13,3 +20,4 @@ following compilers: [endsect] + diff --git a/doc/posix_api.qbk b/doc/posix_api.qbk index f1fab14c..beffa464 100644 --- a/doc/posix_api.qbk +++ b/doc/posix_api.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:posix POSIX Compatible C API's] [note this is an abridged reference to the POSIX API functions, these are provided @@ -132,3 +139,4 @@ for more details. The eflags parameter can be a combination of: [endsect] + diff --git a/doc/redistributables.qbk b/doc/redistributables.qbk index 7c42858e..c310ff67 100644 --- a/doc/redistributables.qbk +++ b/doc/redistributables.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:redist Redistributables] @@ -18,3 +25,4 @@ symbol BOOST_REGEX_NO_LIB when compiling, this is useful if you want to build Boost.Regex yourself in your IDE, or if you need to debug Boost.Regex. [endsect] + diff --git a/doc/regex.qbk b/doc/regex.qbk index 855fce22..4fa5636b 100644 --- a/doc/regex.qbk +++ b/doc/regex.qbk @@ -1,7 +1,7 @@ [article Boost.Regex [quickbook 1.3] - [copyright 2007 John Maddock] + [copyright 1998-2007 John Maddock] [purpose Regular Expressions] [license Distributed under the Boost Software License, Version 1.0. @@ -45,6 +45,10 @@ [template regerror[] [link boost_regex.ref.posix.regerror `regerror`]] [template regfree[] [link boost_regex.ref.posix.regfree `regfree`]] +A printer-friendly +[@http://svn.boost.org/svn/boost/sandbox/pdf/regex/release/regex.pdf +PDF version of this manual is also available]. + [include configuration.qbk] [include install.qbk] [include introduction.qbk] diff --git a/doc/regex_format.qbk b/doc/regex_format.qbk index a090c7bf..e59549e1 100644 --- a/doc/regex_format.qbk +++ b/doc/regex_format.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:regex_format regex_format (Deprecated)] @@ -60,3 +67,4 @@ The format string syntax (and available options) is described more fully under [link boost_regex.format format strings]. [endsect] + diff --git a/doc/regex_grep.qbk b/doc/regex_grep.qbk index f2b94bb2..7d47a401 100644 --- a/doc/regex_grep.qbk +++ b/doc/regex_grep.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:regex_grep regex_grep (Deprecated)] @@ -310,3 +317,4 @@ Finally, C++ Builder users can use C++ Builder's closure type as a callback argu [endsect] + diff --git a/doc/regex_iterator.qbk b/doc/regex_iterator.qbk index 9485974a..9789bcae 100644 --- a/doc/regex_iterator.qbk +++ b/doc/regex_iterator.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:regex_iterator regex_iterator] @@ -297,3 +304,4 @@ names, and the location of that class in the file. [endsect] + diff --git a/doc/regex_match.qbk b/doc/regex_match.qbk index f734ec76..55856c41 100644 --- a/doc/regex_match.qbk +++ b/doc/regex_match.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:regex_match regex_match] @@ -174,3 +181,4 @@ The following example processes an ftp response: [endsect] + diff --git a/doc/regex_replace.qbk b/doc/regex_replace.qbk index c2e9717d..e87c0303 100644 --- a/doc/regex_replace.qbk +++ b/doc/regex_replace.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:regex_replace regex_replace] @@ -226,3 +233,4 @@ syntax highlighted HTML code. [endsect] + diff --git a/doc/regex_search.qbk b/doc/regex_search.qbk index ca231d3d..3b712d0c 100644 --- a/doc/regex_search.qbk +++ b/doc/regex_search.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:regex_search regex_search] @@ -183,3 +190,4 @@ non-contiguous storage strategy. } [endsect] + diff --git a/doc/regex_split.qbk b/doc/regex_split.qbk index 3f0a218c..d05e7f05 100644 --- a/doc/regex_split.qbk +++ b/doc/regex_split.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:regex_split regex_split (deprecated)] @@ -112,3 +119,4 @@ from a html file, and print them out to cout: } [endsect] + diff --git a/doc/regex_token_iterator.qbk b/doc/regex_token_iterator.qbk index 930aaa7f..c975c5af 100644 --- a/doc/regex_token_iterator.qbk +++ b/doc/regex_token_iterator.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:regex_token_iterator regex_token_iterator] @@ -421,3 +428,4 @@ The following example takes a html file and outputs a list of all the linked fil [endsect] + diff --git a/doc/regex_traits.qbk b/doc/regex_traits.qbk index 9d8196fa..7faae830 100644 --- a/doc/regex_traits.qbk +++ b/doc/regex_traits.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:regex_traits regex_traits] @@ -13,10 +20,10 @@ struct c_regex_traits; template - struct cpp_regex_traits; + class cpp_regex_traits; template - struct w32_regex_traits; + class w32_regex_traits; } // namespace boost @@ -40,3 +47,4 @@ All these traits classes fulfil the [link boost_regex.ref.concepts.traits_concept traits class requirements]. [endsect] + diff --git a/doc/standards.qbk b/doc/standards.qbk index 0a5ae494..8467e52a 100644 --- a/doc/standards.qbk +++ b/doc/standards.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:standards Standards Conformance] @@ -77,3 +84,4 @@ Gives everything in Y that is not in X (subtraction).]] ] [endsect] + diff --git a/doc/sub_match.qbk b/doc/sub_match.qbk index d500bb4b..653c0f37 100644 --- a/doc/sub_match.qbk +++ b/doc/sub_match.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:sub_match sub_match] @@ -840,3 +847,4 @@ string as the result. [*Effects]: returns `(os << m.str())`. [endsect] + diff --git a/doc/syntax.qbk b/doc/syntax.qbk index 315de274..ec3e3189 100644 --- a/doc/syntax.qbk +++ b/doc/syntax.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:syntax Regular Expression Syntax] @@ -23,3 +30,4 @@ literal, but that's not really a "syntax"! [include leftmost_longest.qbk] [endsect] + diff --git a/doc/syntax_basic.qbk b/doc/syntax_basic.qbk index 43393dcb..75f7ce5f 100644 --- a/doc/syntax_basic.qbk +++ b/doc/syntax_basic.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:basic_syntax POSIX Basic Regular Expression Syntax] @@ -279,3 +286,4 @@ are to be applied. [endsect] + diff --git a/doc/syntax_extended.qbk b/doc/syntax_extended.qbk index 86aa988c..103a0888 100644 --- a/doc/syntax_extended.qbk +++ b/doc/syntax_extended.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:basic_extended POSIX Extended Regular Expression Syntax] @@ -420,3 +427,4 @@ IEEE Std 1003.1-2001, Portable Operating System Interface (POSIX ), Shells and U [endsect] + diff --git a/doc/syntax_option_type.qbk b/doc/syntax_option_type.qbk index 7bce8cc3..6fca76f9 100644 --- a/doc/syntax_option_type.qbk +++ b/doc/syntax_option_type.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:syntax_option_type syntax_option_type] @@ -290,3 +297,4 @@ The following options may also be combined with the literal flag: [endsect] [endsect] + diff --git a/doc/syntax_perl.qbk b/doc/syntax_perl.qbk index cf8ed7b4..9a76276d 100644 --- a/doc/syntax_perl.qbk +++ b/doc/syntax_perl.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:perl_syntax Perl Regular Expression Syntax] @@ -27,7 +34,7 @@ The single character '.' when used outside of a character set will match any single character except: * The NULL character when the [link boost_regex.ref.match_flag_type flag - `match_no_dot_null`] is passed to the matching algorithms. + `match_not_dot_null`] is passed to the matching algorithms. * The newline character when the [link boost_regex.ref.match_flag_type flag `match_not_dot_newline`] is passed to the matching algorithms. @@ -506,3 +513,4 @@ flags `no_mod_m`, `mod_x`, `mod_s`, and `no_mod_s`]. [endsect] + diff --git a/doc/thread_safety.qbk b/doc/thread_safety.qbk index 7fbc62fc..a95a7ac7 100644 --- a/doc/thread_safety.qbk +++ b/doc/thread_safety.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:thread_safety Thread Safety] @@ -31,3 +38,4 @@ There is also a requirement that there is only one thread executing prior to the start of main(). [endsect] + diff --git a/doc/unicode.qbk b/doc/unicode.qbk index 85fe7515..5028921f 100644 --- a/doc/unicode.qbk +++ b/doc/unicode.qbk @@ -1,3 +1,10 @@ +[/ + Copyright 2006-2007 John Maddock. + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +] + [section:unicode Unicode and Boost.Regex] @@ -32,3 +39,4 @@ of text that is encoded in either UTF-8, UTF-16, or UTF-32. See: ICU string class support]. [endsect] + diff --git a/doc/vc71-performance.html b/doc/vc71-performance.html new file mode 100644 index 00000000..c847845a --- /dev/null +++ b/doc/vc71-performance.html @@ -0,0 +1,703 @@ + + + Regular Expression Performance Comparison + + + + + + +

Regular Expression Performance Comparison

+

+ The following tables provide comparisons between the following regular + expression libraries:

+

GRETA.

+

The Boost regex library.

+

Henry Spencer's regular expression library + - this is provided for comparison as a typical non-backtracking implementation.

+

Philip Hazel's PCRE library.

+

Details

+

Machine: Intel Pentium 4 2.8GHz PC.

+

Compiler: Microsoft Visual C++ version 7.1.

+

C++ Standard Library: Dinkumware standard library version 313.

+

OS: Win32.

+

Boost version: 1.31.0.

+

PCRE version: 3.9.

+

+ As ever care should be taken in interpreting the results, only sensible regular + expressions (rather than pathological cases) are given, most are taken from the + Boost regex examples, or from the Library of + Regular Expressions. In addition, some variation in the relative + performance of these libraries can be expected on other machines - as memory + access and processor caching effects can be quite large for most finite state + machine algorithms.

+

Averages

+

The following are the average relative scores for all the tests: the perfect + regular expression library would score 1, in practice any small number + (say less that 4 or 5) is pretty good.

+

+ + + + + + + + + + + + + + + + +
GRETAGRETA
+ (non-recursive mode)
BoostBoost + C++ localePOSIXPCRE
2.316196.142032.306681.94363124.7522.09365
+

+

Comparison 1: Long Search

+

For each of the following regular expressions the time taken to find all + occurrences of the expression within a long English language text was measured + (mtent12.txt + from Project Gutenberg, 19Mb). 

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionGRETAGRETA
+ (non-recursive mode)
BoostBoost + C++ localePOSIXPCRE
Twain1
+ (0.0407s)
1
+ (0.0407s)
4.18
+ (0.17s)
4.18
+ (0.17s)
135
+ (5.48s)
1.37
+ (0.0557s)
Huck[[:alpha:]]+1.02
+ (0.0381s)
1
+ (0.0375s)
4.53
+ (0.17s)
4.54
+ (0.17s)
166
+ (6.23s)
1.34
+ (0.0501s)
[[:alpha:]]+ing4.3
+ (4.18s)
9.93
+ (9.65s)
1.15
+ (1.12s)
1
+ (0.972s)
8.15
+ (7.92s)
5.85
+ (5.69s)
^[^ ]*?Twain6.25
+ (1.84s)
20.9
+ (6.16s)
1.56
+ (0.461s)
1
+ (0.295s)
NA2.58
+ (0.761s)
Tom|Sawyer|Huckleberry|Finn6.53
+ (0.711s)
11.5
+ (1.25s)
2.3
+ (0.251s)
1
+ (0.109s)
196
+ (21.4s)
1.77
+ (0.193s)
(Tom|Sawyer|Huckleberry|Finn).{0,30}river|river.{0,30}(Tom|Sawyer|Huckleberry|Finn)3.88
+ (0.972s)
6.48
+ (1.62s)
1.66
+ (0.416s)
1
+ (0.251s)
NA2.48
+ (0.62s)
+

+

Comparison 2: Medium Sized Search

+

For each of the following regular expressions the time taken to find all + occurrences of the expression within a medium sized English language text was + measured (the first 50K from mtent12.txt). 

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionGRETAGRETA
+ (non-recursive mode)
BoostBoost + C++ localePOSIXPCRE
Twain1
+ (9.05e-005s)
1.03
+ (9.29e-005s)
4.92
+ (0.000445s)
4.92
+ (0.000445s)
43.2
+ (0.00391s)
3.18
+ (0.000288s)
Huck[[:alpha:]]+1
+ (8.56e-005s)
1
+ (8.56e-005s)
4.97
+ (0.000425s)
4.98
+ (0.000426s)
2.8
+ (0.000239s)
2.2
+ (0.000188s)
[[:alpha:]]+ing5.29
+ (0.011s)
11.8
+ (0.0244s)
1.19
+ (0.00246s)
1
+ (0.00207s)
8.77
+ (0.0182s)
6.88
+ (0.0142s)
^[^ ]*?Twain5.98
+ (0.00462s)
20.2
+ (0.0156s)
1.54
+ (0.00119s)
1
+ (0.000772s)
NA2.53
+ (0.00195s)
Tom|Sawyer|Huckleberry|Finn3.42
+ (0.00207s)
6.31
+ (0.00383s)
1.71
+ (0.00104s)
1
+ (0.000606s)
81.5
+ (0.0494s)
1.96
+ (0.00119s)
(Tom|Sawyer|Huckleberry|Finn).{0,30}river|river.{0,30}(Tom|Sawyer|Huckleberry|Finn)1.97
+ (0.00266s)
3.77
+ (0.00509s)
1.38
+ (0.00186s)
1
+ (0.00135s)
297
+ (0.401s)
1.77
+ (0.00238s)
+

+

Comparison 3: C++ Code Search

+

For each of the following regular expressions the time taken to find all + occurrences of the expression within the C++ source file + boost/crc.hpp was measured. 

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionGRETAGRETA
+ (non-recursive mode)
BoostBoost + C++ localePOSIXPCRE
^(template[[:space:]]*<[^;:{]+>[[:space:]]*)?(class|struct)[[:space:]]*(\<\w+\>([ + ]*\([^)]*\))?[[:space:]]*)*(\<\w*\>)[[:space:]]*(<[^;:{]+>[[:space:]]*)?(\{|:[^;\{()]*\{)6.67
+ (0.00147s)
36.9
+ (0.00813s)
1.03
+ (0.000227s)
1
+ (0.00022s)
557
+ (0.123s)
2.57
+ (0.000566s)
(^[ + ]*#(?:[^\\\n]|\\[^\n_[:punct:][:alnum:]]*[\n[:punct:][:word:]])*)|(//[^\n]*|/\*.*?\*/)|\<([+-]?(?:(?:0x[[:xdigit:]]+)|(?:(?:[[:digit:]]*\.)?[[:digit:]]+(?:[eE][+-]?[[:digit:]]+)?))u?(?:(?:int(?:8|16|32|64))|L)?)\>|('(?:[^\\']|\\.)*'|"(?:[^\\"]|\\.)*")|\<(__asm|__cdecl|__declspec|__export|__far16|__fastcall|__fortran|__import|__pascal|__rtti|__stdcall|_asm|_cdecl|__except|_export|_far16|_fastcall|__finally|_fortran|_import|_pascal|_stdcall|__thread|__try|asm|auto|bool|break|case|catch|cdecl|char|class|const|const_cast|continue|default|delete|do|double|dynamic_cast|else|enum|explicit|extern|false|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|operator|pascal|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_cast|struct|switch|template|this|throw|true|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\>1
+ (0.00555s)
3.32
+ (0.0185s)
2.53
+ (0.0141s)
1.94
+ (0.0108s)
NA3.38
+ (0.0188s)
^[ ]*#[ ]*include[ ]+("[^"]+"|<[^>]+>)4.77
+ (0.00156s)
24.8
+ (0.00814s)
1.13
+ (0.000372s)
1
+ (0.000328s)
120
+ (0.0394s)
1.58
+ (0.000518s)
^[ ]*#[ ]*include[ ]+("boost/[^"]+"|<boost/[^>]+>)4.72
+ (0.00154s)
24.8
+ (0.00813s)
1.12
+ (0.000367s)
1
+ (0.000328s)
143
+ (0.0469s)
1.58
+ (0.000518s)
+

+

+

Comparison 4: HTML Document Search

+ +

For each of the following regular expressions the time taken to find all + occurrences of the expression within the html file libs/libraries.htm + was measured. 

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionGRETAGRETA
+ (non-recursive mode)
BoostBoost + C++ localePOSIXPCRE
beman|john|dave4.07
+ (0.00111s)
7.14
+ (0.00195s)
1.75
+ (0.000479s)
1
+ (0.000273s)
54.3
+ (0.0149s)
1.83
+ (0.000499s)
<p>.*?</p>1
+ (6.59e-005s)
1.04
+ (6.84e-005s)
4.15
+ (0.000273s)
4.23
+ (0.000279s)
NA4.23
+ (0.000279s)
<a[^>]+href=("[^"]*"|[^[:space:]]+)[^>]*>1.39
+ (0.000626s)
1.83
+ (0.000821s)
1.41
+ (0.000636s)
1
+ (0.00045s)
351
+ (0.158s)
1.13
+ (0.000509s)
<h[12345678][^>]*>.*?</h[12345678]>1
+ (0.000142s)
1.21
+ (0.000171s)
2.62
+ (0.000372s)
1.48
+ (0.00021s)
NA1.73
+ (0.000245s)
<img[^>]+src=("[^"]*"|[^[:space:]]+)[^>]*>1
+ (5.38e-005s)
1.05
+ (5.63e-005s)
5
+ (0.000269s)
5.18
+ (0.000278s)
604
+ (0.0325s)
4.05
+ (0.000218s)
<font[^>]+face=("[^"]*"|[^[:space:]]+)[^>]*>.*?</font>1
+ (6.05e-005s)
1.09
+ (6.59e-005s)
4.45
+ (0.000269s)
4.69
+ (0.000284s)
NA3.64
+ (0.00022s)
+

+

Comparison 3: Simple Matches

+

+ For each of the following regular expressions the time taken to match against + the text indicated was measured. 

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionTextGRETAGRETA
+ (non-recursive mode)
BoostBoost + C++ localePOSIXPCRE
abcabc1.32
+ (2.24e-007s)
1.86
+ (3.15e-007s)
1.25
+ (2.12e-007s)
1.24
+ (2.1e-007s)
2.98
+ (5.05e-007s)
1
+ (1.7e-007s)
^([0-9]+)(\-| |$)(.*)$100- this is a line of ftp response which contains a message string1.32
+ (5.91e-007s)
1.96
+ (8.78e-007s)
2.68
+ (1.2e-006s)
1.53
+ (6.88e-007s)
332
+ (0.000149s)
1
+ (4.49e-007s)
([[:digit:]]{4}[- ]){3}[[:digit:]]{3,4}1234-5678-1234-4561.44
+ (7.16e-007s)
2.04
+ (1.01e-006s)
3.35
+ (1.66e-006s)
2.15
+ (1.07e-006s)
31.4
+ (1.56e-005s)
1
+ (4.96e-007s)
^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$john@johnmaddock.co.uk1
+ (1.18e-006s)
1.42
+ (1.68e-006s)
2.06
+ (2.44e-006s)
1.35
+ (1.6e-006s)
165
+ (0.000196s)
1.06
+ (1.26e-006s)
^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$foo12@foo.edu1
+ (1.09e-006s)
1.44
+ (1.57e-006s)
2.21
+ (2.4e-006s)
1.41
+ (1.53e-006s)
108
+ (0.000117s)
1.04
+ (1.13e-006s)
^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$bob.smith@foo.tv1
+ (1.07e-006s)
1.43
+ (1.53e-006s)
2.21
+ (2.37e-006s)
1.45
+ (1.55e-006s)
123
+ (0.000132s)
1.05
+ (1.13e-006s)
^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$EH10 2QQ1
+ (3.19e-007s)
1.67
+ (5.34e-007s)
1.58
+ (5.05e-007s)
1.4
+ (4.49e-007s)
10.4
+ (3.32e-006s)
1.15
+ (3.68e-007s)
^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$G1 1AA1
+ (3.29e-007s)
1.65
+ (5.44e-007s)
1.51
+ (4.96e-007s)
1.36
+ (4.49e-007s)
8.46
+ (2.79e-006s)
1.1
+ (3.63e-007s)
^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$SW1 1ZZ1
+ (3.25e-007s)
1.64
+ (5.34e-007s)
1.56
+ (5.05e-007s)
1.38
+ (4.49e-007s)
9.29
+ (3.02e-006s)
1.13
+ (3.68e-007s)
^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$4/1/20011
+ (3.44e-007s)
1.55
+ (5.34e-007s)
2.36
+ (8.12e-007s)
2.2
+ (7.55e-007s)
19.6
+ (6.72e-006s)
1.81
+ (6.21e-007s)
^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$12/12/20011.05
+ (6.59e-007s)
1.66
+ (1.05e-006s)
1.44
+ (9.07e-007s)
1.23
+ (7.73e-007s)
11.6
+ (7.34e-006s)
1
+ (6.3e-007s)
^[-+]?[[:digit:]]*\.?[[:digit:]]*$1231
+ (5.72e-007s)
1.59
+ (9.07e-007s)
1.6
+ (9.16e-007s)
1.49
+ (8.5e-007s)
6.14
+ (3.51e-006s)
1.22
+ (6.97e-007s)
^[-+]?[[:digit:]]*\.?[[:digit:]]*$+3.141591
+ (6.78e-007s)
1.52
+ (1.03e-006s)
1.47
+ (9.94e-007s)
1.31
+ (8.88e-007s)
10.8
+ (7.34e-006s)
1.08
+ (7.35e-007s)
^[-+]?[[:digit:]]*\.?[[:digit:]]*$-3.141591
+ (6.78e-007s)
1.52
+ (1.03e-006s)
1.46
+ (9.92e-007s)
1.32
+ (8.98e-007s)
10.5
+ (7.11e-006s)
1.11
+ (7.54e-007s)
+

+
+

© Copyright John Maddock 2003

+

Use, modification and distribution are subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt + or copy at http://www.boost.org/LICENSE_1_0.txt)

+ + + diff --git a/example/Jamfile.v2 b/example/Jamfile.v2 index 022f8945..295ef904 100644 --- a/example/Jamfile.v2 +++ b/example/Jamfile.v2 @@ -4,7 +4,12 @@ # http://www.boost.org/LICENSE_1_0.txt. project - : requirements multi shared:BOOST_REGEX_DYN_LINK=1 + : requirements + multi + shared:BOOST_REGEX_DYN_LINK=1 + # There are unidentified linker problems on these platforms: + mipspro-7.4:static + sun-5.9:static ; @@ -65,3 +70,4 @@ test-suite regex-examples : + diff --git a/example/snippets/icu_example.cpp b/example/snippets/icu_example.cpp index 8e5f22ca..8f4a41ed 100644 --- a/example/snippets/icu_example.cpp +++ b/example/snippets/icu_example.cpp @@ -157,7 +157,7 @@ int main() assert(greek == L"\x0391\x039D\x0395\x0398\x0391 2004"); // extract currency symbols with associated value, use iterator interface: - std::string text2 = " $100.23 or \xC2\xA3""198.12 "; // \xC2\xA3 is the £ sign encoded in UTF-8 + std::string text2 = " $100.23 or \xC2\xA3""198.12 "; // \xC2\xA3 is the pound sign encoded in UTF-8 enumerate_currencies(text2); enumerate_currencies2(text2); diff --git a/example/snippets/regex_match_example.cpp b/example/snippets/regex_match_example.cpp index a711ffd4..bd35d169 100644 --- a/example/snippets/regex_match_example.cpp +++ b/example/snippets/regex_match_example.cpp @@ -65,7 +65,7 @@ istream& getline(istream& is, std::string& s) } #endif -int main(int argc) +int main(int argc, const char*[]) { std::string in, out; do diff --git a/example/snippets/regex_split_example_1.cpp b/example/snippets/regex_split_example_1.cpp index 10d64036..25d2e576 100644 --- a/example/snippets/regex_split_example_1.cpp +++ b/example/snippets/regex_split_example_1.cpp @@ -47,7 +47,7 @@ istream& getline(istream& is, std::string& s) #endif -int main(int argc) +int main(int argc, const char*[]) { string s; list l; diff --git a/example/snippets/regex_token_iterator_eg_1.cpp b/example/snippets/regex_token_iterator_eg_1.cpp index fbf7f5b0..e12881e8 100644 --- a/example/snippets/regex_token_iterator_eg_1.cpp +++ b/example/snippets/regex_token_iterator_eg_1.cpp @@ -40,7 +40,7 @@ istream& getline(istream& is, std::string& s) #endif -int main(int argc) +int main(int argc, const char*[]) { string s; do{ diff --git a/example/timer/input_script.txt b/example/timer/input_script.txt index 0c068787..4a9e3e2d 100644 --- a/example/timer/input_script.txt +++ b/example/timer/input_script.txt @@ -5,3 +5,10 @@ quit 100- this is a line of ftp response which contains a message string quit quit + +# Copyright 2007 John Maddock. +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt). + + diff --git a/example/timer/regex_timer.cpp b/example/timer/regex_timer.cpp index 2b2694c1..112b0cb0 100644 --- a/example/timer/regex_timer.cpp +++ b/example/timer/regex_timer.cpp @@ -143,7 +143,7 @@ int main(int argc, char**argv) boost::match_results::iterator> dm; std::string s1, s2, ts; std::deque ds; - boost::regex_t r; + boost::regex_tA r; boost::scoped_array matches; std::size_t nsubs; boost::timer t; @@ -175,12 +175,12 @@ int main(int argc, char**argv) cout << "Error in expression: \"" << e.what() << "\"" << endl; continue; } - int code = regcomp(&r, s1.c_str(), boost::REG_PERL); + int code = regcompA(&r, s1.c_str(), boost::REG_PERL); if(code != 0) { char buf[256]; - regerror(code, &r, buf, 256); - cout << "regcomp error: \"" << buf << "\"" << endl; + regerrorA(code, &r, buf, 256); + cout << "regcompA error: \"" << buf << "\"" << endl; continue; } nsubs = r.re_nsub + 1; @@ -324,17 +324,17 @@ int main(int argc, char**argv) iters = 10; tim = 1.1; // cache load: - regexec(&r, s2.c_str(), nsubs, matches.get(), 0); + regexecA(&r, s2.c_str(), nsubs, matches.get(), 0); do{ iters *= (tim > 0.001) ? (1.1/tim) : 100; t.restart(); for(i = 0; i < iters; ++i) { - result = regexec(&r, s2.c_str(), nsubs, matches.get(), 0); + result = regexecA(&r, s2.c_str(), nsubs, matches.get(), 0); } tim = t.elapsed(); }while(tim < wait_time); - cout << "POSIX regexec time: " << (tim * 1000000 / iters) << "us" << endl; + cout << "POSIX regexecA time: " << (tim * 1000000 / iters) << "us" << endl; if(result == 0) { @@ -360,7 +360,7 @@ int main(int argc, char**argv) cout << "\" (matched=" << (matches[0].rm_eo != s2.size()) << ")" << endl << endl; } } - regfree(&r); + regfreeA(&r); } if(pbuf) @@ -372,7 +372,7 @@ int main(int argc, char**argv) return 0; } -#if defined(_WIN32) && defined(BOOST_REGEX_USE_WIN32_LOCALE) +#if defined(_WIN32) && defined(BOOST_REGEX_USE_WIN32_LOCALE) && !defined(UNDER_CE) #pragma comment(lib, "user32.lib") #endif diff --git a/include/boost/regex/concepts.hpp b/include/boost/regex/concepts.hpp index d9005463..0a22aebd 100644 --- a/include/boost/regex/concepts.hpp +++ b/include/boost/regex/concepts.hpp @@ -87,12 +87,12 @@ struct regex_traits_architype public: regex_traits_architype(); typedef charT char_type; - typedef std::size_t size_type; + // typedef std::size_t size_type; typedef std::vector string_type; typedef copy_constructible_archetype > locale_type; typedef bitmask_archetype char_class_type; - static size_type length(const char_type* ) { return 0; } + static std::size_t length(const char_type* ) { return 0; } charT translate(charT ) const { return charT(); } charT translate_nocase(charT ) const { return static_object::get(); } @@ -163,21 +163,21 @@ struct RegexTraitsConcept RegexTraitsConcept(); // required typedefs: typedef typename traits::char_type char_type; - typedef typename traits::size_type size_type; + // typedef typename traits::size_type size_type; typedef typename traits::string_type string_type; typedef typename traits::locale_type locale_type; typedef typename traits::char_class_type char_class_type; void constraints() { - function_requires >(); + //function_requires >(); function_requires >(); function_requires >(); function_requires >(); function_requires >(); function_requires >(); - size_type n = traits::length(m_pointer); + std::size_t n = traits::length(m_pointer); ignore_unused_variable_warning(n); char_type c = m_ctraits.translate(m_char); @@ -235,7 +235,7 @@ template struct BaseRegexConcept { typedef typename Regex::value_type value_type; - typedef typename Regex::size_type size_type; + //typedef typename Regex::size_type size_type; typedef typename Regex::flag_type flag_type; typedef typename Regex::locale_type locale_type; typedef input_iterator_archetype input_iterator_type; @@ -368,9 +368,7 @@ struct BaseRegexConcept // access: const Regex ce; - bool b = ce.empty(); - ignore_unused_variable_warning(b); - size_type i = ce.mark_count(); + unsigned i = ce.mark_count(); ignore_unused_variable_warning(i); m_flags = ce.flags(); e.imbue(ce.getloc()); @@ -385,7 +383,7 @@ struct BaseRegexConcept typedef typename sub_match_type::iterator sub_iter_type; BOOST_STATIC_ASSERT((::boost::is_same::value)); BOOST_STATIC_ASSERT((::boost::is_same::value)); - b = m_sub.matched; + bool b = m_sub.matched; ignore_unused_variable_warning(b); BidiIterator bi = m_sub.first; ignore_unused_variable_warning(bi); @@ -533,7 +531,7 @@ struct BaseRegexConcept pointer_type m_pointer; flag_type m_flags; - size_type m_size; + std::size_t m_size; input_iterator_type in1, in2; const sub_match_type m_sub; const value_type m_char; @@ -557,7 +555,7 @@ template struct RegexConcept { typedef typename Regex::value_type value_type; - typedef typename Regex::size_type size_type; + //typedef typename Regex::size_type size_type; typedef typename Regex::flag_type flag_type; typedef typename Regex::locale_type locale_type; @@ -806,6 +804,8 @@ struct BoostRegexConcept ignore_unused_variable_warning(i2); bool b = ce == ce2; ignore_unused_variable_warning(b); + b = ce.empty(); + ignore_unused_variable_warning(b); b = ce != ce2; ignore_unused_variable_warning(b); b = ce < ce2; diff --git a/include/boost/regex/icu.hpp b/include/boost/regex/icu.hpp index 53941b64..7af1d678 100644 --- a/include/boost/regex/icu.hpp +++ b/include/boost/regex/icu.hpp @@ -355,7 +355,7 @@ inline u32regex make_u32regex(const wchar_t* p, boost::regex_constants::syntax_o return re_detail::do_make_u32regex(p, p + std::wcslen(p), opt, static_cast const*>(0)); } #endif -#ifndef U_WCHAR_IS_UTF16 +#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) inline u32regex make_u32regex(const UChar* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) { return re_detail::do_make_u32regex(p, p + u_strlen(p), opt, static_cast const*>(0)); @@ -455,7 +455,7 @@ inline bool u32regex_match(const UChar* p, { return re_detail::do_regex_match(p, p+u_strlen(p), m, e, flags, static_cast const*>(0)); } -#if !defined(U_WCHAR_IS_UTF16) && !defined(BOOST_NO_WREGEX) +#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) && !defined(BOOST_NO_WREGEX) inline bool u32regex_match(const wchar_t* p, match_results& m, const u32regex& e, @@ -519,7 +519,7 @@ inline bool u32regex_match(const UChar* p, match_results m; return re_detail::do_regex_match(p, p+u_strlen(p), m, e, flags, static_cast const*>(0)); } -#if !defined(U_WCHAR_IS_UTF16) && !defined(BOOST_NO_WREGEX) +#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) && !defined(BOOST_NO_WREGEX) inline bool u32regex_match(const wchar_t* p, const u32regex& e, match_flag_type flags = match_default) @@ -640,7 +640,7 @@ inline bool u32regex_search(const UChar* p, { return re_detail::do_regex_search(p, p+u_strlen(p), m, e, flags, p, static_cast const*>(0)); } -#if !defined(U_WCHAR_IS_UTF16) && !defined(BOOST_NO_WREGEX) +#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) && !defined(BOOST_NO_WREGEX) inline bool u32regex_search(const wchar_t* p, match_results& m, const u32regex& e, @@ -701,7 +701,7 @@ inline bool u32regex_search(const UChar* p, match_results m; return re_detail::do_regex_search(p, p+u_strlen(p), m, e, flags, p, static_cast const*>(0)); } -#if !defined(U_WCHAR_IS_UTF16) && !defined(BOOST_NO_WREGEX) +#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) && !defined(BOOST_NO_WREGEX) inline bool u32regex_search(const wchar_t* p, const u32regex& e, match_flag_type flags = match_default) diff --git a/include/boost/regex/pending/object_cache.hpp b/include/boost/regex/pending/object_cache.hpp index bc37e276..2a7e00bc 100644 --- a/include/boost/regex/pending/object_cache.hpp +++ b/include/boost/regex/pending/object_cache.hpp @@ -119,7 +119,7 @@ boost::shared_ptr object_cache::do_get(const Key& k, // // Add it to the list, and index it: // - s_data.cont.push_back(value_type(result, 0)); + s_data.cont.push_back(value_type(result, static_cast(0))); s_data.index.insert(std::make_pair(k, --(s_data.cont.end()))); s_data.cont.back().second = &(s_data.index.find(k)->first); map_size_type s = s_data.index.size(); diff --git a/include/boost/regex/pending/static_mutex.hpp b/include/boost/regex/pending/static_mutex.hpp index 8dbf48e7..218169c3 100644 --- a/include/boost/regex/pending/static_mutex.hpp +++ b/include/boost/regex/pending/static_mutex.hpp @@ -127,8 +127,15 @@ inline bool scoped_static_mutex_lock::locked()const // down to the initialisation proceedure. In fact the initialisation routine // may need to be called more than once - but only once per instance. // -#include -#include +// Since this preprocessor path is almost never taken, we hide these header +// dependencies so that build tools don't find them. +// +#define B1 +#define B2 +#include B1 +#include B2 +#undef B1 +#undef B2 namespace boost{ diff --git a/include/boost/regex/pending/unicode_iterator.hpp b/include/boost/regex/pending/unicode_iterator.hpp index 14196c0a..657ca0a4 100644 --- a/include/boost/regex/pending/unicode_iterator.hpp +++ b/include/boost/regex/pending/unicode_iterator.hpp @@ -68,6 +68,7 @@ Accepts UTF-32 code points and forwards them on as UTF-16 code points. #include #ifndef BOOST_NO_STD_LOCALE #include +#include #endif #include // CHAR_BIT diff --git a/include/boost/regex/v4/basic_regex.hpp b/include/boost/regex/v4/basic_regex.hpp index 71a20f4d..018a30f9 100644 --- a/include/boost/regex/v4/basic_regex.hpp +++ b/include/boost/regex/v4/basic_regex.hpp @@ -191,7 +191,7 @@ class basic_regex : public regbase { public: // typedefs: - typedef typename traits::size_type traits_size_type; + typedef std::size_t traits_size_type; typedef typename traits::string_type traits_string_type; typedef charT char_type; typedef traits traits_type; @@ -261,7 +261,7 @@ public: { return do_assign(p1, p2, f); } -#if !defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(__IBMCPP__) +#if !defined(BOOST_NO_MEMBER_TEMPLATES) template unsigned int BOOST_REGEX_CALL set_expression(const std::basic_string& p, flag_type f = regex_constants::normal) @@ -597,7 +597,7 @@ public: return this->assign(that); } -#if !defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(__IBMCPP__) +#if !defined(BOOST_NO_MEMBER_TEMPLATES) template explicit reg_expression(const std::basic_string& p, flag_type f = regex_constants::normal) : basic_regex(p, f) diff --git a/include/boost/regex/v4/basic_regex_creator.hpp b/include/boost/regex/v4/basic_regex_creator.hpp index fec755f8..9f2cbeec 100644 --- a/include/boost/regex/v4/basic_regex_creator.hpp +++ b/include/boost/regex/v4/basic_regex_creator.hpp @@ -236,7 +236,7 @@ protected: m_traits; // convenience reference to traits class re_syntax_base* m_last_state; // the last state we added bool m_icase; // true for case insensitive matches - unsigned m_repeater_id; // the id of the next repeater + unsigned m_repeater_id; // the state_id of the next repeater bool m_has_backrefs; // true if there are actually any backrefs unsigned m_backrefs; // bitmask of permitted backrefs boost::uintmax_t m_bad_repeats; // bitmask of repeats we can't deduce a startmap for; @@ -718,8 +718,8 @@ void basic_regex_creator::fixup_pointers(re_syntax_base* state) case syntax_element_char_rep: case syntax_element_short_set_rep: case syntax_element_long_set_rep: - // set the id of this repeat: - static_cast(state)->id = m_repeater_id++; + // set the state_id of this repeat: + static_cast(state)->state_id = m_repeater_id++; // fall through: case syntax_element_alt: std::memset(static_cast(state)->_map, 0, sizeof(static_cast(state)->_map)); @@ -1194,11 +1194,11 @@ bool basic_regex_creator::is_bad_repeat(re_syntax_base* pt) case syntax_element_short_set_rep: case syntax_element_long_set_rep: { - unsigned id = static_cast(pt)->id; - if(id > sizeof(m_bad_repeats) * CHAR_BIT) + unsigned state_id = static_cast(pt)->state_id; + if(state_id > sizeof(m_bad_repeats) * CHAR_BIT) return true; // run out of bits, assume we can't traverse this one. static const boost::uintmax_t one = 1uL; - return m_bad_repeats & (one << id); + return m_bad_repeats & (one << state_id); } default: return false; @@ -1216,10 +1216,10 @@ void basic_regex_creator::set_bad_repeat(re_syntax_base* pt) case syntax_element_short_set_rep: case syntax_element_long_set_rep: { - unsigned id = static_cast(pt)->id; + unsigned state_id = static_cast(pt)->state_id; static const boost::uintmax_t one = 1uL; - if(id <= sizeof(m_bad_repeats) * CHAR_BIT) - m_bad_repeats |= (one << id); + if(state_id <= sizeof(m_bad_repeats) * CHAR_BIT) + m_bad_repeats |= (one << state_id); } default: break; @@ -1270,6 +1270,19 @@ void basic_regex_creator::probe_leading_repeat(re_syntax_base* st state = state->next.p; continue; } + if((static_cast(state)->index == -1) + || (static_cast(state)->index == -2)) + { + // skip past the zero width assertion: + state = static_cast(state->next.p)->alt.p->next.p; + continue; + } + if(static_cast(state)->index == -3) + { + // Have to skip the leading jump state: + state = state->next.p->next.p; + continue; + } return; case syntax_element_endmark: case syntax_element_start_line: diff --git a/include/boost/regex/v4/basic_regex_parser.hpp b/include/boost/regex/v4/basic_regex_parser.hpp index fcf512c2..b2d99f09 100644 --- a/include/boost/regex/v4/basic_regex_parser.hpp +++ b/include/boost/regex/v4/basic_regex_parser.hpp @@ -784,6 +784,7 @@ bool basic_regex_parser::parse_repeat(std::size_t low, std::size_ case syntax_element_restart_continue: case syntax_element_jump: case syntax_element_startmark: + case syntax_element_backstep: // can't legally repeat any of the above: fail(regex_constants::error_badrepeat, m_position - m_base); return false; @@ -1869,6 +1870,7 @@ bool basic_regex_parser::parse_perl_extension() if(markid == -4) { re_syntax_base* b = this->getaddress(expected_alt_point); + // Make sure we have exactly one alternative following this state: if(b->type != syntax_element_alt) { re_alt* alt = static_cast(this->insert_state(expected_alt_point, syntax_element_alt, sizeof(re_alt))); @@ -1879,6 +1881,15 @@ bool basic_regex_parser::parse_perl_extension() fail(regex_constants::error_bad_pattern, m_position - m_base); return false; } + // check for invalid repetition of next state: + b = this->getaddress(expected_alt_point); + b = this->getaddress(static_cast(b)->next.i, b); + if((b->type != syntax_element_assert_backref) + && (b->type != syntax_element_startmark)) + { + fail(regex_constants::error_badrepeat, m_position - m_base); + return false; + } } // // append closing parenthesis state: diff --git a/include/boost/regex/v4/cpp_regex_traits.hpp b/include/boost/regex/v4/cpp_regex_traits.hpp index dbec293c..89fe49d8 100644 --- a/include/boost/regex/v4/cpp_regex_traits.hpp +++ b/include/boost/regex/v4/cpp_regex_traits.hpp @@ -128,7 +128,7 @@ parser_buf::seekoff(off_type off, ::std::ios_base::seekdir way, : break; case ::std::ios_base::cur: { - std::ptrdiff_t newpos = pos + off; + std::ptrdiff_t newpos = static_cast(pos + off); if((newpos < 0) || (newpos > size)) return pos_type(off_type(-1)); else @@ -293,7 +293,9 @@ void cpp_regex_traits_char_layer::init() // if((int)cat >= 0) { +#ifndef BOOST_NO_EXCEPTIONS try{ +#endif for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) { string_type mss = this->m_pmessages->get(cat, 0, i, get_default_message(i)); @@ -303,12 +305,14 @@ void cpp_regex_traits_char_layer::init() } } this->m_pmessages->close(cat); +#ifndef BOOST_NO_EXCEPTIONS } catch(...) { this->m_pmessages->close(cat); throw; } +#endif } else { @@ -795,9 +799,9 @@ typename cpp_regex_traits_implementation::char_class_type if(pos != m_custom_class_names.end()) return pos->second; } - std::size_t id = 1 + re_detail::get_default_class_id(p1, p2); - BOOST_ASSERT(id < sizeof(masks) / sizeof(masks[0])); - return masks[id]; + std::size_t state_id = 1 + re_detail::get_default_class_id(p1, p2); + BOOST_ASSERT(state_id < sizeof(masks) / sizeof(masks[0])); + return masks[state_id]; } #ifdef BOOST_REGEX_BUGGY_CTYPE_FACET @@ -1055,3 +1059,4 @@ static_mutex& cpp_regex_traits::get_mutex_inst() #endif + diff --git a/include/boost/regex/v4/fileiter.hpp b/include/boost/regex/v4/fileiter.hpp index 0c600d72..f13c4b2f 100644 --- a/include/boost/regex/v4/fileiter.hpp +++ b/include/boost/regex/v4/fileiter.hpp @@ -51,7 +51,11 @@ namespace boost{ namespace re_detail{ +#ifndef BOOST_NO_ANSI_APIS typedef WIN32_FIND_DATAA _fi_find_data; +#else +typedef WIN32_FIND_DATAW _fi_find_data; +#endif typedef HANDLE _fi_find_handle; } // namespace re_detail diff --git a/include/boost/regex/v4/instances.hpp b/include/boost/regex/v4/instances.hpp index b9898cb0..d12dc6b2 100644 --- a/include/boost/regex/v4/instances.hpp +++ b/include/boost/regex/v4/instances.hpp @@ -71,32 +71,39 @@ template class BOOST_REGEX_DECL ::boost::re_detail::perl_matcher 1310 +# define BOOST_REGEX_TEMPLATE_DECL +# endif # define template extern template # endif # endif +#ifndef BOOST_REGEX_TEMPLATE_DECL +# define BOOST_REGEX_TEMPLATE_DECL BOOST_REGEX_DECL +#endif + # ifdef BOOST_MSVC # pragma warning(push) # pragma warning(disable : 4251 4231 4660) # endif -template class BOOST_REGEX_DECL basic_regex< BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >; +template class BOOST_REGEX_TEMPLATE_DECL basic_regex< BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >; #if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) -template class BOOST_REGEX_DECL match_results< const BOOST_REGEX_CHAR_T* >; +template class BOOST_REGEX_TEMPLATE_DECL match_results< const BOOST_REGEX_CHAR_T* >; #endif #ifndef BOOST_NO_STD_ALLOCATOR -template class BOOST_REGEX_DECL ::boost::re_detail::perl_matcher::allocator_type BOOST_REGEX_TRAITS_T >; +template class BOOST_REGEX_TEMPLATE_DECL ::boost::re_detail::perl_matcher::allocator_type BOOST_REGEX_TRAITS_T >; #endif #if !(defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB <= 1))\ && !(defined(BOOST_INTEL_CXX_VERSION) && (BOOST_INTEL_CXX_VERSION <= 800))\ && !(defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION))\ && !defined(BOOST_REGEX_ICU_INSTANCES) #if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) -template class BOOST_REGEX_DECL match_results< std::basic_string::const_iterator >; +template class BOOST_REGEX_TEMPLATE_DECL match_results< std::basic_string::const_iterator >; #endif #ifndef BOOST_NO_STD_ALLOCATOR -template class BOOST_REGEX_DECL ::boost::re_detail::perl_matcher< std::basic_string::const_iterator, match_results< std::basic_string::const_iterator >::allocator_type, boost::regex_traits >; +template class BOOST_REGEX_TEMPLATE_DECL ::boost::re_detail::perl_matcher< std::basic_string::const_iterator, match_results< std::basic_string::const_iterator >::allocator_type, boost::regex_traits >; #endif #endif @@ -109,6 +116,8 @@ template class BOOST_REGEX_DECL ::boost::re_detail::perl_matcher< std::basic_str # undef template # endif +#undef BOOST_REGEX_TEMPLATE_DECL + #elif (defined(__GNUC__) && (__GNUC__ >= 3)) # ifndef BOOST_REGEX_INSTANTIATE diff --git a/include/boost/regex/v4/perl_matcher.hpp b/include/boost/regex/v4/perl_matcher.hpp index 547cb24a..a6e31f77 100644 --- a/include/boost/regex/v4/perl_matcher.hpp +++ b/include/boost/regex/v4/perl_matcher.hpp @@ -248,7 +248,7 @@ class repeater_count { repeater_count** stack; repeater_count* next; - int id; + int state_id; std::size_t count; // the number of iterations so far BidiIterator start_pos; // where the last repeat started public: @@ -256,22 +256,22 @@ public: { stack = s; next = 0; - id = -1; + state_id = -1; count = 0; } repeater_count(int i, repeater_count** s, BidiIterator start) : start_pos(start) { - id = i; + state_id = i; stack = s; next = *stack; *stack = this; - if(id > next->id) + if(state_id > next->state_id) count = 0; else { repeater_count* p = next; - while(p->id != id) + while(p->state_id != state_id) p = p->next; count = p->count; start_pos = p->start_pos; @@ -282,7 +282,7 @@ public: *stack = next; } std::size_t get_count() { return count; } - int get_id() { return id; } + int get_id() { return state_id; } std::size_t operator++() { return ++count; } bool check_null_repeat(const BidiIterator& pos, std::size_t max) { @@ -331,7 +331,7 @@ public: typedef typename traits::char_type char_type; typedef perl_matcher self_type; typedef bool (self_type::*matcher_proc_type)(void); - typedef typename traits::size_type traits_size_type; + typedef std::size_t traits_size_type; typedef typename is_byte::width_type width_type; typedef typename regex_iterator_traits::difference_type difference_type; @@ -487,7 +487,7 @@ private: void push_assertion(const re_syntax_base* ps, bool positive); void push_alt(const re_syntax_base* ps); void push_repeater_count(int i, repeater_count** s); - void push_single_repeat(std::size_t c, const re_repeat* r, BidiIterator last_position, int id); + void push_single_repeat(std::size_t c, const re_repeat* r, BidiIterator last_position, int state_id); void push_non_greedy_repeat(const re_syntax_base* ps); diff --git a/include/boost/regex/v4/perl_matcher_common.hpp b/include/boost/regex/v4/perl_matcher_common.hpp index 72e43d00..399caa3b 100644 --- a/include/boost/regex/v4/perl_matcher_common.hpp +++ b/include/boost/regex/v4/perl_matcher_common.hpp @@ -535,7 +535,7 @@ bool perl_matcher::match_within_word() if(position == last) return false; // both prev and this character must be m_word_mask: - if(traits_inst.isctype(*position, m_word_mask)) + bool prev = traits_inst.isctype(*position, m_word_mask); { bool b; if((position == backstop) && ((m_match_flags & match_prev_avail) == 0)) @@ -546,7 +546,7 @@ bool perl_matcher::match_within_word() b = traits_inst.isctype(*position, m_word_mask); ++position; } - if(b) + if(b == prev) { pstate = pstate->next.p; return true; diff --git a/include/boost/regex/v4/perl_matcher_non_recursive.hpp b/include/boost/regex/v4/perl_matcher_non_recursive.hpp index 3bf34601..10e03477 100644 --- a/include/boost/regex/v4/perl_matcher_non_recursive.hpp +++ b/include/boost/regex/v4/perl_matcher_non_recursive.hpp @@ -50,13 +50,13 @@ inline void inplace_destroy(T* p) struct saved_state { union{ - unsigned int id; + unsigned int state_id; // this padding ensures correct alignment on 64-bit platforms: std::size_t padding1; std::ptrdiff_t padding2; void* padding3; }; - saved_state(unsigned i) : id(i) {} + saved_state(unsigned i) : state_id(i) {} }; template @@ -298,7 +298,7 @@ inline void perl_matcher::push_repeater_count(i } template -inline void perl_matcher::push_single_repeat(std::size_t c, const re_repeat* r, BidiIterator last_position, int id) +inline void perl_matcher::push_single_repeat(std::size_t c, const re_repeat* r, BidiIterator last_position, int state_id) { saved_single_repeat* pmp = static_cast*>(m_backup_state); --pmp; @@ -308,7 +308,7 @@ inline void perl_matcher::push_single_repeat(st pmp = static_cast*>(m_backup_state); --pmp; } - (void) new (pmp)saved_single_repeat(c, r, last_position, id); + (void) new (pmp)saved_single_repeat(c, r, last_position, state_id); m_backup_state = pmp; } @@ -477,11 +477,13 @@ bool perl_matcher::match_rep() take_second = can_start(*position, rep->_map, (unsigned char)mask_skip); } - if(take_first || (next_count->get_id() != rep->id)) + if((m_backup_state->state_id != saved_state_repeater_count) + || (static_cast*>(m_backup_state)->count.get_id() != rep->state_id) + || (next_count->get_id() != rep->state_id)) { // we're moving to a different repeat from the last // one, so set up a counter object: - push_repeater_count(rep->id, &next_count); + push_repeater_count(rep->state_id, &next_count); } // // If we've had at least one repeat already, and the last one @@ -882,7 +884,7 @@ bool perl_matcher::unwind(bool have_match) // do { - unwinder = s_unwind_table[m_backup_state->id]; + unwinder = s_unwind_table[m_backup_state->state_id]; cont = (this->*unwinder)(m_recursive_result); }while(cont); // @@ -1193,6 +1195,9 @@ bool perl_matcher::unwind_char_repeat(bool r) pstate = rep->next.p; }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip)); } + // remember where we got to if this is a leading repeat: + if((rep->leading) && (count < rep->max)) + restart = position; if(position == last) { // can't repeat any more, remove the pushed state: @@ -1259,6 +1264,9 @@ bool perl_matcher::unwind_short_set_repeat(bool pstate = rep->next.p; }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip)); } + // remember where we got to if this is a leading repeat: + if((rep->leading) && (count < rep->max)) + restart = position; if(position == last) { // can't repeat any more, remove the pushed state: @@ -1326,6 +1334,9 @@ bool perl_matcher::unwind_long_set_repeat(bool pstate = rep->next.p; }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip)); } + // remember where we got to if this is a leading repeat: + if((rep->leading) && (count < rep->max)) + restart = position; if(position == last) { // can't repeat any more, remove the pushed state: diff --git a/include/boost/regex/v4/perl_matcher_recursive.hpp b/include/boost/regex/v4/perl_matcher_recursive.hpp index 746d02ab..68e1aac9 100644 --- a/include/boost/regex/v4/perl_matcher_recursive.hpp +++ b/include/boost/regex/v4/perl_matcher_recursive.hpp @@ -291,7 +291,7 @@ bool perl_matcher::match_rep() // Always copy the repeat count, so that the state is restored // when we exit this scope: // - repeater_count r(rep->id, &next_count, position); + repeater_count r(rep->state_id, &next_count, position); // // If we've had at least one repeat already, and the last one // matched the NULL string then set the repeat count to diff --git a/include/boost/regex/v4/regex_token_iterator.hpp b/include/boost/regex/v4/regex_token_iterator.hpp index 3d99d148..4e8bc36f 100644 --- a/include/boost/regex/v4/regex_token_iterator.hpp +++ b/include/boost/regex/v4/regex_token_iterator.hpp @@ -319,7 +319,7 @@ inline regex_token_iterator::const_ite return regex_token_iterator::const_iterator, charT, traits>(p.begin(), p.end(), e, submatch, m); } -#if BOOST_WORKAROUND(BOOST_MSVC, == 1310) +#if BOOST_WORKAROUND(BOOST_MSVC, > 1300) # pragma warning(pop) #endif #ifdef BOOST_MSVC diff --git a/include/boost/regex/v4/regex_traits_defaults.hpp b/include/boost/regex/v4/regex_traits_defaults.hpp index 38c12738..42428dd8 100644 --- a/include/boost/regex/v4/regex_traits_defaults.hpp +++ b/include/boost/regex/v4/regex_traits_defaults.hpp @@ -134,8 +134,8 @@ inline bool is_separator(char c) BOOST_REGEX_DECL std::string BOOST_REGEX_CALL lookup_default_collate_name(const std::string& name); // -// get the id of a character clasification, the individual -// traits classes then transform that id into a bitmask: +// get the state_id of a character clasification, the individual +// traits classes then transform that state_id into a bitmask: // template struct character_pointer_range diff --git a/include/boost/regex/v4/regex_workaround.hpp b/include/boost/regex/v4/regex_workaround.hpp index 917320ca..fc3c2123 100644 --- a/include/boost/regex/v4/regex_workaround.hpp +++ b/include/boost/regex/v4/regex_workaround.hpp @@ -150,13 +150,16 @@ namespace boost{ namespace re_detail{ return stdext::unchecked_equal(first, last, with); } +#else + using std::copy; + using std::equal; +#endif +#if BOOST_WORKAROUND(BOOST_MSVC,>=1400) && defined(__STDC_WANT_SECURE_LIB__) && __STDC_WANT_SECURE_LIB__ + // use safe versions of strcpy etc: using ::strcpy_s; using ::strcat_s; #else - using std::copy; - using std::equal; - inline std::size_t strcpy_s( char *strDestination, std::size_t sizeInBytes, diff --git a/include/boost/regex/v4/states.hpp b/include/boost/regex/v4/states.hpp index 74885d2a..44dd2b4a 100644 --- a/include/boost/regex/v4/states.hpp +++ b/include/boost/regex/v4/states.hpp @@ -240,7 +240,7 @@ Repeat a section of the machine struct re_repeat : public re_alt { std::size_t min, max; // min and max allowable repeats - int id; // Unique identifier for this repeat + int state_id; // Unique identifier for this repeat bool leading; // True if this repeat is at the start of the machine (lets us optimize some searches) bool greedy; // True if this is a greedy repeat }; diff --git a/include/boost/regex/v4/u32regex_iterator.hpp b/include/boost/regex/v4/u32regex_iterator.hpp index 9e49c6f3..7e893e69 100644 --- a/include/boost/regex/v4/u32regex_iterator.hpp +++ b/include/boost/regex/v4/u32regex_iterator.hpp @@ -166,7 +166,7 @@ inline u32regex_iterator make_u32regex_iterator(const wchar_t* p return u32regex_iterator(p, p+std::wcslen(p), e, m); } #endif -#ifndef U_WCHAR_IS_UTF16 +#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) inline u32regex_iterator make_u32regex_iterator(const UChar* p, const u32regex& e, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_iterator(p, p+u_strlen(p), e, m); diff --git a/include/boost/regex/v4/u32regex_token_iterator.hpp b/include/boost/regex/v4/u32regex_token_iterator.hpp index a8d394e4..72669ac4 100644 --- a/include/boost/regex/v4/u32regex_token_iterator.hpp +++ b/include/boost/regex/v4/u32regex_token_iterator.hpp @@ -271,7 +271,7 @@ typedef u32regex_token_iterator utf8regex_token_iterator; typedef u32regex_token_iterator utf16regex_token_iterator; typedef u32regex_token_iterator utf32regex_token_iterator; -// construction from an integral sub_match id: +// construction from an integral sub_match state_id: inline u32regex_token_iterator make_u32regex_token_iterator(const char* p, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(p, p+std::strlen(p), e, submatch, m); @@ -282,7 +282,7 @@ inline u32regex_token_iterator make_u32regex_token_iterator(cons return u32regex_token_iterator(p, p+std::wcslen(p), e, submatch, m); } #endif -#ifndef U_WCHAR_IS_UTF16 +#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) inline u32regex_token_iterator make_u32regex_token_iterator(const UChar* p, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(p, p+u_strlen(p), e, m); @@ -313,7 +313,7 @@ inline u32regex_token_iterator make_u32regex_token_iterator(cons return u32regex_token_iterator(p, p+std::wcslen(p), e, submatch, m); } #endif -#ifndef U_WCHAR_IS_UTF16 +#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) template inline u32regex_token_iterator make_u32regex_token_iterator(const UChar* p, const u32regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default) { @@ -333,7 +333,7 @@ inline u32regex_token_iterator make_u32regex_token_iterator(const } #endif // BOOST_MSVC < 1300 -// construction from a vector of sub_match id's: +// construction from a vector of sub_match state_id's: inline u32regex_token_iterator make_u32regex_token_iterator(const char* p, const u32regex& e, const std::vector& submatch, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(p, p+std::strlen(p), e, submatch, m); @@ -344,7 +344,7 @@ inline u32regex_token_iterator make_u32regex_token_iterator(cons return u32regex_token_iterator(p, p+std::wcslen(p), e, submatch, m); } #endif -#ifndef U_WCHAR_IS_UTF16 +#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) inline u32regex_token_iterator make_u32regex_token_iterator(const UChar* p, const u32regex& e, const std::vector& submatch, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(p, p+u_strlen(p), e, m); diff --git a/include/boost/regex/v4/w32_regex_traits.hpp b/include/boost/regex/v4/w32_regex_traits.hpp index 2f64843d..21a9694a 100644 --- a/include/boost/regex/v4/w32_regex_traits.hpp +++ b/include/boost/regex/v4/w32_regex_traits.hpp @@ -76,36 +76,36 @@ BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(char, lcid_type); #ifndef BOOST_NO_WREGEX BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(wchar_t, lcid_type); #ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(unsigned short ca, lcid_type id); +BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(unsigned short ca, lcid_type state_id); #endif #endif BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(char, lcid_type); #ifndef BOOST_NO_WREGEX BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(wchar_t, lcid_type); #ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(unsigned short ca, lcid_type id); +BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(unsigned short ca, lcid_type state_id); #endif #endif BOOST_REGEX_DECL cat_type BOOST_REGEX_CALL w32_cat_open(const std::string& name); -BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type id, int i, const std::string& def); +BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type state_id, int i, const std::string& def); #ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type id, int i, const std::wstring& def); +BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type state_id, int i, const std::wstring& def); #ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T BOOST_REGEX_DECL std::basic_string BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type, int i, const std::basic_string& def); #endif #endif -BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_transform(lcid_type id, const char* p1, const char* p2); +BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_transform(lcid_type state_id, const char* p1, const char* p2); #ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_transform(lcid_type id, const wchar_t* p1, const wchar_t* p2); +BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_transform(lcid_type state_id, const wchar_t* p1, const wchar_t* p2); #ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL std::basic_string BOOST_REGEX_CALL w32_transform(lcid_type id, const unsigned short* p1, const unsigned short* p2); +BOOST_REGEX_DECL std::basic_string BOOST_REGEX_CALL w32_transform(lcid_type state_id, const unsigned short* p1, const unsigned short* p2); #endif #endif BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_tolower(char c, lcid_type); #ifndef BOOST_NO_WREGEX BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL w32_tolower(wchar_t c, lcid_type); #ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_tolower(unsigned short c, lcid_type id); +BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_tolower(unsigned short c, lcid_type state_id); #endif #endif BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_toupper(char c, lcid_type); @@ -116,7 +116,7 @@ BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type, boost::uint32_t mask, c #ifndef BOOST_NO_WREGEX BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type, boost::uint32_t mask, wchar_t c); #ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T -BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type id, boost::uint32_t m, unsigned short c); +BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type state_id, boost::uint32_t m, unsigned short c); #endif #endif // @@ -540,9 +540,9 @@ typename w32_regex_traits_implementation::char_class_type if(pos != m_custom_class_names.end()) return pos->second; } - std::size_t id = 1 + re_detail::get_default_class_id(p1, p2); - if(id < sizeof(masks) / sizeof(masks[0])) - return masks[id]; + std::size_t state_id = 1 + re_detail::get_default_class_id(p1, p2); + if(state_id < sizeof(masks) / sizeof(masks[0])) + return masks[state_id]; return masks[0]; } diff --git a/performance/input.html b/performance/input.html index 128deeaa..9b2312b8 100644 --- a/performance/input.html +++ b/performance/input.html @@ -5,6 +5,7 @@ +

Regular Expression Performance Comparison

@@ -65,7 +66,7 @@ the text indicated was measured. 

%short_matches%


-

© Copyright John Maddock 2003

+

© Copyright John Maddock 2003

Use, modification and distribution are subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

diff --git a/src/cregex.cpp b/src/cregex.cpp index 2a9adc26..99d48a7b 100644 --- a/src/cregex.cpp +++ b/src/cregex.cpp @@ -19,8 +19,8 @@ #define BOOST_REGEX_SOURCE -#include #include +#include #if !defined(BOOST_NO_STD_STRING) #include #include @@ -354,7 +354,7 @@ void BuildFileList(std::list* pl, const char* files, bool recurse) while(dstart != dend) { -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE) (::sprintf_s)(buf, sizeof(buf), "%s%s%s", dstart.path(), directory_iterator::separator(), ptr); #else (std::sprintf)(buf, "%s%s%s", dstart.path(), directory_iterator::separator(), ptr); diff --git a/src/fileiter.cpp b/src/fileiter.cpp index cbb46c01..7d9c7f88 100644 --- a/src/fileiter.cpp +++ b/src/fileiter.cpp @@ -86,7 +86,14 @@ const char* _fi_sep_alt = _fi_sep; void mapfile::open(const char* file) { -#if defined(__CYGWIN__)||defined(__CYGWIN32__) +#if defined(BOOST_NO_ANSI_APIS) + int filename_size = strlen(file); + LPWSTR wide_file = (LPWSTR)_alloca( (filename_size + 1) * sizeof(WCHAR) ); + if(::MultiByteToWideChar(CP_ACP, 0, file, filename_size, wide_file, filename_size + 1) == 0) + hfile = INVALID_HANDLE_VALUE; + else + hfile = CreateFileW(wide_file, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); +#elif defined(__CYGWIN__)||defined(__CYGWIN32__) char win32file[ MAX_PATH ]; cygwin_conv_to_win32_path( file, win32file ); hfile = CreateFileA(win32file, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); @@ -350,6 +357,48 @@ void mapfile::close() #endif +inline _fi_find_handle find_first_file(const char* wild, _fi_find_data& data) +{ +#ifdef BOOST_NO_ANSI_APIS + std::size_t wild_size = std::strlen(wild); + LPWSTR wide_wild = (LPWSTR)_alloca( (wild_size + 1) * sizeof(WCHAR) ); + if (::MultiByteToWideChar(CP_ACP, 0, wild, wild_size, wide_wild, wild_size + 1) == 0) + return _fi_invalid_handle; + + return FindFirstFileW(wide_wild, &data); +#else + return FindFirstFileA(wild, &data); +#endif +} + +inline bool find_next_file(_fi_find_handle hf, _fi_find_data& data) +{ +#ifdef BOOST_NO_ANSI_APIS + return FindNextFileW(hf, &data); +#else + return FindNextFileA(hf, &data); +#endif +} + +inline void copy_find_file_result_with_overflow_check(const _fi_find_data& data, char* path, size_t max_size) +{ +#ifdef BOOST_NO_ANSI_APIS + if (::WideCharToMultiByte(CP_ACP, 0, data.cFileName, -1, path, max_size, NULL, NULL) == 0) + re_detail::overflow_error_if_not_zero(1); +#else + re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(path, max_size, data.cFileName)); +#endif +} + +inline bool is_not_current_or_parent_path_string(const _fi_find_data& data) +{ +#ifdef BOOST_NO_ANSI_APIS + return (std::wcscmp(data.cFileName, L".") && std::wcscmp(data.cFileName, L"..")); +#else + return (std::strcmp(data.cFileName, ".") && std::strcmp(data.cFileName, "..")); +#endif +} + file_iterator::file_iterator() { @@ -413,7 +462,7 @@ file_iterator::file_iterator(const char* wild) ref = new file_iterator_ref(); BOOST_REGEX_NOEH_ASSERT(ref) - ref->hf = FindFirstFileA(wild, &(ref->_data)); + ref->hf = find_first_file(wild, ref->_data); ref->count = 1; if(ref->hf == _fi_invalid_handle) @@ -423,7 +472,7 @@ file_iterator::file_iterator(const char* wild) } else { - re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(ptr, (MAX_PATH - (ptr - _path)), ref->_data.cFileName)); + copy_find_file_result_with_overflow_check(ref->_data, ptr, (MAX_PATH - (ptr - _path))); if(ref->_data.dwFileAttributes & _fi_dir) next(); } @@ -510,7 +559,7 @@ void file_iterator::next() bool cont = true; while(cont) { - cont = FindNextFileA(ref->hf, &(ref->_data)); + cont = find_next_file(ref->hf, ref->_data); if(cont && ((ref->_data.dwFileAttributes & _fi_dir) == 0)) break; } @@ -523,7 +572,7 @@ void file_iterator::next() ptr = _path; } else - re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(ptr, MAX_PATH - (ptr - _path), ref->_data.cFileName)); + copy_find_file_result_with_overflow_check(ref->_data, ptr, MAX_PATH - (ptr - _path)); } } @@ -593,7 +642,7 @@ directory_iterator::directory_iterator(const char* wild) ref = new file_iterator_ref(); BOOST_REGEX_NOEH_ASSERT(ref) ref->count = 1; - ref->hf = FindFirstFileA(wild, &(ref->_data)); + ref->hf = find_first_file(wild, ref->_data); if(ref->hf == _fi_invalid_handle) { *_path = 0; @@ -601,8 +650,8 @@ directory_iterator::directory_iterator(const char* wild) } else { - re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(ptr, MAX_PATH - (ptr - _path), ref->_data.cFileName)); - if(((ref->_data.dwFileAttributes & _fi_dir) == 0) || (std::strcmp(ref->_data.cFileName, ".") == 0) || (std::strcmp(ref->_data.cFileName, "..") == 0)) + copy_find_file_result_with_overflow_check(ref->_data, ptr, MAX_PATH - (ptr - _path)); + if(((ref->_data.dwFileAttributes & _fi_dir) == 0) || (std::strcmp(ptr, ".") == 0) || (std::strcmp(ptr, "..") == 0)) next(); } #ifndef BOOST_NO_EXCEPTIONS @@ -686,10 +735,10 @@ void directory_iterator::next() bool cont = true; while(cont) { - cont = FindNextFileA(ref->hf, &(ref->_data)); + cont = find_next_file(ref->hf, ref->_data); if(cont && (ref->_data.dwFileAttributes & _fi_dir)) { - if(std::strcmp(ref->_data.cFileName, ".") && std::strcmp(ref->_data.cFileName, "..")) + if(is_not_current_or_parent_path_string(ref->_data)) break; } } @@ -702,7 +751,7 @@ void directory_iterator::next() ptr = _path; } else - re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(ptr, MAX_PATH - (ptr - _path), ref->_data.cFileName)); + copy_find_file_result_with_overflow_check(ref->_data, ptr, MAX_PATH - (ptr - _path)); } } diff --git a/src/posix_api.cpp b/src/posix_api.cpp index 64cb5dc2..1564cedb 100644 --- a/src/posix_api.cpp +++ b/src/posix_api.cpp @@ -19,8 +19,8 @@ #define BOOST_REGEX_SOURCE #include -#include #include +#include #if defined(BOOST_NO_STDC_NAMESPACE) namespace std{ @@ -62,6 +62,8 @@ const char* names[] = { }; } // namespace +typedef boost::basic_regex > c_regex_type; + BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA* expression, const char* ptr, int f) { if(expression->re_magic != magic_value) @@ -70,7 +72,7 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA* expression, const char #ifndef BOOST_NO_EXCEPTIONS try{ #endif - expression->guts = new regex(); + expression->guts = new c_regex_type(); #ifndef BOOST_NO_EXCEPTIONS } catch(...) { @@ -120,9 +122,9 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA* expression, const char try{ #endif expression->re_magic = magic_value; - static_cast(expression->guts)->set_expression(ptr, p2, flags); - expression->re_nsub = static_cast(expression->guts)->mark_count() - 1; - result = static_cast(expression->guts)->error_code(); + static_cast(expression->guts)->set_expression(ptr, p2, flags); + expression->re_nsub = static_cast(expression->guts)->mark_count() - 1; + result = static_cast(expression->guts)->error_code(); #ifndef BOOST_NO_EXCEPTIONS } catch(const boost::regex_error& be) @@ -164,7 +166,7 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int code, const regex_tA* { if(std::strcmp(e->re_endp, names[i]) == 0) { -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE) (::sprintf_s)(localbuf, 5, "%d", i); #else (std::sprintf)(localbuf, "%d", i); @@ -174,7 +176,7 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int code, const regex_tA* return std::strlen(localbuf) + 1; } } -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE) (::sprintf_s)(localbuf, 5, "%d", 0); #else (std::sprintf)(localbuf, "%d", 0); @@ -187,7 +189,7 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int code, const regex_tA* { std::string p; if((e) && (e->re_magic == magic_value)) - p = static_cast(e->guts)->get_traits().error_string(static_cast< ::boost::regex_constants::error_type>(code)); + p = static_cast(e->guts)->get_traits().error_string(static_cast< ::boost::regex_constants::error_type>(code)); else { p = re_detail::get_default_error_string(static_cast< ::boost::regex_constants::error_type>(code)); @@ -236,7 +238,7 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecA(const regex_tA* expression, cons #endif if(expression->re_magic == magic_value) { - result = regex_search(start, end, m, *static_cast(expression->guts), flags); + result = regex_search(start, end, m, *static_cast(expression->guts), flags); } else return result; @@ -274,7 +276,7 @@ BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeA(regex_tA* expression) { if(expression->re_magic == magic_value) { - delete static_cast(expression->guts); + delete static_cast(expression->guts); } expression->re_magic = 0; } diff --git a/src/usinstances.cpp b/src/usinstances.cpp index 337d815f..390cd254 100644 --- a/src/usinstances.cpp +++ b/src/usinstances.cpp @@ -18,41 +18,59 @@ #define BOOST_REGEX_SOURCE +#include +#include +#include + +#if defined(_DLL_CPPLIB) && !defined(_M_CEE_PURE) \ + && !(defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) || defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)) +// +// This is a horrible workaround, but without declaring these symbols extern we get +// duplicate symbol errors when linking if the application is built without +// /Zc:wchar_t +// +#ifdef _CRTIMP2_PURE +# define BOOST_REGEX_STDLIB_DECL _CRTIMP2_PURE +#else +# define BOOST_REGEX_STDLIB_DECL _CRTIMP2 +#endif + +namespace std{ + +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +template class BOOST_REGEX_STDLIB_DECL allocator; +template class BOOST_REGEX_STDLIB_DECL _String_val >; +template class BOOST_REGEX_STDLIB_DECL basic_string, + allocator >; +#endif + +#if BOOST_WORKAROUND(BOOST_MSVC, > 1300) && BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) +template<> BOOST_REGEX_STDLIB_DECL std::size_t __cdecl char_traits::length(unsigned short const*); +#endif + +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==( + const basic_string, allocator >&, + const basic_string, allocator >&); +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==( + const unsigned short *, + const basic_string, allocator >&); +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==( + const basic_string, allocator >&, + const unsigned short *); +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator<( + const basic_string, allocator >&, + const basic_string, allocator >&); +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator>( + const basic_string, allocator >&, + const basic_string, allocator >&); +} +#endif + #include #if !defined(BOOST_NO_WREGEX) && defined(BOOST_REGEX_HAS_OTHER_WCHAR_T) && !defined(BOOST_REGEX_NO_EXTERNAL_TEMPLATES) #define BOOST_REGEX_US_INSTANTIATE -#ifdef _DLL_CPPLIB -#include -// -// This is a horrible workaround, without declaring these symbols extern we get -// duplicate symbol errors when linking if the application is built without -// /Zc:wchar_t -// -namespace std{ -template _CRTIMP2 bool __cdecl operator==( - const basic_string, allocator >&, - const basic_string, allocator >&); -template _CRTIMP2 bool __cdecl operator==( - const unsigned short *, - const basic_string, allocator >&); -template _CRTIMP2 bool __cdecl operator==( - const basic_string, allocator >&, - const unsigned short *); -template _CRTIMP2 bool __cdecl operator<( - const basic_string, allocator >&, - const basic_string, allocator >&); -template _CRTIMP2 bool __cdecl operator>( - const basic_string, allocator >&, - const basic_string, allocator >&); -#if BOOST_WORKAROUND(BOOST_MSVC, > 1300) && BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) -template<> _CRTIMP2 std::size_t __cdecl char_traits::length(unsigned short const*); -#endif -} -#endif - - #include #endif diff --git a/src/w32_regex_traits.cpp b/src/w32_regex_traits.cpp index 64fd2ce4..365fccc0 100644 --- a/src/w32_regex_traits.cpp +++ b/src/w32_regex_traits.cpp @@ -30,7 +30,7 @@ #define NOGDI #include -#ifdef _MSC_VER +#if defined(_MSC_VER) && !defined(_WIN32_WCE) && !defined(UNDER_CE) #pragma comment(lib, "user32.lib") #endif @@ -42,6 +42,18 @@ namespace std{ namespace boost{ namespace re_detail{ +#ifdef BOOST_NO_ANSI_APIS +UINT get_code_page_for_locale_id(lcid_type id) +{ + WCHAR code_page_string[7]; + if (::GetLocaleInfoW(id, LOCALE_IDEFAULTANSICODEPAGE, code_page_string, 7) == 0) + return 0; + + return static_cast(_wtol(code_page_string)); +} +#endif + + void w32_regex_traits_char_layer::init() { // we need to start by initialising our syntax map so we know which @@ -106,8 +118,24 @@ void w32_regex_traits_char_layer::init() char char_map[1 << CHAR_BIT]; for(int ii = 0; ii < (1 << CHAR_BIT); ++ii) char_map[ii] = static_cast(ii); +#ifndef BOOST_NO_ANSI_APIS int r = ::LCMapStringA(this->m_locale, LCMAP_LOWERCASE, char_map, 1 << CHAR_BIT, this->m_lower_map, 1 << CHAR_BIT); BOOST_ASSERT(r != 0); +#else + UINT code_page = get_code_page_for_locale_id(this->m_locale); + BOOST_ASSERT(code_page != 0); + + WCHAR wide_char_map[1 << CHAR_BIT]; + int conv_r = ::MultiByteToWideChar(code_page, 0, char_map, 1 << CHAR_BIT, wide_char_map, 1 << CHAR_BIT); + BOOST_ASSERT(conv_r != 0); + + WCHAR wide_lower_map[1 << CHAR_BIT]; + int r = ::LCMapStringW(this->m_locale, LCMAP_LOWERCASE, wide_char_map, 1 << CHAR_BIT, wide_lower_map, 1 << CHAR_BIT); + BOOST_ASSERT(r != 0); + + conv_r = ::WideCharToMultiByte(code_page, 0, wide_lower_map, r, this->m_lower_map, 1 << CHAR_BIT, NULL, NULL); + BOOST_ASSERT(conv_r != 0); +#endif if(r < (1 << CHAR_BIT)) { // if we have multibyte characters then not all may have been given @@ -115,7 +143,12 @@ void w32_regex_traits_char_layer::init() for(int jj = r; jj < (1 << CHAR_BIT); ++jj) this->m_lower_map[jj] = static_cast(jj); } + +#ifndef BOOST_NO_ANSI_APIS r = ::GetStringTypeExA(this->m_locale, CT_CTYPE1, char_map, 1 << CHAR_BIT, this->m_type_map); +#else + r = ::GetStringTypeExW(this->m_locale, CT_CTYPE1, wide_char_map, 1 << CHAR_BIT, this->m_type_map); +#endif BOOST_ASSERT(0 != r); } @@ -126,10 +159,25 @@ BOOST_REGEX_DECL lcid_type BOOST_REGEX_CALL w32_get_default_locale() BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(char c, lcid_type id) { +#ifndef BOOST_NO_ANSI_APIS WORD mask; if(::GetStringTypeExA(id, CT_CTYPE1, &c, 1, &mask) && (mask & C1_LOWER)) return true; return false; +#else + UINT code_page = get_code_page_for_locale_id(id); + if (code_page == 0) + return false; + + WCHAR wide_c; + if (::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) + return false; + + WORD mask; + if(::GetStringTypeExW(id, CT_CTYPE1, &wide_c, 1, &mask) && (mask & C1_LOWER)) + return true; + return false; +#endif } BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(wchar_t c, lcid_type id) @@ -152,10 +200,25 @@ BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(unsigned short ca, lcid_type BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(char c, lcid_type id) { +#ifndef BOOST_NO_ANSI_APIS WORD mask; if(::GetStringTypeExA(id, CT_CTYPE1, &c, 1, &mask) && (mask & C1_UPPER)) return true; return false; +#else + UINT code_page = get_code_page_for_locale_id(id); + if (code_page == 0) + return false; + + WCHAR wide_c; + if (::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) + return false; + + WORD mask; + if(::GetStringTypeExW(id, CT_CTYPE1, &wide_c, 1, &mask) && (mask & C1_UPPER)) + return true; + return false; +#endif } BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(wchar_t c, lcid_type id) @@ -183,12 +246,22 @@ void free_module(void* mod) BOOST_REGEX_DECL cat_type BOOST_REGEX_CALL w32_cat_open(const std::string& name) { +#ifndef BOOST_NO_ANSI_APIS cat_type result(::LoadLibraryA(name.c_str()), &free_module); return result; +#else + LPWSTR wide_name = (LPWSTR)_alloca( (name.size() + 1) * sizeof(WCHAR) ); + if (::MultiByteToWideChar(CP_ACP, 0, name.c_str(), name.size(), wide_name, name.size() + 1) == 0) + return cat_type(); + + cat_type result(::LoadLibraryW(wide_name), &free_module); + return result; +#endif } BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type, int i, const std::string& def) { +#ifndef BOOST_NO_ANSI_APIS char buf[256]; if(0 == ::LoadStringA( static_cast(cat.get()), @@ -199,6 +272,21 @@ BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, l { return def; } +#else + WCHAR wbuf[256]; + int r = ::LoadStringW( + static_cast(cat.get()), + i, + wbuf, + 256 + ); + if (r == 0) + return def; + + LPSTR buf = (LPSTR)_alloca( (r + 1) * 2 ); + if (::WideCharToMultiByte(CP_ACP, 0, wbuf, r, buf, (r + 1) * 2, NULL, NULL) == 0) + return def; +#endif return std::string(buf); } @@ -236,6 +324,7 @@ BOOST_REGEX_DECL std::basic_string BOOST_REGEX_CALL w32_cat_get( #endif BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_transform(lcid_type id, const char* p1, const char* p2) { +#ifndef BOOST_NO_ANSI_APIS int bytes = ::LCMapStringA( id, // locale identifier LCMAP_SORTKEY, // mapping transformation type @@ -255,6 +344,36 @@ BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_transform(lcid_type id, const &*result.begin(), // destination buffer bytes // size of destination buffer ); +#else + UINT code_page = get_code_page_for_locale_id(id); + if(code_page == 0) + return std::string(p1, p2); + + int src_len = static_cast(p2 - p1); + LPWSTR wide_p1 = (LPWSTR)_alloca( (src_len + 1) * 2 ); + if(::MultiByteToWideChar(code_page, 0, p1, src_len, wide_p1, src_len + 1) == 0) + return std::string(p1, p2); + + int bytes = ::LCMapStringW( + id, // locale identifier + LCMAP_SORTKEY, // mapping transformation type + wide_p1, // source string + src_len, // number of characters in source string + 0, // destination buffer + 0 // size of destination buffer + ); + if(!bytes) + return std::string(p1, p2); + std::string result(++bytes, '\0'); + bytes = ::LCMapStringW( + id, // locale identifier + LCMAP_SORTKEY, // mapping transformation type + wide_p1, // source string + src_len, // number of characters in source string + (LPWSTR)&*result.begin(), // destination buffer + bytes // size of destination buffer + ); +#endif if(bytes > static_cast(result.size())) return std::string(p1, p2); while(result.size() && result[result.size()-1] == '\0') @@ -335,6 +454,7 @@ BOOST_REGEX_DECL std::basic_string BOOST_REGEX_CALL w32_transfor BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_tolower(char c, lcid_type id) { char result[2]; +#ifndef BOOST_NO_ANSI_APIS int b = ::LCMapStringA( id, // locale identifier LCMAP_LOWERCASE, // mapping transformation type @@ -344,6 +464,29 @@ BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_tolower(char c, lcid_type id) 1); // size of destination buffer if(b == 0) return c; +#else + UINT code_page = get_code_page_for_locale_id(id); + if (code_page == 0) + return c; + + WCHAR wide_c; + if (::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) + return c; + + WCHAR wide_result; + int b = ::LCMapStringW( + id, // locale identifier + LCMAP_LOWERCASE, // mapping transformation type + &wide_c, // source string + 1, // number of characters in source string + &wide_result, // destination buffer + 1); // size of destination buffer + if(b == 0) + return c; + + if (::WideCharToMultiByte(code_page, 0, &wide_result, 1, result, 2, NULL, NULL) == 0) + return c; +#endif return result[0]; } @@ -382,6 +525,7 @@ BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_tolower(unsigned short c, l BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_toupper(char c, lcid_type id) { char result[2]; +#ifndef BOOST_NO_ANSI_APIS int b = ::LCMapStringA( id, // locale identifier LCMAP_UPPERCASE, // mapping transformation type @@ -391,6 +535,29 @@ BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_toupper(char c, lcid_type id) 1); // size of destination buffer if(b == 0) return c; +#else + UINT code_page = get_code_page_for_locale_id(id); + if(code_page == 0) + return c; + + WCHAR wide_c; + if (::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) + return c; + + WCHAR wide_result; + int b = ::LCMapStringW( + id, // locale identifier + LCMAP_UPPERCASE, // mapping transformation type + &wide_c, // source string + 1, // number of characters in source string + &wide_result, // destination buffer + 1); // size of destination buffer + if(b == 0) + return c; + + if (::WideCharToMultiByte(code_page, 0, &wide_result, 1, result, 2, NULL, NULL) == 0) + return c; +#endif return result[0]; } @@ -429,8 +596,21 @@ BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_toupper(unsigned short c, l BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type id, boost::uint32_t m, char c) { WORD mask; +#ifndef BOOST_NO_ANSI_APIS if(::GetStringTypeExA(id, CT_CTYPE1, &c, 1, &mask) && (mask & m & w32_regex_traits_implementation::mask_base)) return true; +#else + UINT code_page = get_code_page_for_locale_id(id); + if(code_page == 0) + return false; + + WCHAR wide_c; + if (::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) + return false; + + if(::GetStringTypeExW(id, CT_CTYPE1, &wide_c, 1, &mask) && (mask & m & w32_regex_traits_implementation::mask_base)) + return true; +#endif if((m & w32_regex_traits_implementation::mask_word) && (c == '_')) return true; return false; diff --git a/src/wc_regex_traits.cpp b/src/wc_regex_traits.cpp index 9daf0804..393b2d7f 100644 --- a/src/wc_regex_traits.cpp +++ b/src/wc_regex_traits.cpp @@ -19,7 +19,55 @@ #define BOOST_REGEX_SOURCE -#include +#include +#include +#include + +#if defined(_DLL_CPPLIB) && !defined(_M_CEE_PURE) \ + && !(defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) || defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)) +// +// This is a horrible workaround, but without declaring these symbols extern we get +// duplicate symbol errors when linking if the application is built without +// /Zc:wchar_t +// +#ifdef _CRTIMP2_PURE +# define BOOST_REGEX_STDLIB_DECL _CRTIMP2_PURE +#else +# define BOOST_REGEX_STDLIB_DECL _CRTIMP2 +#endif + +namespace std{ + +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +template class BOOST_REGEX_STDLIB_DECL allocator; +template class BOOST_REGEX_STDLIB_DECL _String_val >; +template class BOOST_REGEX_STDLIB_DECL basic_string, + allocator >; +#endif + +#if BOOST_WORKAROUND(BOOST_MSVC, > 1300) && BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) +template<> BOOST_REGEX_STDLIB_DECL std::size_t __cdecl char_traits::length(unsigned short const*); +#endif + +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==( + const basic_string, allocator >&, + const basic_string, allocator >&); +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==( + const unsigned short *, + const basic_string, allocator >&); +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==( + const basic_string, allocator >&, + const unsigned short *); +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator<( + const basic_string, allocator >&, + const basic_string, allocator >&); +template BOOST_REGEX_STDLIB_DECL bool __cdecl operator>( + const basic_string, allocator >&, + const basic_string, allocator >&); +} +#endif + +#include #include #if !BOOST_WORKAROUND(__BORLANDC__, < 0x560) diff --git a/src/wide_posix_api.cpp b/src/wide_posix_api.cpp index 0673e17d..83d651b8 100644 --- a/src/wide_posix_api.cpp +++ b/src/wide_posix_api.cpp @@ -22,8 +22,8 @@ #ifndef BOOST_NO_WREGEX -#include #include +#include #include #include @@ -69,6 +69,8 @@ const wchar_t* wnames[] = { }; } +typedef boost::basic_regex > c_regex_type; + BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW* expression, const wchar_t* ptr, int f) { if(expression->re_magic != wmagic_value) @@ -77,7 +79,7 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW* expression, const wcha #ifndef BOOST_NO_EXCEPTIONS try{ #endif - expression->guts = new wregex(); + expression->guts = new c_regex_type(); #ifndef BOOST_NO_EXCEPTIONS } catch(...) { @@ -127,9 +129,9 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW* expression, const wcha try{ #endif expression->re_magic = wmagic_value; - static_cast(expression->guts)->set_expression(ptr, p2, flags); - expression->re_nsub = static_cast(expression->guts)->mark_count() - 1; - result = static_cast(expression->guts)->error_code(); + static_cast(expression->guts)->set_expression(ptr, p2, flags); + expression->re_nsub = static_cast(expression->guts)->mark_count() - 1; + result = static_cast(expression->guts)->error_code(); #ifndef BOOST_NO_EXCEPTIONS } catch(const boost::regex_error& be) @@ -157,7 +159,7 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int code, const regex_tW* { result = std::wcslen(wnames[code]) + 1; if(buf_size >= result) -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE) ::wcscpy_s(buf, buf_size, wnames[code]); #else std::wcscpy(buf, wnames[code]); @@ -176,9 +178,13 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int code, const regex_tW* { if(std::wcscmp(e->re_endp, wnames[i]) == 0) { +#if defined(_WIN32_WCE) && !defined(UNDER_CE) + (std::swprintf)(localbuf, L"%d", i); +#else (std::swprintf)(localbuf, 5, L"%d", i); +#endif if(std::wcslen(localbuf) < buf_size) -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE) ::wcscpy_s(buf, buf_size, localbuf); #else std::wcscpy(buf, localbuf); @@ -186,9 +192,13 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int code, const regex_tW* return std::wcslen(localbuf) + 1; } } +#if defined(_WIN32_WCE) && !defined(UNDER_CE) + (std::swprintf)(localbuf, L"%d", 0); +#else (std::swprintf)(localbuf, 5, L"%d", 0); +#endif if(std::wcslen(localbuf) < buf_size) -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE) ::wcscpy_s(buf, buf_size, localbuf); #else std::wcscpy(buf, localbuf); @@ -200,7 +210,7 @@ BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int code, const regex_tW* { std::string p; if((e) && (e->re_magic == wmagic_value)) - p = static_cast(e->guts)->get_traits().error_string(static_cast< ::boost::regex_constants::error_type>(code)); + p = static_cast(e->guts)->get_traits().error_string(static_cast< ::boost::regex_constants::error_type>(code)); else { p = re_detail::get_default_error_string(static_cast< ::boost::regex_constants::error_type>(code)); @@ -249,7 +259,7 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecW(const regex_tW* expression, cons #endif if(expression->re_magic == wmagic_value) { - result = regex_search(start, end, m, *static_cast(expression->guts), flags); + result = regex_search(start, end, m, *static_cast(expression->guts), flags); } else return result; @@ -286,7 +296,7 @@ BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeW(regex_tW* expression) { if(expression->re_magic == wmagic_value) { - delete static_cast(expression->guts); + delete static_cast(expression->guts); } expression->re_magic = 0; } diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index e948858e..4d1a2967 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -4,7 +4,14 @@ # http://www.boost.org/LICENSE_1_0.txt. project - : requirements multi shared:BOOST_REGEX_DYN_LINK=1 msvc-7.1:TEST_MFC=1 msvc-7.0:TEST_MFC=1 + : requirements + multi + shared:BOOST_REGEX_DYN_LINK=1 + msvc-7.1:TEST_MFC=1 + msvc-7.0:TEST_MFC=1 + # There are unidentified linker problems on these platforms: + mipspro-7.4:static + sun-5.9:static ; # @@ -48,21 +55,14 @@ local regress-sources = regress/$(R_SOURCE) ; test-suite regex : - [ run regress/$(R_SOURCE) ../build//boost_regex + [ run regress/$(R_SOURCE) ../build//boost_regex ../build//icu_options : # command line : # input files : # requirements - static : regex_regress ] [ run regress/$(R_SOURCE) ../build//boost_regex - : # command line - : # input files - : # requirements - : regex_regress_dll ] - - [ run regress/$(R_SOURCE) ../build//boost_regex - ../../thread/build//boost_thread + ../../thread/build//boost_thread ../build//icu_options : # command line : # input files : # requirements @@ -132,7 +132,3 @@ test-suite regex ; - - - - diff --git a/test/c_compiler_checks/posix_api_check.c b/test/c_compiler_checks/posix_api_check.c index 2653a981..b7498aaa 100644 --- a/test/c_compiler_checks/posix_api_check.c +++ b/test/c_compiler_checks/posix_api_check.c @@ -32,30 +32,30 @@ int flags = REG_EXTENDED | REG_BASIC | REG_NOSPEC | REG_ICASE | REG_NOSUB | int main() { - regex_t re; + regex_tA re; int result; - result = regcomp(&re, expression, REG_AWK); + result = regcompA(&re, expression, REG_AWK); if(result > REG_NOERROR) { char buf[256]; - regerror(result, &re, buf, sizeof(buf)); + regerrorA(result, &re, buf, sizeof(buf)); printf(buf); return result; } assert(re.re_nsub == 0); matches[0].rm_so = 0; matches[0].rm_eo = strlen(text); - result = regexec(&re, text, 1, matches, REG_NOTBOL | REG_NOTEOL | REG_STARTEND); + result = regexecA(&re, text, 1, matches, REG_NOTBOL | REG_NOTEOL | REG_STARTEND); if(result > REG_NOERROR) { char buf[256]; - regerror(result, &re, buf, sizeof(buf)); + regerrorA(result, &re, buf, sizeof(buf)); printf(buf); - regfree(&re); + regfreeA(&re); return result; } assert(matches[0].rm_so == matches[0].rm_eo == 1); - regfree(&re); + regfreeA(&re); printf("no errors found\n"); return 0; } diff --git a/test/c_compiler_checks/posix_api_check.cpp b/test/c_compiler_checks/posix_api_check.cpp index 46d8aed9..9a94c651 100644 --- a/test/c_compiler_checks/posix_api_check.cpp +++ b/test/c_compiler_checks/posix_api_check.cpp @@ -33,30 +33,30 @@ int flags = REG_EXTENDED | REG_BASIC | REG_NOSPEC | REG_ICASE | REG_NOSUB | int main() { - regex_t re; + regex_tA re; int result; - result = regcomp(&re, expression, REG_AWK); + result = regcompA(&re, expression, REG_AWK); if(result > REG_NOERROR) { char buf[256]; - regerror(result, &re, buf, sizeof(buf)); + regerrorA(result, &re, buf, sizeof(buf)); printf(buf); return result; } BOOST_TEST(re.re_nsub == 0); matches[0].rm_so = 0; matches[0].rm_eo = strlen(text); - result = regexec(&re, text, 1, matches, REG_NOTBOL | REG_NOTEOL | REG_STARTEND); + result = regexecA(&re, text, 1, matches, REG_NOTBOL | REG_NOTEOL | REG_STARTEND); if(result > REG_NOERROR) { char buf[256]; - regerror(result, &re, buf, sizeof(buf)); + regerrorA(result, &re, buf, sizeof(buf)); printf(buf); - regfree(&re); + regfreeA(&re); return result; } BOOST_TEST(matches[0].rm_so == matches[0].rm_eo == 1); - regfree(&re); + regfreeA(&re); printf("no errors found\n"); return boost::report_errors(); } diff --git a/test/pathology/bad_expression_test.cpp b/test/pathology/bad_expression_test.cpp index 308df422..34f21c22 100644 --- a/test/pathology/bad_expression_test.cpp +++ b/test/pathology/bad_expression_test.cpp @@ -46,7 +46,7 @@ int test_main( int , char* [] ) bad_text.assign((std::string::size_type)500000, 'a'); e2.assign("aaa*@"); - BOOST_CHECK_THROW(0 == boost::regex_search(bad_text, what, e2), std::runtime_error); + BOOST_CHECK_THROW(boost::regex_search(bad_text, what, e2), std::runtime_error); good_text.assign((std::string::size_type)5000, 'a'); BOOST_CHECK(0 == boost::regex_search(good_text, what, e2)); @@ -54,3 +54,4 @@ int test_main( int , char* [] ) } #include + diff --git a/test/regress/main.cpp b/test/regress/main.cpp index b157caab..f3324c24 100644 --- a/test/regress/main.cpp +++ b/test/regress/main.cpp @@ -70,12 +70,25 @@ void run_tests() int cpp_main(int /*argc*/, char * /*argv*/[]) { #ifdef TEST_THREADS - get_array_data(); // initialises data. + try{ + get_array_data(); // initialises data. + } + catch(const std::exception& e) + { + std::cerr << "TSS Initialisation failed with message: " << e.what() << std::endl; + return -1; + } std::list > threads; for(int i = 0; i < 5; ++i) { - threads.push_back(boost::shared_ptr(new boost::thread(&run_tests))); + try{ + threads.push_back(boost::shared_ptr(new boost::thread(&run_tests))); + } + catch(const std::exception& e) + { + std::cerr << "Thread creation failed with message: " << e.what() << "" << std::endl; + } } std::list >::const_iterator a(threads.begin()), b(threads.end()); while(a != b) diff --git a/test/regress/test_anchors.cpp b/test/regress/test_anchors.cpp index 9fab46cc..b2aabdfd 100644 --- a/test/regress/test_anchors.cpp +++ b/test/regress/test_anchors.cpp @@ -19,13 +19,13 @@ void test_anchors() { // line anchors: using namespace boost::regex_constants; - TEST_REGEX_SEARCH("^ab", extended, "ab", match_default, make_array(0, 2, -2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "xxabxx", match_default, make_array(-2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "xx\nabzz", match_default, make_array(3, 5, -2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "ab", match_default, make_array(0, 2, -2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "abxx", match_default, make_array(-2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "ab\nzz", match_default, make_array(0, 2, -2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "\n\n a", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "ab", match_default, make_array(0, 2, -2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "xxabxx", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "xx\nabzz", match_default, make_array(3, 5, -2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "ab", match_default, make_array(0, 2, -2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "abxx", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "ab\nzz", match_default, make_array(0, 2, -2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "\n\n a", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("^ab", basic, "ab", match_default, make_array(0, 2, -2, -2)); TEST_REGEX_SEARCH("^ab", basic, "xxabxx", match_default, make_array(-2, -2)); @@ -34,34 +34,34 @@ void test_anchors() TEST_REGEX_SEARCH("ab$", basic, "abxx", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("ab$", basic, "ab\nzz", match_default, make_array(0, 2, -2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "ab", match_default | match_not_bol | match_not_eol, make_array(-2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "xxabxx", match_default | match_not_bol | match_not_eol, make_array(-2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "xx\nabzz", match_default | match_not_bol | match_not_eol, make_array(3, 5, -2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "ab", match_default | match_not_bol | match_not_eol, make_array(-2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "abxx", match_default | match_not_bol | match_not_eol, make_array(-2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "ab\nzz", match_default | match_not_bol | match_not_eol, make_array(0, 2, -2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "ab", match_default | match_not_bol | match_not_eol, make_array(-2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "xxabxx", match_default | match_not_bol | match_not_eol, make_array(-2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "xx\nabzz", match_default | match_not_bol | match_not_eol, make_array(3, 5, -2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "ab", match_default | match_not_bol | match_not_eol, make_array(-2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "abxx", match_default | match_not_bol | match_not_eol, make_array(-2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "ab\nzz", match_default | match_not_bol | match_not_eol, make_array(0, 2, -2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "ab", match_default | match_single_line, make_array(0, 2, -2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "xxabxx", match_default | match_single_line, make_array(-2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "xx\nabzz", match_default | match_single_line, make_array(-2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "ab", match_default | match_single_line, make_array(0, 2, -2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "abxx", match_default | match_single_line, make_array(-2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "ab\nzz", match_default | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "ab", match_default | match_single_line, make_array(0, 2, -2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "xxabxx", match_default | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "xx\nabzz", match_default | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "ab", match_default | match_single_line, make_array(0, 2, -2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "abxx", match_default | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "ab\nzz", match_default | match_single_line, make_array(-2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "ab", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "xxabxx", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); - TEST_REGEX_SEARCH("^ab", extended, "xx\nabzz", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "ab", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "abxx", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); - TEST_REGEX_SEARCH("ab$", extended, "ab\nzz", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "ab", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "xxabxx", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("^ab", boost::regex::extended, "xx\nabzz", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "ab", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "abxx", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); + TEST_REGEX_SEARCH("ab$", boost::regex::extended, "ab\nzz", match_default | match_not_bol | match_not_eol | match_single_line, make_array(-2, -2)); // // changes to newline handling with 2.11: // - TEST_REGEX_SEARCH("^.", extended, " \n \r\n ", match_default, make_array(0, 1, -2, 3, 4, -2, 7, 8, -2, -2)); - TEST_REGEX_SEARCH(".$", extended, " \n \r\n ", match_default, make_array(1, 2, -2, 4, 5, -2, 8, 9, -2, -2)); + TEST_REGEX_SEARCH("^.", boost::regex::extended, " \n \r\n ", match_default, make_array(0, 1, -2, 3, 4, -2, 7, 8, -2, -2)); + TEST_REGEX_SEARCH(".$", boost::regex::extended, " \n \r\n ", match_default, make_array(1, 2, -2, 4, 5, -2, 8, 9, -2, -2)); #if !BOOST_WORKAROUND(__BORLANDC__, < 0x560) - TEST_REGEX_SEARCH_W(L"^.", extended, L"\x2028 \x2028", match_default, make_array(0, 1, -2, 1, 2, -2, -2)); - TEST_REGEX_SEARCH_W(L".$", extended, L" \x2028 \x2028", match_default, make_array(0, 1, -2, 2, 3, -2, 3, 4, -2, -2)); + TEST_REGEX_SEARCH_W(L"^.", boost::regex::extended, L"\x2028 \x2028", match_default, make_array(0, 1, -2, 1, 2, -2, -2)); + TEST_REGEX_SEARCH_W(L".$", boost::regex::extended, L" \x2028 \x2028", match_default, make_array(0, 1, -2, 2, 3, -2, 3, 4, -2, -2)); #endif } diff --git a/test/regress/test_escapes.cpp b/test/regress/test_escapes.cpp index 73cc9800..ba78c454 100644 --- a/test/regress/test_escapes.cpp +++ b/test/regress/test_escapes.cpp @@ -38,8 +38,8 @@ void test_character_escapes() TEST_REGEX_SEARCH("\\c@", perl, "\0", match_default, make_array(0, 1, -2, -2)); TEST_REGEX_SEARCH("\\cA", perl, "\x1", match_default, make_array(0, 1, -2, -2)); //TEST_REGEX_SEARCH("\\cz", perl, "\x3A", match_default, make_array(0, 1, -2, -2)); - //TEST_INVALID_REGEX("\\c=", extended); - //TEST_INVALID_REGEX("\\c?", extended); + //TEST_INVALID_REGEX("\\c=", boost::regex::extended); + //TEST_INVALID_REGEX("\\c?", boost::regex::extended); TEST_REGEX_SEARCH("=:", perl, "=:", match_default, make_array(0, 2, -2, -2)); TEST_REGEX_SEARCH("\\e", perl, "\x1B", match_default, make_array(0, 1, -2, -2)); @@ -67,8 +67,8 @@ void test_character_escapes() // unknown escape sequences match themselves: TEST_REGEX_SEARCH("\\~", perl, "~", match_default, make_array(0, 1, -2, -2)); TEST_REGEX_SEARCH("\\~", basic, "~", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\~", extended, "~", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\j", extended, "j", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\~", boost::regex::extended, "~", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\j", boost::regex::extended, "j", match_default, make_array(0, 1, -2, -2)); } void test_assertion_escapes() @@ -109,6 +109,9 @@ void test_assertion_escapes() TEST_REGEX_SEARCH("a\\B", perl, "ab", match_default, make_array(0, 1, -2, -2)); TEST_REGEX_SEARCH("a\\B", perl, "a", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("a\\B", perl, "a ", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("\\By\\b", perl, "xy", match_default, make_array(1, 2, -2, -2)); + TEST_REGEX_SEARCH("\\by\\B", perl, "yz", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\B\\*\\B", perl, " * ", match_default, make_array(1, 2, -2, -2)); // buffer operators: TEST_REGEX_SEARCH("\\`abc", perl, "abc", match_default, make_array(0, 3, -2, -2)); TEST_REGEX_SEARCH("\\`abc", perl, "\nabc", match_default, make_array(-2, -2)); diff --git a/test/regress/test_locale.cpp b/test/regress/test_locale.cpp index 1eb37cc4..7bbefa4e 100644 --- a/test/regress/test_locale.cpp +++ b/test/regress/test_locale.cpp @@ -26,6 +26,7 @@ namespace std{ using ::setlocale; } test_locale::test_locale(const char* c_name, boost::uint32_t lcid) { +#ifndef UNDER_CE // store the name: m_old_name = m_name; m_name = c_name; @@ -43,6 +44,9 @@ test_locale::test_locale(const char* c_name, boost::uint32_t lcid) s_c_locale = no_test; std::cout << "The global C locale: " << c_name << " is not available and will not be tested." << std::endl; } +#else + s_c_locale = no_test; +#endif #ifndef BOOST_NO_STD_LOCALE // back up the C++ locale and create the new one: m_old_cpp_locale = s_cpp_locale_inst; @@ -69,6 +73,7 @@ test_locale::test_locale(const char* c_name, boost::uint32_t lcid) // Start by geting the printable name of the locale. // We use this for debugging purposes only: // +#ifndef BOOST_NO_ANSI_APIS boost::scoped_array p; int r = ::GetLocaleInfoA( lcid, // locale identifier @@ -83,6 +88,43 @@ test_locale::test_locale(const char* c_name, boost::uint32_t lcid) p.get(), // information buffer r+1 // size of buffer ); +#else + WCHAR code_page_string[7]; + int r = ::GetLocaleInfoW( + lcid, + LOCALE_IDEFAULTANSICODEPAGE, + code_page_string, + 7); + BOOST_ASSERT(r != 0); + + UINT code_page = static_cast(_wtol(code_page_string)); + + boost::scoped_array wp; + r = ::GetLocaleInfoW( + lcid, // locale identifier + LOCALE_SCOUNTRY, // information type + 0, // information buffer + 0 // size of buffer + ); + wp.reset(new wchar_t[r+1]); + r = ::GetLocaleInfoW( + lcid, // locale identifier + LOCALE_SCOUNTRY, // information type + wp.get(), // information buffer + r+1 // size of buffer + ); + + int name_size = (r+1) * 2; + boost::scoped_array p(new char[name_size]); + int conv_r = ::WideCharToMultiByte( + code_page, + 0, + wp.get(), r, + p.get(), name_size, + NULL, NULL + ); + BOOST_ASSERT(conv_r != 0); +#endif // // now see if locale is installed and behave accordingly: // @@ -104,8 +146,10 @@ test_locale::test_locale(const char* c_name, boost::uint32_t lcid) test_locale::~test_locale() { // restore to previous state: +#ifndef UNDER_CE std::setlocale(LC_ALL, m_old_c_locale.c_str()); s_c_locale = m_old_c_state; +#endif #ifndef BOOST_NO_STD_LOCALE s_cpp_locale_inst = m_old_cpp_locale; #endif diff --git a/test/regress/test_perl_ex.cpp b/test/regress/test_perl_ex.cpp index 82a0517f..6aa31684 100644 --- a/test/regress/test_perl_ex.cpp +++ b/test/regress/test_perl_ex.cpp @@ -121,6 +121,17 @@ void test_conditionals() TEST_INVALID_REGEX("(?:(a)|b)(?(?:", perl); TEST_INVALID_REGEX("(?:(a)|b)(?(?<", perl); TEST_INVALID_REGEX("(?:(a)|b)(?(?:]]", perl); - TEST_REGEX_SEARCH("[[.A.]]", extended|icase, "A", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("[[.A.]]", extended|icase, "a", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("[[.A.]-b]+", extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); - TEST_REGEX_SEARCH("[A-[.b.]]+", extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); - TEST_REGEX_SEARCH("[[.a.]-B]+", extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); - TEST_REGEX_SEARCH("[a-[.B.]]+", extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); - TEST_REGEX_SEARCH("[\x61]", extended, "a", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("[\x61-c]+", extended, "abcd", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("[a-\x63]+", extended, "abcd", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("[[.a.]-c]+", extended, "abcd", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("[a-[.c.]]+", extended, "abcd", match_default, make_array(0, 3, -2, -2)); - TEST_INVALID_REGEX("[[:alpha:]-a]", extended); - TEST_INVALID_REGEX("[a-[:alpha:]]", extended); + TEST_REGEX_SEARCH("[[.A.]]", boost::regex::extended|icase, "A", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("[[.A.]]", boost::regex::extended|icase, "a", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("[[.A.]-b]+", boost::regex::extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); + TEST_REGEX_SEARCH("[A-[.b.]]+", boost::regex::extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); + TEST_REGEX_SEARCH("[[.a.]-B]+", boost::regex::extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); + TEST_REGEX_SEARCH("[a-[.B.]]+", boost::regex::extended|icase, "AaBb", match_default, make_array(0, 4, -2, -2)); + TEST_REGEX_SEARCH("[\x61]", boost::regex::extended, "a", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("[\x61-c]+", boost::regex::extended, "abcd", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("[a-\x63]+", boost::regex::extended, "abcd", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("[[.a.]-c]+", boost::regex::extended, "abcd", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("[a-[.c.]]+", boost::regex::extended, "abcd", match_default, make_array(0, 3, -2, -2)); + TEST_INVALID_REGEX("[[:alpha:]-a]", boost::regex::extended); + TEST_INVALID_REGEX("[a-[:alpha:]]", boost::regex::extended); TEST_REGEX_SEARCH("[[.ae.]]", basic, "ae", match_default, make_array(0, 2, -2, -2)); TEST_REGEX_SEARCH("[[.ae.]]", basic, "aE", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("[[.AE.]]", basic, "AE", match_default, make_array(0, 2, -2, -2)); @@ -339,64 +339,64 @@ void test_sets2b() { using namespace boost::regex_constants; - // and repeat with POSIX-extended syntax: - TEST_REGEX_SEARCH("\\pl+", extended, "ABabcAB", match_default, make_array(2, 5, -2, -2)); - TEST_REGEX_SEARCH("\\Pl+", extended, "abABCab", match_default, make_array(2, 5, -2, -2)); - TEST_REGEX_SEARCH("\\pu+", extended, "abABCab", match_default, make_array(2, 5, -2, -2)); - TEST_REGEX_SEARCH("\\Pu+", extended, "ABabcAB", match_default, make_array(2, 5, -2, -2)); - TEST_REGEX_SEARCH("\\pd+", extended, "AB012AB", match_default, make_array(2, 5, -2, -2)); - TEST_REGEX_SEARCH("\\PD+", extended, "01abc01", match_default, make_array(2, 5, -2, -2)); - TEST_REGEX_SEARCH("\\ps+", extended, "AB AB", match_default, make_array(2, 5, -2, -2)); - TEST_REGEX_SEARCH("\\PS+", extended, " abc ", match_default, make_array(2, 5, -2, -2)); + // and repeat with POSIX-boost::regex::extended syntax: + TEST_REGEX_SEARCH("\\pl+", boost::regex::extended, "ABabcAB", match_default, make_array(2, 5, -2, -2)); + TEST_REGEX_SEARCH("\\Pl+", boost::regex::extended, "abABCab", match_default, make_array(2, 5, -2, -2)); + TEST_REGEX_SEARCH("\\pu+", boost::regex::extended, "abABCab", match_default, make_array(2, 5, -2, -2)); + TEST_REGEX_SEARCH("\\Pu+", boost::regex::extended, "ABabcAB", match_default, make_array(2, 5, -2, -2)); + TEST_REGEX_SEARCH("\\pd+", boost::regex::extended, "AB012AB", match_default, make_array(2, 5, -2, -2)); + TEST_REGEX_SEARCH("\\PD+", boost::regex::extended, "01abc01", match_default, make_array(2, 5, -2, -2)); + TEST_REGEX_SEARCH("\\ps+", boost::regex::extended, "AB AB", match_default, make_array(2, 5, -2, -2)); + TEST_REGEX_SEARCH("\\PS+", boost::regex::extended, " abc ", match_default, make_array(2, 5, -2, -2)); - TEST_REGEX_SEARCH("\\p{alnum}+", extended, "-%@a0X_-", match_default, make_array(3, 6, -2, -2)); - TEST_REGEX_SEARCH("\\p{alpha}+", extended, " -%@aX_0-", match_default, make_array(4, 6, -2, -2)); - TEST_REGEX_SEARCH("\\p{blank}+", extended, "a \tb", match_default, make_array(1, 4, -2, -2)); - TEST_REGEX_SEARCH("\\p{cntrl}+", extended, " a\n\tb", match_default, make_array(2, 4, -2, -2)); - TEST_REGEX_SEARCH("\\p{digit}+", extended, "a019b", match_default, make_array(1, 4, -2, -2)); - TEST_REGEX_SEARCH("\\p{graph}+", extended, " a%b ", match_default, make_array(1, 4, -2, -2)); - TEST_REGEX_SEARCH("\\p{lower}+", extended, "AabC", match_default, make_array(1, 3, -2, -2)); - TEST_REGEX_SEARCH("\\p{print}+", extended, "AabC", match_default, make_array(0, 4, -2, -2)); - TEST_REGEX_SEARCH("\\p{punct}+", extended, " %-&\t", match_default, make_array(1, 4, -2, -2)); - TEST_REGEX_SEARCH("\\p{space}+", extended, "a \n\t\rb", match_default, make_array(1, 5, -2, -2)); - TEST_REGEX_SEARCH("\\p{upper}+", extended, "aBCd", match_default, make_array(1, 3, -2, -2)); - TEST_REGEX_SEARCH("\\p{xdigit}+", extended, "p0f3Cx", match_default, make_array(1, 5, -2, -2)); - TEST_REGEX_SEARCH("\\P{alnum}+", extended, "-%@a", match_default, make_array(0, 3, -2, -2)); - TEST_REGEX_SEARCH("\\P{alpha}+", extended, " -%@a", match_default, make_array(0, 4, -2, -2)); - TEST_REGEX_SEARCH("\\P{blank}+", extended, "a ", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\P{cntrl}+", extended, " a\n", match_default, make_array(0, 2, -2, -2)); - TEST_REGEX_SEARCH("\\P{digit}+", extended, "a0", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\P{graph}+", extended, " a", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\P{lower}+", extended, "Aa", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\P{print}+", extended, "Absc", match_default, make_array(-2, -2)); - TEST_REGEX_SEARCH("\\P{punct}+", extended, " %", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\P{space}+", extended, "a ", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\P{upper}+", extended, "aB", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\P{xdigit}+", extended, "pf", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\p{alnum}+", boost::regex::extended, "-%@a0X_-", match_default, make_array(3, 6, -2, -2)); + TEST_REGEX_SEARCH("\\p{alpha}+", boost::regex::extended, " -%@aX_0-", match_default, make_array(4, 6, -2, -2)); + TEST_REGEX_SEARCH("\\p{blank}+", boost::regex::extended, "a \tb", match_default, make_array(1, 4, -2, -2)); + TEST_REGEX_SEARCH("\\p{cntrl}+", boost::regex::extended, " a\n\tb", match_default, make_array(2, 4, -2, -2)); + TEST_REGEX_SEARCH("\\p{digit}+", boost::regex::extended, "a019b", match_default, make_array(1, 4, -2, -2)); + TEST_REGEX_SEARCH("\\p{graph}+", boost::regex::extended, " a%b ", match_default, make_array(1, 4, -2, -2)); + TEST_REGEX_SEARCH("\\p{lower}+", boost::regex::extended, "AabC", match_default, make_array(1, 3, -2, -2)); + TEST_REGEX_SEARCH("\\p{print}+", boost::regex::extended, "AabC", match_default, make_array(0, 4, -2, -2)); + TEST_REGEX_SEARCH("\\p{punct}+", boost::regex::extended, " %-&\t", match_default, make_array(1, 4, -2, -2)); + TEST_REGEX_SEARCH("\\p{space}+", boost::regex::extended, "a \n\t\rb", match_default, make_array(1, 5, -2, -2)); + TEST_REGEX_SEARCH("\\p{upper}+", boost::regex::extended, "aBCd", match_default, make_array(1, 3, -2, -2)); + TEST_REGEX_SEARCH("\\p{xdigit}+", boost::regex::extended, "p0f3Cx", match_default, make_array(1, 5, -2, -2)); + TEST_REGEX_SEARCH("\\P{alnum}+", boost::regex::extended, "-%@a", match_default, make_array(0, 3, -2, -2)); + TEST_REGEX_SEARCH("\\P{alpha}+", boost::regex::extended, " -%@a", match_default, make_array(0, 4, -2, -2)); + TEST_REGEX_SEARCH("\\P{blank}+", boost::regex::extended, "a ", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\P{cntrl}+", boost::regex::extended, " a\n", match_default, make_array(0, 2, -2, -2)); + TEST_REGEX_SEARCH("\\P{digit}+", boost::regex::extended, "a0", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\P{graph}+", boost::regex::extended, " a", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\P{lower}+", boost::regex::extended, "Aa", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\P{print}+", boost::regex::extended, "Absc", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("\\P{punct}+", boost::regex::extended, " %", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\P{space}+", boost::regex::extended, "a ", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\P{upper}+", boost::regex::extended, "aB", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\P{xdigit}+", boost::regex::extended, "pf", match_default, make_array(0, 1, -2, -2)); - TEST_INVALID_REGEX("\\p{invalid class}", extended); - TEST_INVALID_REGEX("\\p{upper", extended); - TEST_INVALID_REGEX("\\p{", extended); - TEST_INVALID_REGEX("\\p", extended); - TEST_INVALID_REGEX("\\P{invalid class}", extended); - TEST_INVALID_REGEX("\\P{upper", extended); - TEST_INVALID_REGEX("\\P{", extended); - TEST_INVALID_REGEX("\\P", extended); + TEST_INVALID_REGEX("\\p{invalid class}", boost::regex::extended); + TEST_INVALID_REGEX("\\p{upper", boost::regex::extended); + TEST_INVALID_REGEX("\\p{", boost::regex::extended); + TEST_INVALID_REGEX("\\p", boost::regex::extended); + TEST_INVALID_REGEX("\\P{invalid class}", boost::regex::extended); + TEST_INVALID_REGEX("\\P{upper", boost::regex::extended); + TEST_INVALID_REGEX("\\P{", boost::regex::extended); + TEST_INVALID_REGEX("\\P", boost::regex::extended); // try named characters: - TEST_REGEX_SEARCH("\\N{zero}", extended, "0", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\N{one}", extended, "1", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\N{two}", extended, "2", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\N{three}", extended, "3", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\N{a}", extended, "bac", match_default, make_array(1, 2, -2, -2)); - TEST_REGEX_SEARCH("\\N{\xf0}", extended, "b\xf0x", match_default, make_array(1, 2, -2, -2)); - TEST_REGEX_SEARCH("\\N{right-curly-bracket}", extended, "}", match_default, make_array(0, 1, -2, -2)); - TEST_REGEX_SEARCH("\\N{NUL}", extended, "\0", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\N{zero}", boost::regex::extended, "0", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\N{one}", boost::regex::extended, "1", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\N{two}", boost::regex::extended, "2", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\N{three}", boost::regex::extended, "3", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\N{a}", boost::regex::extended, "bac", match_default, make_array(1, 2, -2, -2)); + TEST_REGEX_SEARCH("\\N{\xf0}", boost::regex::extended, "b\xf0x", match_default, make_array(1, 2, -2, -2)); + TEST_REGEX_SEARCH("\\N{right-curly-bracket}", boost::regex::extended, "}", match_default, make_array(0, 1, -2, -2)); + TEST_REGEX_SEARCH("\\N{NUL}", boost::regex::extended, "\0", match_default, make_array(0, 1, -2, -2)); - TEST_INVALID_REGEX("\\N", extended); - TEST_INVALID_REGEX("\\N{", extended); - TEST_INVALID_REGEX("\\N{}", extended); - TEST_INVALID_REGEX("\\N{invalid-name}", extended); - TEST_INVALID_REGEX("\\N{zero", extended); + TEST_INVALID_REGEX("\\N", boost::regex::extended); + TEST_INVALID_REGEX("\\N{", boost::regex::extended); + TEST_INVALID_REGEX("\\N{}", boost::regex::extended); + TEST_INVALID_REGEX("\\N{invalid-name}", boost::regex::extended); + TEST_INVALID_REGEX("\\N{zero", boost::regex::extended); } diff --git a/test/regress/test_simple_repeats.cpp b/test/regress/test_simple_repeats.cpp index 3e0aecfe..6811e5f9 100644 --- a/test/regress/test_simple_repeats.cpp +++ b/test/regress/test_simple_repeats.cpp @@ -40,12 +40,12 @@ void test_simple_repeats() TEST_REGEX_SEARCH("(ab)*", perl, "abab", match_default, make_array(0, 4, 2, 4, -2, 4, 4, -2, -2)); TEST_INVALID_REGEX("(*)", perl); - TEST_INVALID_REGEX("(*)", extended); + TEST_INVALID_REGEX("(*)", boost::regex::extended); TEST_INVALID_REGEX("\\(*\\)", basic); TEST_INVALID_REGEX("^*", perl); - TEST_INVALID_REGEX("^*", extended); + TEST_INVALID_REGEX("^*", boost::regex::extended); TEST_INVALID_REGEX("$*", perl); - TEST_INVALID_REGEX("$*", extended); + TEST_INVALID_REGEX("$*", boost::regex::extended); TEST_INVALID_REGEX("$*", basic); TEST_INVALID_REGEX("\\b*", perl); TEST_INVALID_REGEX("\\B*", perl); @@ -54,13 +54,13 @@ void test_simple_repeats() TEST_INVALID_REGEX("\\Z*", perl); TEST_INVALID_REGEX("\\A*", perl); TEST_INVALID_REGEX("a|*", perl); - TEST_INVALID_REGEX("a|*", extended); + TEST_INVALID_REGEX("a|*", boost::regex::extended); TEST_INVALID_REGEX("(+)", perl); - TEST_INVALID_REGEX("(+)", extended); + TEST_INVALID_REGEX("(+)", boost::regex::extended); TEST_INVALID_REGEX("^+", perl); - TEST_INVALID_REGEX("^+", extended); + TEST_INVALID_REGEX("^+", boost::regex::extended); TEST_INVALID_REGEX("$+", perl); - TEST_INVALID_REGEX("$+", extended); + TEST_INVALID_REGEX("$+", boost::regex::extended); TEST_INVALID_REGEX("\\b+", perl); TEST_INVALID_REGEX("\\B+", perl); TEST_INVALID_REGEX("\\A+", perl); @@ -68,13 +68,13 @@ void test_simple_repeats() TEST_INVALID_REGEX("\\Z+", perl); TEST_INVALID_REGEX("\\A+", perl); TEST_INVALID_REGEX("a|+", perl); - TEST_INVALID_REGEX("a|+", extended); + TEST_INVALID_REGEX("a|+", boost::regex::extended); TEST_INVALID_REGEX("(?)", perl); - TEST_INVALID_REGEX("(?)", extended); + TEST_INVALID_REGEX("(?)", boost::regex::extended); TEST_INVALID_REGEX("^?", perl); - TEST_INVALID_REGEX("^?", extended); + TEST_INVALID_REGEX("^?", boost::regex::extended); TEST_INVALID_REGEX("$?", perl); - TEST_INVALID_REGEX("$?", extended); + TEST_INVALID_REGEX("$?", boost::regex::extended); TEST_INVALID_REGEX("\\b?", perl); TEST_INVALID_REGEX("\\B?", perl); TEST_INVALID_REGEX("\\A?", perl); @@ -82,13 +82,13 @@ void test_simple_repeats() TEST_INVALID_REGEX("\\Z?", perl); TEST_INVALID_REGEX("\\A?", perl); TEST_INVALID_REGEX("a|?", perl); - TEST_INVALID_REGEX("a|?", extended); + TEST_INVALID_REGEX("a|?", boost::regex::extended); TEST_INVALID_REGEX("({1,2})", perl); - TEST_INVALID_REGEX("({1,2})", extended); + TEST_INVALID_REGEX("({1,2})", boost::regex::extended); TEST_INVALID_REGEX("^{1,2}", perl); - TEST_INVALID_REGEX("^{1,2}", extended); + TEST_INVALID_REGEX("^{1,2}", boost::regex::extended); TEST_INVALID_REGEX("${1,2}", perl); - TEST_INVALID_REGEX("${1,2}", extended); + TEST_INVALID_REGEX("${1,2}", boost::regex::extended); TEST_INVALID_REGEX("\\b{1,2}", perl); TEST_INVALID_REGEX("\\B{1,2}", perl); TEST_INVALID_REGEX("\\A{1,2}", perl); @@ -96,7 +96,7 @@ void test_simple_repeats() TEST_INVALID_REGEX("\\Z{1,2}", perl); TEST_INVALID_REGEX("\\A{1,2}", perl); TEST_INVALID_REGEX("a|{1,2}", perl); - TEST_INVALID_REGEX("a|{1,2}", extended); + TEST_INVALID_REGEX("a|{1,2}", boost::regex::extended); // now try operator + : TEST_REGEX_SEARCH("ab+", perl, "a", match_default, make_array(-2, -2)); diff --git a/test/regress/test_tricky_cases.cpp b/test/regress/test_tricky_cases.cpp index 609f4e61..e025dc43 100644 --- a/test/regress/test_tricky_cases.cpp +++ b/test/regress/test_tricky_cases.cpp @@ -134,92 +134,92 @@ void test_tricky_cases2() { using namespace boost::regex_constants; - TEST_REGEX_SEARCH("a(((b)))c", extended, "abc", match_default, make_array(0, 3, 1, 2, 1, 2, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b|(c))d", extended, "abd", match_default, make_array(0, 3, 1, 2, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("a(b|(c))d", extended, "acd", match_default, make_array(0, 3, 1, 2, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b*|c)d", extended, "abbd", match_default, make_array(0, 4, 1, 3, -2, -2)); + TEST_REGEX_SEARCH("a(((b)))c", boost::regex::extended, "abc", match_default, make_array(0, 3, 1, 2, 1, 2, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b|(c))d", boost::regex::extended, "abd", match_default, make_array(0, 3, 1, 2, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("a(b|(c))d", boost::regex::extended, "acd", match_default, make_array(0, 3, 1, 2, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b*|c)d", boost::regex::extended, "abbd", match_default, make_array(0, 4, 1, 3, -2, -2)); // just gotta have one DFA-buster, of course - TEST_REGEX_SEARCH("a[ab]{20}", extended, "aaaaabaaaabaaaabaaaab", match_default, make_array(0, 21, -2, -2)); + TEST_REGEX_SEARCH("a[ab]{20}", boost::regex::extended, "aaaaabaaaabaaaabaaaab", match_default, make_array(0, 21, -2, -2)); // and an inline expansion in case somebody gets tricky - TEST_REGEX_SEARCH("a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab]", extended, "aaaaabaaaabaaaabaaaab", match_default, make_array(0, 21, -2, -2)); + TEST_REGEX_SEARCH("a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab]", boost::regex::extended, "aaaaabaaaabaaaabaaaab", match_default, make_array(0, 21, -2, -2)); // and in case somebody just slips in an NFA... - TEST_REGEX_SEARCH("a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab](wee|week)(knights|night)", extended, "aaaaabaaaabaaaabaaaabweeknights", match_default, make_array(0, 31, 21, 24, 24, 31, -2, -2)); + TEST_REGEX_SEARCH("a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab](wee|week)(knights|night)", boost::regex::extended, "aaaaabaaaabaaaabaaaabweeknights", match_default, make_array(0, 31, 21, 24, 24, 31, -2, -2)); // one really big one - TEST_REGEX_SEARCH("1234567890123456789012345678901234567890123456789012345678901234567890", extended, "a1234567890123456789012345678901234567890123456789012345678901234567890b", match_default, make_array(1, 71, -2, -2)); + TEST_REGEX_SEARCH("1234567890123456789012345678901234567890123456789012345678901234567890", boost::regex::extended, "a1234567890123456789012345678901234567890123456789012345678901234567890b", match_default, make_array(1, 71, -2, -2)); // fish for problems as brackets go past 8 - TEST_REGEX_SEARCH("[ab][cd][ef][gh][ij][kl][mn]", extended, "xacegikmoq", match_default, make_array(1, 8, -2, -2)); - TEST_REGEX_SEARCH("[ab][cd][ef][gh][ij][kl][mn][op]", extended, "xacegikmoq", match_default, make_array(1, 9, -2, -2)); - TEST_REGEX_SEARCH("[ab][cd][ef][gh][ij][kl][mn][op][qr]", extended, "xacegikmoqy", match_default, make_array(1, 10, -2, -2)); - TEST_REGEX_SEARCH("[ab][cd][ef][gh][ij][kl][mn][op][q]", extended, "xacegikmoqy", match_default, make_array(1, 10, -2, -2)); + TEST_REGEX_SEARCH("[ab][cd][ef][gh][ij][kl][mn]", boost::regex::extended, "xacegikmoq", match_default, make_array(1, 8, -2, -2)); + TEST_REGEX_SEARCH("[ab][cd][ef][gh][ij][kl][mn][op]", boost::regex::extended, "xacegikmoq", match_default, make_array(1, 9, -2, -2)); + TEST_REGEX_SEARCH("[ab][cd][ef][gh][ij][kl][mn][op][qr]", boost::regex::extended, "xacegikmoqy", match_default, make_array(1, 10, -2, -2)); + TEST_REGEX_SEARCH("[ab][cd][ef][gh][ij][kl][mn][op][q]", boost::regex::extended, "xacegikmoqy", match_default, make_array(1, 10, -2, -2)); // and as parenthesis go past 9: - TEST_REGEX_SEARCH("(a)(b)(c)(d)(e)(f)(g)(h)", extended, "zabcdefghi", match_default, make_array(1, 9, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, -2, -2)); - TEST_REGEX_SEARCH("(a)(b)(c)(d)(e)(f)(g)(h)(i)", extended, "zabcdefghij", match_default, make_array(1, 10, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, -2, -2)); - TEST_REGEX_SEARCH("(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)", extended, "zabcdefghijk", match_default, make_array(1, 11, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, -2, -2)); - TEST_REGEX_SEARCH("(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)", extended, "zabcdefghijkl", match_default, make_array(1, 12, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, -2, -2)); - TEST_REGEX_SEARCH("(a)d|(b)c", extended, "abc", match_default, make_array(1, 3, -1, -1, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("_+((www)|(ftp)|(mailto)):_*", extended, "_wwwnocolon _mailto:", match_default, make_array(12, 20, 13, 19, -1, -1, -1, -1, 13, 19, -2, -2)); + TEST_REGEX_SEARCH("(a)(b)(c)(d)(e)(f)(g)(h)", boost::regex::extended, "zabcdefghi", match_default, make_array(1, 9, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, -2, -2)); + TEST_REGEX_SEARCH("(a)(b)(c)(d)(e)(f)(g)(h)(i)", boost::regex::extended, "zabcdefghij", match_default, make_array(1, 10, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, -2, -2)); + TEST_REGEX_SEARCH("(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)", boost::regex::extended, "zabcdefghijk", match_default, make_array(1, 11, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, -2, -2)); + TEST_REGEX_SEARCH("(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)", boost::regex::extended, "zabcdefghijkl", match_default, make_array(1, 12, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, -2, -2)); + TEST_REGEX_SEARCH("(a)d|(b)c", boost::regex::extended, "abc", match_default, make_array(1, 3, -1, -1, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("_+((www)|(ftp)|(mailto)):_*", boost::regex::extended, "_wwwnocolon _mailto:", match_default, make_array(12, 20, 13, 19, -1, -1, -1, -1, 13, 19, -2, -2)); // subtleties of matching TEST_REGEX_SEARCH("a\\(b\\)\\?c\\1d", basic|bk_plus_qm, "acd", match_default, make_array(0, 3, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("a(b?c)+d", extended, "accd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("(wee|week)(knights|night)", extended, "weeknights", match_default, make_array(0, 10, 0, 3, 3, 10, -2, -2)); - TEST_REGEX_SEARCH(".*", extended, "abc", match_default, make_array(0, 3, -2, 3, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|(c))d", extended, "abd", match_default, make_array(0, 3, 1, 2, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("a(b|(c))d", extended, "acd", match_default, make_array(0, 3, 1, 2, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b*|c|e)d", extended, "abbd", match_default, make_array(0, 4, 1, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b*|c|e)d", extended, "acd", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b*|c|e)d", extended, "ad", match_default, make_array(0, 2, 1, 1, -2, -2)); - TEST_REGEX_SEARCH("a(b?)c", extended, "abc", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b?)c", extended, "ac", match_default, make_array(0, 2, 1, 1, -2, -2)); - TEST_REGEX_SEARCH("a(b+)c", extended, "abc", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b+)c", extended, "abbbc", match_default, make_array(0, 5, 1, 4, -2, -2)); - TEST_REGEX_SEARCH("a(b*)c", extended, "ac", match_default, make_array(0, 2, 1, 1, -2, -2)); - TEST_REGEX_SEARCH("(a|ab)(bc([de]+)f|cde)", extended, "abcdef", match_default, make_array(0, 6, 0, 1, 1, 6, 3, 5, -2, -2)); - TEST_REGEX_SEARCH("a([bc]?)c", extended, "abc", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a([bc]?)c", extended, "ac", match_default, make_array(0, 2, 1, 1, -2, -2)); - TEST_REGEX_SEARCH("a([bc]+)c", extended, "abc", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a([bc]+)c", extended, "abcc", match_default, make_array(0, 4, 1, 3, -2, -2)); - TEST_REGEX_SEARCH("a([bc]+)bc", extended, "abcbc", match_default, make_array(0, 5, 1, 3, -2, -2)); - TEST_REGEX_SEARCH("a(bb+|b)b", extended, "abb", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(bbb+|bb+|b)b", extended, "abb", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(bbb+|bb+|b)b", extended, "abbb", match_default, make_array(0, 4, 1, 3, -2, -2)); - TEST_REGEX_SEARCH("a(bbb+|bb+|b)bb", extended, "abbb", match_default, make_array(0, 4, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("(.*).*", extended, "abcdef", match_default, make_array(0, 6, 0, 6, -2, 6, 6, 6, 6, -2, -2)); - TEST_REGEX_SEARCH("(a*)*", extended, "bc", match_default, make_array(0, 0, 0, 0, -2, 1, 1, 1, 1, -2, 2, 2, 2, 2, -2, -2)); - TEST_REGEX_SEARCH("xyx*xz", extended, "xyxxxxyxxxz", match_default, make_array(5, 11, -2, -2)); + TEST_REGEX_SEARCH("a(b?c)+d", boost::regex::extended, "accd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("(wee|week)(knights|night)", boost::regex::extended, "weeknights", match_default, make_array(0, 10, 0, 3, 3, 10, -2, -2)); + TEST_REGEX_SEARCH(".*", boost::regex::extended, "abc", match_default, make_array(0, 3, -2, 3, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|(c))d", boost::regex::extended, "abd", match_default, make_array(0, 3, 1, 2, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("a(b|(c))d", boost::regex::extended, "acd", match_default, make_array(0, 3, 1, 2, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b*|c|e)d", boost::regex::extended, "abbd", match_default, make_array(0, 4, 1, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b*|c|e)d", boost::regex::extended, "acd", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b*|c|e)d", boost::regex::extended, "ad", match_default, make_array(0, 2, 1, 1, -2, -2)); + TEST_REGEX_SEARCH("a(b?)c", boost::regex::extended, "abc", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b?)c", boost::regex::extended, "ac", match_default, make_array(0, 2, 1, 1, -2, -2)); + TEST_REGEX_SEARCH("a(b+)c", boost::regex::extended, "abc", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b+)c", boost::regex::extended, "abbbc", match_default, make_array(0, 5, 1, 4, -2, -2)); + TEST_REGEX_SEARCH("a(b*)c", boost::regex::extended, "ac", match_default, make_array(0, 2, 1, 1, -2, -2)); + TEST_REGEX_SEARCH("(a|ab)(bc([de]+)f|cde)", boost::regex::extended, "abcdef", match_default, make_array(0, 6, 0, 1, 1, 6, 3, 5, -2, -2)); + TEST_REGEX_SEARCH("a([bc]?)c", boost::regex::extended, "abc", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a([bc]?)c", boost::regex::extended, "ac", match_default, make_array(0, 2, 1, 1, -2, -2)); + TEST_REGEX_SEARCH("a([bc]+)c", boost::regex::extended, "abc", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a([bc]+)c", boost::regex::extended, "abcc", match_default, make_array(0, 4, 1, 3, -2, -2)); + TEST_REGEX_SEARCH("a([bc]+)bc", boost::regex::extended, "abcbc", match_default, make_array(0, 5, 1, 3, -2, -2)); + TEST_REGEX_SEARCH("a(bb+|b)b", boost::regex::extended, "abb", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(bbb+|bb+|b)b", boost::regex::extended, "abb", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(bbb+|bb+|b)b", boost::regex::extended, "abbb", match_default, make_array(0, 4, 1, 3, -2, -2)); + TEST_REGEX_SEARCH("a(bbb+|bb+|b)bb", boost::regex::extended, "abbb", match_default, make_array(0, 4, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("(.*).*", boost::regex::extended, "abcdef", match_default, make_array(0, 6, 0, 6, -2, 6, 6, 6, 6, -2, -2)); + TEST_REGEX_SEARCH("(a*)*", boost::regex::extended, "bc", match_default, make_array(0, 0, 0, 0, -2, 1, 1, 1, 1, -2, 2, 2, 2, 2, -2, -2)); + TEST_REGEX_SEARCH("xyx*xz", boost::regex::extended, "xyxxxxyxxxz", match_default, make_array(5, 11, -2, -2)); // do we get the right subexpression when it is used more than once? - TEST_REGEX_SEARCH("a(b|c)*d", extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("a(b|c)*d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c)+d", extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b|c)+d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c?)+d", extended, "ad", match_default, make_array(0, 2, 1, 1, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){0,0}d", extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){0,1}d", extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){0,1}d", extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){0,2}d", extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){0,2}d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){0,}d", extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){0,}d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){1,1}d", extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){1,2}d", extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){1,2}d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){1,}d", extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){1,}d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){2,2}d", extended, "acbd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){2,2}d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){2,4}d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){2,4}d", extended, "abcbd", match_default, make_array(0, 5, 3, 4, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){2,4}d", extended, "abcbcd", match_default, make_array(0, 6, 4, 5, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){2,}d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|c){2,}d", extended, "abcbd", match_default, make_array(0, 5, 3, 4, -2, -2)); + TEST_REGEX_SEARCH("a(b|c)*d", boost::regex::extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("a(b|c)*d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c)+d", boost::regex::extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b|c)+d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c?)+d", boost::regex::extended, "ad", match_default, make_array(0, 2, 1, 1, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){0,0}d", boost::regex::extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){0,1}d", boost::regex::extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){0,1}d", boost::regex::extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){0,2}d", boost::regex::extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){0,2}d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){0,}d", boost::regex::extended, "ad", match_default, make_array(0, 2, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){0,}d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){1,1}d", boost::regex::extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){1,2}d", boost::regex::extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){1,2}d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){1,}d", boost::regex::extended, "abd", match_default, make_array(0, 3, 1, 2, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){1,}d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){2,2}d", boost::regex::extended, "acbd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){2,2}d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){2,4}d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){2,4}d", boost::regex::extended, "abcbd", match_default, make_array(0, 5, 3, 4, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){2,4}d", boost::regex::extended, "abcbcd", match_default, make_array(0, 6, 4, 5, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){2,}d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c){2,}d", boost::regex::extended, "abcbd", match_default, make_array(0, 5, 3, 4, -2, -2)); // perl only: TEST_REGEX_SEARCH("a(b|c?)+d", perl, "abcd", match_default, make_array(0, 4, 3, 3, -2, -2)); TEST_REGEX_SEARCH("a(b+|((c)*))+d", perl, "abd", match_default, make_array(0, 3, 2, 2, 2, 2, -1, -1, -2, -2)); TEST_REGEX_SEARCH("a(b+|((c)*))+d", perl, "abcd", match_default, make_array(0, 4, 3, 3, 3, 3, 2, 3, -2, -2)); // posix only: - TEST_REGEX_SEARCH("a(b|c?)+d", extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b|((c)*))+d", extended, "abcd", match_default, make_array(0, 4, 2, 3, 2, 3, 2, 3, -2, -2)); - TEST_REGEX_SEARCH("a(b+|((c)*))+d", extended, "abd", match_default, make_array(0, 3, 1, 2, -1, -1, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("a(b+|((c)*))+d", extended, "abcd", match_default, make_array(0, 4, 2, 3, 2, 3, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|c?)+d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b|((c)*))+d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, 2, 3, 2, 3, -2, -2)); + TEST_REGEX_SEARCH("a(b+|((c)*))+d", boost::regex::extended, "abd", match_default, make_array(0, 3, 1, 2, -1, -1, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("a(b+|((c)*))+d", boost::regex::extended, "abcd", match_default, make_array(0, 4, 2, 3, 2, 3, 2, 3, -2, -2)); // literals: TEST_REGEX_SEARCH("\\**?/{}", literal, "\\**?/{}", match_default, make_array(0, 7, -2, -2)); TEST_REGEX_SEARCH("\\**?/{}", literal, "\\**?/{", match_default, make_array(-2, -2)); @@ -238,27 +238,27 @@ void test_tricky_cases2() TEST_REGEX_SEARCH("^[[:blank:]]*#([^\\n]*\\\\[[:space:]]+)*[^\\n]*", perl, "#define some_symbol(x) #x", match_default, make_array(0, 25, -1, -1, -2, -2)); // try to match C++ syntax elements: // line comment: - TEST_REGEX_SEARCH("//[^\\n]*", extended&~no_escape_in_lists, "++i //here is a line comment\n", match_default, make_array(4, 28, -2, -2)); + TEST_REGEX_SEARCH("//[^\\n]*", boost::regex::extended&~no_escape_in_lists, "++i //here is a line comment\n", match_default, make_array(4, 28, -2, -2)); // block comment: - TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", extended&~no_escape_in_lists, "/* here is a block comment */", match_default, make_array(0, 29, 26, 27, -2, -2)); - TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", extended&~no_escape_in_lists, "/**/", match_default, make_array(0, 4, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", extended&~no_escape_in_lists, "/***/", match_default, make_array(0, 5, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", extended&~no_escape_in_lists, "/****/", match_default, make_array(0, 6, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", extended&~no_escape_in_lists, "/*****/", match_default, make_array(0, 7, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", extended&~no_escape_in_lists, "/*****/*/", match_default, make_array(0, 7, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", boost::regex::extended&~no_escape_in_lists, "/* here is a block comment */", match_default, make_array(0, 29, 26, 27, -2, -2)); + TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", boost::regex::extended&~no_escape_in_lists, "/**/", match_default, make_array(0, 4, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", boost::regex::extended&~no_escape_in_lists, "/***/", match_default, make_array(0, 5, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", boost::regex::extended&~no_escape_in_lists, "/****/", match_default, make_array(0, 6, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", boost::regex::extended&~no_escape_in_lists, "/*****/", match_default, make_array(0, 7, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("/\\*([^*]|\\*+[^*/])*\\*+/", boost::regex::extended&~no_escape_in_lists, "/*****/*/", match_default, make_array(0, 7, -1, -1, -2, -2)); // preprossor directives: - TEST_REGEX_SEARCH("^[[:blank:]]*#([^\\n]*\\\\[[:space:]]+)*[^\\n]*", extended&~no_escape_in_lists, "#define some_symbol", match_default, make_array(0, 19, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("^[[:blank:]]*#([^\\n]*\\\\[[:space:]]+)*[^\\n]*", extended&~no_escape_in_lists, "#define some_symbol(x) #x", match_default, make_array(0, 25, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("^[[:blank:]]*#([^\\n]*\\\\[[:space:]]+)*[^\\n]*", boost::regex::extended&~no_escape_in_lists, "#define some_symbol", match_default, make_array(0, 19, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("^[[:blank:]]*#([^\\n]*\\\\[[:space:]]+)*[^\\n]*", boost::regex::extended&~no_escape_in_lists, "#define some_symbol(x) #x", match_default, make_array(0, 25, -1, -1, -2, -2)); // perl only: TEST_REGEX_SEARCH("^[[:blank:]]*#([^\\n]*\\\\[[:space:]]+)*[^\\n]*", perl, "#define some_symbol(x) \\ \r\n foo();\\\r\n printf(#x);", match_default, make_array(0, 53, 30, 42, -2, -2)); // POSIX leftmost longest checks: - TEST_REGEX_SEARCH("(aaa)|(\\w+)", extended&~no_escape_in_lists, "a", match_default, make_array(0, 1, -1, -1, 0, 1, -2, -2)); - TEST_REGEX_SEARCH("(aaa)|(\\w+)", extended&~no_escape_in_lists, "aa", match_default, make_array(0, 2, -1, -1, 0, 2, -2, -2)); - TEST_REGEX_SEARCH("(aaa)|(\\w+)", extended&~no_escape_in_lists, "aaa", match_default, make_array(0, 3, 0, 3, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("(aaa)|(\\w+)", extended&~no_escape_in_lists, "aaaa", match_default, make_array(0, 4, -1, -1, 0, 4, -2, -2)); - TEST_REGEX_SEARCH("($)|(\\>)", extended&~no_escape_in_lists, "aaaa", match_default, make_array(4, 4, 4, 4, -1, -1, -2, -2)); - TEST_REGEX_SEARCH("($)|(\\>)", extended&~no_escape_in_lists, "aaaa", match_default|match_not_eol, make_array(4, 4, -1, -1, 4, 4, -2, -2)); - TEST_REGEX_SEARCH("(aaa)(ab)*", extended, "aaaabab", match_default, make_array(0, 7, 0, 3, 5, 7, -2, -2)); + TEST_REGEX_SEARCH("(aaa)|(\\w+)", boost::regex::extended&~no_escape_in_lists, "a", match_default, make_array(0, 1, -1, -1, 0, 1, -2, -2)); + TEST_REGEX_SEARCH("(aaa)|(\\w+)", boost::regex::extended&~no_escape_in_lists, "aa", match_default, make_array(0, 2, -1, -1, 0, 2, -2, -2)); + TEST_REGEX_SEARCH("(aaa)|(\\w+)", boost::regex::extended&~no_escape_in_lists, "aaa", match_default, make_array(0, 3, 0, 3, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("(aaa)|(\\w+)", boost::regex::extended&~no_escape_in_lists, "aaaa", match_default, make_array(0, 4, -1, -1, 0, 4, -2, -2)); + TEST_REGEX_SEARCH("($)|(\\>)", boost::regex::extended&~no_escape_in_lists, "aaaa", match_default, make_array(4, 4, 4, 4, -1, -1, -2, -2)); + TEST_REGEX_SEARCH("($)|(\\>)", boost::regex::extended&~no_escape_in_lists, "aaaa", match_default|match_not_eol, make_array(4, 4, -1, -1, 4, 4, -2, -2)); + TEST_REGEX_SEARCH("(aaa)(ab)*", boost::regex::extended, "aaaabab", match_default, make_array(0, 7, 0, 3, 5, 7, -2, -2)); } void test_tricky_cases3() @@ -377,6 +377,9 @@ void test_tricky_cases3() TEST_REGEX_SEARCH("(?:\\d{9}.*){2}", perl, "123456789dfsdfsdfsfsdfds123456789b", match_default, make_array(0, 34, -2, -2)); TEST_REGEX_SEARCH("(?:\\d{9}.*){2}", perl, "123456789dfsdfsdfsfsdfds12345678", match_default, make_array(-2, -2)); TEST_REGEX_SEARCH("(?:\\d{9}.*){2}", perl, "123456789dfsdfsdfsfsdfds", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("^(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])){3}$", perl, "1.2.03", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("^(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])){3,4}$", perl, "1.2.03", match_default, make_array(-2, -2)); + TEST_REGEX_SEARCH("^(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])){3,4}?$", perl, "1.2.03", match_default, make_array(-2, -2)); // diff --git a/test/static_mutex/static_mutex_test.cpp b/test/static_mutex/static_mutex_test.cpp index 14c5379b..72a8cd49 100644 --- a/test/static_mutex/static_mutex_test.cpp +++ b/test/static_mutex/static_mutex_test.cpp @@ -163,19 +163,44 @@ int main() { BOOST_TEST(0 != &up1); - boost::thread thrd1(&thread1_proc); - boost::thread thrd2(&thread1_proc); - boost::thread thrd3(&thread2_proc); - boost::thread thrd4(&thread2_proc); - boost::thread thrd5(&thread3_proc); - boost::thread thrd6(&thread3_proc); + std::list > threads; + for(int i = 0; i < 2; ++i) + { + try{ + threads.push_back(boost::shared_ptr(new boost::thread(&thread1_proc))); + } + catch(const std::exception& e) + { + std::cerr << "Thread creation failed with message: " << e.what() << "" << std::endl; + } + } + for(int i = 0; i < 2; ++i) + { + try{ + threads.push_back(boost::shared_ptr(new boost::thread(&thread2_proc))); + } + catch(const std::exception& e) + { + std::cerr << "Thread creation failed with message: " << e.what() << "" << std::endl; + } + } + for(int i = 0; i < 2; ++i) + { + try{ + threads.push_back(boost::shared_ptr(new boost::thread(&thread3_proc))); + } + catch(const std::exception& e) + { + std::cerr << "Thread creation failed with message: " << e.what() << "" << std::endl; + } + } - thrd1.join(); - thrd2.join(); - thrd3.join(); - thrd4.join(); - thrd5.join(); - thrd6.join(); + std::list >::const_iterator a(threads.begin()), b(threads.end()); + while(a != b) + { + (*a)->join(); + ++a; + } return total_failures; }