From 2c41e9d1d535e3a3bd5754302ac76d97879af973 Mon Sep 17 00:00:00 2001 From: nobody Date: Thu, 5 Jun 2003 05:15:05 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create branch 'mpl_v2_2'. [SVN r18675] --- build/Jamfile | 148 -- build/Jamfile.v2 | 15 - build/bc_gen.sh | 274 --- build/bcb4.mak | 567 ----- build/bcb5.mak | 567 ----- build/bcb6.mak | 1085 -------- build/common.sh | 29 - build/gcc-shared.mak | 151 -- build/gcc.mak | 154 -- build/gcc_gen.sh | 238 -- build/generic.mak | 95 - build/generic_gen.sh | 144 -- build/sun_gen.sh | 214 -- build/sunpro.mak | 265 -- build/vc6-stlport.mak | 576 ----- build/vc6.mak | 512 ---- build/vc7-stlport.mak | 576 ----- build/vc7.mak | 512 ---- build/vc71-stlport.mak | 576 ----- build/vc71.mak | 512 ---- build/vc_gen.sh | 396 --- changes.txt | 284 --- doc/Attic/bad_expression.html | 82 - doc/Attic/basic_regex.html | 1293 ---------- doc/Attic/configuration.html | 232 -- doc/Attic/contacts.html | 110 - doc/Attic/examples.html | 99 - doc/Attic/faq.html | 162 -- doc/Attic/format_syntax.html | 272 -- doc/Attic/headers.html | 52 - doc/Attic/history.html | 58 - doc/Attic/implementation.html | 45 - doc/Attic/install.html | 237 -- doc/Attic/introduction.html | 176 -- doc/Attic/localisation.html | 1032 -------- doc/Attic/match_flag_type.html | 330 --- doc/Attic/match_results.html | 511 ---- doc/Attic/partial_matches.html | 185 -- doc/Attic/performance.html | 54 - doc/Attic/posix_api.html | 288 --- doc/Attic/redistributables.html | 85 - doc/Attic/reg_expression.html | 46 - doc/Attic/regbase.html | 91 - doc/Attic/regex.html | 620 ----- doc/Attic/regex_format.html | 213 -- doc/Attic/regex_grep.html | 386 --- doc/Attic/regex_iterator.html | 427 ---- doc/Attic/regex_match.html | 317 --- doc/Attic/regex_merge.html | 47 - doc/Attic/regex_replace.html | 213 -- doc/Attic/regex_search.html | 328 --- doc/Attic/regex_split.html | 148 -- doc/Attic/regex_token_iterator.html | 286 --- doc/Attic/regex_traits.html | 48 - doc/Attic/standards.html | 79 - doc/Attic/sub_match.html | 426 ---- doc/Attic/syntax.html | 773 ------ doc/Attic/syntax_option_type.html | 332 --- doc/Attic/thread_safety.html | 68 - doc/Attic/uarrow.gif | Bin 1666 -> 0 bytes doc/bad_expression.html | 82 - doc/basic_regex.html | 1293 ---------- doc/configuration.html | 232 -- doc/contacts.html | 110 - doc/examples.html | 99 - doc/faq.html | 162 -- doc/format_syntax.html | 272 -- doc/gcc-performance.html | 539 ---- doc/headers.html | 52 - doc/history.html | 58 - doc/implementation.html | 45 - doc/index.html | 127 - doc/install.html | 237 -- doc/introduction.html | 176 -- doc/localisation.html | 1032 -------- doc/match_flag_type.html | 330 --- doc/match_results.html | 511 ---- doc/partial_matches.html | 185 -- doc/performance.html | 54 - doc/posix_api.html | 288 --- doc/redistributables.html | 85 - doc/reg_expression.html | 46 - doc/regbase.html | 91 - doc/regex.html | 620 ----- doc/regex_format.html | 213 -- doc/regex_grep.html | 386 --- doc/regex_iterator.html | 427 ---- doc/regex_match.html | 317 --- doc/regex_merge.html | 47 - doc/regex_replace.html | 213 -- doc/regex_search.html | 328 --- doc/regex_split.html | 148 -- doc/regex_token_iterator.html | 286 --- doc/regex_traits.html | 48 - doc/standards.html | 79 - doc/sub_match.html | 426 ---- doc/syntax.html | 773 ------ doc/syntax_option_type.html | 332 --- doc/thread_safety.html | 68 - doc/uarrow.gif | Bin 1666 -> 0 bytes doc/vc71-performance.html | 705 ------ example/Jamfile | 56 - .../iso8859_1_regex_traits.cpp | 318 --- .../iso8859_1_regex_traits.hpp | 25 - example/iso8859_1_regex_traits/readme.txt | 49 - example/jgrep/bc55.mak | 51 - example/jgrep/bcb4.mak | 51 - example/jgrep/bcb5.mak | 50 - example/jgrep/gcc.mak | 32 - example/jgrep/jgrep.cpp | 157 -- example/jgrep/jgrep.h | 53 - example/jgrep/main.cpp | 295 --- example/jgrep/vc6-stlport.mak | 18 - example/jgrep/vc6.mak | 18 - example/snippets/credit_card_example.cpp | 70 - example/snippets/partial_regex_grep.cpp | 106 - example/snippets/partial_regex_match.cpp | 72 - example/snippets/regex_grep_example_1.cpp | 130 - example/snippets/regex_grep_example_2.cpp | 123 - example/snippets/regex_grep_example_3.cpp | 140 -- example/snippets/regex_grep_example_4.cpp | 156 -- example/snippets/regex_iterator_example.cpp | 115 - example/snippets/regex_match_example.cpp | 106 - example/snippets/regex_merge_example.cpp | 137 -- example/snippets/regex_replace_example.cpp | 138 -- example/snippets/regex_search_example.cpp | 130 - example/snippets/regex_split_example_1.cpp | 79 - example/snippets/regex_split_example_2.cpp | 87 - .../snippets/regex_token_iterator_eg_1.cpp | 75 - .../snippets/regex_token_iterator_eg_2.cpp | 92 - example/timer/bc55.mak | 46 - example/timer/bcb4.mak | 46 - example/timer/bcb5.mak | 46 - example/timer/gcc.mak | 33 - example/timer/input_script.txt | 7 - example/timer/regex_timer.cpp | 380 --- example/timer/vc6-stlport.mak | 34 - example/timer/vc6.mak | 34 - include/boost/regex/config.hpp | 559 ----- include/boost/regex/config/borland.hpp | 64 - include/boost/regex/config/cstring.hpp | 229 -- include/boost/regex/config/cwchar.hpp | 187 -- .../regex/config/regex_library_include.hpp | 205 -- include/boost/regex/pattern_except.hpp | 66 - include/boost/regex/regex_traits.hpp | 44 - include/boost/regex/src.cpp | 58 - include/boost/regex/user.hpp | 84 - include/boost/regex/v3/cregex.hpp | 317 --- include/boost/regex/v3/fileiter.hpp | 456 ---- include/boost/regex/v3/instances.hpp | 168 -- include/boost/regex/v3/regex.hpp | 1636 ------------- include/boost/regex/v3/regex_compile.hpp | 2123 ---------------- include/boost/regex/v3/regex_cstring.hpp | 134 - include/boost/regex/v3/regex_format.hpp | 579 ----- include/boost/regex/v3/regex_fwd.hpp | 70 - include/boost/regex/v3/regex_kmp.hpp | 111 - .../boost/regex/v3/regex_library_include.hpp | 184 -- include/boost/regex/v3/regex_match.hpp | 2016 --------------- include/boost/regex/v3/regex_raw_buffer.hpp | 249 -- include/boost/regex/v3/regex_split.hpp | 152 -- include/boost/regex/v3/regex_stack.hpp | 227 -- include/boost/regex/v3/regex_synch.hpp | 213 -- include/boost/regex/v3/regex_traits.hpp | 818 ------- include/boost/regex/v4/basic_regex.hpp | 395 --- include/boost/regex/v4/char_regex_traits.hpp | 85 - include/boost/regex/v4/cregex.hpp | 293 --- include/boost/regex/v4/fileiter.hpp | 456 ---- include/boost/regex/v4/instances.hpp | 88 - include/boost/regex/v4/iterator_category.hpp | 85 - include/boost/regex/v4/iterator_traits.hpp | 106 - include/boost/regex/v4/match_flags.hpp | 133 - include/boost/regex/v4/match_results.hpp | 320 --- include/boost/regex/v4/mem_block_cache.hpp | 97 - include/boost/regex/v4/perl_matcher.hpp | 436 ---- .../boost/regex/v4/perl_matcher_common.hpp | 832 ------- .../regex/v4/perl_matcher_non_recursive.hpp | 1231 ---------- .../boost/regex/v4/perl_matcher_recursive.hpp | 661 ----- include/boost/regex/v4/regbase.hpp | 151 -- include/boost/regex/v4/regex.hpp | 196 -- include/boost/regex/v4/regex_compile.hpp | 2180 ----------------- include/boost/regex/v4/regex_cstring.hpp | 134 - include/boost/regex/v4/regex_format.hpp | 534 ---- include/boost/regex/v4/regex_fwd.hpp | 72 - include/boost/regex/v4/regex_grep.hpp | 147 -- include/boost/regex/v4/regex_iterator.hpp | 154 -- include/boost/regex/v4/regex_kmp.hpp | 111 - include/boost/regex/v4/regex_match.hpp | 195 -- include/boost/regex/v4/regex_merge.hpp | 82 - include/boost/regex/v4/regex_raw_buffer.hpp | 256 -- include/boost/regex/v4/regex_replace.hpp | 91 - include/boost/regex/v4/regex_search.hpp | 196 -- include/boost/regex/v4/regex_split.hpp | 152 -- include/boost/regex/v4/regex_stack.hpp | 228 -- include/boost/regex/v4/regex_synch.hpp | 213 -- .../boost/regex/v4/regex_token_iterator.hpp | 215 -- include/boost/regex/v4/regex_traits.hpp | 822 ------- include/boost/regex/v4/states.hpp | 233 -- include/boost/regex/v4/sub_match.hpp | 337 --- index.html | 9 - licence.txt | 19 - old_include/cregex | 3 - old_include/cregex.h | 129 - old_include/fileiter.h | 25 - old_include/regex | 3 - old_include/regex.h | 439 ---- old_include/tests/snip1.cpp | 77 - old_include/tests/snip2.cpp | 84 - old_include/tests/snip3.cpp | 85 - old_include/tests/snip4.cpp | 105 - old_include/tests/snip5.cpp | 51 - old_include/tests/snip6.cpp | 100 - old_include/tests/snip7.cpp | 102 - performance/Jamfile | 44 - performance/command_line.cpp | 484 ---- performance/input.html | 70 - performance/main.cpp | 251 -- performance/regex_comparison.hpp | 136 - performance/time_boost.cpp | 98 - performance/time_greta.cpp | 125 - performance/time_localised_boost.cpp | 98 - performance/time_pcre.cpp | 180 -- performance/time_posix.cpp | 143 -- performance/time_safe_greta.cpp | 127 - readme.txt | 24 - src/c_regex_traits.cpp | 1079 -------- src/c_regex_traits_common.cpp | 562 ----- src/cpp_regex_traits.cpp | 907 ------- src/cregex.cpp | 643 ----- src/fileiter.cpp | 908 ------- src/instances.cpp | 36 - src/posix_api.cpp | 244 -- src/primary_transform.hpp | 120 - src/regex.cpp | 130 - src/regex_debug.cpp | 224 -- src/regex_synch.cpp | 77 - src/w32_regex_traits.cpp | 1110 --------- src/wide_posix_api.cpp | 253 -- src/winstances.cpp | 36 - test/Jamfile | 77 - test/c_compiler_checks/posix_api_check.c | 67 - test/c_compiler_checks/posix_api_check.cpp | 67 - test/c_compiler_checks/wide_posix_api_check.c | 91 - .../wide_posix_api_check.cpp | 92 - test/pathology/bad_expression_test.cpp | 52 - test/pathology/recursion_test.cpp | 64 - test/regress/bc55.mak | 142 -- test/regress/bcb4.mak | 193 -- test/regress/bcb5.mak | 194 -- test/regress/bcb6.mak | 203 -- test/regress/gcc.mak | 64 - test/regress/parse.cpp | 342 --- test/regress/regex_test.cpp | 197 -- test/regress/regress.cpp | 288 --- test/regress/regress.h | 450 ---- test/regress/sunpro.mak | 136 - test/regress/test1252.txt | 34 - test/regress/tests.cpp | 887 ------- test/regress/tests.txt | 1231 ---------- test/regress/v3_tests.txt | 908 ------- test/regress/vc6-stlport.mak | 211 -- test/regress/vc6.mak | 228 -- test/regress/vc7.mak | 230 -- test/regress/vc71.mak | 236 -- test/regress/wregex_test.cpp | 204 -- 264 files changed, 72212 deletions(-) delete mode 100644 build/Jamfile delete mode 100644 build/Jamfile.v2 delete mode 100644 build/bc_gen.sh delete mode 100644 build/bcb4.mak delete mode 100644 build/bcb5.mak delete mode 100644 build/bcb6.mak delete mode 100644 build/common.sh delete mode 100644 build/gcc-shared.mak delete mode 100644 build/gcc.mak delete mode 100644 build/gcc_gen.sh delete mode 100644 build/generic.mak delete mode 100644 build/generic_gen.sh delete mode 100644 build/sun_gen.sh delete mode 100644 build/sunpro.mak delete mode 100644 build/vc6-stlport.mak delete mode 100644 build/vc6.mak delete mode 100644 build/vc7-stlport.mak delete mode 100644 build/vc7.mak delete mode 100644 build/vc71-stlport.mak delete mode 100644 build/vc71.mak delete mode 100644 build/vc_gen.sh delete mode 100644 changes.txt delete mode 100644 doc/Attic/bad_expression.html delete mode 100644 doc/Attic/basic_regex.html delete mode 100644 doc/Attic/configuration.html delete mode 100644 doc/Attic/contacts.html delete mode 100644 doc/Attic/examples.html delete mode 100644 doc/Attic/faq.html delete mode 100644 doc/Attic/format_syntax.html delete mode 100644 doc/Attic/headers.html delete mode 100644 doc/Attic/history.html delete mode 100644 doc/Attic/implementation.html delete mode 100644 doc/Attic/install.html delete mode 100644 doc/Attic/introduction.html delete mode 100644 doc/Attic/localisation.html delete mode 100644 doc/Attic/match_flag_type.html delete mode 100644 doc/Attic/match_results.html delete mode 100644 doc/Attic/partial_matches.html delete mode 100644 doc/Attic/performance.html delete mode 100644 doc/Attic/posix_api.html delete mode 100644 doc/Attic/redistributables.html delete mode 100644 doc/Attic/reg_expression.html delete mode 100644 doc/Attic/regbase.html delete mode 100644 doc/Attic/regex.html delete mode 100644 doc/Attic/regex_format.html delete mode 100644 doc/Attic/regex_grep.html delete mode 100644 doc/Attic/regex_iterator.html delete mode 100644 doc/Attic/regex_match.html delete mode 100644 doc/Attic/regex_merge.html delete mode 100644 doc/Attic/regex_replace.html delete mode 100644 doc/Attic/regex_search.html delete mode 100644 doc/Attic/regex_split.html delete mode 100644 doc/Attic/regex_token_iterator.html delete mode 100644 doc/Attic/regex_traits.html delete mode 100644 doc/Attic/standards.html delete mode 100644 doc/Attic/sub_match.html delete mode 100644 doc/Attic/syntax.html delete mode 100644 doc/Attic/syntax_option_type.html delete mode 100644 doc/Attic/thread_safety.html delete mode 100644 doc/Attic/uarrow.gif delete mode 100644 doc/bad_expression.html delete mode 100644 doc/basic_regex.html delete mode 100644 doc/configuration.html delete mode 100644 doc/contacts.html delete mode 100644 doc/examples.html delete mode 100644 doc/faq.html delete mode 100644 doc/format_syntax.html delete mode 100644 doc/gcc-performance.html delete mode 100644 doc/headers.html delete mode 100644 doc/history.html delete mode 100644 doc/implementation.html delete mode 100644 doc/index.html delete mode 100644 doc/install.html delete mode 100644 doc/introduction.html delete mode 100644 doc/localisation.html delete mode 100644 doc/match_flag_type.html delete mode 100644 doc/match_results.html delete mode 100644 doc/partial_matches.html delete mode 100644 doc/performance.html delete mode 100644 doc/posix_api.html delete mode 100644 doc/redistributables.html delete mode 100644 doc/reg_expression.html delete mode 100644 doc/regbase.html delete mode 100644 doc/regex.html delete mode 100644 doc/regex_format.html delete mode 100644 doc/regex_grep.html delete mode 100644 doc/regex_iterator.html delete mode 100644 doc/regex_match.html delete mode 100644 doc/regex_merge.html delete mode 100644 doc/regex_replace.html delete mode 100644 doc/regex_search.html delete mode 100644 doc/regex_split.html delete mode 100644 doc/regex_token_iterator.html delete mode 100644 doc/regex_traits.html delete mode 100644 doc/standards.html delete mode 100644 doc/sub_match.html delete mode 100644 doc/syntax.html delete mode 100644 doc/syntax_option_type.html delete mode 100644 doc/thread_safety.html delete mode 100644 doc/uarrow.gif delete mode 100644 doc/vc71-performance.html delete mode 100644 example/Jamfile delete mode 100644 example/iso8859_1_regex_traits/iso8859_1_regex_traits.cpp delete mode 100644 example/iso8859_1_regex_traits/iso8859_1_regex_traits.hpp delete mode 100644 example/iso8859_1_regex_traits/readme.txt delete mode 100644 example/jgrep/bc55.mak delete mode 100644 example/jgrep/bcb4.mak delete mode 100644 example/jgrep/bcb5.mak delete mode 100644 example/jgrep/gcc.mak delete mode 100644 example/jgrep/jgrep.cpp delete mode 100644 example/jgrep/jgrep.h delete mode 100644 example/jgrep/main.cpp delete mode 100644 example/jgrep/vc6-stlport.mak delete mode 100644 example/jgrep/vc6.mak delete mode 100644 example/snippets/credit_card_example.cpp delete mode 100644 example/snippets/partial_regex_grep.cpp delete mode 100644 example/snippets/partial_regex_match.cpp delete mode 100644 example/snippets/regex_grep_example_1.cpp delete mode 100644 example/snippets/regex_grep_example_2.cpp delete mode 100644 example/snippets/regex_grep_example_3.cpp delete mode 100644 example/snippets/regex_grep_example_4.cpp delete mode 100644 example/snippets/regex_iterator_example.cpp delete mode 100644 example/snippets/regex_match_example.cpp delete mode 100644 example/snippets/regex_merge_example.cpp delete mode 100644 example/snippets/regex_replace_example.cpp delete mode 100644 example/snippets/regex_search_example.cpp delete mode 100644 example/snippets/regex_split_example_1.cpp delete mode 100644 example/snippets/regex_split_example_2.cpp delete mode 100644 example/snippets/regex_token_iterator_eg_1.cpp delete mode 100644 example/snippets/regex_token_iterator_eg_2.cpp delete mode 100644 example/timer/bc55.mak delete mode 100644 example/timer/bcb4.mak delete mode 100644 example/timer/bcb5.mak delete mode 100644 example/timer/gcc.mak delete mode 100644 example/timer/input_script.txt delete mode 100644 example/timer/regex_timer.cpp delete mode 100644 example/timer/vc6-stlport.mak delete mode 100644 example/timer/vc6.mak delete mode 100644 include/boost/regex/config.hpp delete mode 100644 include/boost/regex/config/borland.hpp delete mode 100644 include/boost/regex/config/cstring.hpp delete mode 100644 include/boost/regex/config/cwchar.hpp delete mode 100644 include/boost/regex/config/regex_library_include.hpp delete mode 100644 include/boost/regex/pattern_except.hpp delete mode 100644 include/boost/regex/regex_traits.hpp delete mode 100644 include/boost/regex/src.cpp delete mode 100644 include/boost/regex/user.hpp delete mode 100644 include/boost/regex/v3/cregex.hpp delete mode 100644 include/boost/regex/v3/fileiter.hpp delete mode 100644 include/boost/regex/v3/instances.hpp delete mode 100644 include/boost/regex/v3/regex.hpp delete mode 100644 include/boost/regex/v3/regex_compile.hpp delete mode 100644 include/boost/regex/v3/regex_cstring.hpp delete mode 100644 include/boost/regex/v3/regex_format.hpp delete mode 100644 include/boost/regex/v3/regex_fwd.hpp delete mode 100644 include/boost/regex/v3/regex_kmp.hpp delete mode 100644 include/boost/regex/v3/regex_library_include.hpp delete mode 100644 include/boost/regex/v3/regex_match.hpp delete mode 100644 include/boost/regex/v3/regex_raw_buffer.hpp delete mode 100644 include/boost/regex/v3/regex_split.hpp delete mode 100644 include/boost/regex/v3/regex_stack.hpp delete mode 100644 include/boost/regex/v3/regex_synch.hpp delete mode 100644 include/boost/regex/v3/regex_traits.hpp delete mode 100644 include/boost/regex/v4/basic_regex.hpp delete mode 100644 include/boost/regex/v4/char_regex_traits.hpp delete mode 100644 include/boost/regex/v4/cregex.hpp delete mode 100644 include/boost/regex/v4/fileiter.hpp delete mode 100644 include/boost/regex/v4/instances.hpp delete mode 100644 include/boost/regex/v4/iterator_category.hpp delete mode 100644 include/boost/regex/v4/iterator_traits.hpp delete mode 100644 include/boost/regex/v4/match_flags.hpp delete mode 100644 include/boost/regex/v4/match_results.hpp delete mode 100644 include/boost/regex/v4/mem_block_cache.hpp delete mode 100644 include/boost/regex/v4/perl_matcher.hpp delete mode 100644 include/boost/regex/v4/perl_matcher_common.hpp delete mode 100644 include/boost/regex/v4/perl_matcher_non_recursive.hpp delete mode 100644 include/boost/regex/v4/perl_matcher_recursive.hpp delete mode 100644 include/boost/regex/v4/regbase.hpp delete mode 100644 include/boost/regex/v4/regex.hpp delete mode 100644 include/boost/regex/v4/regex_compile.hpp delete mode 100644 include/boost/regex/v4/regex_cstring.hpp delete mode 100644 include/boost/regex/v4/regex_format.hpp delete mode 100644 include/boost/regex/v4/regex_fwd.hpp delete mode 100644 include/boost/regex/v4/regex_grep.hpp delete mode 100644 include/boost/regex/v4/regex_iterator.hpp delete mode 100644 include/boost/regex/v4/regex_kmp.hpp delete mode 100644 include/boost/regex/v4/regex_match.hpp delete mode 100644 include/boost/regex/v4/regex_merge.hpp delete mode 100644 include/boost/regex/v4/regex_raw_buffer.hpp delete mode 100644 include/boost/regex/v4/regex_replace.hpp delete mode 100644 include/boost/regex/v4/regex_search.hpp delete mode 100644 include/boost/regex/v4/regex_split.hpp delete mode 100644 include/boost/regex/v4/regex_stack.hpp delete mode 100644 include/boost/regex/v4/regex_synch.hpp delete mode 100644 include/boost/regex/v4/regex_token_iterator.hpp delete mode 100644 include/boost/regex/v4/regex_traits.hpp delete mode 100644 include/boost/regex/v4/states.hpp delete mode 100644 include/boost/regex/v4/sub_match.hpp delete mode 100644 index.html delete mode 100644 licence.txt delete mode 100644 old_include/cregex delete mode 100644 old_include/cregex.h delete mode 100644 old_include/fileiter.h delete mode 100644 old_include/regex delete mode 100644 old_include/regex.h delete mode 100644 old_include/tests/snip1.cpp delete mode 100644 old_include/tests/snip2.cpp delete mode 100644 old_include/tests/snip3.cpp delete mode 100644 old_include/tests/snip4.cpp delete mode 100644 old_include/tests/snip5.cpp delete mode 100644 old_include/tests/snip6.cpp delete mode 100644 old_include/tests/snip7.cpp delete mode 100644 performance/Jamfile delete mode 100644 performance/command_line.cpp delete mode 100644 performance/input.html delete mode 100644 performance/main.cpp delete mode 100644 performance/regex_comparison.hpp delete mode 100644 performance/time_boost.cpp delete mode 100644 performance/time_greta.cpp delete mode 100644 performance/time_localised_boost.cpp delete mode 100644 performance/time_pcre.cpp delete mode 100644 performance/time_posix.cpp delete mode 100644 performance/time_safe_greta.cpp delete mode 100644 readme.txt delete mode 100644 src/c_regex_traits.cpp delete mode 100644 src/c_regex_traits_common.cpp delete mode 100644 src/cpp_regex_traits.cpp delete mode 100644 src/cregex.cpp delete mode 100644 src/fileiter.cpp delete mode 100644 src/instances.cpp delete mode 100644 src/posix_api.cpp delete mode 100644 src/primary_transform.hpp delete mode 100644 src/regex.cpp delete mode 100644 src/regex_debug.cpp delete mode 100644 src/regex_synch.cpp delete mode 100644 src/w32_regex_traits.cpp delete mode 100644 src/wide_posix_api.cpp delete mode 100644 src/winstances.cpp delete mode 100644 test/Jamfile delete mode 100644 test/c_compiler_checks/posix_api_check.c delete mode 100644 test/c_compiler_checks/posix_api_check.cpp delete mode 100644 test/c_compiler_checks/wide_posix_api_check.c delete mode 100644 test/c_compiler_checks/wide_posix_api_check.cpp delete mode 100644 test/pathology/bad_expression_test.cpp delete mode 100644 test/pathology/recursion_test.cpp delete mode 100644 test/regress/bc55.mak delete mode 100644 test/regress/bcb4.mak delete mode 100644 test/regress/bcb5.mak delete mode 100644 test/regress/bcb6.mak delete mode 100644 test/regress/gcc.mak delete mode 100644 test/regress/parse.cpp delete mode 100644 test/regress/regex_test.cpp delete mode 100644 test/regress/regress.cpp delete mode 100644 test/regress/regress.h delete mode 100644 test/regress/sunpro.mak delete mode 100644 test/regress/test1252.txt delete mode 100644 test/regress/tests.cpp delete mode 100644 test/regress/tests.txt delete mode 100644 test/regress/v3_tests.txt delete mode 100644 test/regress/vc6-stlport.mak delete mode 100644 test/regress/vc6.mak delete mode 100644 test/regress/vc7.mak delete mode 100644 test/regress/vc71.mak delete mode 100644 test/regress/wregex_test.cpp diff --git a/build/Jamfile b/build/Jamfile deleted file mode 100644 index e137a932..00000000 --- a/build/Jamfile +++ /dev/null @@ -1,148 +0,0 @@ -# copyright John Maddock 2003 - -subproject libs/regex/build ; - -SOURCES = c_regex_traits c_regex_traits_common cpp_regex_traits - cregex fileiter posix_api regex regex_debug - regex_synch w32_regex_traits wide_posix_api instances winstances ; - -lib boost_regex : ../src/$(SOURCES).cpp - : - $(BOOST_ROOT) - BOOST_REGEX_NO_LIB=1 - BOOST_REGEX_STATIC_LINK=1 - : - debug release - ; - - -dll boost_regex : ../src/$(SOURCES).cpp - : - $(BOOST_ROOT) - BOOST_RE_BUILD_DLL=1 - dynamic - : - debug release - ; - -if $(NT) -{ - # on NT we use the name mangling scheme defined in - # boost/regex/config/regex_library_include.hpp : - - rule boost-regex-stage-tag ( toolset variant : properties * ) - { - local lib-thread-opt = s ; - if multi in $(properties) - { - lib-thread-opt = m ; - } - - local lib-rt-opt = s ; - if dynamic in $(properties) - { - lib-rt-opt = d ; - } - - local lib-debug-opt = "" ; - if [ MATCH .*(debug).* : $(variant) ] - { - lib-debug-opt = d ; - } - - local lib-toolset = $(toolset) ; - - local warning-var = regex.$(toolset)-warning-issued ; - local warning ; - - switch $(toolset) - { - - case borland : - if ! ( BORLAND_VERSION) in 4 5 6 ) - { - BORLAND_VERSION = 6 ; # chose default version - warning = "BORLAND_VERSION not set to 4, 5, or 6: staged Boost.Regex library will be named appropriately for version" $(BORLAND_VERSION) ; - } - lib-toolset = bcb$(BORLAND_VERSION) ; - - case msvc : - warning = "msvc toolset builds Boost.Regex library for vc6; use vc7 or vc7.1 toolsets for other versions" ; - lib-toolset = vc6 ; - if dynamic in $(properties) - { - lib-thread-opt = m ; - } - - - case msvc-stlport : - warning = "msvc-stlport toolset only builds Boost.Regex library for use with vc6" ; - lib-toolset = vc6-stlport ; - if debug in $(properties) - { - lib-debug-opt = dd ; - } - if dynamic in $(properties) - { - lib-thread-opt = m ; - } - case vc7 : - warning = "vc7 toolset builds Boost.Regex library for vc7.0; use msvc or vc7.1 toolsets for other versions" ; - - case vc7.1 : - warning = "vc7.1 toolset builds Boost.Regex library for vc7.1; use vc7 or msvc toolsets for other versions" ; - lib-toolset = vc71 ; - if dynamic in $(properties) - { - lib-thread-opt = m ; - } - } - - if $(warning) && ! $($(warning-var)) - { - ECHO Warning: $(warning) ; - $(warning-var) = issued ; - } - return $(properties) <$(variant)>_$(lib-toolset)_$(lib-thread-opt)$(lib-rt-opt)$(lib-debug-opt) ; - } - -} -else -{ - - # On Unix platforms we use a simplified naming scheme, - # just appending _mt for multi-threaded builds and - # _debug for debug builds. - - rule boost-regex-stage-tag ( toolset variant : properties * ) - { - local lib-thread-opt = "" ; - if multi in $(properties) - { - lib-thread-opt = _mt ; - } - - local lib-debug-opt = "" ; - if [ MATCH .*(debug).* : $(variant) ] - { - lib-debug-opt = _debug ; - } - - return $(properties) <$(variant)>$(lib-thread-opt)$(lib-debug-opt) ; - } -} - -stage bin-stage : boost_regex boost_regex - : - boost-regex-stage-tag - : - debug release - ; - - - - - - - - diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 deleted file mode 100644 index 930ca5dd..00000000 --- a/build/Jamfile.v2 +++ /dev/null @@ -1,15 +0,0 @@ - -project boost/regex - : source-location ../src - ; -SOURCES = c_regex_traits c_regex_traits_common cpp_regex_traits - cregex fileiter posix_api regex regex_debug - regex_synch w32_regex_traits wide_posix_api instances winstances ; - - -lib boost_regex : $(SOURCES).cpp - : - static:BOOST_REGEX_NO_LIB=1 - static:BOOST_REGEX_STATIC_LINK=1 - shared:BOOST_RE_BUILD_DLL=1 - ; diff --git a/build/bc_gen.sh b/build/bc_gen.sh deleted file mode 100644 index e0224452..00000000 --- a/build/bc_gen.sh +++ /dev/null @@ -1,274 +0,0 @@ -#! /bin/bash - -libname="" -src="" -header="" -all_dep="" - -# current makefile: -out="" -# temporary file: -tout="" -# install target temp file: -iout="" -# debug flag: -debug="no" -# compile options: -opts="" -# main output sub-directory: -subdir="" - -####################################################################### -# -# section for C++ Builder -# -####################################################################### - -function bcb_gen_lib() -{ - all_dep="$all_dep $subdir\\$libname $subdir\\$libname.lib" - echo " copy $subdir\\$libname.lib \$(BCROOT)\\lib" >> $iout -# -# set up section comments: - cat >> $tout << EOF -######################################################## -# -# section for $libname.lib -# -######################################################## -EOF -# -# process source files: - all_obj="" - all_lib_obj="" - for file in $src - do - obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1obj/g'` - obj="$subdir\\$libname\\$obj" - all_obj="$all_obj $obj" - all_lib_obj="$all_lib_obj -+$obj" - echo "$obj: $file \$(ALL_HEADER)" >> $tout - echo " bcc32 @&&|" >> $tout - echo "-c \$(INCLUDES) $opts \$(CXXFLAGS) -o$obj $file" >> $tout - echo "|" >> $tout - echo "" >> $tout - done -# -# now for the directories for this library: - echo "$subdir\\$libname : " >> $tout - echo " -@mkdir $subdir\\$libname" >> $tout - echo "" >> $tout -# -# now for the clean options for this library: - all_clean="$all_clean $libname""_clean" - echo "$libname"_clean : >> $tout - echo " del $subdir\\$libname\\"'*.obj' >> $tout - echo " del $subdir\\$libname\\"'*.il?' >> $tout - echo " del $subdir\\$libname\\"'*.csm' >> $tout - echo " del $subdir\\$libname\\"'*.tds' >> $tout - echo "" >> $tout -# -# now for the main target for this library: - echo $subdir\\$libname.lib : $all_obj >> $tout - echo " tlib @&&|" >> $tout - echo "/P128 /C /u /a \$(XSFLAGS) $subdir\\$libname.lib $all_lib_obj" >> $tout - echo "|" >> $tout - echo "" >> $tout -} - -function bcb_gen_dll() -{ - all_dep="$all_dep $subdir\\$libname $subdir\\$libname.lib" - echo " copy $subdir\\$libname.lib \$(BCROOT)\\lib" >> $iout - echo " copy $subdir\\$libname.dll \$(BCROOT)\\bin" >> $iout - echo " copy $subdir\\$libname.tds \$(BCROOT)\\bin" >> $iout -# -# set up section comments: - cat >> $tout << EOF -######################################################## -# -# section for $libname.lib -# -######################################################## -EOF -# -# process source files: - all_obj="" - for file in $src - do - obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1obj/g'` - obj="$subdir\\$libname\\$obj" - all_obj="$all_obj $obj" - echo "$obj: $file \$(ALL_HEADER)" >> $tout - echo " bcc32 @&&|" >> $tout - echo "-c \$(INCLUDES) $opts \$(CXXFLAGS) -o$obj $file" >> $tout - echo "|" >> $tout - echo "" >> $tout - done -# -# now for the directories for this library: - echo "$subdir\\$libname :" >> $tout - echo " -@mkdir $subdir\\$libname" >> $tout - echo "" >> $tout -# -# now for the clean options for this library: - all_clean="$all_clean $libname""_clean" - echo "$libname"_clean : >> $tout - echo " del $subdir\\$libname\\"'*.obj' >> $tout - echo " del $subdir\\$libname\\"'*.il?' >> $tout - echo " del $subdir\\$libname\\"'*.csm' >> $tout - echo " del $subdir\\$libname\\"'*.tds' >> $tout - echo " del $subdir\\"'*.tds' >> $tout - echo "" >> $tout -# -# now for the main target for this library: - echo $subdir\\$libname.lib : $all_obj >> $tout - echo " bcc32 @&&|" >> $tout - echo "-lw-dup -lw-dpl $opts -e$subdir\\$libname.dll \$(XLFLAGS) $all_obj \$(LIBS)" >> $tout - echo "|" >> $tout - echo " implib -w $subdir\\$libname.lib $subdir\\$libname.dll" >> $tout - echo "" >> $tout -} - - - -function bcb_gen() -{ - tout="temp" - iout="temp_install" - all_dep="$subdir" - all_clean="" - echo > $out - echo > $tout - rm -f $iout - - libname="libboost_regex_${subdir}_ss" - opts="-tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I\$(BCROOT)\include;../../../" - bcb_gen_lib - - libname="libboost_regex_${subdir}_ms" - opts="-tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../" - bcb_gen_lib - - libname="boost_regex_${subdir}_md" - opts="-tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;" - bcb_gen_dll - - libname="boost_regex_${subdir}_sd" - opts="-tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;" - bcb_gen_dll - - libname="libboost_regex_${subdir}_md" - opts="-tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;" - bcb_gen_lib - - libname="libboost_regex_${subdir}_sd" - opts="-tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;" - bcb_gen_lib - - if test "$has_stlport" = "yes"; then - - libname="libboost_regex_${subdir}_ssdd" - opts="-tWM- -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I\$(BCROOT)\include;../../../" - bcb_gen_lib - - libname="libboost_regex_${subdir}_msdd" - opts="-tWM -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../" - bcb_gen_lib - - libname="boost_regex_${subdir}_mddd" - opts="-tWD -tWM -tWR -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;" - bcb_gen_dll - - libname="boost_regex_${subdir}_sddd" - opts="-tWD -tWR -tWM- -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;" - bcb_gen_dll - - libname="libboost_regex_${subdir}_mddd" - opts="-tWD -tWM -tWR -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;" - bcb_gen_lib - - libname="libboost_regex_${subdir}_sddd" - opts="-tWD -tWR -tWM- -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;" - bcb_gen_lib - - fi - - cat > $out << EOF -# -# auto generated makefile for C++ Builder -# -# usage: -# make -# brings libraries up to date -# make install -# brings libraries up to date and copies binaries to your C++ Builder /lib and /bin directories (recomended) -# make clean -# removes all temporary files. - -# -# Add additional compiler options here: -# -CXXFLAGS= -# -# Add additional include directories here: -# -INCLUDES= -# -# add additional linker flags here: -# -XLFLAGS= -# -# add additional libraries to link to here: -# -LIBS= -# -# add additional static-library creation flags here: -# -XSFLAGS= - -!ifndef BCROOT -BCROOT=\$(MAKEDIR)\\.. -!endif - -EOF - echo "" >> $out - echo "ALL_HEADER=$header" >> $out - echo "" >> $out - echo "all : $all_dep" >> $out - echo >> $out - echo "clean : $all_clean" >> $out - echo >> $out - echo "install : all" >> $out - cat $iout >> $out - echo >> $out - echo $subdir : >> $out - echo " -@mkdir $subdir" >> $out - echo "" >> $out - - cat $tout >> $out -} - -. common.sh - -# -# generate C++ Builder 4 files: -out="bcb4.mak" -subdir="bcb4" -bcb_gen -# -# generate C++ Builder 5 files: -out="bcb5.mak" -subdir="bcb5" -bcb_gen -# -# generate C++ Builder 6 files: -out="bcb6.mak" -subdir="bcb6" -has_stlport="yes" -bcb_gen - - - - - diff --git a/build/bcb4.mak b/build/bcb4.mak deleted file mode 100644 index d951ab2d..00000000 --- a/build/bcb4.mak +++ /dev/null @@ -1,567 +0,0 @@ -# -# auto generated makefile for C++ Builder -# -# usage: -# make -# brings libraries up to date -# make install -# brings libraries up to date and copies binaries to your C++ Builder /lib and /bin directories (recomended) -# make clean -# removes all temporary files. - -# -# Add additional compiler options here: -# -CXXFLAGS= -# -# Add additional include directories here: -# -INCLUDES= -# -# add additional linker flags here: -# -XLFLAGS= -# -# add additional libraries to link to here: -# -LIBS= -# -# add additional static-library creation flags here: -# -XSFLAGS= - -!ifndef BCROOT -BCROOT=$(MAKEDIR)\.. -!endif - - -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/cregex.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_fwd.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp ../../../boost/regex/v3/regex_traits.hpp - -all : bcb4 bcb4\libboost_regex_bcb4_ss bcb4\libboost_regex_bcb4_ss.lib bcb4\libboost_regex_bcb4_ms bcb4\libboost_regex_bcb4_ms.lib bcb4\boost_regex_bcb4_md bcb4\boost_regex_bcb4_md.lib bcb4\boost_regex_bcb4_sd bcb4\boost_regex_bcb4_sd.lib bcb4\libboost_regex_bcb4_md bcb4\libboost_regex_bcb4_md.lib bcb4\libboost_regex_bcb4_sd bcb4\libboost_regex_bcb4_sd.lib - -clean : libboost_regex_bcb4_ss_clean libboost_regex_bcb4_ms_clean boost_regex_bcb4_md_clean boost_regex_bcb4_sd_clean libboost_regex_bcb4_md_clean libboost_regex_bcb4_sd_clean - -install : all - copy bcb4\libboost_regex_bcb4_ss.lib $(BCROOT)\lib - copy bcb4\libboost_regex_bcb4_ms.lib $(BCROOT)\lib - copy bcb4\boost_regex_bcb4_md.lib $(BCROOT)\lib - copy bcb4\boost_regex_bcb4_md.dll $(BCROOT)\bin - copy bcb4\boost_regex_bcb4_md.tds $(BCROOT)\bin - copy bcb4\boost_regex_bcb4_sd.lib $(BCROOT)\lib - copy bcb4\boost_regex_bcb4_sd.dll $(BCROOT)\bin - copy bcb4\boost_regex_bcb4_sd.tds $(BCROOT)\bin - copy bcb4\libboost_regex_bcb4_md.lib $(BCROOT)\lib - copy bcb4\libboost_regex_bcb4_sd.lib $(BCROOT)\lib - -bcb4 : - -@mkdir bcb4 - - -######################################################## -# -# section for libboost_regex_bcb4_ss.lib -# -######################################################## -bcb4\libboost_regex_bcb4_ss\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ss\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb4\libboost_regex_bcb4_ss\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ss\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb4\libboost_regex_bcb4_ss\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ss\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb4\libboost_regex_bcb4_ss\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ss\cregex.obj ../src/cregex.cpp -| - -bcb4\libboost_regex_bcb4_ss\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ss\fileiter.obj ../src/fileiter.cpp -| - -bcb4\libboost_regex_bcb4_ss\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ss\instances.obj ../src/instances.cpp -| - -bcb4\libboost_regex_bcb4_ss\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ss\posix_api.obj ../src/posix_api.cpp -| - -bcb4\libboost_regex_bcb4_ss\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ss\regex.obj ../src/regex.cpp -| - -bcb4\libboost_regex_bcb4_ss\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ss\regex_debug.obj ../src/regex_debug.cpp -| - -bcb4\libboost_regex_bcb4_ss\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ss\regex_synch.obj ../src/regex_synch.cpp -| - -bcb4\libboost_regex_bcb4_ss\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ss\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb4\libboost_regex_bcb4_ss\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ss\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb4\libboost_regex_bcb4_ss\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ss\winstances.obj ../src/winstances.cpp -| - -bcb4\libboost_regex_bcb4_ss : - -@mkdir bcb4\libboost_regex_bcb4_ss - -libboost_regex_bcb4_ss_clean : - del bcb4\libboost_regex_bcb4_ss\*.obj - del bcb4\libboost_regex_bcb4_ss\*.il? - del bcb4\libboost_regex_bcb4_ss\*.csm - del bcb4\libboost_regex_bcb4_ss\*.tds - -bcb4\libboost_regex_bcb4_ss.lib : bcb4\libboost_regex_bcb4_ss\c_regex_traits.obj bcb4\libboost_regex_bcb4_ss\c_regex_traits_common.obj bcb4\libboost_regex_bcb4_ss\cpp_regex_traits.obj bcb4\libboost_regex_bcb4_ss\cregex.obj bcb4\libboost_regex_bcb4_ss\fileiter.obj bcb4\libboost_regex_bcb4_ss\instances.obj bcb4\libboost_regex_bcb4_ss\posix_api.obj bcb4\libboost_regex_bcb4_ss\regex.obj bcb4\libboost_regex_bcb4_ss\regex_debug.obj bcb4\libboost_regex_bcb4_ss\regex_synch.obj bcb4\libboost_regex_bcb4_ss\w32_regex_traits.obj bcb4\libboost_regex_bcb4_ss\wide_posix_api.obj bcb4\libboost_regex_bcb4_ss\winstances.obj - tlib @&&| -/P128 /C /u /a $(XSFLAGS) bcb4\libboost_regex_bcb4_ss.lib -+bcb4\libboost_regex_bcb4_ss\c_regex_traits.obj -+bcb4\libboost_regex_bcb4_ss\c_regex_traits_common.obj -+bcb4\libboost_regex_bcb4_ss\cpp_regex_traits.obj -+bcb4\libboost_regex_bcb4_ss\cregex.obj -+bcb4\libboost_regex_bcb4_ss\fileiter.obj -+bcb4\libboost_regex_bcb4_ss\instances.obj -+bcb4\libboost_regex_bcb4_ss\posix_api.obj -+bcb4\libboost_regex_bcb4_ss\regex.obj -+bcb4\libboost_regex_bcb4_ss\regex_debug.obj -+bcb4\libboost_regex_bcb4_ss\regex_synch.obj -+bcb4\libboost_regex_bcb4_ss\w32_regex_traits.obj -+bcb4\libboost_regex_bcb4_ss\wide_posix_api.obj -+bcb4\libboost_regex_bcb4_ss\winstances.obj -| - -######################################################## -# -# section for libboost_regex_bcb4_ms.lib -# -######################################################## -bcb4\libboost_regex_bcb4_ms\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ms\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb4\libboost_regex_bcb4_ms\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ms\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb4\libboost_regex_bcb4_ms\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ms\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb4\libboost_regex_bcb4_ms\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ms\cregex.obj ../src/cregex.cpp -| - -bcb4\libboost_regex_bcb4_ms\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ms\fileiter.obj ../src/fileiter.cpp -| - -bcb4\libboost_regex_bcb4_ms\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ms\instances.obj ../src/instances.cpp -| - -bcb4\libboost_regex_bcb4_ms\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ms\posix_api.obj ../src/posix_api.cpp -| - -bcb4\libboost_regex_bcb4_ms\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ms\regex.obj ../src/regex.cpp -| - -bcb4\libboost_regex_bcb4_ms\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ms\regex_debug.obj ../src/regex_debug.cpp -| - -bcb4\libboost_regex_bcb4_ms\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ms\regex_synch.obj ../src/regex_synch.cpp -| - -bcb4\libboost_regex_bcb4_ms\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ms\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb4\libboost_regex_bcb4_ms\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ms\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb4\libboost_regex_bcb4_ms\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb4\libboost_regex_bcb4_ms\winstances.obj ../src/winstances.cpp -| - -bcb4\libboost_regex_bcb4_ms : - -@mkdir bcb4\libboost_regex_bcb4_ms - -libboost_regex_bcb4_ms_clean : - del bcb4\libboost_regex_bcb4_ms\*.obj - del bcb4\libboost_regex_bcb4_ms\*.il? - del bcb4\libboost_regex_bcb4_ms\*.csm - del bcb4\libboost_regex_bcb4_ms\*.tds - -bcb4\libboost_regex_bcb4_ms.lib : bcb4\libboost_regex_bcb4_ms\c_regex_traits.obj bcb4\libboost_regex_bcb4_ms\c_regex_traits_common.obj bcb4\libboost_regex_bcb4_ms\cpp_regex_traits.obj bcb4\libboost_regex_bcb4_ms\cregex.obj bcb4\libboost_regex_bcb4_ms\fileiter.obj bcb4\libboost_regex_bcb4_ms\instances.obj bcb4\libboost_regex_bcb4_ms\posix_api.obj bcb4\libboost_regex_bcb4_ms\regex.obj bcb4\libboost_regex_bcb4_ms\regex_debug.obj bcb4\libboost_regex_bcb4_ms\regex_synch.obj bcb4\libboost_regex_bcb4_ms\w32_regex_traits.obj bcb4\libboost_regex_bcb4_ms\wide_posix_api.obj bcb4\libboost_regex_bcb4_ms\winstances.obj - tlib @&&| -/P128 /C /u /a $(XSFLAGS) bcb4\libboost_regex_bcb4_ms.lib -+bcb4\libboost_regex_bcb4_ms\c_regex_traits.obj -+bcb4\libboost_regex_bcb4_ms\c_regex_traits_common.obj -+bcb4\libboost_regex_bcb4_ms\cpp_regex_traits.obj -+bcb4\libboost_regex_bcb4_ms\cregex.obj -+bcb4\libboost_regex_bcb4_ms\fileiter.obj -+bcb4\libboost_regex_bcb4_ms\instances.obj -+bcb4\libboost_regex_bcb4_ms\posix_api.obj -+bcb4\libboost_regex_bcb4_ms\regex.obj -+bcb4\libboost_regex_bcb4_ms\regex_debug.obj -+bcb4\libboost_regex_bcb4_ms\regex_synch.obj -+bcb4\libboost_regex_bcb4_ms\w32_regex_traits.obj -+bcb4\libboost_regex_bcb4_ms\wide_posix_api.obj -+bcb4\libboost_regex_bcb4_ms\winstances.obj -| - -######################################################## -# -# section for boost_regex_bcb4_md.lib -# -######################################################## -bcb4\boost_regex_bcb4_md\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_md\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb4\boost_regex_bcb4_md\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_md\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb4\boost_regex_bcb4_md\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_md\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb4\boost_regex_bcb4_md\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_md\cregex.obj ../src/cregex.cpp -| - -bcb4\boost_regex_bcb4_md\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_md\fileiter.obj ../src/fileiter.cpp -| - -bcb4\boost_regex_bcb4_md\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_md\instances.obj ../src/instances.cpp -| - -bcb4\boost_regex_bcb4_md\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_md\posix_api.obj ../src/posix_api.cpp -| - -bcb4\boost_regex_bcb4_md\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_md\regex.obj ../src/regex.cpp -| - -bcb4\boost_regex_bcb4_md\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_md\regex_debug.obj ../src/regex_debug.cpp -| - -bcb4\boost_regex_bcb4_md\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_md\regex_synch.obj ../src/regex_synch.cpp -| - -bcb4\boost_regex_bcb4_md\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_md\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb4\boost_regex_bcb4_md\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_md\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb4\boost_regex_bcb4_md\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_md\winstances.obj ../src/winstances.cpp -| - -bcb4\boost_regex_bcb4_md : - -@mkdir bcb4\boost_regex_bcb4_md - -boost_regex_bcb4_md_clean : - del bcb4\boost_regex_bcb4_md\*.obj - del bcb4\boost_regex_bcb4_md\*.il? - del bcb4\boost_regex_bcb4_md\*.csm - del bcb4\boost_regex_bcb4_md\*.tds - del bcb4\*.tds - -bcb4\boost_regex_bcb4_md.lib : bcb4\boost_regex_bcb4_md\c_regex_traits.obj bcb4\boost_regex_bcb4_md\c_regex_traits_common.obj bcb4\boost_regex_bcb4_md\cpp_regex_traits.obj bcb4\boost_regex_bcb4_md\cregex.obj bcb4\boost_regex_bcb4_md\fileiter.obj bcb4\boost_regex_bcb4_md\instances.obj bcb4\boost_regex_bcb4_md\posix_api.obj bcb4\boost_regex_bcb4_md\regex.obj bcb4\boost_regex_bcb4_md\regex_debug.obj bcb4\boost_regex_bcb4_md\regex_synch.obj bcb4\boost_regex_bcb4_md\w32_regex_traits.obj bcb4\boost_regex_bcb4_md\wide_posix_api.obj bcb4\boost_regex_bcb4_md\winstances.obj - bcc32 @&&| --lw-dup -lw-dpl -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -ebcb4\boost_regex_bcb4_md.dll $(XLFLAGS) bcb4\boost_regex_bcb4_md\c_regex_traits.obj bcb4\boost_regex_bcb4_md\c_regex_traits_common.obj bcb4\boost_regex_bcb4_md\cpp_regex_traits.obj bcb4\boost_regex_bcb4_md\cregex.obj bcb4\boost_regex_bcb4_md\fileiter.obj bcb4\boost_regex_bcb4_md\instances.obj bcb4\boost_regex_bcb4_md\posix_api.obj bcb4\boost_regex_bcb4_md\regex.obj bcb4\boost_regex_bcb4_md\regex_debug.obj bcb4\boost_regex_bcb4_md\regex_synch.obj bcb4\boost_regex_bcb4_md\w32_regex_traits.obj bcb4\boost_regex_bcb4_md\wide_posix_api.obj bcb4\boost_regex_bcb4_md\winstances.obj $(LIBS) -| - implib -w bcb4\boost_regex_bcb4_md.lib bcb4\boost_regex_bcb4_md.dll - -######################################################## -# -# section for boost_regex_bcb4_sd.lib -# -######################################################## -bcb4\boost_regex_bcb4_sd\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_sd\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb4\boost_regex_bcb4_sd\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_sd\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb4\boost_regex_bcb4_sd\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_sd\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb4\boost_regex_bcb4_sd\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_sd\cregex.obj ../src/cregex.cpp -| - -bcb4\boost_regex_bcb4_sd\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_sd\fileiter.obj ../src/fileiter.cpp -| - -bcb4\boost_regex_bcb4_sd\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_sd\instances.obj ../src/instances.cpp -| - -bcb4\boost_regex_bcb4_sd\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_sd\posix_api.obj ../src/posix_api.cpp -| - -bcb4\boost_regex_bcb4_sd\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_sd\regex.obj ../src/regex.cpp -| - -bcb4\boost_regex_bcb4_sd\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_sd\regex_debug.obj ../src/regex_debug.cpp -| - -bcb4\boost_regex_bcb4_sd\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_sd\regex_synch.obj ../src/regex_synch.cpp -| - -bcb4\boost_regex_bcb4_sd\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_sd\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb4\boost_regex_bcb4_sd\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_sd\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb4\boost_regex_bcb4_sd\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\boost_regex_bcb4_sd\winstances.obj ../src/winstances.cpp -| - -bcb4\boost_regex_bcb4_sd : - -@mkdir bcb4\boost_regex_bcb4_sd - -boost_regex_bcb4_sd_clean : - del bcb4\boost_regex_bcb4_sd\*.obj - del bcb4\boost_regex_bcb4_sd\*.il? - del bcb4\boost_regex_bcb4_sd\*.csm - del bcb4\boost_regex_bcb4_sd\*.tds - del bcb4\*.tds - -bcb4\boost_regex_bcb4_sd.lib : bcb4\boost_regex_bcb4_sd\c_regex_traits.obj bcb4\boost_regex_bcb4_sd\c_regex_traits_common.obj bcb4\boost_regex_bcb4_sd\cpp_regex_traits.obj bcb4\boost_regex_bcb4_sd\cregex.obj bcb4\boost_regex_bcb4_sd\fileiter.obj bcb4\boost_regex_bcb4_sd\instances.obj bcb4\boost_regex_bcb4_sd\posix_api.obj bcb4\boost_regex_bcb4_sd\regex.obj bcb4\boost_regex_bcb4_sd\regex_debug.obj bcb4\boost_regex_bcb4_sd\regex_synch.obj bcb4\boost_regex_bcb4_sd\w32_regex_traits.obj bcb4\boost_regex_bcb4_sd\wide_posix_api.obj bcb4\boost_regex_bcb4_sd\winstances.obj - bcc32 @&&| --lw-dup -lw-dpl -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -ebcb4\boost_regex_bcb4_sd.dll $(XLFLAGS) bcb4\boost_regex_bcb4_sd\c_regex_traits.obj bcb4\boost_regex_bcb4_sd\c_regex_traits_common.obj bcb4\boost_regex_bcb4_sd\cpp_regex_traits.obj bcb4\boost_regex_bcb4_sd\cregex.obj bcb4\boost_regex_bcb4_sd\fileiter.obj bcb4\boost_regex_bcb4_sd\instances.obj bcb4\boost_regex_bcb4_sd\posix_api.obj bcb4\boost_regex_bcb4_sd\regex.obj bcb4\boost_regex_bcb4_sd\regex_debug.obj bcb4\boost_regex_bcb4_sd\regex_synch.obj bcb4\boost_regex_bcb4_sd\w32_regex_traits.obj bcb4\boost_regex_bcb4_sd\wide_posix_api.obj bcb4\boost_regex_bcb4_sd\winstances.obj $(LIBS) -| - implib -w bcb4\boost_regex_bcb4_sd.lib bcb4\boost_regex_bcb4_sd.dll - -######################################################## -# -# section for libboost_regex_bcb4_md.lib -# -######################################################## -bcb4\libboost_regex_bcb4_md\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_md\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb4\libboost_regex_bcb4_md\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_md\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb4\libboost_regex_bcb4_md\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_md\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb4\libboost_regex_bcb4_md\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_md\cregex.obj ../src/cregex.cpp -| - -bcb4\libboost_regex_bcb4_md\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_md\fileiter.obj ../src/fileiter.cpp -| - -bcb4\libboost_regex_bcb4_md\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_md\instances.obj ../src/instances.cpp -| - -bcb4\libboost_regex_bcb4_md\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_md\posix_api.obj ../src/posix_api.cpp -| - -bcb4\libboost_regex_bcb4_md\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_md\regex.obj ../src/regex.cpp -| - -bcb4\libboost_regex_bcb4_md\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_md\regex_debug.obj ../src/regex_debug.cpp -| - -bcb4\libboost_regex_bcb4_md\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_md\regex_synch.obj ../src/regex_synch.cpp -| - -bcb4\libboost_regex_bcb4_md\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_md\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb4\libboost_regex_bcb4_md\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_md\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb4\libboost_regex_bcb4_md\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_md\winstances.obj ../src/winstances.cpp -| - -bcb4\libboost_regex_bcb4_md : - -@mkdir bcb4\libboost_regex_bcb4_md - -libboost_regex_bcb4_md_clean : - del bcb4\libboost_regex_bcb4_md\*.obj - del bcb4\libboost_regex_bcb4_md\*.il? - del bcb4\libboost_regex_bcb4_md\*.csm - del bcb4\libboost_regex_bcb4_md\*.tds - -bcb4\libboost_regex_bcb4_md.lib : bcb4\libboost_regex_bcb4_md\c_regex_traits.obj bcb4\libboost_regex_bcb4_md\c_regex_traits_common.obj bcb4\libboost_regex_bcb4_md\cpp_regex_traits.obj bcb4\libboost_regex_bcb4_md\cregex.obj bcb4\libboost_regex_bcb4_md\fileiter.obj bcb4\libboost_regex_bcb4_md\instances.obj bcb4\libboost_regex_bcb4_md\posix_api.obj bcb4\libboost_regex_bcb4_md\regex.obj bcb4\libboost_regex_bcb4_md\regex_debug.obj bcb4\libboost_regex_bcb4_md\regex_synch.obj bcb4\libboost_regex_bcb4_md\w32_regex_traits.obj bcb4\libboost_regex_bcb4_md\wide_posix_api.obj bcb4\libboost_regex_bcb4_md\winstances.obj - tlib @&&| -/P128 /C /u /a $(XSFLAGS) bcb4\libboost_regex_bcb4_md.lib -+bcb4\libboost_regex_bcb4_md\c_regex_traits.obj -+bcb4\libboost_regex_bcb4_md\c_regex_traits_common.obj -+bcb4\libboost_regex_bcb4_md\cpp_regex_traits.obj -+bcb4\libboost_regex_bcb4_md\cregex.obj -+bcb4\libboost_regex_bcb4_md\fileiter.obj -+bcb4\libboost_regex_bcb4_md\instances.obj -+bcb4\libboost_regex_bcb4_md\posix_api.obj -+bcb4\libboost_regex_bcb4_md\regex.obj -+bcb4\libboost_regex_bcb4_md\regex_debug.obj -+bcb4\libboost_regex_bcb4_md\regex_synch.obj -+bcb4\libboost_regex_bcb4_md\w32_regex_traits.obj -+bcb4\libboost_regex_bcb4_md\wide_posix_api.obj -+bcb4\libboost_regex_bcb4_md\winstances.obj -| - -######################################################## -# -# section for libboost_regex_bcb4_sd.lib -# -######################################################## -bcb4\libboost_regex_bcb4_sd\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_sd\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb4\libboost_regex_bcb4_sd\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_sd\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb4\libboost_regex_bcb4_sd\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_sd\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb4\libboost_regex_bcb4_sd\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_sd\cregex.obj ../src/cregex.cpp -| - -bcb4\libboost_regex_bcb4_sd\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_sd\fileiter.obj ../src/fileiter.cpp -| - -bcb4\libboost_regex_bcb4_sd\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_sd\instances.obj ../src/instances.cpp -| - -bcb4\libboost_regex_bcb4_sd\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_sd\posix_api.obj ../src/posix_api.cpp -| - -bcb4\libboost_regex_bcb4_sd\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_sd\regex.obj ../src/regex.cpp -| - -bcb4\libboost_regex_bcb4_sd\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_sd\regex_debug.obj ../src/regex_debug.cpp -| - -bcb4\libboost_regex_bcb4_sd\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_sd\regex_synch.obj ../src/regex_synch.cpp -| - -bcb4\libboost_regex_bcb4_sd\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_sd\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb4\libboost_regex_bcb4_sd\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_sd\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb4\libboost_regex_bcb4_sd\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb4\libboost_regex_bcb4_sd\winstances.obj ../src/winstances.cpp -| - -bcb4\libboost_regex_bcb4_sd : - -@mkdir bcb4\libboost_regex_bcb4_sd - -libboost_regex_bcb4_sd_clean : - del bcb4\libboost_regex_bcb4_sd\*.obj - del bcb4\libboost_regex_bcb4_sd\*.il? - del bcb4\libboost_regex_bcb4_sd\*.csm - del bcb4\libboost_regex_bcb4_sd\*.tds - -bcb4\libboost_regex_bcb4_sd.lib : bcb4\libboost_regex_bcb4_sd\c_regex_traits.obj bcb4\libboost_regex_bcb4_sd\c_regex_traits_common.obj bcb4\libboost_regex_bcb4_sd\cpp_regex_traits.obj bcb4\libboost_regex_bcb4_sd\cregex.obj bcb4\libboost_regex_bcb4_sd\fileiter.obj bcb4\libboost_regex_bcb4_sd\instances.obj bcb4\libboost_regex_bcb4_sd\posix_api.obj bcb4\libboost_regex_bcb4_sd\regex.obj bcb4\libboost_regex_bcb4_sd\regex_debug.obj bcb4\libboost_regex_bcb4_sd\regex_synch.obj bcb4\libboost_regex_bcb4_sd\w32_regex_traits.obj bcb4\libboost_regex_bcb4_sd\wide_posix_api.obj bcb4\libboost_regex_bcb4_sd\winstances.obj - tlib @&&| -/P128 /C /u /a $(XSFLAGS) bcb4\libboost_regex_bcb4_sd.lib -+bcb4\libboost_regex_bcb4_sd\c_regex_traits.obj -+bcb4\libboost_regex_bcb4_sd\c_regex_traits_common.obj -+bcb4\libboost_regex_bcb4_sd\cpp_regex_traits.obj -+bcb4\libboost_regex_bcb4_sd\cregex.obj -+bcb4\libboost_regex_bcb4_sd\fileiter.obj -+bcb4\libboost_regex_bcb4_sd\instances.obj -+bcb4\libboost_regex_bcb4_sd\posix_api.obj -+bcb4\libboost_regex_bcb4_sd\regex.obj -+bcb4\libboost_regex_bcb4_sd\regex_debug.obj -+bcb4\libboost_regex_bcb4_sd\regex_synch.obj -+bcb4\libboost_regex_bcb4_sd\w32_regex_traits.obj -+bcb4\libboost_regex_bcb4_sd\wide_posix_api.obj -+bcb4\libboost_regex_bcb4_sd\winstances.obj -| - diff --git a/build/bcb5.mak b/build/bcb5.mak deleted file mode 100644 index e92c9291..00000000 --- a/build/bcb5.mak +++ /dev/null @@ -1,567 +0,0 @@ -# -# auto generated makefile for C++ Builder -# -# usage: -# make -# brings libraries up to date -# make install -# brings libraries up to date and copies binaries to your C++ Builder /lib and /bin directories (recomended) -# make clean -# removes all temporary files. - -# -# Add additional compiler options here: -# -CXXFLAGS= -# -# Add additional include directories here: -# -INCLUDES= -# -# add additional linker flags here: -# -XLFLAGS= -# -# add additional libraries to link to here: -# -LIBS= -# -# add additional static-library creation flags here: -# -XSFLAGS= - -!ifndef BCROOT -BCROOT=$(MAKEDIR)\.. -!endif - - -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/cregex.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_fwd.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp ../../../boost/regex/v3/regex_traits.hpp - -all : bcb5 bcb5\libboost_regex_bcb5_ss bcb5\libboost_regex_bcb5_ss.lib bcb5\libboost_regex_bcb5_ms bcb5\libboost_regex_bcb5_ms.lib bcb5\boost_regex_bcb5_md bcb5\boost_regex_bcb5_md.lib bcb5\boost_regex_bcb5_sd bcb5\boost_regex_bcb5_sd.lib bcb5\libboost_regex_bcb5_md bcb5\libboost_regex_bcb5_md.lib bcb5\libboost_regex_bcb5_sd bcb5\libboost_regex_bcb5_sd.lib - -clean : libboost_regex_bcb5_ss_clean libboost_regex_bcb5_ms_clean boost_regex_bcb5_md_clean boost_regex_bcb5_sd_clean libboost_regex_bcb5_md_clean libboost_regex_bcb5_sd_clean - -install : all - copy bcb5\libboost_regex_bcb5_ss.lib $(BCROOT)\lib - copy bcb5\libboost_regex_bcb5_ms.lib $(BCROOT)\lib - copy bcb5\boost_regex_bcb5_md.lib $(BCROOT)\lib - copy bcb5\boost_regex_bcb5_md.dll $(BCROOT)\bin - copy bcb5\boost_regex_bcb5_md.tds $(BCROOT)\bin - copy bcb5\boost_regex_bcb5_sd.lib $(BCROOT)\lib - copy bcb5\boost_regex_bcb5_sd.dll $(BCROOT)\bin - copy bcb5\boost_regex_bcb5_sd.tds $(BCROOT)\bin - copy bcb5\libboost_regex_bcb5_md.lib $(BCROOT)\lib - copy bcb5\libboost_regex_bcb5_sd.lib $(BCROOT)\lib - -bcb5 : - -@mkdir bcb5 - - -######################################################## -# -# section for libboost_regex_bcb5_ss.lib -# -######################################################## -bcb5\libboost_regex_bcb5_ss\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ss\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb5\libboost_regex_bcb5_ss\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ss\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb5\libboost_regex_bcb5_ss\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ss\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb5\libboost_regex_bcb5_ss\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ss\cregex.obj ../src/cregex.cpp -| - -bcb5\libboost_regex_bcb5_ss\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ss\fileiter.obj ../src/fileiter.cpp -| - -bcb5\libboost_regex_bcb5_ss\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ss\instances.obj ../src/instances.cpp -| - -bcb5\libboost_regex_bcb5_ss\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ss\posix_api.obj ../src/posix_api.cpp -| - -bcb5\libboost_regex_bcb5_ss\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ss\regex.obj ../src/regex.cpp -| - -bcb5\libboost_regex_bcb5_ss\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ss\regex_debug.obj ../src/regex_debug.cpp -| - -bcb5\libboost_regex_bcb5_ss\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ss\regex_synch.obj ../src/regex_synch.cpp -| - -bcb5\libboost_regex_bcb5_ss\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ss\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb5\libboost_regex_bcb5_ss\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ss\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb5\libboost_regex_bcb5_ss\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ss\winstances.obj ../src/winstances.cpp -| - -bcb5\libboost_regex_bcb5_ss : - -@mkdir bcb5\libboost_regex_bcb5_ss - -libboost_regex_bcb5_ss_clean : - del bcb5\libboost_regex_bcb5_ss\*.obj - del bcb5\libboost_regex_bcb5_ss\*.il? - del bcb5\libboost_regex_bcb5_ss\*.csm - del bcb5\libboost_regex_bcb5_ss\*.tds - -bcb5\libboost_regex_bcb5_ss.lib : bcb5\libboost_regex_bcb5_ss\c_regex_traits.obj bcb5\libboost_regex_bcb5_ss\c_regex_traits_common.obj bcb5\libboost_regex_bcb5_ss\cpp_regex_traits.obj bcb5\libboost_regex_bcb5_ss\cregex.obj bcb5\libboost_regex_bcb5_ss\fileiter.obj bcb5\libboost_regex_bcb5_ss\instances.obj bcb5\libboost_regex_bcb5_ss\posix_api.obj bcb5\libboost_regex_bcb5_ss\regex.obj bcb5\libboost_regex_bcb5_ss\regex_debug.obj bcb5\libboost_regex_bcb5_ss\regex_synch.obj bcb5\libboost_regex_bcb5_ss\w32_regex_traits.obj bcb5\libboost_regex_bcb5_ss\wide_posix_api.obj bcb5\libboost_regex_bcb5_ss\winstances.obj - tlib @&&| -/P128 /C /u /a $(XSFLAGS) bcb5\libboost_regex_bcb5_ss.lib -+bcb5\libboost_regex_bcb5_ss\c_regex_traits.obj -+bcb5\libboost_regex_bcb5_ss\c_regex_traits_common.obj -+bcb5\libboost_regex_bcb5_ss\cpp_regex_traits.obj -+bcb5\libboost_regex_bcb5_ss\cregex.obj -+bcb5\libboost_regex_bcb5_ss\fileiter.obj -+bcb5\libboost_regex_bcb5_ss\instances.obj -+bcb5\libboost_regex_bcb5_ss\posix_api.obj -+bcb5\libboost_regex_bcb5_ss\regex.obj -+bcb5\libboost_regex_bcb5_ss\regex_debug.obj -+bcb5\libboost_regex_bcb5_ss\regex_synch.obj -+bcb5\libboost_regex_bcb5_ss\w32_regex_traits.obj -+bcb5\libboost_regex_bcb5_ss\wide_posix_api.obj -+bcb5\libboost_regex_bcb5_ss\winstances.obj -| - -######################################################## -# -# section for libboost_regex_bcb5_ms.lib -# -######################################################## -bcb5\libboost_regex_bcb5_ms\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ms\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb5\libboost_regex_bcb5_ms\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ms\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb5\libboost_regex_bcb5_ms\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ms\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb5\libboost_regex_bcb5_ms\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ms\cregex.obj ../src/cregex.cpp -| - -bcb5\libboost_regex_bcb5_ms\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ms\fileiter.obj ../src/fileiter.cpp -| - -bcb5\libboost_regex_bcb5_ms\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ms\instances.obj ../src/instances.cpp -| - -bcb5\libboost_regex_bcb5_ms\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ms\posix_api.obj ../src/posix_api.cpp -| - -bcb5\libboost_regex_bcb5_ms\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ms\regex.obj ../src/regex.cpp -| - -bcb5\libboost_regex_bcb5_ms\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ms\regex_debug.obj ../src/regex_debug.cpp -| - -bcb5\libboost_regex_bcb5_ms\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ms\regex_synch.obj ../src/regex_synch.cpp -| - -bcb5\libboost_regex_bcb5_ms\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ms\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb5\libboost_regex_bcb5_ms\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ms\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb5\libboost_regex_bcb5_ms\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb5\libboost_regex_bcb5_ms\winstances.obj ../src/winstances.cpp -| - -bcb5\libboost_regex_bcb5_ms : - -@mkdir bcb5\libboost_regex_bcb5_ms - -libboost_regex_bcb5_ms_clean : - del bcb5\libboost_regex_bcb5_ms\*.obj - del bcb5\libboost_regex_bcb5_ms\*.il? - del bcb5\libboost_regex_bcb5_ms\*.csm - del bcb5\libboost_regex_bcb5_ms\*.tds - -bcb5\libboost_regex_bcb5_ms.lib : bcb5\libboost_regex_bcb5_ms\c_regex_traits.obj bcb5\libboost_regex_bcb5_ms\c_regex_traits_common.obj bcb5\libboost_regex_bcb5_ms\cpp_regex_traits.obj bcb5\libboost_regex_bcb5_ms\cregex.obj bcb5\libboost_regex_bcb5_ms\fileiter.obj bcb5\libboost_regex_bcb5_ms\instances.obj bcb5\libboost_regex_bcb5_ms\posix_api.obj bcb5\libboost_regex_bcb5_ms\regex.obj bcb5\libboost_regex_bcb5_ms\regex_debug.obj bcb5\libboost_regex_bcb5_ms\regex_synch.obj bcb5\libboost_regex_bcb5_ms\w32_regex_traits.obj bcb5\libboost_regex_bcb5_ms\wide_posix_api.obj bcb5\libboost_regex_bcb5_ms\winstances.obj - tlib @&&| -/P128 /C /u /a $(XSFLAGS) bcb5\libboost_regex_bcb5_ms.lib -+bcb5\libboost_regex_bcb5_ms\c_regex_traits.obj -+bcb5\libboost_regex_bcb5_ms\c_regex_traits_common.obj -+bcb5\libboost_regex_bcb5_ms\cpp_regex_traits.obj -+bcb5\libboost_regex_bcb5_ms\cregex.obj -+bcb5\libboost_regex_bcb5_ms\fileiter.obj -+bcb5\libboost_regex_bcb5_ms\instances.obj -+bcb5\libboost_regex_bcb5_ms\posix_api.obj -+bcb5\libboost_regex_bcb5_ms\regex.obj -+bcb5\libboost_regex_bcb5_ms\regex_debug.obj -+bcb5\libboost_regex_bcb5_ms\regex_synch.obj -+bcb5\libboost_regex_bcb5_ms\w32_regex_traits.obj -+bcb5\libboost_regex_bcb5_ms\wide_posix_api.obj -+bcb5\libboost_regex_bcb5_ms\winstances.obj -| - -######################################################## -# -# section for boost_regex_bcb5_md.lib -# -######################################################## -bcb5\boost_regex_bcb5_md\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_md\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb5\boost_regex_bcb5_md\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_md\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb5\boost_regex_bcb5_md\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_md\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb5\boost_regex_bcb5_md\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_md\cregex.obj ../src/cregex.cpp -| - -bcb5\boost_regex_bcb5_md\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_md\fileiter.obj ../src/fileiter.cpp -| - -bcb5\boost_regex_bcb5_md\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_md\instances.obj ../src/instances.cpp -| - -bcb5\boost_regex_bcb5_md\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_md\posix_api.obj ../src/posix_api.cpp -| - -bcb5\boost_regex_bcb5_md\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_md\regex.obj ../src/regex.cpp -| - -bcb5\boost_regex_bcb5_md\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_md\regex_debug.obj ../src/regex_debug.cpp -| - -bcb5\boost_regex_bcb5_md\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_md\regex_synch.obj ../src/regex_synch.cpp -| - -bcb5\boost_regex_bcb5_md\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_md\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb5\boost_regex_bcb5_md\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_md\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb5\boost_regex_bcb5_md\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_md\winstances.obj ../src/winstances.cpp -| - -bcb5\boost_regex_bcb5_md : - -@mkdir bcb5\boost_regex_bcb5_md - -boost_regex_bcb5_md_clean : - del bcb5\boost_regex_bcb5_md\*.obj - del bcb5\boost_regex_bcb5_md\*.il? - del bcb5\boost_regex_bcb5_md\*.csm - del bcb5\boost_regex_bcb5_md\*.tds - del bcb5\*.tds - -bcb5\boost_regex_bcb5_md.lib : bcb5\boost_regex_bcb5_md\c_regex_traits.obj bcb5\boost_regex_bcb5_md\c_regex_traits_common.obj bcb5\boost_regex_bcb5_md\cpp_regex_traits.obj bcb5\boost_regex_bcb5_md\cregex.obj bcb5\boost_regex_bcb5_md\fileiter.obj bcb5\boost_regex_bcb5_md\instances.obj bcb5\boost_regex_bcb5_md\posix_api.obj bcb5\boost_regex_bcb5_md\regex.obj bcb5\boost_regex_bcb5_md\regex_debug.obj bcb5\boost_regex_bcb5_md\regex_synch.obj bcb5\boost_regex_bcb5_md\w32_regex_traits.obj bcb5\boost_regex_bcb5_md\wide_posix_api.obj bcb5\boost_regex_bcb5_md\winstances.obj - bcc32 @&&| --lw-dup -lw-dpl -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -ebcb5\boost_regex_bcb5_md.dll $(XLFLAGS) bcb5\boost_regex_bcb5_md\c_regex_traits.obj bcb5\boost_regex_bcb5_md\c_regex_traits_common.obj bcb5\boost_regex_bcb5_md\cpp_regex_traits.obj bcb5\boost_regex_bcb5_md\cregex.obj bcb5\boost_regex_bcb5_md\fileiter.obj bcb5\boost_regex_bcb5_md\instances.obj bcb5\boost_regex_bcb5_md\posix_api.obj bcb5\boost_regex_bcb5_md\regex.obj bcb5\boost_regex_bcb5_md\regex_debug.obj bcb5\boost_regex_bcb5_md\regex_synch.obj bcb5\boost_regex_bcb5_md\w32_regex_traits.obj bcb5\boost_regex_bcb5_md\wide_posix_api.obj bcb5\boost_regex_bcb5_md\winstances.obj $(LIBS) -| - implib -w bcb5\boost_regex_bcb5_md.lib bcb5\boost_regex_bcb5_md.dll - -######################################################## -# -# section for boost_regex_bcb5_sd.lib -# -######################################################## -bcb5\boost_regex_bcb5_sd\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_sd\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb5\boost_regex_bcb5_sd\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_sd\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb5\boost_regex_bcb5_sd\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_sd\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb5\boost_regex_bcb5_sd\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_sd\cregex.obj ../src/cregex.cpp -| - -bcb5\boost_regex_bcb5_sd\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_sd\fileiter.obj ../src/fileiter.cpp -| - -bcb5\boost_regex_bcb5_sd\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_sd\instances.obj ../src/instances.cpp -| - -bcb5\boost_regex_bcb5_sd\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_sd\posix_api.obj ../src/posix_api.cpp -| - -bcb5\boost_regex_bcb5_sd\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_sd\regex.obj ../src/regex.cpp -| - -bcb5\boost_regex_bcb5_sd\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_sd\regex_debug.obj ../src/regex_debug.cpp -| - -bcb5\boost_regex_bcb5_sd\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_sd\regex_synch.obj ../src/regex_synch.cpp -| - -bcb5\boost_regex_bcb5_sd\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_sd\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb5\boost_regex_bcb5_sd\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_sd\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb5\boost_regex_bcb5_sd\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\boost_regex_bcb5_sd\winstances.obj ../src/winstances.cpp -| - -bcb5\boost_regex_bcb5_sd : - -@mkdir bcb5\boost_regex_bcb5_sd - -boost_regex_bcb5_sd_clean : - del bcb5\boost_regex_bcb5_sd\*.obj - del bcb5\boost_regex_bcb5_sd\*.il? - del bcb5\boost_regex_bcb5_sd\*.csm - del bcb5\boost_regex_bcb5_sd\*.tds - del bcb5\*.tds - -bcb5\boost_regex_bcb5_sd.lib : bcb5\boost_regex_bcb5_sd\c_regex_traits.obj bcb5\boost_regex_bcb5_sd\c_regex_traits_common.obj bcb5\boost_regex_bcb5_sd\cpp_regex_traits.obj bcb5\boost_regex_bcb5_sd\cregex.obj bcb5\boost_regex_bcb5_sd\fileiter.obj bcb5\boost_regex_bcb5_sd\instances.obj bcb5\boost_regex_bcb5_sd\posix_api.obj bcb5\boost_regex_bcb5_sd\regex.obj bcb5\boost_regex_bcb5_sd\regex_debug.obj bcb5\boost_regex_bcb5_sd\regex_synch.obj bcb5\boost_regex_bcb5_sd\w32_regex_traits.obj bcb5\boost_regex_bcb5_sd\wide_posix_api.obj bcb5\boost_regex_bcb5_sd\winstances.obj - bcc32 @&&| --lw-dup -lw-dpl -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -ebcb5\boost_regex_bcb5_sd.dll $(XLFLAGS) bcb5\boost_regex_bcb5_sd\c_regex_traits.obj bcb5\boost_regex_bcb5_sd\c_regex_traits_common.obj bcb5\boost_regex_bcb5_sd\cpp_regex_traits.obj bcb5\boost_regex_bcb5_sd\cregex.obj bcb5\boost_regex_bcb5_sd\fileiter.obj bcb5\boost_regex_bcb5_sd\instances.obj bcb5\boost_regex_bcb5_sd\posix_api.obj bcb5\boost_regex_bcb5_sd\regex.obj bcb5\boost_regex_bcb5_sd\regex_debug.obj bcb5\boost_regex_bcb5_sd\regex_synch.obj bcb5\boost_regex_bcb5_sd\w32_regex_traits.obj bcb5\boost_regex_bcb5_sd\wide_posix_api.obj bcb5\boost_regex_bcb5_sd\winstances.obj $(LIBS) -| - implib -w bcb5\boost_regex_bcb5_sd.lib bcb5\boost_regex_bcb5_sd.dll - -######################################################## -# -# section for libboost_regex_bcb5_md.lib -# -######################################################## -bcb5\libboost_regex_bcb5_md\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_md\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb5\libboost_regex_bcb5_md\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_md\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb5\libboost_regex_bcb5_md\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_md\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb5\libboost_regex_bcb5_md\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_md\cregex.obj ../src/cregex.cpp -| - -bcb5\libboost_regex_bcb5_md\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_md\fileiter.obj ../src/fileiter.cpp -| - -bcb5\libboost_regex_bcb5_md\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_md\instances.obj ../src/instances.cpp -| - -bcb5\libboost_regex_bcb5_md\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_md\posix_api.obj ../src/posix_api.cpp -| - -bcb5\libboost_regex_bcb5_md\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_md\regex.obj ../src/regex.cpp -| - -bcb5\libboost_regex_bcb5_md\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_md\regex_debug.obj ../src/regex_debug.cpp -| - -bcb5\libboost_regex_bcb5_md\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_md\regex_synch.obj ../src/regex_synch.cpp -| - -bcb5\libboost_regex_bcb5_md\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_md\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb5\libboost_regex_bcb5_md\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_md\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb5\libboost_regex_bcb5_md\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_md\winstances.obj ../src/winstances.cpp -| - -bcb5\libboost_regex_bcb5_md : - -@mkdir bcb5\libboost_regex_bcb5_md - -libboost_regex_bcb5_md_clean : - del bcb5\libboost_regex_bcb5_md\*.obj - del bcb5\libboost_regex_bcb5_md\*.il? - del bcb5\libboost_regex_bcb5_md\*.csm - del bcb5\libboost_regex_bcb5_md\*.tds - -bcb5\libboost_regex_bcb5_md.lib : bcb5\libboost_regex_bcb5_md\c_regex_traits.obj bcb5\libboost_regex_bcb5_md\c_regex_traits_common.obj bcb5\libboost_regex_bcb5_md\cpp_regex_traits.obj bcb5\libboost_regex_bcb5_md\cregex.obj bcb5\libboost_regex_bcb5_md\fileiter.obj bcb5\libboost_regex_bcb5_md\instances.obj bcb5\libboost_regex_bcb5_md\posix_api.obj bcb5\libboost_regex_bcb5_md\regex.obj bcb5\libboost_regex_bcb5_md\regex_debug.obj bcb5\libboost_regex_bcb5_md\regex_synch.obj bcb5\libboost_regex_bcb5_md\w32_regex_traits.obj bcb5\libboost_regex_bcb5_md\wide_posix_api.obj bcb5\libboost_regex_bcb5_md\winstances.obj - tlib @&&| -/P128 /C /u /a $(XSFLAGS) bcb5\libboost_regex_bcb5_md.lib -+bcb5\libboost_regex_bcb5_md\c_regex_traits.obj -+bcb5\libboost_regex_bcb5_md\c_regex_traits_common.obj -+bcb5\libboost_regex_bcb5_md\cpp_regex_traits.obj -+bcb5\libboost_regex_bcb5_md\cregex.obj -+bcb5\libboost_regex_bcb5_md\fileiter.obj -+bcb5\libboost_regex_bcb5_md\instances.obj -+bcb5\libboost_regex_bcb5_md\posix_api.obj -+bcb5\libboost_regex_bcb5_md\regex.obj -+bcb5\libboost_regex_bcb5_md\regex_debug.obj -+bcb5\libboost_regex_bcb5_md\regex_synch.obj -+bcb5\libboost_regex_bcb5_md\w32_regex_traits.obj -+bcb5\libboost_regex_bcb5_md\wide_posix_api.obj -+bcb5\libboost_regex_bcb5_md\winstances.obj -| - -######################################################## -# -# section for libboost_regex_bcb5_sd.lib -# -######################################################## -bcb5\libboost_regex_bcb5_sd\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_sd\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb5\libboost_regex_bcb5_sd\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_sd\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb5\libboost_regex_bcb5_sd\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_sd\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb5\libboost_regex_bcb5_sd\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_sd\cregex.obj ../src/cregex.cpp -| - -bcb5\libboost_regex_bcb5_sd\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_sd\fileiter.obj ../src/fileiter.cpp -| - -bcb5\libboost_regex_bcb5_sd\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_sd\instances.obj ../src/instances.cpp -| - -bcb5\libboost_regex_bcb5_sd\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_sd\posix_api.obj ../src/posix_api.cpp -| - -bcb5\libboost_regex_bcb5_sd\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_sd\regex.obj ../src/regex.cpp -| - -bcb5\libboost_regex_bcb5_sd\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_sd\regex_debug.obj ../src/regex_debug.cpp -| - -bcb5\libboost_regex_bcb5_sd\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_sd\regex_synch.obj ../src/regex_synch.cpp -| - -bcb5\libboost_regex_bcb5_sd\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_sd\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb5\libboost_regex_bcb5_sd\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_sd\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb5\libboost_regex_bcb5_sd\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb5\libboost_regex_bcb5_sd\winstances.obj ../src/winstances.cpp -| - -bcb5\libboost_regex_bcb5_sd : - -@mkdir bcb5\libboost_regex_bcb5_sd - -libboost_regex_bcb5_sd_clean : - del bcb5\libboost_regex_bcb5_sd\*.obj - del bcb5\libboost_regex_bcb5_sd\*.il? - del bcb5\libboost_regex_bcb5_sd\*.csm - del bcb5\libboost_regex_bcb5_sd\*.tds - -bcb5\libboost_regex_bcb5_sd.lib : bcb5\libboost_regex_bcb5_sd\c_regex_traits.obj bcb5\libboost_regex_bcb5_sd\c_regex_traits_common.obj bcb5\libboost_regex_bcb5_sd\cpp_regex_traits.obj bcb5\libboost_regex_bcb5_sd\cregex.obj bcb5\libboost_regex_bcb5_sd\fileiter.obj bcb5\libboost_regex_bcb5_sd\instances.obj bcb5\libboost_regex_bcb5_sd\posix_api.obj bcb5\libboost_regex_bcb5_sd\regex.obj bcb5\libboost_regex_bcb5_sd\regex_debug.obj bcb5\libboost_regex_bcb5_sd\regex_synch.obj bcb5\libboost_regex_bcb5_sd\w32_regex_traits.obj bcb5\libboost_regex_bcb5_sd\wide_posix_api.obj bcb5\libboost_regex_bcb5_sd\winstances.obj - tlib @&&| -/P128 /C /u /a $(XSFLAGS) bcb5\libboost_regex_bcb5_sd.lib -+bcb5\libboost_regex_bcb5_sd\c_regex_traits.obj -+bcb5\libboost_regex_bcb5_sd\c_regex_traits_common.obj -+bcb5\libboost_regex_bcb5_sd\cpp_regex_traits.obj -+bcb5\libboost_regex_bcb5_sd\cregex.obj -+bcb5\libboost_regex_bcb5_sd\fileiter.obj -+bcb5\libboost_regex_bcb5_sd\instances.obj -+bcb5\libboost_regex_bcb5_sd\posix_api.obj -+bcb5\libboost_regex_bcb5_sd\regex.obj -+bcb5\libboost_regex_bcb5_sd\regex_debug.obj -+bcb5\libboost_regex_bcb5_sd\regex_synch.obj -+bcb5\libboost_regex_bcb5_sd\w32_regex_traits.obj -+bcb5\libboost_regex_bcb5_sd\wide_posix_api.obj -+bcb5\libboost_regex_bcb5_sd\winstances.obj -| - diff --git a/build/bcb6.mak b/build/bcb6.mak deleted file mode 100644 index 7f4eb0c1..00000000 --- a/build/bcb6.mak +++ /dev/null @@ -1,1085 +0,0 @@ -# -# auto generated makefile for C++ Builder -# -# usage: -# make -# brings libraries up to date -# make install -# brings libraries up to date and copies binaries to your C++ Builder /lib and /bin directories (recomended) -# make clean -# removes all temporary files. - -# -# Add additional compiler options here: -# -CXXFLAGS= -# -# Add additional include directories here: -# -INCLUDES= -# -# add additional linker flags here: -# -XLFLAGS= -# -# add additional libraries to link to here: -# -LIBS= -# -# add additional static-library creation flags here: -# -XSFLAGS= - -!ifndef BCROOT -BCROOT=$(MAKEDIR)\.. -!endif - - -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/cregex.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_fwd.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp ../../../boost/regex/v3/regex_traits.hpp - -all : bcb6 bcb6\libboost_regex_bcb6_ss bcb6\libboost_regex_bcb6_ss.lib bcb6\libboost_regex_bcb6_ms bcb6\libboost_regex_bcb6_ms.lib bcb6\boost_regex_bcb6_md bcb6\boost_regex_bcb6_md.lib bcb6\boost_regex_bcb6_sd bcb6\boost_regex_bcb6_sd.lib bcb6\libboost_regex_bcb6_md bcb6\libboost_regex_bcb6_md.lib bcb6\libboost_regex_bcb6_sd bcb6\libboost_regex_bcb6_sd.lib bcb6\libboost_regex_bcb6_ssdd bcb6\libboost_regex_bcb6_ssdd.lib bcb6\libboost_regex_bcb6_msdd bcb6\libboost_regex_bcb6_msdd.lib bcb6\boost_regex_bcb6_mddd bcb6\boost_regex_bcb6_mddd.lib bcb6\boost_regex_bcb6_sddd bcb6\boost_regex_bcb6_sddd.lib bcb6\libboost_regex_bcb6_mddd bcb6\libboost_regex_bcb6_mddd.lib bcb6\libboost_regex_bcb6_sddd bcb6\libboost_regex_bcb6_sddd.lib - -clean : libboost_regex_bcb6_ss_clean libboost_regex_bcb6_ms_clean boost_regex_bcb6_md_clean boost_regex_bcb6_sd_clean libboost_regex_bcb6_md_clean libboost_regex_bcb6_sd_clean libboost_regex_bcb6_ssdd_clean libboost_regex_bcb6_msdd_clean boost_regex_bcb6_mddd_clean boost_regex_bcb6_sddd_clean libboost_regex_bcb6_mddd_clean libboost_regex_bcb6_sddd_clean - -install : all - copy bcb6\libboost_regex_bcb6_ss.lib $(BCROOT)\lib - copy bcb6\libboost_regex_bcb6_ms.lib $(BCROOT)\lib - copy bcb6\boost_regex_bcb6_md.lib $(BCROOT)\lib - copy bcb6\boost_regex_bcb6_md.dll $(BCROOT)\bin - copy bcb6\boost_regex_bcb6_md.tds $(BCROOT)\bin - copy bcb6\boost_regex_bcb6_sd.lib $(BCROOT)\lib - copy bcb6\boost_regex_bcb6_sd.dll $(BCROOT)\bin - copy bcb6\boost_regex_bcb6_sd.tds $(BCROOT)\bin - copy bcb6\libboost_regex_bcb6_md.lib $(BCROOT)\lib - copy bcb6\libboost_regex_bcb6_sd.lib $(BCROOT)\lib - copy bcb6\libboost_regex_bcb6_ssdd.lib $(BCROOT)\lib - copy bcb6\libboost_regex_bcb6_msdd.lib $(BCROOT)\lib - copy bcb6\boost_regex_bcb6_mddd.lib $(BCROOT)\lib - copy bcb6\boost_regex_bcb6_mddd.dll $(BCROOT)\bin - copy bcb6\boost_regex_bcb6_mddd.tds $(BCROOT)\bin - copy bcb6\boost_regex_bcb6_sddd.lib $(BCROOT)\lib - copy bcb6\boost_regex_bcb6_sddd.dll $(BCROOT)\bin - copy bcb6\boost_regex_bcb6_sddd.tds $(BCROOT)\bin - copy bcb6\libboost_regex_bcb6_mddd.lib $(BCROOT)\lib - copy bcb6\libboost_regex_bcb6_sddd.lib $(BCROOT)\lib - -bcb6 : - -@mkdir bcb6 - - -######################################################## -# -# section for libboost_regex_bcb6_ss.lib -# -######################################################## -bcb6\libboost_regex_bcb6_ss\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ss\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_ss\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ss\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb6\libboost_regex_bcb6_ss\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ss\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_ss\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ss\cregex.obj ../src/cregex.cpp -| - -bcb6\libboost_regex_bcb6_ss\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ss\fileiter.obj ../src/fileiter.cpp -| - -bcb6\libboost_regex_bcb6_ss\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ss\instances.obj ../src/instances.cpp -| - -bcb6\libboost_regex_bcb6_ss\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ss\posix_api.obj ../src/posix_api.cpp -| - -bcb6\libboost_regex_bcb6_ss\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ss\regex.obj ../src/regex.cpp -| - -bcb6\libboost_regex_bcb6_ss\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ss\regex_debug.obj ../src/regex_debug.cpp -| - -bcb6\libboost_regex_bcb6_ss\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ss\regex_synch.obj ../src/regex_synch.cpp -| - -bcb6\libboost_regex_bcb6_ss\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ss\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_ss\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ss\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb6\libboost_regex_bcb6_ss\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ss\winstances.obj ../src/winstances.cpp -| - -bcb6\libboost_regex_bcb6_ss : - -@mkdir bcb6\libboost_regex_bcb6_ss - -libboost_regex_bcb6_ss_clean : - del bcb6\libboost_regex_bcb6_ss\*.obj - del bcb6\libboost_regex_bcb6_ss\*.il? - del bcb6\libboost_regex_bcb6_ss\*.csm - del bcb6\libboost_regex_bcb6_ss\*.tds - -bcb6\libboost_regex_bcb6_ss.lib : bcb6\libboost_regex_bcb6_ss\c_regex_traits.obj bcb6\libboost_regex_bcb6_ss\c_regex_traits_common.obj bcb6\libboost_regex_bcb6_ss\cpp_regex_traits.obj bcb6\libboost_regex_bcb6_ss\cregex.obj bcb6\libboost_regex_bcb6_ss\fileiter.obj bcb6\libboost_regex_bcb6_ss\instances.obj bcb6\libboost_regex_bcb6_ss\posix_api.obj bcb6\libboost_regex_bcb6_ss\regex.obj bcb6\libboost_regex_bcb6_ss\regex_debug.obj bcb6\libboost_regex_bcb6_ss\regex_synch.obj bcb6\libboost_regex_bcb6_ss\w32_regex_traits.obj bcb6\libboost_regex_bcb6_ss\wide_posix_api.obj bcb6\libboost_regex_bcb6_ss\winstances.obj - tlib @&&| -/P128 /C /u /a $(XSFLAGS) bcb6\libboost_regex_bcb6_ss.lib -+bcb6\libboost_regex_bcb6_ss\c_regex_traits.obj -+bcb6\libboost_regex_bcb6_ss\c_regex_traits_common.obj -+bcb6\libboost_regex_bcb6_ss\cpp_regex_traits.obj -+bcb6\libboost_regex_bcb6_ss\cregex.obj -+bcb6\libboost_regex_bcb6_ss\fileiter.obj -+bcb6\libboost_regex_bcb6_ss\instances.obj -+bcb6\libboost_regex_bcb6_ss\posix_api.obj -+bcb6\libboost_regex_bcb6_ss\regex.obj -+bcb6\libboost_regex_bcb6_ss\regex_debug.obj -+bcb6\libboost_regex_bcb6_ss\regex_synch.obj -+bcb6\libboost_regex_bcb6_ss\w32_regex_traits.obj -+bcb6\libboost_regex_bcb6_ss\wide_posix_api.obj -+bcb6\libboost_regex_bcb6_ss\winstances.obj -| - -######################################################## -# -# section for libboost_regex_bcb6_ms.lib -# -######################################################## -bcb6\libboost_regex_bcb6_ms\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ms\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_ms\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ms\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb6\libboost_regex_bcb6_ms\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ms\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_ms\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ms\cregex.obj ../src/cregex.cpp -| - -bcb6\libboost_regex_bcb6_ms\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ms\fileiter.obj ../src/fileiter.cpp -| - -bcb6\libboost_regex_bcb6_ms\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ms\instances.obj ../src/instances.cpp -| - -bcb6\libboost_regex_bcb6_ms\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ms\posix_api.obj ../src/posix_api.cpp -| - -bcb6\libboost_regex_bcb6_ms\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ms\regex.obj ../src/regex.cpp -| - -bcb6\libboost_regex_bcb6_ms\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ms\regex_debug.obj ../src/regex_debug.cpp -| - -bcb6\libboost_regex_bcb6_ms\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ms\regex_synch.obj ../src/regex_synch.cpp -| - -bcb6\libboost_regex_bcb6_ms\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ms\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_ms\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ms\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb6\libboost_regex_bcb6_ms\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ms\winstances.obj ../src/winstances.cpp -| - -bcb6\libboost_regex_bcb6_ms : - -@mkdir bcb6\libboost_regex_bcb6_ms - -libboost_regex_bcb6_ms_clean : - del bcb6\libboost_regex_bcb6_ms\*.obj - del bcb6\libboost_regex_bcb6_ms\*.il? - del bcb6\libboost_regex_bcb6_ms\*.csm - del bcb6\libboost_regex_bcb6_ms\*.tds - -bcb6\libboost_regex_bcb6_ms.lib : bcb6\libboost_regex_bcb6_ms\c_regex_traits.obj bcb6\libboost_regex_bcb6_ms\c_regex_traits_common.obj bcb6\libboost_regex_bcb6_ms\cpp_regex_traits.obj bcb6\libboost_regex_bcb6_ms\cregex.obj bcb6\libboost_regex_bcb6_ms\fileiter.obj bcb6\libboost_regex_bcb6_ms\instances.obj bcb6\libboost_regex_bcb6_ms\posix_api.obj bcb6\libboost_regex_bcb6_ms\regex.obj bcb6\libboost_regex_bcb6_ms\regex_debug.obj bcb6\libboost_regex_bcb6_ms\regex_synch.obj bcb6\libboost_regex_bcb6_ms\w32_regex_traits.obj bcb6\libboost_regex_bcb6_ms\wide_posix_api.obj bcb6\libboost_regex_bcb6_ms\winstances.obj - tlib @&&| -/P128 /C /u /a $(XSFLAGS) bcb6\libboost_regex_bcb6_ms.lib -+bcb6\libboost_regex_bcb6_ms\c_regex_traits.obj -+bcb6\libboost_regex_bcb6_ms\c_regex_traits_common.obj -+bcb6\libboost_regex_bcb6_ms\cpp_regex_traits.obj -+bcb6\libboost_regex_bcb6_ms\cregex.obj -+bcb6\libboost_regex_bcb6_ms\fileiter.obj -+bcb6\libboost_regex_bcb6_ms\instances.obj -+bcb6\libboost_regex_bcb6_ms\posix_api.obj -+bcb6\libboost_regex_bcb6_ms\regex.obj -+bcb6\libboost_regex_bcb6_ms\regex_debug.obj -+bcb6\libboost_regex_bcb6_ms\regex_synch.obj -+bcb6\libboost_regex_bcb6_ms\w32_regex_traits.obj -+bcb6\libboost_regex_bcb6_ms\wide_posix_api.obj -+bcb6\libboost_regex_bcb6_ms\winstances.obj -| - -######################################################## -# -# section for boost_regex_bcb6_md.lib -# -######################################################## -bcb6\boost_regex_bcb6_md\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_md\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb6\boost_regex_bcb6_md\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_md\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb6\boost_regex_bcb6_md\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_md\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb6\boost_regex_bcb6_md\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_md\cregex.obj ../src/cregex.cpp -| - -bcb6\boost_regex_bcb6_md\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_md\fileiter.obj ../src/fileiter.cpp -| - -bcb6\boost_regex_bcb6_md\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_md\instances.obj ../src/instances.cpp -| - -bcb6\boost_regex_bcb6_md\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_md\posix_api.obj ../src/posix_api.cpp -| - -bcb6\boost_regex_bcb6_md\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_md\regex.obj ../src/regex.cpp -| - -bcb6\boost_regex_bcb6_md\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_md\regex_debug.obj ../src/regex_debug.cpp -| - -bcb6\boost_regex_bcb6_md\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_md\regex_synch.obj ../src/regex_synch.cpp -| - -bcb6\boost_regex_bcb6_md\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_md\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb6\boost_regex_bcb6_md\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_md\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb6\boost_regex_bcb6_md\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_md\winstances.obj ../src/winstances.cpp -| - -bcb6\boost_regex_bcb6_md : - -@mkdir bcb6\boost_regex_bcb6_md - -boost_regex_bcb6_md_clean : - del bcb6\boost_regex_bcb6_md\*.obj - del bcb6\boost_regex_bcb6_md\*.il? - del bcb6\boost_regex_bcb6_md\*.csm - del bcb6\boost_regex_bcb6_md\*.tds - del bcb6\*.tds - -bcb6\boost_regex_bcb6_md.lib : bcb6\boost_regex_bcb6_md\c_regex_traits.obj bcb6\boost_regex_bcb6_md\c_regex_traits_common.obj bcb6\boost_regex_bcb6_md\cpp_regex_traits.obj bcb6\boost_regex_bcb6_md\cregex.obj bcb6\boost_regex_bcb6_md\fileiter.obj bcb6\boost_regex_bcb6_md\instances.obj bcb6\boost_regex_bcb6_md\posix_api.obj bcb6\boost_regex_bcb6_md\regex.obj bcb6\boost_regex_bcb6_md\regex_debug.obj bcb6\boost_regex_bcb6_md\regex_synch.obj bcb6\boost_regex_bcb6_md\w32_regex_traits.obj bcb6\boost_regex_bcb6_md\wide_posix_api.obj bcb6\boost_regex_bcb6_md\winstances.obj - bcc32 @&&| --lw-dup -lw-dpl -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -ebcb6\boost_regex_bcb6_md.dll $(XLFLAGS) bcb6\boost_regex_bcb6_md\c_regex_traits.obj bcb6\boost_regex_bcb6_md\c_regex_traits_common.obj bcb6\boost_regex_bcb6_md\cpp_regex_traits.obj bcb6\boost_regex_bcb6_md\cregex.obj bcb6\boost_regex_bcb6_md\fileiter.obj bcb6\boost_regex_bcb6_md\instances.obj bcb6\boost_regex_bcb6_md\posix_api.obj bcb6\boost_regex_bcb6_md\regex.obj bcb6\boost_regex_bcb6_md\regex_debug.obj bcb6\boost_regex_bcb6_md\regex_synch.obj bcb6\boost_regex_bcb6_md\w32_regex_traits.obj bcb6\boost_regex_bcb6_md\wide_posix_api.obj bcb6\boost_regex_bcb6_md\winstances.obj $(LIBS) -| - implib -w bcb6\boost_regex_bcb6_md.lib bcb6\boost_regex_bcb6_md.dll - -######################################################## -# -# section for boost_regex_bcb6_sd.lib -# -######################################################## -bcb6\boost_regex_bcb6_sd\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sd\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb6\boost_regex_bcb6_sd\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sd\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb6\boost_regex_bcb6_sd\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sd\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb6\boost_regex_bcb6_sd\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sd\cregex.obj ../src/cregex.cpp -| - -bcb6\boost_regex_bcb6_sd\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sd\fileiter.obj ../src/fileiter.cpp -| - -bcb6\boost_regex_bcb6_sd\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sd\instances.obj ../src/instances.cpp -| - -bcb6\boost_regex_bcb6_sd\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sd\posix_api.obj ../src/posix_api.cpp -| - -bcb6\boost_regex_bcb6_sd\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sd\regex.obj ../src/regex.cpp -| - -bcb6\boost_regex_bcb6_sd\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sd\regex_debug.obj ../src/regex_debug.cpp -| - -bcb6\boost_regex_bcb6_sd\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sd\regex_synch.obj ../src/regex_synch.cpp -| - -bcb6\boost_regex_bcb6_sd\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sd\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb6\boost_regex_bcb6_sd\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sd\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb6\boost_regex_bcb6_sd\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sd\winstances.obj ../src/winstances.cpp -| - -bcb6\boost_regex_bcb6_sd : - -@mkdir bcb6\boost_regex_bcb6_sd - -boost_regex_bcb6_sd_clean : - del bcb6\boost_regex_bcb6_sd\*.obj - del bcb6\boost_regex_bcb6_sd\*.il? - del bcb6\boost_regex_bcb6_sd\*.csm - del bcb6\boost_regex_bcb6_sd\*.tds - del bcb6\*.tds - -bcb6\boost_regex_bcb6_sd.lib : bcb6\boost_regex_bcb6_sd\c_regex_traits.obj bcb6\boost_regex_bcb6_sd\c_regex_traits_common.obj bcb6\boost_regex_bcb6_sd\cpp_regex_traits.obj bcb6\boost_regex_bcb6_sd\cregex.obj bcb6\boost_regex_bcb6_sd\fileiter.obj bcb6\boost_regex_bcb6_sd\instances.obj bcb6\boost_regex_bcb6_sd\posix_api.obj bcb6\boost_regex_bcb6_sd\regex.obj bcb6\boost_regex_bcb6_sd\regex_debug.obj bcb6\boost_regex_bcb6_sd\regex_synch.obj bcb6\boost_regex_bcb6_sd\w32_regex_traits.obj bcb6\boost_regex_bcb6_sd\wide_posix_api.obj bcb6\boost_regex_bcb6_sd\winstances.obj - bcc32 @&&| --lw-dup -lw-dpl -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -ebcb6\boost_regex_bcb6_sd.dll $(XLFLAGS) bcb6\boost_regex_bcb6_sd\c_regex_traits.obj bcb6\boost_regex_bcb6_sd\c_regex_traits_common.obj bcb6\boost_regex_bcb6_sd\cpp_regex_traits.obj bcb6\boost_regex_bcb6_sd\cregex.obj bcb6\boost_regex_bcb6_sd\fileiter.obj bcb6\boost_regex_bcb6_sd\instances.obj bcb6\boost_regex_bcb6_sd\posix_api.obj bcb6\boost_regex_bcb6_sd\regex.obj bcb6\boost_regex_bcb6_sd\regex_debug.obj bcb6\boost_regex_bcb6_sd\regex_synch.obj bcb6\boost_regex_bcb6_sd\w32_regex_traits.obj bcb6\boost_regex_bcb6_sd\wide_posix_api.obj bcb6\boost_regex_bcb6_sd\winstances.obj $(LIBS) -| - implib -w bcb6\boost_regex_bcb6_sd.lib bcb6\boost_regex_bcb6_sd.dll - -######################################################## -# -# section for libboost_regex_bcb6_md.lib -# -######################################################## -bcb6\libboost_regex_bcb6_md\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_md\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_md\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_md\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb6\libboost_regex_bcb6_md\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_md\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_md\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_md\cregex.obj ../src/cregex.cpp -| - -bcb6\libboost_regex_bcb6_md\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_md\fileiter.obj ../src/fileiter.cpp -| - -bcb6\libboost_regex_bcb6_md\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_md\instances.obj ../src/instances.cpp -| - -bcb6\libboost_regex_bcb6_md\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_md\posix_api.obj ../src/posix_api.cpp -| - -bcb6\libboost_regex_bcb6_md\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_md\regex.obj ../src/regex.cpp -| - -bcb6\libboost_regex_bcb6_md\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_md\regex_debug.obj ../src/regex_debug.cpp -| - -bcb6\libboost_regex_bcb6_md\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_md\regex_synch.obj ../src/regex_synch.cpp -| - -bcb6\libboost_regex_bcb6_md\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_md\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_md\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_md\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb6\libboost_regex_bcb6_md\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_md\winstances.obj ../src/winstances.cpp -| - -bcb6\libboost_regex_bcb6_md : - -@mkdir bcb6\libboost_regex_bcb6_md - -libboost_regex_bcb6_md_clean : - del bcb6\libboost_regex_bcb6_md\*.obj - del bcb6\libboost_regex_bcb6_md\*.il? - del bcb6\libboost_regex_bcb6_md\*.csm - del bcb6\libboost_regex_bcb6_md\*.tds - -bcb6\libboost_regex_bcb6_md.lib : bcb6\libboost_regex_bcb6_md\c_regex_traits.obj bcb6\libboost_regex_bcb6_md\c_regex_traits_common.obj bcb6\libboost_regex_bcb6_md\cpp_regex_traits.obj bcb6\libboost_regex_bcb6_md\cregex.obj bcb6\libboost_regex_bcb6_md\fileiter.obj bcb6\libboost_regex_bcb6_md\instances.obj bcb6\libboost_regex_bcb6_md\posix_api.obj bcb6\libboost_regex_bcb6_md\regex.obj bcb6\libboost_regex_bcb6_md\regex_debug.obj bcb6\libboost_regex_bcb6_md\regex_synch.obj bcb6\libboost_regex_bcb6_md\w32_regex_traits.obj bcb6\libboost_regex_bcb6_md\wide_posix_api.obj bcb6\libboost_regex_bcb6_md\winstances.obj - tlib @&&| -/P128 /C /u /a $(XSFLAGS) bcb6\libboost_regex_bcb6_md.lib -+bcb6\libboost_regex_bcb6_md\c_regex_traits.obj -+bcb6\libboost_regex_bcb6_md\c_regex_traits_common.obj -+bcb6\libboost_regex_bcb6_md\cpp_regex_traits.obj -+bcb6\libboost_regex_bcb6_md\cregex.obj -+bcb6\libboost_regex_bcb6_md\fileiter.obj -+bcb6\libboost_regex_bcb6_md\instances.obj -+bcb6\libboost_regex_bcb6_md\posix_api.obj -+bcb6\libboost_regex_bcb6_md\regex.obj -+bcb6\libboost_regex_bcb6_md\regex_debug.obj -+bcb6\libboost_regex_bcb6_md\regex_synch.obj -+bcb6\libboost_regex_bcb6_md\w32_regex_traits.obj -+bcb6\libboost_regex_bcb6_md\wide_posix_api.obj -+bcb6\libboost_regex_bcb6_md\winstances.obj -| - -######################################################## -# -# section for libboost_regex_bcb6_sd.lib -# -######################################################## -bcb6\libboost_regex_bcb6_sd\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sd\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_sd\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sd\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb6\libboost_regex_bcb6_sd\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sd\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_sd\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sd\cregex.obj ../src/cregex.cpp -| - -bcb6\libboost_regex_bcb6_sd\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sd\fileiter.obj ../src/fileiter.cpp -| - -bcb6\libboost_regex_bcb6_sd\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sd\instances.obj ../src/instances.cpp -| - -bcb6\libboost_regex_bcb6_sd\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sd\posix_api.obj ../src/posix_api.cpp -| - -bcb6\libboost_regex_bcb6_sd\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sd\regex.obj ../src/regex.cpp -| - -bcb6\libboost_regex_bcb6_sd\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sd\regex_debug.obj ../src/regex_debug.cpp -| - -bcb6\libboost_regex_bcb6_sd\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sd\regex_synch.obj ../src/regex_synch.cpp -| - -bcb6\libboost_regex_bcb6_sd\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sd\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_sd\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sd\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb6\libboost_regex_bcb6_sd\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sd\winstances.obj ../src/winstances.cpp -| - -bcb6\libboost_regex_bcb6_sd : - -@mkdir bcb6\libboost_regex_bcb6_sd - -libboost_regex_bcb6_sd_clean : - del bcb6\libboost_regex_bcb6_sd\*.obj - del bcb6\libboost_regex_bcb6_sd\*.il? - del bcb6\libboost_regex_bcb6_sd\*.csm - del bcb6\libboost_regex_bcb6_sd\*.tds - -bcb6\libboost_regex_bcb6_sd.lib : bcb6\libboost_regex_bcb6_sd\c_regex_traits.obj bcb6\libboost_regex_bcb6_sd\c_regex_traits_common.obj bcb6\libboost_regex_bcb6_sd\cpp_regex_traits.obj bcb6\libboost_regex_bcb6_sd\cregex.obj bcb6\libboost_regex_bcb6_sd\fileiter.obj bcb6\libboost_regex_bcb6_sd\instances.obj bcb6\libboost_regex_bcb6_sd\posix_api.obj bcb6\libboost_regex_bcb6_sd\regex.obj bcb6\libboost_regex_bcb6_sd\regex_debug.obj bcb6\libboost_regex_bcb6_sd\regex_synch.obj bcb6\libboost_regex_bcb6_sd\w32_regex_traits.obj bcb6\libboost_regex_bcb6_sd\wide_posix_api.obj bcb6\libboost_regex_bcb6_sd\winstances.obj - tlib @&&| -/P128 /C /u /a $(XSFLAGS) bcb6\libboost_regex_bcb6_sd.lib -+bcb6\libboost_regex_bcb6_sd\c_regex_traits.obj -+bcb6\libboost_regex_bcb6_sd\c_regex_traits_common.obj -+bcb6\libboost_regex_bcb6_sd\cpp_regex_traits.obj -+bcb6\libboost_regex_bcb6_sd\cregex.obj -+bcb6\libboost_regex_bcb6_sd\fileiter.obj -+bcb6\libboost_regex_bcb6_sd\instances.obj -+bcb6\libboost_regex_bcb6_sd\posix_api.obj -+bcb6\libboost_regex_bcb6_sd\regex.obj -+bcb6\libboost_regex_bcb6_sd\regex_debug.obj -+bcb6\libboost_regex_bcb6_sd\regex_synch.obj -+bcb6\libboost_regex_bcb6_sd\w32_regex_traits.obj -+bcb6\libboost_regex_bcb6_sd\wide_posix_api.obj -+bcb6\libboost_regex_bcb6_sd\winstances.obj -| - -######################################################## -# -# section for libboost_regex_bcb6_ssdd.lib -# -######################################################## -bcb6\libboost_regex_bcb6_ssdd\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ssdd\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_ssdd\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ssdd\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb6\libboost_regex_bcb6_ssdd\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ssdd\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_ssdd\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ssdd\cregex.obj ../src/cregex.cpp -| - -bcb6\libboost_regex_bcb6_ssdd\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ssdd\fileiter.obj ../src/fileiter.cpp -| - -bcb6\libboost_regex_bcb6_ssdd\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ssdd\instances.obj ../src/instances.cpp -| - -bcb6\libboost_regex_bcb6_ssdd\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ssdd\posix_api.obj ../src/posix_api.cpp -| - -bcb6\libboost_regex_bcb6_ssdd\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ssdd\regex.obj ../src/regex.cpp -| - -bcb6\libboost_regex_bcb6_ssdd\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ssdd\regex_debug.obj ../src/regex_debug.cpp -| - -bcb6\libboost_regex_bcb6_ssdd\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ssdd\regex_synch.obj ../src/regex_synch.cpp -| - -bcb6\libboost_regex_bcb6_ssdd\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ssdd\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_ssdd\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ssdd\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb6\libboost_regex_bcb6_ssdd\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM- -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_ssdd\winstances.obj ../src/winstances.cpp -| - -bcb6\libboost_regex_bcb6_ssdd : - -@mkdir bcb6\libboost_regex_bcb6_ssdd - -libboost_regex_bcb6_ssdd_clean : - del bcb6\libboost_regex_bcb6_ssdd\*.obj - del bcb6\libboost_regex_bcb6_ssdd\*.il? - del bcb6\libboost_regex_bcb6_ssdd\*.csm - del bcb6\libboost_regex_bcb6_ssdd\*.tds - -bcb6\libboost_regex_bcb6_ssdd.lib : bcb6\libboost_regex_bcb6_ssdd\c_regex_traits.obj bcb6\libboost_regex_bcb6_ssdd\c_regex_traits_common.obj bcb6\libboost_regex_bcb6_ssdd\cpp_regex_traits.obj bcb6\libboost_regex_bcb6_ssdd\cregex.obj bcb6\libboost_regex_bcb6_ssdd\fileiter.obj bcb6\libboost_regex_bcb6_ssdd\instances.obj bcb6\libboost_regex_bcb6_ssdd\posix_api.obj bcb6\libboost_regex_bcb6_ssdd\regex.obj bcb6\libboost_regex_bcb6_ssdd\regex_debug.obj bcb6\libboost_regex_bcb6_ssdd\regex_synch.obj bcb6\libboost_regex_bcb6_ssdd\w32_regex_traits.obj bcb6\libboost_regex_bcb6_ssdd\wide_posix_api.obj bcb6\libboost_regex_bcb6_ssdd\winstances.obj - tlib @&&| -/P128 /C /u /a $(XSFLAGS) bcb6\libboost_regex_bcb6_ssdd.lib -+bcb6\libboost_regex_bcb6_ssdd\c_regex_traits.obj -+bcb6\libboost_regex_bcb6_ssdd\c_regex_traits_common.obj -+bcb6\libboost_regex_bcb6_ssdd\cpp_regex_traits.obj -+bcb6\libboost_regex_bcb6_ssdd\cregex.obj -+bcb6\libboost_regex_bcb6_ssdd\fileiter.obj -+bcb6\libboost_regex_bcb6_ssdd\instances.obj -+bcb6\libboost_regex_bcb6_ssdd\posix_api.obj -+bcb6\libboost_regex_bcb6_ssdd\regex.obj -+bcb6\libboost_regex_bcb6_ssdd\regex_debug.obj -+bcb6\libboost_regex_bcb6_ssdd\regex_synch.obj -+bcb6\libboost_regex_bcb6_ssdd\w32_regex_traits.obj -+bcb6\libboost_regex_bcb6_ssdd\wide_posix_api.obj -+bcb6\libboost_regex_bcb6_ssdd\winstances.obj -| - -######################################################## -# -# section for libboost_regex_bcb6_msdd.lib -# -######################################################## -bcb6\libboost_regex_bcb6_msdd\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_msdd\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_msdd\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_msdd\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb6\libboost_regex_bcb6_msdd\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_msdd\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_msdd\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_msdd\cregex.obj ../src/cregex.cpp -| - -bcb6\libboost_regex_bcb6_msdd\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_msdd\fileiter.obj ../src/fileiter.cpp -| - -bcb6\libboost_regex_bcb6_msdd\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_msdd\instances.obj ../src/instances.cpp -| - -bcb6\libboost_regex_bcb6_msdd\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_msdd\posix_api.obj ../src/posix_api.cpp -| - -bcb6\libboost_regex_bcb6_msdd\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_msdd\regex.obj ../src/regex.cpp -| - -bcb6\libboost_regex_bcb6_msdd\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_msdd\regex_debug.obj ../src/regex_debug.cpp -| - -bcb6\libboost_regex_bcb6_msdd\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_msdd\regex_synch.obj ../src/regex_synch.cpp -| - -bcb6\libboost_regex_bcb6_msdd\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_msdd\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_msdd\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_msdd\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb6\libboost_regex_bcb6_msdd\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWM -D_STLP_DEBUG -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb6\libboost_regex_bcb6_msdd\winstances.obj ../src/winstances.cpp -| - -bcb6\libboost_regex_bcb6_msdd : - -@mkdir bcb6\libboost_regex_bcb6_msdd - -libboost_regex_bcb6_msdd_clean : - del bcb6\libboost_regex_bcb6_msdd\*.obj - del bcb6\libboost_regex_bcb6_msdd\*.il? - del bcb6\libboost_regex_bcb6_msdd\*.csm - del bcb6\libboost_regex_bcb6_msdd\*.tds - -bcb6\libboost_regex_bcb6_msdd.lib : bcb6\libboost_regex_bcb6_msdd\c_regex_traits.obj bcb6\libboost_regex_bcb6_msdd\c_regex_traits_common.obj bcb6\libboost_regex_bcb6_msdd\cpp_regex_traits.obj bcb6\libboost_regex_bcb6_msdd\cregex.obj bcb6\libboost_regex_bcb6_msdd\fileiter.obj bcb6\libboost_regex_bcb6_msdd\instances.obj bcb6\libboost_regex_bcb6_msdd\posix_api.obj bcb6\libboost_regex_bcb6_msdd\regex.obj bcb6\libboost_regex_bcb6_msdd\regex_debug.obj bcb6\libboost_regex_bcb6_msdd\regex_synch.obj bcb6\libboost_regex_bcb6_msdd\w32_regex_traits.obj bcb6\libboost_regex_bcb6_msdd\wide_posix_api.obj bcb6\libboost_regex_bcb6_msdd\winstances.obj - tlib @&&| -/P128 /C /u /a $(XSFLAGS) bcb6\libboost_regex_bcb6_msdd.lib -+bcb6\libboost_regex_bcb6_msdd\c_regex_traits.obj -+bcb6\libboost_regex_bcb6_msdd\c_regex_traits_common.obj -+bcb6\libboost_regex_bcb6_msdd\cpp_regex_traits.obj -+bcb6\libboost_regex_bcb6_msdd\cregex.obj -+bcb6\libboost_regex_bcb6_msdd\fileiter.obj -+bcb6\libboost_regex_bcb6_msdd\instances.obj -+bcb6\libboost_regex_bcb6_msdd\posix_api.obj -+bcb6\libboost_regex_bcb6_msdd\regex.obj -+bcb6\libboost_regex_bcb6_msdd\regex_debug.obj -+bcb6\libboost_regex_bcb6_msdd\regex_synch.obj -+bcb6\libboost_regex_bcb6_msdd\w32_regex_traits.obj -+bcb6\libboost_regex_bcb6_msdd\wide_posix_api.obj -+bcb6\libboost_regex_bcb6_msdd\winstances.obj -| - -######################################################## -# -# section for boost_regex_bcb6_mddd.lib -# -######################################################## -bcb6\boost_regex_bcb6_mddd\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_mddd\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb6\boost_regex_bcb6_mddd\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_mddd\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb6\boost_regex_bcb6_mddd\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_mddd\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb6\boost_regex_bcb6_mddd\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_mddd\cregex.obj ../src/cregex.cpp -| - -bcb6\boost_regex_bcb6_mddd\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_mddd\fileiter.obj ../src/fileiter.cpp -| - -bcb6\boost_regex_bcb6_mddd\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_mddd\instances.obj ../src/instances.cpp -| - -bcb6\boost_regex_bcb6_mddd\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_mddd\posix_api.obj ../src/posix_api.cpp -| - -bcb6\boost_regex_bcb6_mddd\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_mddd\regex.obj ../src/regex.cpp -| - -bcb6\boost_regex_bcb6_mddd\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_mddd\regex_debug.obj ../src/regex_debug.cpp -| - -bcb6\boost_regex_bcb6_mddd\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_mddd\regex_synch.obj ../src/regex_synch.cpp -| - -bcb6\boost_regex_bcb6_mddd\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_mddd\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb6\boost_regex_bcb6_mddd\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_mddd\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb6\boost_regex_bcb6_mddd\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_mddd\winstances.obj ../src/winstances.cpp -| - -bcb6\boost_regex_bcb6_mddd : - -@mkdir bcb6\boost_regex_bcb6_mddd - -boost_regex_bcb6_mddd_clean : - del bcb6\boost_regex_bcb6_mddd\*.obj - del bcb6\boost_regex_bcb6_mddd\*.il? - del bcb6\boost_regex_bcb6_mddd\*.csm - del bcb6\boost_regex_bcb6_mddd\*.tds - del bcb6\*.tds - -bcb6\boost_regex_bcb6_mddd.lib : bcb6\boost_regex_bcb6_mddd\c_regex_traits.obj bcb6\boost_regex_bcb6_mddd\c_regex_traits_common.obj bcb6\boost_regex_bcb6_mddd\cpp_regex_traits.obj bcb6\boost_regex_bcb6_mddd\cregex.obj bcb6\boost_regex_bcb6_mddd\fileiter.obj bcb6\boost_regex_bcb6_mddd\instances.obj bcb6\boost_regex_bcb6_mddd\posix_api.obj bcb6\boost_regex_bcb6_mddd\regex.obj bcb6\boost_regex_bcb6_mddd\regex_debug.obj bcb6\boost_regex_bcb6_mddd\regex_synch.obj bcb6\boost_regex_bcb6_mddd\w32_regex_traits.obj bcb6\boost_regex_bcb6_mddd\wide_posix_api.obj bcb6\boost_regex_bcb6_mddd\winstances.obj - bcc32 @&&| --lw-dup -lw-dpl -tWD -tWM -tWR -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -ebcb6\boost_regex_bcb6_mddd.dll $(XLFLAGS) bcb6\boost_regex_bcb6_mddd\c_regex_traits.obj bcb6\boost_regex_bcb6_mddd\c_regex_traits_common.obj bcb6\boost_regex_bcb6_mddd\cpp_regex_traits.obj bcb6\boost_regex_bcb6_mddd\cregex.obj bcb6\boost_regex_bcb6_mddd\fileiter.obj bcb6\boost_regex_bcb6_mddd\instances.obj bcb6\boost_regex_bcb6_mddd\posix_api.obj bcb6\boost_regex_bcb6_mddd\regex.obj bcb6\boost_regex_bcb6_mddd\regex_debug.obj bcb6\boost_regex_bcb6_mddd\regex_synch.obj bcb6\boost_regex_bcb6_mddd\w32_regex_traits.obj bcb6\boost_regex_bcb6_mddd\wide_posix_api.obj bcb6\boost_regex_bcb6_mddd\winstances.obj $(LIBS) -| - implib -w bcb6\boost_regex_bcb6_mddd.lib bcb6\boost_regex_bcb6_mddd.dll - -######################################################## -# -# section for boost_regex_bcb6_sddd.lib -# -######################################################## -bcb6\boost_regex_bcb6_sddd\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sddd\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb6\boost_regex_bcb6_sddd\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sddd\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb6\boost_regex_bcb6_sddd\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sddd\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb6\boost_regex_bcb6_sddd\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sddd\cregex.obj ../src/cregex.cpp -| - -bcb6\boost_regex_bcb6_sddd\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sddd\fileiter.obj ../src/fileiter.cpp -| - -bcb6\boost_regex_bcb6_sddd\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sddd\instances.obj ../src/instances.cpp -| - -bcb6\boost_regex_bcb6_sddd\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sddd\posix_api.obj ../src/posix_api.cpp -| - -bcb6\boost_regex_bcb6_sddd\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sddd\regex.obj ../src/regex.cpp -| - -bcb6\boost_regex_bcb6_sddd\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sddd\regex_debug.obj ../src/regex_debug.cpp -| - -bcb6\boost_regex_bcb6_sddd\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sddd\regex_synch.obj ../src/regex_synch.cpp -| - -bcb6\boost_regex_bcb6_sddd\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sddd\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb6\boost_regex_bcb6_sddd\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sddd\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb6\boost_regex_bcb6_sddd\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\boost_regex_bcb6_sddd\winstances.obj ../src/winstances.cpp -| - -bcb6\boost_regex_bcb6_sddd : - -@mkdir bcb6\boost_regex_bcb6_sddd - -boost_regex_bcb6_sddd_clean : - del bcb6\boost_regex_bcb6_sddd\*.obj - del bcb6\boost_regex_bcb6_sddd\*.il? - del bcb6\boost_regex_bcb6_sddd\*.csm - del bcb6\boost_regex_bcb6_sddd\*.tds - del bcb6\*.tds - -bcb6\boost_regex_bcb6_sddd.lib : bcb6\boost_regex_bcb6_sddd\c_regex_traits.obj bcb6\boost_regex_bcb6_sddd\c_regex_traits_common.obj bcb6\boost_regex_bcb6_sddd\cpp_regex_traits.obj bcb6\boost_regex_bcb6_sddd\cregex.obj bcb6\boost_regex_bcb6_sddd\fileiter.obj bcb6\boost_regex_bcb6_sddd\instances.obj bcb6\boost_regex_bcb6_sddd\posix_api.obj bcb6\boost_regex_bcb6_sddd\regex.obj bcb6\boost_regex_bcb6_sddd\regex_debug.obj bcb6\boost_regex_bcb6_sddd\regex_synch.obj bcb6\boost_regex_bcb6_sddd\w32_regex_traits.obj bcb6\boost_regex_bcb6_sddd\wide_posix_api.obj bcb6\boost_regex_bcb6_sddd\winstances.obj - bcc32 @&&| --lw-dup -lw-dpl -tWD -tWR -tWM- -D_STLP_DEBUG -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -ebcb6\boost_regex_bcb6_sddd.dll $(XLFLAGS) bcb6\boost_regex_bcb6_sddd\c_regex_traits.obj bcb6\boost_regex_bcb6_sddd\c_regex_traits_common.obj bcb6\boost_regex_bcb6_sddd\cpp_regex_traits.obj bcb6\boost_regex_bcb6_sddd\cregex.obj bcb6\boost_regex_bcb6_sddd\fileiter.obj bcb6\boost_regex_bcb6_sddd\instances.obj bcb6\boost_regex_bcb6_sddd\posix_api.obj bcb6\boost_regex_bcb6_sddd\regex.obj bcb6\boost_regex_bcb6_sddd\regex_debug.obj bcb6\boost_regex_bcb6_sddd\regex_synch.obj bcb6\boost_regex_bcb6_sddd\w32_regex_traits.obj bcb6\boost_regex_bcb6_sddd\wide_posix_api.obj bcb6\boost_regex_bcb6_sddd\winstances.obj $(LIBS) -| - implib -w bcb6\boost_regex_bcb6_sddd.lib bcb6\boost_regex_bcb6_sddd.dll - -######################################################## -# -# section for libboost_regex_bcb6_mddd.lib -# -######################################################## -bcb6\libboost_regex_bcb6_mddd\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_mddd\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_mddd\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_mddd\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb6\libboost_regex_bcb6_mddd\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_mddd\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_mddd\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_mddd\cregex.obj ../src/cregex.cpp -| - -bcb6\libboost_regex_bcb6_mddd\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_mddd\fileiter.obj ../src/fileiter.cpp -| - -bcb6\libboost_regex_bcb6_mddd\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_mddd\instances.obj ../src/instances.cpp -| - -bcb6\libboost_regex_bcb6_mddd\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_mddd\posix_api.obj ../src/posix_api.cpp -| - -bcb6\libboost_regex_bcb6_mddd\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_mddd\regex.obj ../src/regex.cpp -| - -bcb6\libboost_regex_bcb6_mddd\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_mddd\regex_debug.obj ../src/regex_debug.cpp -| - -bcb6\libboost_regex_bcb6_mddd\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_mddd\regex_synch.obj ../src/regex_synch.cpp -| - -bcb6\libboost_regex_bcb6_mddd\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_mddd\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_mddd\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_mddd\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb6\libboost_regex_bcb6_mddd\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWM -tWR -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_mddd\winstances.obj ../src/winstances.cpp -| - -bcb6\libboost_regex_bcb6_mddd : - -@mkdir bcb6\libboost_regex_bcb6_mddd - -libboost_regex_bcb6_mddd_clean : - del bcb6\libboost_regex_bcb6_mddd\*.obj - del bcb6\libboost_regex_bcb6_mddd\*.il? - del bcb6\libboost_regex_bcb6_mddd\*.csm - del bcb6\libboost_regex_bcb6_mddd\*.tds - -bcb6\libboost_regex_bcb6_mddd.lib : bcb6\libboost_regex_bcb6_mddd\c_regex_traits.obj bcb6\libboost_regex_bcb6_mddd\c_regex_traits_common.obj bcb6\libboost_regex_bcb6_mddd\cpp_regex_traits.obj bcb6\libboost_regex_bcb6_mddd\cregex.obj bcb6\libboost_regex_bcb6_mddd\fileiter.obj bcb6\libboost_regex_bcb6_mddd\instances.obj bcb6\libboost_regex_bcb6_mddd\posix_api.obj bcb6\libboost_regex_bcb6_mddd\regex.obj bcb6\libboost_regex_bcb6_mddd\regex_debug.obj bcb6\libboost_regex_bcb6_mddd\regex_synch.obj bcb6\libboost_regex_bcb6_mddd\w32_regex_traits.obj bcb6\libboost_regex_bcb6_mddd\wide_posix_api.obj bcb6\libboost_regex_bcb6_mddd\winstances.obj - tlib @&&| -/P128 /C /u /a $(XSFLAGS) bcb6\libboost_regex_bcb6_mddd.lib -+bcb6\libboost_regex_bcb6_mddd\c_regex_traits.obj -+bcb6\libboost_regex_bcb6_mddd\c_regex_traits_common.obj -+bcb6\libboost_regex_bcb6_mddd\cpp_regex_traits.obj -+bcb6\libboost_regex_bcb6_mddd\cregex.obj -+bcb6\libboost_regex_bcb6_mddd\fileiter.obj -+bcb6\libboost_regex_bcb6_mddd\instances.obj -+bcb6\libboost_regex_bcb6_mddd\posix_api.obj -+bcb6\libboost_regex_bcb6_mddd\regex.obj -+bcb6\libboost_regex_bcb6_mddd\regex_debug.obj -+bcb6\libboost_regex_bcb6_mddd\regex_synch.obj -+bcb6\libboost_regex_bcb6_mddd\w32_regex_traits.obj -+bcb6\libboost_regex_bcb6_mddd\wide_posix_api.obj -+bcb6\libboost_regex_bcb6_mddd\winstances.obj -| - -######################################################## -# -# section for libboost_regex_bcb6_sddd.lib -# -######################################################## -bcb6\libboost_regex_bcb6_sddd\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sddd\c_regex_traits.obj ../src/c_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_sddd\c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sddd\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp -| - -bcb6\libboost_regex_bcb6_sddd\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sddd\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_sddd\cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sddd\cregex.obj ../src/cregex.cpp -| - -bcb6\libboost_regex_bcb6_sddd\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sddd\fileiter.obj ../src/fileiter.cpp -| - -bcb6\libboost_regex_bcb6_sddd\instances.obj: ../src/instances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sddd\instances.obj ../src/instances.cpp -| - -bcb6\libboost_regex_bcb6_sddd\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sddd\posix_api.obj ../src/posix_api.cpp -| - -bcb6\libboost_regex_bcb6_sddd\regex.obj: ../src/regex.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sddd\regex.obj ../src/regex.cpp -| - -bcb6\libboost_regex_bcb6_sddd\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sddd\regex_debug.obj ../src/regex_debug.cpp -| - -bcb6\libboost_regex_bcb6_sddd\regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sddd\regex_synch.obj ../src/regex_synch.cpp -| - -bcb6\libboost_regex_bcb6_sddd\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sddd\w32_regex_traits.obj ../src/w32_regex_traits.cpp -| - -bcb6\libboost_regex_bcb6_sddd\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sddd\wide_posix_api.obj ../src/wide_posix_api.cpp -| - -bcb6\libboost_regex_bcb6_sddd\winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - bcc32 @&&| --c $(INCLUDES) -tWD -tWR -tWM- -D_STLP_DEBUG -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb6\libboost_regex_bcb6_sddd\winstances.obj ../src/winstances.cpp -| - -bcb6\libboost_regex_bcb6_sddd : - -@mkdir bcb6\libboost_regex_bcb6_sddd - -libboost_regex_bcb6_sddd_clean : - del bcb6\libboost_regex_bcb6_sddd\*.obj - del bcb6\libboost_regex_bcb6_sddd\*.il? - del bcb6\libboost_regex_bcb6_sddd\*.csm - del bcb6\libboost_regex_bcb6_sddd\*.tds - -bcb6\libboost_regex_bcb6_sddd.lib : bcb6\libboost_regex_bcb6_sddd\c_regex_traits.obj bcb6\libboost_regex_bcb6_sddd\c_regex_traits_common.obj bcb6\libboost_regex_bcb6_sddd\cpp_regex_traits.obj bcb6\libboost_regex_bcb6_sddd\cregex.obj bcb6\libboost_regex_bcb6_sddd\fileiter.obj bcb6\libboost_regex_bcb6_sddd\instances.obj bcb6\libboost_regex_bcb6_sddd\posix_api.obj bcb6\libboost_regex_bcb6_sddd\regex.obj bcb6\libboost_regex_bcb6_sddd\regex_debug.obj bcb6\libboost_regex_bcb6_sddd\regex_synch.obj bcb6\libboost_regex_bcb6_sddd\w32_regex_traits.obj bcb6\libboost_regex_bcb6_sddd\wide_posix_api.obj bcb6\libboost_regex_bcb6_sddd\winstances.obj - tlib @&&| -/P128 /C /u /a $(XSFLAGS) bcb6\libboost_regex_bcb6_sddd.lib -+bcb6\libboost_regex_bcb6_sddd\c_regex_traits.obj -+bcb6\libboost_regex_bcb6_sddd\c_regex_traits_common.obj -+bcb6\libboost_regex_bcb6_sddd\cpp_regex_traits.obj -+bcb6\libboost_regex_bcb6_sddd\cregex.obj -+bcb6\libboost_regex_bcb6_sddd\fileiter.obj -+bcb6\libboost_regex_bcb6_sddd\instances.obj -+bcb6\libboost_regex_bcb6_sddd\posix_api.obj -+bcb6\libboost_regex_bcb6_sddd\regex.obj -+bcb6\libboost_regex_bcb6_sddd\regex_debug.obj -+bcb6\libboost_regex_bcb6_sddd\regex_synch.obj -+bcb6\libboost_regex_bcb6_sddd\w32_regex_traits.obj -+bcb6\libboost_regex_bcb6_sddd\wide_posix_api.obj -+bcb6\libboost_regex_bcb6_sddd\winstances.obj -| - diff --git a/build/common.sh b/build/common.sh deleted file mode 100644 index 0a95be3d..00000000 --- a/build/common.sh +++ /dev/null @@ -1,29 +0,0 @@ -# -# locate all the header dependencies: -for file in ../../../boost/regex/*.hpp ; do - if [ -f $file ]; then - header="$header $file" - fi -done - -for file in ../../../boost/regex/v3/*.hpp; do - if [ -f $file ]; then - header="$header $file" - fi -done - -for file in ../../../boost/regex/v3/*.hxx; do - if [ -f $file ]; then - header="$header $file" - fi -done - -# -# locate all the source files: -for file in ../src/*.cpp; do - if [ -f $file ]; then - src="$src $file" - fi -done - - diff --git a/build/gcc-shared.mak b/build/gcc-shared.mak deleted file mode 100644 index bd903df8..00000000 --- a/build/gcc-shared.mak +++ /dev/null @@ -1,151 +0,0 @@ -# -# auto generated makefile for gcc compiler -# -# usage: -# make -# brings libraries up to date -# make clean -# deletes temporary object files (but not archives). -# - -# -# the following environment variables are recognised: -# CXXFLAGS= extra compiler options - note applies to all build variants -# INCLUDES= additional include directories -# LDFLAGS= additional linker options -# LIBS= additional library files - -# compiler: -CXX=g++ -LINKER=g++ -shared - -# -# compiler options for release build: -# -C1=-c -O2 -I../../../ -fPIC -# -# compiler options for debug build: -# -C2=-c -g -I../../../ -fPIC - - -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp - -all : gcc gcc gcc/boost_regex_shared ./gcc/libboost_regex.so gcc gcc/boost_regex_debug_shared ./gcc/libboost_regex_debug.so - -gcc : - mkdir -p gcc - -clean : boost_regex_clean boost_regex_debug_clean - -install : all - - - -######################################################## -# -# section for libboost_regex.a -# -######################################################## -gcc/boost_regex_shared/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_shared/c_regex_traits.o $(C1) $(CXXFLAGS) ../src/c_regex_traits.cpp - -gcc/boost_regex_shared/c_regex_traits_common.o: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_shared/c_regex_traits_common.o $(C1) $(CXXFLAGS) ../src/c_regex_traits_common.cpp - -gcc/boost_regex_shared/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_shared/cpp_regex_traits.o $(C1) $(CXXFLAGS) ../src/cpp_regex_traits.cpp - -gcc/boost_regex_shared/cregex.o: ../src/cregex.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_shared/cregex.o $(C1) $(CXXFLAGS) ../src/cregex.cpp - -gcc/boost_regex_shared/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_shared/fileiter.o $(C1) $(CXXFLAGS) ../src/fileiter.cpp - -gcc/boost_regex_shared/instances.o: ../src/instances.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_shared/instances.o $(C1) $(CXXFLAGS) ../src/instances.cpp - -gcc/boost_regex_shared/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_shared/posix_api.o $(C1) $(CXXFLAGS) ../src/posix_api.cpp - -gcc/boost_regex_shared/regex.o: ../src/regex.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_shared/regex.o $(C1) $(CXXFLAGS) ../src/regex.cpp - -gcc/boost_regex_shared/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_shared/regex_debug.o $(C1) $(CXXFLAGS) ../src/regex_debug.cpp - -gcc/boost_regex_shared/regex_synch.o: ../src/regex_synch.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_shared/regex_synch.o $(C1) $(CXXFLAGS) ../src/regex_synch.cpp - -gcc/boost_regex_shared/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_shared/w32_regex_traits.o $(C1) $(CXXFLAGS) ../src/w32_regex_traits.cpp - -gcc/boost_regex_shared/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_shared/wide_posix_api.o $(C1) $(CXXFLAGS) ../src/wide_posix_api.cpp - -gcc/boost_regex_shared/winstances.o: ../src/winstances.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_shared/winstances.o $(C1) $(CXXFLAGS) ../src/winstances.cpp - -gcc/boost_regex_shared : - mkdir -p gcc/boost_regex_shared - -boost_regex_clean : - rm -f gcc/boost_regex_shared/*.o - -./gcc/libboost_regex.so : gcc/boost_regex_shared/c_regex_traits.o gcc/boost_regex_shared/c_regex_traits_common.o gcc/boost_regex_shared/cpp_regex_traits.o gcc/boost_regex_shared/cregex.o gcc/boost_regex_shared/fileiter.o gcc/boost_regex_shared/instances.o gcc/boost_regex_shared/posix_api.o gcc/boost_regex_shared/regex.o gcc/boost_regex_shared/regex_debug.o gcc/boost_regex_shared/regex_synch.o gcc/boost_regex_shared/w32_regex_traits.o gcc/boost_regex_shared/wide_posix_api.o gcc/boost_regex_shared/winstances.o - $(LINKER) -o gcc/libboost_regex.so $(LDFLAGS) gcc/boost_regex_shared/c_regex_traits.o gcc/boost_regex_shared/c_regex_traits_common.o gcc/boost_regex_shared/cpp_regex_traits.o gcc/boost_regex_shared/cregex.o gcc/boost_regex_shared/fileiter.o gcc/boost_regex_shared/instances.o gcc/boost_regex_shared/posix_api.o gcc/boost_regex_shared/regex.o gcc/boost_regex_shared/regex_debug.o gcc/boost_regex_shared/regex_synch.o gcc/boost_regex_shared/w32_regex_traits.o gcc/boost_regex_shared/wide_posix_api.o gcc/boost_regex_shared/winstances.o $(LIBS) - -######################################################## -# -# section for libboost_regex_debug.a -# -######################################################## -gcc/boost_regex_debug_shared/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug_shared/c_regex_traits.o $(C2) $(CXXFLAGS) ../src/c_regex_traits.cpp - -gcc/boost_regex_debug_shared/c_regex_traits_common.o: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug_shared/c_regex_traits_common.o $(C2) $(CXXFLAGS) ../src/c_regex_traits_common.cpp - -gcc/boost_regex_debug_shared/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug_shared/cpp_regex_traits.o $(C2) $(CXXFLAGS) ../src/cpp_regex_traits.cpp - -gcc/boost_regex_debug_shared/cregex.o: ../src/cregex.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug_shared/cregex.o $(C2) $(CXXFLAGS) ../src/cregex.cpp - -gcc/boost_regex_debug_shared/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug_shared/fileiter.o $(C2) $(CXXFLAGS) ../src/fileiter.cpp - -gcc/boost_regex_debug_shared/instances.o: ../src/instances.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug_shared/instances.o $(C2) $(CXXFLAGS) ../src/instances.cpp - -gcc/boost_regex_debug_shared/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug_shared/posix_api.o $(C2) $(CXXFLAGS) ../src/posix_api.cpp - -gcc/boost_regex_debug_shared/regex.o: ../src/regex.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug_shared/regex.o $(C2) $(CXXFLAGS) ../src/regex.cpp - -gcc/boost_regex_debug_shared/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug_shared/regex_debug.o $(C2) $(CXXFLAGS) ../src/regex_debug.cpp - -gcc/boost_regex_debug_shared/regex_synch.o: ../src/regex_synch.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug_shared/regex_synch.o $(C2) $(CXXFLAGS) ../src/regex_synch.cpp - -gcc/boost_regex_debug_shared/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug_shared/w32_regex_traits.o $(C2) $(CXXFLAGS) ../src/w32_regex_traits.cpp - -gcc/boost_regex_debug_shared/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug_shared/wide_posix_api.o $(C2) $(CXXFLAGS) ../src/wide_posix_api.cpp - -gcc/boost_regex_debug_shared/winstances.o: ../src/winstances.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug_shared/winstances.o $(C2) $(CXXFLAGS) ../src/winstances.cpp - -gcc/boost_regex_debug_shared : - mkdir -p gcc/boost_regex_debug_shared - -boost_regex_debug_clean : - rm -f gcc/boost_regex_debug_shared/*.o - -./gcc/libboost_regex_debug.so : gcc/boost_regex_debug_shared/c_regex_traits.o gcc/boost_regex_debug_shared/c_regex_traits_common.o gcc/boost_regex_debug_shared/cpp_regex_traits.o gcc/boost_regex_debug_shared/cregex.o gcc/boost_regex_debug_shared/fileiter.o gcc/boost_regex_debug_shared/instances.o gcc/boost_regex_debug_shared/posix_api.o gcc/boost_regex_debug_shared/regex.o gcc/boost_regex_debug_shared/regex_debug.o gcc/boost_regex_debug_shared/regex_synch.o gcc/boost_regex_debug_shared/w32_regex_traits.o gcc/boost_regex_debug_shared/wide_posix_api.o gcc/boost_regex_debug_shared/winstances.o - $(LINKER) -o gcc/libboost_regex_debug.so $(LDFLAGS) gcc/boost_regex_debug_shared/c_regex_traits.o gcc/boost_regex_debug_shared/c_regex_traits_common.o gcc/boost_regex_debug_shared/cpp_regex_traits.o gcc/boost_regex_debug_shared/cregex.o gcc/boost_regex_debug_shared/fileiter.o gcc/boost_regex_debug_shared/instances.o gcc/boost_regex_debug_shared/posix_api.o gcc/boost_regex_debug_shared/regex.o gcc/boost_regex_debug_shared/regex_debug.o gcc/boost_regex_debug_shared/regex_synch.o gcc/boost_regex_debug_shared/w32_regex_traits.o gcc/boost_regex_debug_shared/wide_posix_api.o gcc/boost_regex_debug_shared/winstances.o $(LIBS) - - diff --git a/build/gcc.mak b/build/gcc.mak deleted file mode 100644 index 455a08af..00000000 --- a/build/gcc.mak +++ /dev/null @@ -1,154 +0,0 @@ -# -# auto generated makefile for gcc compiler -# -# usage: -# make -# brings libraries up to date -# make clean -# deletes temporary object files (but not archives). -# - -# -# the following environment variables are recognised: -# CXXFLAGS= extra compiler options - note applies to all build variants -# INCLUDES= additional include directories -# LDFLAGS= additional linker options -# LIBS= additional library files - -# compiler: -CXX=g++ -LINKER=g++ -shared - -# -# compiler options for release build: -# -C1=-c -O2 -I../../../ -# -# compiler options for debug build: -# -C2=-c -g -I../../../ - - - -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp - -all : gcc gcc gcc/boost_regex ./gcc/libboost_regex.a gcc gcc/boost_regex_debug ./gcc/libboost_regex_debug.a - -gcc : - mkdir -p gcc - -clean : boost_regex_clean boost_regex_debug_clean - -install : all - - - -######################################################## -# -# section for libboost_regex.a -# -######################################################## -gcc/boost_regex/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex/c_regex_traits.o $(C1) $(CXXFLAGS) ../src/c_regex_traits.cpp - -gcc/boost_regex/c_regex_traits_common.o: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex/c_regex_traits_common.o $(C1) $(CXXFLAGS) ../src/c_regex_traits_common.cpp - -gcc/boost_regex/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex/cpp_regex_traits.o $(C1) $(CXXFLAGS) ../src/cpp_regex_traits.cpp - -gcc/boost_regex/cregex.o: ../src/cregex.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex/cregex.o $(C1) $(CXXFLAGS) ../src/cregex.cpp - -gcc/boost_regex/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex/fileiter.o $(C1) $(CXXFLAGS) ../src/fileiter.cpp - -gcc/boost_regex/instances.o: ../src/instances.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex/instances.o $(C1) $(CXXFLAGS) ../src/instances.cpp - -gcc/boost_regex/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex/posix_api.o $(C1) $(CXXFLAGS) ../src/posix_api.cpp - -gcc/boost_regex/regex.o: ../src/regex.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex/regex.o $(C1) $(CXXFLAGS) ../src/regex.cpp - -gcc/boost_regex/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex/regex_debug.o $(C1) $(CXXFLAGS) ../src/regex_debug.cpp - -gcc/boost_regex/regex_synch.o: ../src/regex_synch.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex/regex_synch.o $(C1) $(CXXFLAGS) ../src/regex_synch.cpp - -gcc/boost_regex/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex/w32_regex_traits.o $(C1) $(CXXFLAGS) ../src/w32_regex_traits.cpp - -gcc/boost_regex/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex/wide_posix_api.o $(C1) $(CXXFLAGS) ../src/wide_posix_api.cpp - -gcc/boost_regex/winstances.o: ../src/winstances.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex/winstances.o $(C1) $(CXXFLAGS) ../src/winstances.cpp - -gcc/boost_regex : - mkdir -p gcc/boost_regex - -boost_regex_clean : - rm -f gcc/boost_regex/*.o - -./gcc/libboost_regex.a : gcc/boost_regex/c_regex_traits.o gcc/boost_regex/c_regex_traits_common.o gcc/boost_regex/cpp_regex_traits.o gcc/boost_regex/cregex.o gcc/boost_regex/fileiter.o gcc/boost_regex/instances.o gcc/boost_regex/posix_api.o gcc/boost_regex/regex.o gcc/boost_regex/regex_debug.o gcc/boost_regex/regex_synch.o gcc/boost_regex/w32_regex_traits.o gcc/boost_regex/wide_posix_api.o gcc/boost_regex/winstances.o - ar -r gcc/libboost_regex.a gcc/boost_regex/c_regex_traits.o gcc/boost_regex/c_regex_traits_common.o gcc/boost_regex/cpp_regex_traits.o gcc/boost_regex/cregex.o gcc/boost_regex/fileiter.o gcc/boost_regex/instances.o gcc/boost_regex/posix_api.o gcc/boost_regex/regex.o gcc/boost_regex/regex_debug.o gcc/boost_regex/regex_synch.o gcc/boost_regex/w32_regex_traits.o gcc/boost_regex/wide_posix_api.o gcc/boost_regex/winstances.o - -ar -s gcc/libboost_regex.a - -######################################################## -# -# section for libboost_regex_debug.a -# -######################################################## -gcc/boost_regex_debug/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug/c_regex_traits.o $(C2) $(CXXFLAGS) ../src/c_regex_traits.cpp - -gcc/boost_regex_debug/c_regex_traits_common.o: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug/c_regex_traits_common.o $(C2) $(CXXFLAGS) ../src/c_regex_traits_common.cpp - -gcc/boost_regex_debug/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug/cpp_regex_traits.o $(C2) $(CXXFLAGS) ../src/cpp_regex_traits.cpp - -gcc/boost_regex_debug/cregex.o: ../src/cregex.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug/cregex.o $(C2) $(CXXFLAGS) ../src/cregex.cpp - -gcc/boost_regex_debug/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug/fileiter.o $(C2) $(CXXFLAGS) ../src/fileiter.cpp - -gcc/boost_regex_debug/instances.o: ../src/instances.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug/instances.o $(C2) $(CXXFLAGS) ../src/instances.cpp - -gcc/boost_regex_debug/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug/posix_api.o $(C2) $(CXXFLAGS) ../src/posix_api.cpp - -gcc/boost_regex_debug/regex.o: ../src/regex.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug/regex.o $(C2) $(CXXFLAGS) ../src/regex.cpp - -gcc/boost_regex_debug/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug/regex_debug.o $(C2) $(CXXFLAGS) ../src/regex_debug.cpp - -gcc/boost_regex_debug/regex_synch.o: ../src/regex_synch.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug/regex_synch.o $(C2) $(CXXFLAGS) ../src/regex_synch.cpp - -gcc/boost_regex_debug/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug/w32_regex_traits.o $(C2) $(CXXFLAGS) ../src/w32_regex_traits.cpp - -gcc/boost_regex_debug/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug/wide_posix_api.o $(C2) $(CXXFLAGS) ../src/wide_posix_api.cpp - -gcc/boost_regex_debug/winstances.o: ../src/winstances.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o gcc/boost_regex_debug/winstances.o $(C2) $(CXXFLAGS) ../src/winstances.cpp - -gcc/boost_regex_debug : - mkdir -p gcc/boost_regex_debug - -boost_regex_debug_clean : - rm -f gcc/boost_regex_debug/*.o - -./gcc/libboost_regex_debug.a : gcc/boost_regex_debug/c_regex_traits.o gcc/boost_regex_debug/c_regex_traits_common.o gcc/boost_regex_debug/cpp_regex_traits.o gcc/boost_regex_debug/cregex.o gcc/boost_regex_debug/fileiter.o gcc/boost_regex_debug/instances.o gcc/boost_regex_debug/posix_api.o gcc/boost_regex_debug/regex.o gcc/boost_regex_debug/regex_debug.o gcc/boost_regex_debug/regex_synch.o gcc/boost_regex_debug/w32_regex_traits.o gcc/boost_regex_debug/wide_posix_api.o gcc/boost_regex_debug/winstances.o - ar -r gcc/libboost_regex_debug.a gcc/boost_regex_debug/c_regex_traits.o gcc/boost_regex_debug/c_regex_traits_common.o gcc/boost_regex_debug/cpp_regex_traits.o gcc/boost_regex_debug/cregex.o gcc/boost_regex_debug/fileiter.o gcc/boost_regex_debug/instances.o gcc/boost_regex_debug/posix_api.o gcc/boost_regex_debug/regex.o gcc/boost_regex_debug/regex_debug.o gcc/boost_regex_debug/regex_synch.o gcc/boost_regex_debug/w32_regex_traits.o gcc/boost_regex_debug/wide_posix_api.o gcc/boost_regex_debug/winstances.o - -ar -s gcc/libboost_regex_debug.a - - diff --git a/build/gcc_gen.sh b/build/gcc_gen.sh deleted file mode 100644 index f630dd72..00000000 --- a/build/gcc_gen.sh +++ /dev/null @@ -1,238 +0,0 @@ -#! /bin/bash - -libname="" -src="" -header="" -all_dep="" - -# current makefile: -out="" -# temporary file: -tout="" -# install target temp file: -iout="" -# debug flag: -debug="no" -# compile options: -opts="" -# main output sub-directory: -subdir="" -# vcl flag: -use_vcl="yes" - -############################################################### -# -# gcc generator section: -# -############################################################### - -gcc_shared="no" - -function gcc_gen_lib() -{ - if test "$gcc_shared" == "yes"; then - obj_dir="$libname""_shared" - all_dep="$all_dep $subdir $subdir/$obj_dir ./$subdir/lib$libname.so" - else - obj_dir="$libname" - all_dep="$all_dep $subdir $subdir/$obj_dir ./$subdir/lib$libname.a" - fi -# -# set up section comments: - cat >> $tout << EOF -######################################################## -# -# section for lib$libname.a -# -######################################################## -EOF -# -# process source files: - all_obj="" - for file in $src - do - obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1o/g'` - obj="$subdir/$obj_dir/$obj" - all_obj="$all_obj $obj" - echo "$obj: $file \$(ALL_HEADER)" >> $tout - echo " \$(CXX) \$(INCLUDES) -o $obj $opts \$(CXXFLAGS) $file" >> $tout - echo "" >> $tout - done -# -# now for the directories for this library: - echo "$subdir/$obj_dir : " >> $tout - echo " mkdir -p $subdir/$obj_dir" >> $tout - echo "" >> $tout -# -# now for the clean options for this library: - all_clean="$all_clean $libname""_clean" - echo "$libname"_clean : >> $tout - echo " rm -f $subdir/$obj_dir/*.o" >> $tout - echo "" >> $tout -# -# now for the main target for this library: - if test "$gcc_shared" == "yes"; then - echo ./$subdir/lib$libname.so : $all_obj >> $tout - echo " \$(LINKER) -o $subdir/lib$libname.so \$(LDFLAGS) $all_obj \$(LIBS)" >> $tout - else - echo ./$subdir/lib$libname.a : $all_obj >> $tout - echo " ar -r $subdir/lib$libname.a $all_obj" >> $tout - echo " -ar -s $subdir/lib$libname.a" >> $tout - fi - echo "" >> $tout -} - -function gcc_gen() -{ - out="gcc.mak" - tout="temp" - iout="temp_install" - subdir="gcc" - all_dep="" - all_clean="" - echo > $out - echo > $tout - echo > $iout - - libname="boost_regex" - opts="\$(C1)" - gcc_gen_lib - libname="boost_regex_debug" - opts="\$(C2)" - gcc_gen_lib - - - cat > $out << EOF -# -# auto generated makefile for gcc compiler -# -# usage: -# make -# brings libraries up to date -# make clean -# deletes temporary object files (but not archives). -# - -# -# the following environment variables are recognised: -# CXXFLAGS= extra compiler options - note applies to all build variants -# INCLUDES= additional include directories -# LDFLAGS= additional linker options -# LIBS= additional library files - -# compiler: -CXX=g++ -LINKER=g++ -shared - -# -# compiler options for release build: -# -C1=-c -O2 -I../../../ -# -# compiler options for debug build: -# -C2=-c -g -I../../../ - - -EOF - echo "" >> $out - echo "ALL_HEADER=$header" >> $out - echo "" >> $out - echo "all : $subdir $all_dep" >> $out - echo >> $out - echo "$subdir :" >> $out - echo " mkdir -p $subdir" >> $out - echo >> $out - echo "clean : $all_clean" >> $out - echo >> $out - echo "install : all" >> $out - cat $iout >> $out - echo >> $out - cat $tout >> $out -} - -function gcc_gen_shared() -{ - out="gcc-shared.mak" - tout="temp" - iout="temp_install" - subdir="gcc" - all_dep="" - all_clean="" - echo > $out - echo > $tout - echo > $iout - - libname="boost_regex" - opts="\$(C1)" - gcc_gen_lib - libname="boost_regex_debug" - opts="\$(C2)" - gcc_gen_lib - - - cat > $out << EOF -# -# auto generated makefile for gcc compiler -# -# usage: -# make -# brings libraries up to date -# make clean -# deletes temporary object files (but not archives). -# - -# -# the following environment variables are recognised: -# CXXFLAGS= extra compiler options - note applies to all build variants -# INCLUDES= additional include directories -# LDFLAGS= additional linker options -# LIBS= additional library files - -# compiler: -CXX=g++ -LINKER=g++ -shared - -# -# compiler options for release build: -# -C1=-c -O2 -I../../../ -fPIC -# -# compiler options for debug build: -# -C2=-c -g -I../../../ -fPIC - -EOF - echo "" >> $out - echo "ALL_HEADER=$header" >> $out - echo "" >> $out - echo "all : $subdir $all_dep" >> $out - echo >> $out - echo "$subdir :" >> $out - echo " mkdir -p $subdir" >> $out - echo >> $out - echo "clean : $all_clean" >> $out - echo >> $out - echo "install : all" >> $out - cat $iout >> $out - echo >> $out - cat $tout >> $out -} - -# -# locate source files: -# -. common.sh - -# -# generate gcc makefile: -gcc_gen -gcc_shared="yes" -gcc_gen_shared - - -# -# remove tmep files; -rm -f $tout $iout - - diff --git a/build/generic.mak b/build/generic.mak deleted file mode 100644 index e284419a..00000000 --- a/build/generic.mak +++ /dev/null @@ -1,95 +0,0 @@ -# -# auto generated makefile for generic compiler -# -# usage: -# make -# brings libraries up to date -# make clean -# deletes temporary object files (but not archives). -# - -# -# the following environment variables are recognised: -# CXXFLAGS= extra compiler options - note applies to all build variants -# INCLUDES= additional include directories -# LDFLAGS= additional linker options -# LIBS= additional library files -# CXX= compiler to use -# LINKER= linker/archiver to use -# name of subdirectory to use for object/archive files: -DIRNAME=generic - -# -# default compiler options for release build: -# -C1=-c -O2 -I../../../ - - - -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp - -all : $(DIRNAME) $(DIRNAME) $(DIRNAME)/boost_regex ./$(DIRNAME)/libboost_regex.so - -$(DIRNAME) : - mkdir -p $(DIRNAME) - -clean : boost_regex_clean - -install : all - - - -######################################################## -# -# section for libboost_regex.so -# -######################################################## -$(DIRNAME)/boost_regex/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/c_regex_traits.o $(C1) $(CXXFLAGS) ../src/c_regex_traits.cpp - -$(DIRNAME)/boost_regex/c_regex_traits_common.o: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/c_regex_traits_common.o $(C1) $(CXXFLAGS) ../src/c_regex_traits_common.cpp - -$(DIRNAME)/boost_regex/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/cpp_regex_traits.o $(C1) $(CXXFLAGS) ../src/cpp_regex_traits.cpp - -$(DIRNAME)/boost_regex/cregex.o: ../src/cregex.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/cregex.o $(C1) $(CXXFLAGS) ../src/cregex.cpp - -$(DIRNAME)/boost_regex/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/fileiter.o $(C1) $(CXXFLAGS) ../src/fileiter.cpp - -$(DIRNAME)/boost_regex/instances.o: ../src/instances.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/instances.o $(C1) $(CXXFLAGS) ../src/instances.cpp - -$(DIRNAME)/boost_regex/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/posix_api.o $(C1) $(CXXFLAGS) ../src/posix_api.cpp - -$(DIRNAME)/boost_regex/regex.o: ../src/regex.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/regex.o $(C1) $(CXXFLAGS) ../src/regex.cpp - -$(DIRNAME)/boost_regex/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/regex_debug.o $(C1) $(CXXFLAGS) ../src/regex_debug.cpp - -$(DIRNAME)/boost_regex/regex_synch.o: ../src/regex_synch.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/regex_synch.o $(C1) $(CXXFLAGS) ../src/regex_synch.cpp - -$(DIRNAME)/boost_regex/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/w32_regex_traits.o $(C1) $(CXXFLAGS) ../src/w32_regex_traits.cpp - -$(DIRNAME)/boost_regex/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/wide_posix_api.o $(C1) $(CXXFLAGS) ../src/wide_posix_api.cpp - -$(DIRNAME)/boost_regex/winstances.o: ../src/winstances.cpp $(ALL_HEADER) - $(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/winstances.o $(C1) $(CXXFLAGS) ../src/winstances.cpp - -$(DIRNAME)/boost_regex : - mkdir -p $(DIRNAME)/boost_regex - -boost_regex_clean : - rm -f $(DIRNAME)/boost_regex/*.o - -./$(DIRNAME)/libboost_regex.so : $(DIRNAME)/boost_regex/c_regex_traits.o $(DIRNAME)/boost_regex/c_regex_traits_common.o $(DIRNAME)/boost_regex/cpp_regex_traits.o $(DIRNAME)/boost_regex/cregex.o $(DIRNAME)/boost_regex/fileiter.o $(DIRNAME)/boost_regex/instances.o $(DIRNAME)/boost_regex/posix_api.o $(DIRNAME)/boost_regex/regex.o $(DIRNAME)/boost_regex/regex_debug.o $(DIRNAME)/boost_regex/regex_synch.o $(DIRNAME)/boost_regex/w32_regex_traits.o $(DIRNAME)/boost_regex/wide_posix_api.o $(DIRNAME)/boost_regex/winstances.o - $(LINKER) $(LDFLAGS) -o $(DIRNAME)/libboost_regex.so $(DIRNAME)/boost_regex/c_regex_traits.o $(DIRNAME)/boost_regex/c_regex_traits_common.o $(DIRNAME)/boost_regex/cpp_regex_traits.o $(DIRNAME)/boost_regex/cregex.o $(DIRNAME)/boost_regex/fileiter.o $(DIRNAME)/boost_regex/instances.o $(DIRNAME)/boost_regex/posix_api.o $(DIRNAME)/boost_regex/regex.o $(DIRNAME)/boost_regex/regex_debug.o $(DIRNAME)/boost_regex/regex_synch.o $(DIRNAME)/boost_regex/w32_regex_traits.o $(DIRNAME)/boost_regex/wide_posix_api.o $(DIRNAME)/boost_regex/winstances.o $(LIBS) - - diff --git a/build/generic_gen.sh b/build/generic_gen.sh deleted file mode 100644 index bf1918db..00000000 --- a/build/generic_gen.sh +++ /dev/null @@ -1,144 +0,0 @@ -#! /bin/bash - -libname="" -src="" -header="" -all_dep="" - -# current makefile: -out="" -# temporary file: -tout="" -# install target temp file: -iout="" -# debug flag: -debug="no" -# compile options: -opts="" -# main output sub-directory: -subdir="" -# vcl flag: -use_vcl="yes" - - -####################################################################### -# -# section for generic compiler -# -####################################################################### - - -function gen_gen_lib() -{ - all_dep="$all_dep $subdir $subdir/$libname ./$subdir/lib$libname.so" -# -# set up section comments: - cat >> $tout << EOF -######################################################## -# -# section for lib$libname.so -# -######################################################## -EOF -# -# process source files: - all_obj="" - for file in $src - do - obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1o/g'` - obj="$subdir/$libname/$obj" - all_obj="$all_obj $obj" - echo "$obj: $file \$(ALL_HEADER)" >> $tout - echo " \$(CXX) \$(INCLUDES) -o $obj $opts \$(CXXFLAGS) $file" >> $tout - echo "" >> $tout - done -# -# now for the directories for this library: - echo "$subdir/$libname : " >> $tout - echo " mkdir -p $subdir/$libname" >> $tout - echo "" >> $tout -# -# now for the clean options for this library: - all_clean="$all_clean $libname""_clean" - echo "$libname"_clean : >> $tout - echo " rm -f $subdir/$libname/*.o" >> $tout - echo "" >> $tout -# -# now for the main target for this library: - echo ./$subdir/lib$libname.so : $all_obj >> $tout - echo " \$(LINKER) \$(LDFLAGS) -o $subdir/lib$libname.so $all_obj \$(LIBS)" >> $tout - echo "" >> $tout -} - -function gen_gen() -{ - out="generic.mak" - tout="temp" - iout="temp_install" - subdir="\$(DIRNAME)" - all_dep="" - all_clean="" - echo > $out - echo > $tout - echo > $iout - - libname="boost_regex" - opts="\$(C1)" - gen_gen_lib - - cat > $out << EOF -# -# auto generated makefile for generic compiler -# -# usage: -# make -# brings libraries up to date -# make clean -# deletes temporary object files (but not archives). -# - -# -# the following environment variables are recognised: -# CXXFLAGS= extra compiler options - note applies to all build variants -# INCLUDES= additional include directories -# LDFLAGS= additional linker options -# LIBS= additional library files -# CXX= compiler to use -# LINKER= linker/archiver to use -# name of subdirectory to use for object/archive files: -DIRNAME=generic - -# -# default compiler options for release build: -# -C1=-c -O2 -I../../../ - - -EOF - echo "" >> $out - echo "ALL_HEADER=$header" >> $out - echo "" >> $out - echo "all : $subdir $all_dep" >> $out - echo >> $out - echo "$subdir :" >> $out - echo " mkdir -p $subdir" >> $out - echo >> $out - echo "clean : $all_clean" >> $out - echo >> $out - echo "install : all" >> $out - cat $iout >> $out - echo >> $out - cat $tout >> $out -} - -. common.sh - -# -# generate generic makefile: -gen_gen - -# -# remove tmep files; -rm -f $tout $iout - - diff --git a/build/sun_gen.sh b/build/sun_gen.sh deleted file mode 100644 index a72e0bb3..00000000 --- a/build/sun_gen.sh +++ /dev/null @@ -1,214 +0,0 @@ -#! /bin/bash - -libname="" -src="" -header="" -all_dep="" - -# current makefile: -out="" -# temporary file: -tout="" -# install target temp file: -iout="" -# debug flag: -debug="no" -# compile options: -opts="" -# main output sub-directory: -subdir="" -# vcl flag: -use_vcl="yes" - -####################################################################### -# -# section for Sun Forte 6.1 (5.1 compiler) -# -####################################################################### - -function sun_gen_lib() -{ - all_dep="$all_dep $subdir/$libname $subdir/$libname.a" - -# -# set up section comments: - cat >> $tout << EOF -######################################################## -# -# section for $libname.a -# -######################################################## -EOF -# -# process source files: - all_obj="" - all_lib_obj="" - for file in $src - do - obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1o/g'` - obj="$subdir/$libname/$obj" - all_obj="$all_obj $obj" - all_lib_obj="$all_lib_obj $obj" - echo "$obj: $file \$(ALL_HEADER)" >> $tout - echo " CC -c \$(INCLUDES) $opts \$(CXXFLAGS) -o $obj $file" >> $tout - echo "" >> $tout - done -# -# now for the directories for this library: - echo "$subdir/$libname : " >> $tout - echo " mkdir -p $subdir/$libname" >> $tout - echo "" >> $tout -# -# now for the clean options for this library: - all_clean="$all_clean $libname""_clean" - echo "$libname"_clean : >> $tout - echo " rm -f $subdir/$libname/"'*.o' >> $tout - echo " rm -fr $subdir/$libname/\$(SUNWS_CACHE_NAME)" >> $tout - echo "" >> $tout -# -# now for the main target for this library: - echo $subdir/$libname.a : $all_obj >> $tout - echo " CC -xar \$(CXXFLAGS) \$(LDFLAGS) -o $subdir/$libname.a $all_lib_obj" >> $tout - echo "" >> $tout -} - -function sun_gen_dll() -{ - all_dep="$all_dep $subdir/shared_$libname $subdir/$libname.so" -# -# set up section comments: - cat >> $tout << EOF -######################################################## -# -# section for $libname.so -# -######################################################## -EOF -# -# process source files: - all_obj="" - for file in $src - do - obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1o/g'` - obj="$subdir/shared_$libname/$obj" - all_obj="$all_obj $obj" - echo "$obj: $file \$(ALL_HEADER)" >> $tout - echo " CC -c \$(INCLUDES) $opts \$(CXXFLAGS) -o $obj $file" >> $tout - echo "" >> $tout - done -# -# now for the directories for this library: - echo "$subdir/shared_$libname :" >> $tout - echo " mkdir -p $subdir/shared_$libname" >> $tout - echo "" >> $tout -# -# now for the clean options for this library: - all_clean="$all_clean $libname""_clean_shared" - echo "$libname"_clean_shared : >> $tout - echo " rm -f $subdir/shared_$libname/"'*.o' >> $tout - echo " rm -fr $subdir/shared_$libname/\$(SUNWS_CACHE_NAME)" >> $tout - echo "" >> $tout -# -# now for the main target for this library: - echo $subdir/$libname.so : $all_obj >> $tout - echo " CC $opts -G -o $subdir/$libname.so \$(LDFLAGS) $all_obj \$(LIBS)" >> $tout - echo "" >> $tout -} - - - -function sun_gen() -{ - tout="temp" - iout="temp_install" - all_dep="$subdir" - all_clean="" - echo > $out - echo > $tout - rm -f $iout - - libname="libboost_regex\$(LIBSUFFIX)" - opts="-O2 -I../../../" - sun_gen_lib - - libname="libboost_regex_mt\$(LIBSUFFIX)" - opts="-O2 -mt -I../../../" - sun_gen_lib - - libname="libboost_regex\$(LIBSUFFIX)" - opts="-KPIC -O2 -I../../../" - sun_gen_dll - - libname="libboost_regex_mt\$(LIBSUFFIX)" - opts="-KPIC -O2 -mt -I../../../" - sun_gen_dll - - - cat > $out << EOF -# -# auto generated makefile for Sun Forte 6.1 -# -# usage: -# make -# brings libraries up to date -# make clean -# removes all temporary files. - -# -# Add additional compiler options here: -# -CXXFLAGS= -# -# Add additional include directories here: -# -INCLUDES= -# -# add additional linker flags here: -# -LDFLAGS= -# -# add additional libraries to link to here: -# -LIBS= -# -# lib suffix string: -# -LIBSUFFIX= -# -# template cache path: -# -SUNWS_CACHE_NAME=SunWS_cache - - -EOF - echo "" >> $out - echo "ALL_HEADER=$header" >> $out - echo "" >> $out - echo "all : $all_dep" >> $out - echo >> $out - echo "clean : $all_clean" >> $out - echo >> $out - echo "install : all" >> $out -# cat $iout >> $out - echo >> $out - echo $subdir : >> $out - echo " mkdir -p $subdir" >> $out - echo "" >> $out - - cat $tout >> $out -} - -. common.sh - -# -# generate Sun 6.1 makefile: -out="sunpro.mak" -subdir="sunpro" -sun_gen - - -# -# remove tmep files; -rm -f $tout $iout - - diff --git a/build/sunpro.mak b/build/sunpro.mak deleted file mode 100644 index 56395da1..00000000 --- a/build/sunpro.mak +++ /dev/null @@ -1,265 +0,0 @@ -# -# auto generated makefile for Sun Forte 6.1 -# -# usage: -# make -# brings libraries up to date -# make clean -# removes all temporary files. - -# -# Add additional compiler options here: -# -CXXFLAGS= -# -# Add additional include directories here: -# -INCLUDES= -# -# add additional linker flags here: -# -LDFLAGS= -# -# add additional libraries to link to here: -# -LIBS= -# -# lib suffix string: -# -LIBSUFFIX= -# -# template cache path: -# -SUNWS_CACHE_NAME=SunWS_cache - - - -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.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 - -clean : libboost_regex$(LIBSUFFIX)_clean libboost_regex_mt$(LIBSUFFIX)_clean libboost_regex$(LIBSUFFIX)_clean_shared libboost_regex_mt$(LIBSUFFIX)_clean_shared - -install : all - -sunpro : - mkdir -p sunpro - - -######################################################## -# -# section for libboost_regex$(LIBSUFFIX).a -# -######################################################## -sunpro/libboost_regex$(LIBSUFFIX)/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/c_regex_traits.o ../src/c_regex_traits.cpp - -sunpro/libboost_regex$(LIBSUFFIX)/c_regex_traits_common.o: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/c_regex_traits_common.o ../src/c_regex_traits_common.cpp - -sunpro/libboost_regex$(LIBSUFFIX)/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/cpp_regex_traits.o ../src/cpp_regex_traits.cpp - -sunpro/libboost_regex$(LIBSUFFIX)/cregex.o: ../src/cregex.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/cregex.o ../src/cregex.cpp - -sunpro/libboost_regex$(LIBSUFFIX)/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/fileiter.o ../src/fileiter.cpp - -sunpro/libboost_regex$(LIBSUFFIX)/instances.o: ../src/instances.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/instances.o ../src/instances.cpp - -sunpro/libboost_regex$(LIBSUFFIX)/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/posix_api.o ../src/posix_api.cpp - -sunpro/libboost_regex$(LIBSUFFIX)/regex.o: ../src/regex.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/regex.o ../src/regex.cpp - -sunpro/libboost_regex$(LIBSUFFIX)/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/regex_debug.o ../src/regex_debug.cpp - -sunpro/libboost_regex$(LIBSUFFIX)/regex_synch.o: ../src/regex_synch.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/regex_synch.o ../src/regex_synch.cpp - -sunpro/libboost_regex$(LIBSUFFIX)/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/w32_regex_traits.o ../src/w32_regex_traits.cpp - -sunpro/libboost_regex$(LIBSUFFIX)/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/wide_posix_api.o ../src/wide_posix_api.cpp - -sunpro/libboost_regex$(LIBSUFFIX)/winstances.o: ../src/winstances.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/winstances.o ../src/winstances.cpp - -sunpro/libboost_regex$(LIBSUFFIX) : - mkdir -p sunpro/libboost_regex$(LIBSUFFIX) - -libboost_regex$(LIBSUFFIX)_clean : - rm -f sunpro/libboost_regex$(LIBSUFFIX)/*.o - rm -fr sunpro/libboost_regex$(LIBSUFFIX)/$(SUNWS_CACHE_NAME) - -sunpro/libboost_regex$(LIBSUFFIX).a : sunpro/libboost_regex$(LIBSUFFIX)/c_regex_traits.o sunpro/libboost_regex$(LIBSUFFIX)/c_regex_traits_common.o sunpro/libboost_regex$(LIBSUFFIX)/cpp_regex_traits.o sunpro/libboost_regex$(LIBSUFFIX)/cregex.o sunpro/libboost_regex$(LIBSUFFIX)/fileiter.o sunpro/libboost_regex$(LIBSUFFIX)/instances.o sunpro/libboost_regex$(LIBSUFFIX)/posix_api.o sunpro/libboost_regex$(LIBSUFFIX)/regex.o sunpro/libboost_regex$(LIBSUFFIX)/regex_debug.o sunpro/libboost_regex$(LIBSUFFIX)/regex_synch.o sunpro/libboost_regex$(LIBSUFFIX)/w32_regex_traits.o sunpro/libboost_regex$(LIBSUFFIX)/wide_posix_api.o sunpro/libboost_regex$(LIBSUFFIX)/winstances.o - CC -xar $(CXXFLAGS) $(LDFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX).a sunpro/libboost_regex$(LIBSUFFIX)/c_regex_traits.o sunpro/libboost_regex$(LIBSUFFIX)/c_regex_traits_common.o sunpro/libboost_regex$(LIBSUFFIX)/cpp_regex_traits.o sunpro/libboost_regex$(LIBSUFFIX)/cregex.o sunpro/libboost_regex$(LIBSUFFIX)/fileiter.o sunpro/libboost_regex$(LIBSUFFIX)/instances.o sunpro/libboost_regex$(LIBSUFFIX)/posix_api.o sunpro/libboost_regex$(LIBSUFFIX)/regex.o sunpro/libboost_regex$(LIBSUFFIX)/regex_debug.o sunpro/libboost_regex$(LIBSUFFIX)/regex_synch.o sunpro/libboost_regex$(LIBSUFFIX)/w32_regex_traits.o sunpro/libboost_regex$(LIBSUFFIX)/wide_posix_api.o sunpro/libboost_regex$(LIBSUFFIX)/winstances.o - -######################################################## -# -# section for libboost_regex_mt$(LIBSUFFIX).a -# -######################################################## -sunpro/libboost_regex_mt$(LIBSUFFIX)/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/c_regex_traits.o ../src/c_regex_traits.cpp - -sunpro/libboost_regex_mt$(LIBSUFFIX)/c_regex_traits_common.o: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/c_regex_traits_common.o ../src/c_regex_traits_common.cpp - -sunpro/libboost_regex_mt$(LIBSUFFIX)/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/cpp_regex_traits.o ../src/cpp_regex_traits.cpp - -sunpro/libboost_regex_mt$(LIBSUFFIX)/cregex.o: ../src/cregex.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/cregex.o ../src/cregex.cpp - -sunpro/libboost_regex_mt$(LIBSUFFIX)/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/fileiter.o ../src/fileiter.cpp - -sunpro/libboost_regex_mt$(LIBSUFFIX)/instances.o: ../src/instances.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/instances.o ../src/instances.cpp - -sunpro/libboost_regex_mt$(LIBSUFFIX)/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/posix_api.o ../src/posix_api.cpp - -sunpro/libboost_regex_mt$(LIBSUFFIX)/regex.o: ../src/regex.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/regex.o ../src/regex.cpp - -sunpro/libboost_regex_mt$(LIBSUFFIX)/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/regex_debug.o ../src/regex_debug.cpp - -sunpro/libboost_regex_mt$(LIBSUFFIX)/regex_synch.o: ../src/regex_synch.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/regex_synch.o ../src/regex_synch.cpp - -sunpro/libboost_regex_mt$(LIBSUFFIX)/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/w32_regex_traits.o ../src/w32_regex_traits.cpp - -sunpro/libboost_regex_mt$(LIBSUFFIX)/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/wide_posix_api.o ../src/wide_posix_api.cpp - -sunpro/libboost_regex_mt$(LIBSUFFIX)/winstances.o: ../src/winstances.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/winstances.o ../src/winstances.cpp - -sunpro/libboost_regex_mt$(LIBSUFFIX) : - mkdir -p sunpro/libboost_regex_mt$(LIBSUFFIX) - -libboost_regex_mt$(LIBSUFFIX)_clean : - rm -f sunpro/libboost_regex_mt$(LIBSUFFIX)/*.o - rm -fr sunpro/libboost_regex_mt$(LIBSUFFIX)/$(SUNWS_CACHE_NAME) - -sunpro/libboost_regex_mt$(LIBSUFFIX).a : sunpro/libboost_regex_mt$(LIBSUFFIX)/c_regex_traits.o sunpro/libboost_regex_mt$(LIBSUFFIX)/c_regex_traits_common.o sunpro/libboost_regex_mt$(LIBSUFFIX)/cpp_regex_traits.o sunpro/libboost_regex_mt$(LIBSUFFIX)/cregex.o sunpro/libboost_regex_mt$(LIBSUFFIX)/fileiter.o sunpro/libboost_regex_mt$(LIBSUFFIX)/instances.o sunpro/libboost_regex_mt$(LIBSUFFIX)/posix_api.o sunpro/libboost_regex_mt$(LIBSUFFIX)/regex.o sunpro/libboost_regex_mt$(LIBSUFFIX)/regex_debug.o sunpro/libboost_regex_mt$(LIBSUFFIX)/regex_synch.o sunpro/libboost_regex_mt$(LIBSUFFIX)/w32_regex_traits.o sunpro/libboost_regex_mt$(LIBSUFFIX)/wide_posix_api.o sunpro/libboost_regex_mt$(LIBSUFFIX)/winstances.o - CC -xar $(CXXFLAGS) $(LDFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX).a sunpro/libboost_regex_mt$(LIBSUFFIX)/c_regex_traits.o sunpro/libboost_regex_mt$(LIBSUFFIX)/c_regex_traits_common.o sunpro/libboost_regex_mt$(LIBSUFFIX)/cpp_regex_traits.o sunpro/libboost_regex_mt$(LIBSUFFIX)/cregex.o sunpro/libboost_regex_mt$(LIBSUFFIX)/fileiter.o sunpro/libboost_regex_mt$(LIBSUFFIX)/instances.o sunpro/libboost_regex_mt$(LIBSUFFIX)/posix_api.o sunpro/libboost_regex_mt$(LIBSUFFIX)/regex.o sunpro/libboost_regex_mt$(LIBSUFFIX)/regex_debug.o sunpro/libboost_regex_mt$(LIBSUFFIX)/regex_synch.o sunpro/libboost_regex_mt$(LIBSUFFIX)/w32_regex_traits.o sunpro/libboost_regex_mt$(LIBSUFFIX)/wide_posix_api.o sunpro/libboost_regex_mt$(LIBSUFFIX)/winstances.o - -######################################################## -# -# section for libboost_regex$(LIBSUFFIX).so -# -######################################################## -sunpro/shared_libboost_regex$(LIBSUFFIX)/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/c_regex_traits.o ../src/c_regex_traits.cpp - -sunpro/shared_libboost_regex$(LIBSUFFIX)/c_regex_traits_common.o: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/c_regex_traits_common.o ../src/c_regex_traits_common.cpp - -sunpro/shared_libboost_regex$(LIBSUFFIX)/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/cpp_regex_traits.o ../src/cpp_regex_traits.cpp - -sunpro/shared_libboost_regex$(LIBSUFFIX)/cregex.o: ../src/cregex.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/cregex.o ../src/cregex.cpp - -sunpro/shared_libboost_regex$(LIBSUFFIX)/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/fileiter.o ../src/fileiter.cpp - -sunpro/shared_libboost_regex$(LIBSUFFIX)/instances.o: ../src/instances.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/instances.o ../src/instances.cpp - -sunpro/shared_libboost_regex$(LIBSUFFIX)/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/posix_api.o ../src/posix_api.cpp - -sunpro/shared_libboost_regex$(LIBSUFFIX)/regex.o: ../src/regex.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/regex.o ../src/regex.cpp - -sunpro/shared_libboost_regex$(LIBSUFFIX)/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/regex_debug.o ../src/regex_debug.cpp - -sunpro/shared_libboost_regex$(LIBSUFFIX)/regex_synch.o: ../src/regex_synch.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/regex_synch.o ../src/regex_synch.cpp - -sunpro/shared_libboost_regex$(LIBSUFFIX)/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/w32_regex_traits.o ../src/w32_regex_traits.cpp - -sunpro/shared_libboost_regex$(LIBSUFFIX)/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/wide_posix_api.o ../src/wide_posix_api.cpp - -sunpro/shared_libboost_regex$(LIBSUFFIX)/winstances.o: ../src/winstances.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/winstances.o ../src/winstances.cpp - -sunpro/shared_libboost_regex$(LIBSUFFIX) : - mkdir -p sunpro/shared_libboost_regex$(LIBSUFFIX) - -libboost_regex$(LIBSUFFIX)_clean_shared : - rm -f sunpro/shared_libboost_regex$(LIBSUFFIX)/*.o - rm -fr sunpro/shared_libboost_regex$(LIBSUFFIX)/$(SUNWS_CACHE_NAME) - -sunpro/libboost_regex$(LIBSUFFIX).so : sunpro/shared_libboost_regex$(LIBSUFFIX)/c_regex_traits.o sunpro/shared_libboost_regex$(LIBSUFFIX)/c_regex_traits_common.o sunpro/shared_libboost_regex$(LIBSUFFIX)/cpp_regex_traits.o sunpro/shared_libboost_regex$(LIBSUFFIX)/cregex.o sunpro/shared_libboost_regex$(LIBSUFFIX)/fileiter.o sunpro/shared_libboost_regex$(LIBSUFFIX)/instances.o sunpro/shared_libboost_regex$(LIBSUFFIX)/posix_api.o sunpro/shared_libboost_regex$(LIBSUFFIX)/regex.o sunpro/shared_libboost_regex$(LIBSUFFIX)/regex_debug.o sunpro/shared_libboost_regex$(LIBSUFFIX)/regex_synch.o sunpro/shared_libboost_regex$(LIBSUFFIX)/w32_regex_traits.o sunpro/shared_libboost_regex$(LIBSUFFIX)/wide_posix_api.o sunpro/shared_libboost_regex$(LIBSUFFIX)/winstances.o - CC -KPIC -O2 -I../../../ -G -o sunpro/libboost_regex$(LIBSUFFIX).so $(LDFLAGS) sunpro/shared_libboost_regex$(LIBSUFFIX)/c_regex_traits.o sunpro/shared_libboost_regex$(LIBSUFFIX)/c_regex_traits_common.o sunpro/shared_libboost_regex$(LIBSUFFIX)/cpp_regex_traits.o sunpro/shared_libboost_regex$(LIBSUFFIX)/cregex.o sunpro/shared_libboost_regex$(LIBSUFFIX)/fileiter.o sunpro/shared_libboost_regex$(LIBSUFFIX)/instances.o sunpro/shared_libboost_regex$(LIBSUFFIX)/posix_api.o sunpro/shared_libboost_regex$(LIBSUFFIX)/regex.o sunpro/shared_libboost_regex$(LIBSUFFIX)/regex_debug.o sunpro/shared_libboost_regex$(LIBSUFFIX)/regex_synch.o sunpro/shared_libboost_regex$(LIBSUFFIX)/w32_regex_traits.o sunpro/shared_libboost_regex$(LIBSUFFIX)/wide_posix_api.o sunpro/shared_libboost_regex$(LIBSUFFIX)/winstances.o $(LIBS) - -######################################################## -# -# section for libboost_regex_mt$(LIBSUFFIX).so -# -######################################################## -sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/c_regex_traits.o ../src/c_regex_traits.cpp - -sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/c_regex_traits_common.o: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/c_regex_traits_common.o ../src/c_regex_traits_common.cpp - -sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/cpp_regex_traits.o ../src/cpp_regex_traits.cpp - -sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/cregex.o: ../src/cregex.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/cregex.o ../src/cregex.cpp - -sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/fileiter.o ../src/fileiter.cpp - -sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/instances.o: ../src/instances.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/instances.o ../src/instances.cpp - -sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/posix_api.o ../src/posix_api.cpp - -sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex.o: ../src/regex.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex.o ../src/regex.cpp - -sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex_debug.o ../src/regex_debug.cpp - -sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex_synch.o: ../src/regex_synch.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex_synch.o ../src/regex_synch.cpp - -sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/w32_regex_traits.o ../src/w32_regex_traits.cpp - -sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/wide_posix_api.o ../src/wide_posix_api.cpp - -sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/winstances.o: ../src/winstances.cpp $(ALL_HEADER) - CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/winstances.o ../src/winstances.cpp - -sunpro/shared_libboost_regex_mt$(LIBSUFFIX) : - mkdir -p sunpro/shared_libboost_regex_mt$(LIBSUFFIX) - -libboost_regex_mt$(LIBSUFFIX)_clean_shared : - rm -f sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/*.o - rm -fr sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/$(SUNWS_CACHE_NAME) - -sunpro/libboost_regex_mt$(LIBSUFFIX).so : sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/c_regex_traits.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/c_regex_traits_common.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/cpp_regex_traits.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/cregex.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/fileiter.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/instances.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/posix_api.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex_debug.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex_synch.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/w32_regex_traits.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/wide_posix_api.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/winstances.o - CC -KPIC -O2 -mt -I../../../ -G -o sunpro/libboost_regex_mt$(LIBSUFFIX).so $(LDFLAGS) sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/c_regex_traits.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/c_regex_traits_common.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/cpp_regex_traits.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/cregex.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/fileiter.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/instances.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/posix_api.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex_debug.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex_synch.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/w32_regex_traits.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/wide_posix_api.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/winstances.o $(LIBS) - - diff --git a/build/vc6-stlport.mak b/build/vc6-stlport.mak deleted file mode 100644 index 5436c0da..00000000 --- a/build/vc6-stlport.mak +++ /dev/null @@ -1,576 +0,0 @@ -# -# auto generated makefile for VC6+STLPort -# -# usage: -# make -# brings libraries up to date -# make install -# brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended) -# - -# -# Add additional compiler options here: -# -CXXFLAGS= -# -# Add additional include directories here: -# -INCLUDES= -# -# add additional linker flags here: -# -XLFLAGS= -# -# add additional static-library creation flags here: -# -XSFLAGS= - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(MSVCDIR)" == "" -!ERROR Variable MSVCDIR not set. -!ENDIF - -!IF "$(STLPORT_PATH)" == "" -!ERROR Variable STLPORT_PATH not set. -!ENDIF - - -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/cregex.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_fwd.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp ../../../boost/regex/v3/regex_traits.hpp - -all : main_dir libboost_regex_vc6-stlport_ms_dir ./vc6-stlport/libboost_regex_vc6-stlport_ms.lib libboost_regex_vc6-stlport_msd_dir ./vc6-stlport/libboost_regex_vc6-stlport_msd.lib boost_regex_vc6-stlport_mdd_dir ./vc6-stlport/boost_regex_vc6-stlport_mdd.lib boost_regex_vc6-stlport_md_dir ./vc6-stlport/boost_regex_vc6-stlport_md.lib libboost_regex_vc6-stlport_md_dir ./vc6-stlport/libboost_regex_vc6-stlport_md.lib libboost_regex_vc6-stlport_mdd_dir ./vc6-stlport/libboost_regex_vc6-stlport_mdd.lib boost_regex_vc6-stlport_mddd_dir ./vc6-stlport/boost_regex_vc6-stlport_mddd.lib libboost_regex_vc6-stlport_msdd_dir ./vc6-stlport/libboost_regex_vc6-stlport_msdd.lib libboost_regex_vc6-stlport_mddd_dir ./vc6-stlport/libboost_regex_vc6-stlport_mddd.lib - -clean : libboost_regex_vc6-stlport_ms_clean libboost_regex_vc6-stlport_msd_clean boost_regex_vc6-stlport_mdd_clean boost_regex_vc6-stlport_md_clean libboost_regex_vc6-stlport_md_clean libboost_regex_vc6-stlport_mdd_clean boost_regex_vc6-stlport_mddd_clean libboost_regex_vc6-stlport_msdd_clean libboost_regex_vc6-stlport_mddd_clean - -install : stlport_check all - copy vc6-stlport\libboost_regex_vc6-stlport_ms.lib "$(MSVCDIR)\lib" - copy vc6-stlport\libboost_regex_vc6-stlport_msd.lib "$(MSVCDIR)\lib" - copy vc6-stlport\boost_regex_vc6-stlport_mdd.lib "$(MSVCDIR)\lib" - copy vc6-stlport\boost_regex_vc6-stlport_mdd.dll "$(MSVCDIR)\bin" - copy vc6-stlport\boost_regex_vc6-stlport_md.lib "$(MSVCDIR)\lib" - copy vc6-stlport\boost_regex_vc6-stlport_md.dll "$(MSVCDIR)\bin" - copy vc6-stlport\libboost_regex_vc6-stlport_md.lib "$(MSVCDIR)\lib" - copy vc6-stlport\libboost_regex_vc6-stlport_mdd.lib "$(MSVCDIR)\lib" - copy vc6-stlport\boost_regex_vc6-stlport_mddd.lib "$(MSVCDIR)\lib" - copy vc6-stlport\boost_regex_vc6-stlport_mddd.dll "$(MSVCDIR)\bin" - copy vc6-stlport\boost_regex_vc6-stlport_mddd.pdb "$(MSVCDIR)\lib" - copy vc6-stlport\libboost_regex_vc6-stlport_msdd.lib "$(MSVCDIR)\lib" - copy vc6-stlport\libboost_regex_vc6-stlport_msdd.pdb "$(MSVCDIR)\lib" - copy vc6-stlport\libboost_regex_vc6-stlport_mddd.lib "$(MSVCDIR)\lib" - copy vc6-stlport\libboost_regex_vc6-stlport_mddd.pdb "$(MSVCDIR)\lib" - -main_dir : - @if not exist "vc6-stlport\$(NULL)" mkdir vc6-stlport - -stlport_check : $(STLPORT_PATH)\stlport\string - echo - - -######################################################## -# -# section for libboost_regex_vc6-stlport_ms.lib -# -######################################################## -vc6-stlport/libboost_regex_vc6-stlport_ms/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_ms/libboost_regex_vc6-stlport_ms.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_ms/ -Fdvc6-stlport/libboost_regex_vc6-stlport_ms.pdb ../src/c_regex_traits.cpp - -vc6-stlport/libboost_regex_vc6-stlport_ms/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_ms/libboost_regex_vc6-stlport_ms.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_ms/ -Fdvc6-stlport/libboost_regex_vc6-stlport_ms.pdb ../src/c_regex_traits_common.cpp - -vc6-stlport/libboost_regex_vc6-stlport_ms/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_ms/libboost_regex_vc6-stlport_ms.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_ms/ -Fdvc6-stlport/libboost_regex_vc6-stlport_ms.pdb ../src/cpp_regex_traits.cpp - -vc6-stlport/libboost_regex_vc6-stlport_ms/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_ms/libboost_regex_vc6-stlport_ms.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_ms/ -Fdvc6-stlport/libboost_regex_vc6-stlport_ms.pdb ../src/cregex.cpp - -vc6-stlport/libboost_regex_vc6-stlport_ms/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_ms/libboost_regex_vc6-stlport_ms.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_ms/ -Fdvc6-stlport/libboost_regex_vc6-stlport_ms.pdb ../src/fileiter.cpp - -vc6-stlport/libboost_regex_vc6-stlport_ms/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_ms/libboost_regex_vc6-stlport_ms.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_ms/ -Fdvc6-stlport/libboost_regex_vc6-stlport_ms.pdb ../src/instances.cpp - -vc6-stlport/libboost_regex_vc6-stlport_ms/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_ms/libboost_regex_vc6-stlport_ms.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_ms/ -Fdvc6-stlport/libboost_regex_vc6-stlport_ms.pdb ../src/posix_api.cpp - -vc6-stlport/libboost_regex_vc6-stlport_ms/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_ms/libboost_regex_vc6-stlport_ms.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_ms/ -Fdvc6-stlport/libboost_regex_vc6-stlport_ms.pdb ../src/regex.cpp - -vc6-stlport/libboost_regex_vc6-stlport_ms/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_ms/libboost_regex_vc6-stlport_ms.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_ms/ -Fdvc6-stlport/libboost_regex_vc6-stlport_ms.pdb ../src/regex_debug.cpp - -vc6-stlport/libboost_regex_vc6-stlport_ms/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_ms/libboost_regex_vc6-stlport_ms.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_ms/ -Fdvc6-stlport/libboost_regex_vc6-stlport_ms.pdb ../src/regex_synch.cpp - -vc6-stlport/libboost_regex_vc6-stlport_ms/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_ms/libboost_regex_vc6-stlport_ms.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_ms/ -Fdvc6-stlport/libboost_regex_vc6-stlport_ms.pdb ../src/w32_regex_traits.cpp - -vc6-stlport/libboost_regex_vc6-stlport_ms/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_ms/libboost_regex_vc6-stlport_ms.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_ms/ -Fdvc6-stlport/libboost_regex_vc6-stlport_ms.pdb ../src/wide_posix_api.cpp - -vc6-stlport/libboost_regex_vc6-stlport_ms/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_ms/libboost_regex_vc6-stlport_ms.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_ms/ -Fdvc6-stlport/libboost_regex_vc6-stlport_ms.pdb ../src/winstances.cpp - -libboost_regex_vc6-stlport_ms_dir : - @if not exist "vc6-stlport\libboost_regex_vc6-stlport_ms\$(NULL)" mkdir vc6-stlport\libboost_regex_vc6-stlport_ms - -libboost_regex_vc6-stlport_ms_clean : - del vc6-stlport\libboost_regex_vc6-stlport_ms\*.obj - del vc6-stlport\libboost_regex_vc6-stlport_ms\*.idb - del vc6-stlport\libboost_regex_vc6-stlport_ms\*.exp - del vc6-stlport\libboost_regex_vc6-stlport_ms\*.pch - -./vc6-stlport/libboost_regex_vc6-stlport_ms.lib : vc6-stlport/libboost_regex_vc6-stlport_ms/c_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_ms/c_regex_traits_common.obj vc6-stlport/libboost_regex_vc6-stlport_ms/cpp_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_ms/cregex.obj vc6-stlport/libboost_regex_vc6-stlport_ms/fileiter.obj vc6-stlport/libboost_regex_vc6-stlport_ms/instances.obj vc6-stlport/libboost_regex_vc6-stlport_ms/posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_ms/regex.obj vc6-stlport/libboost_regex_vc6-stlport_ms/regex_debug.obj vc6-stlport/libboost_regex_vc6-stlport_ms/regex_synch.obj vc6-stlport/libboost_regex_vc6-stlport_ms/w32_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_ms/wide_posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_ms/winstances.obj - link -lib /nologo /out:vc6-stlport/libboost_regex_vc6-stlport_ms.lib $(XSFLAGS) vc6-stlport/libboost_regex_vc6-stlport_ms/c_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_ms/c_regex_traits_common.obj vc6-stlport/libboost_regex_vc6-stlport_ms/cpp_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_ms/cregex.obj vc6-stlport/libboost_regex_vc6-stlport_ms/fileiter.obj vc6-stlport/libboost_regex_vc6-stlport_ms/instances.obj vc6-stlport/libboost_regex_vc6-stlport_ms/posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_ms/regex.obj vc6-stlport/libboost_regex_vc6-stlport_ms/regex_debug.obj vc6-stlport/libboost_regex_vc6-stlport_ms/regex_synch.obj vc6-stlport/libboost_regex_vc6-stlport_ms/w32_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_ms/wide_posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_ms/winstances.obj - -######################################################## -# -# section for libboost_regex_vc6-stlport_msd.lib -# -######################################################## -vc6-stlport/libboost_regex_vc6-stlport_msd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msd/libboost_regex_vc6-stlport_msd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msd.pdb ../src/c_regex_traits.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msd/libboost_regex_vc6-stlport_msd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msd.pdb ../src/c_regex_traits_common.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msd/libboost_regex_vc6-stlport_msd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msd.pdb ../src/cpp_regex_traits.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msd/libboost_regex_vc6-stlport_msd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msd.pdb ../src/cregex.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msd/libboost_regex_vc6-stlport_msd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msd.pdb ../src/fileiter.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msd/libboost_regex_vc6-stlport_msd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msd.pdb ../src/instances.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msd/libboost_regex_vc6-stlport_msd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msd.pdb ../src/posix_api.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msd/libboost_regex_vc6-stlport_msd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msd.pdb ../src/regex.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msd/libboost_regex_vc6-stlport_msd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msd.pdb ../src/regex_debug.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msd/libboost_regex_vc6-stlport_msd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msd.pdb ../src/regex_synch.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msd/libboost_regex_vc6-stlport_msd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msd.pdb ../src/w32_regex_traits.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msd/libboost_regex_vc6-stlport_msd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msd.pdb ../src/wide_posix_api.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msd/libboost_regex_vc6-stlport_msd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msd.pdb ../src/winstances.cpp - -libboost_regex_vc6-stlport_msd_dir : - @if not exist "vc6-stlport\libboost_regex_vc6-stlport_msd\$(NULL)" mkdir vc6-stlport\libboost_regex_vc6-stlport_msd - -libboost_regex_vc6-stlport_msd_clean : - del vc6-stlport\libboost_regex_vc6-stlport_msd\*.obj - del vc6-stlport\libboost_regex_vc6-stlport_msd\*.idb - del vc6-stlport\libboost_regex_vc6-stlport_msd\*.exp - del vc6-stlport\libboost_regex_vc6-stlport_msd\*.pch - -./vc6-stlport/libboost_regex_vc6-stlport_msd.lib : vc6-stlport/libboost_regex_vc6-stlport_msd/c_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_msd/c_regex_traits_common.obj vc6-stlport/libboost_regex_vc6-stlport_msd/cpp_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_msd/cregex.obj vc6-stlport/libboost_regex_vc6-stlport_msd/fileiter.obj vc6-stlport/libboost_regex_vc6-stlport_msd/instances.obj vc6-stlport/libboost_regex_vc6-stlport_msd/posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_msd/regex.obj vc6-stlport/libboost_regex_vc6-stlport_msd/regex_debug.obj vc6-stlport/libboost_regex_vc6-stlport_msd/regex_synch.obj vc6-stlport/libboost_regex_vc6-stlport_msd/w32_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_msd/wide_posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_msd/winstances.obj - link -lib /nologo /out:vc6-stlport/libboost_regex_vc6-stlport_msd.lib $(XSFLAGS) vc6-stlport/libboost_regex_vc6-stlport_msd/c_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_msd/c_regex_traits_common.obj vc6-stlport/libboost_regex_vc6-stlport_msd/cpp_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_msd/cregex.obj vc6-stlport/libboost_regex_vc6-stlport_msd/fileiter.obj vc6-stlport/libboost_regex_vc6-stlport_msd/instances.obj vc6-stlport/libboost_regex_vc6-stlport_msd/posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_msd/regex.obj vc6-stlport/libboost_regex_vc6-stlport_msd/regex_debug.obj vc6-stlport/libboost_regex_vc6-stlport_msd/regex_synch.obj vc6-stlport/libboost_regex_vc6-stlport_msd/w32_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_msd/wide_posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_msd/winstances.obj - -######################################################## -# -# section for boost_regex_vc6-stlport_mdd.lib -# -######################################################## -vc6-stlport/boost_regex_vc6-stlport_mdd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mdd/boost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdd.pdb ../src/c_regex_traits.cpp - -vc6-stlport/boost_regex_vc6-stlport_mdd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mdd/boost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdd.pdb ../src/c_regex_traits_common.cpp - -vc6-stlport/boost_regex_vc6-stlport_mdd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mdd/boost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdd.pdb ../src/cpp_regex_traits.cpp - -vc6-stlport/boost_regex_vc6-stlport_mdd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mdd/boost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdd.pdb ../src/cregex.cpp - -vc6-stlport/boost_regex_vc6-stlport_mdd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mdd/boost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdd.pdb ../src/fileiter.cpp - -vc6-stlport/boost_regex_vc6-stlport_mdd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mdd/boost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdd.pdb ../src/instances.cpp - -vc6-stlport/boost_regex_vc6-stlport_mdd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mdd/boost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdd.pdb ../src/posix_api.cpp - -vc6-stlport/boost_regex_vc6-stlport_mdd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mdd/boost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdd.pdb ../src/regex.cpp - -vc6-stlport/boost_regex_vc6-stlport_mdd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mdd/boost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdd.pdb ../src/regex_debug.cpp - -vc6-stlport/boost_regex_vc6-stlport_mdd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mdd/boost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdd.pdb ../src/regex_synch.cpp - -vc6-stlport/boost_regex_vc6-stlport_mdd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mdd/boost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdd.pdb ../src/w32_regex_traits.cpp - -vc6-stlport/boost_regex_vc6-stlport_mdd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mdd/boost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdd.pdb ../src/wide_posix_api.cpp - -vc6-stlport/boost_regex_vc6-stlport_mdd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mdd/boost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdd.pdb ../src/winstances.cpp - -boost_regex_vc6-stlport_mdd_dir : - @if not exist "vc6-stlport\boost_regex_vc6-stlport_mdd\$(NULL)" mkdir vc6-stlport\boost_regex_vc6-stlport_mdd - -boost_regex_vc6-stlport_mdd_clean : - del vc6-stlport\boost_regex_vc6-stlport_mdd\*.obj - del vc6-stlport\boost_regex_vc6-stlport_mdd\*.idb - del vc6-stlport\boost_regex_vc6-stlport_mdd\*.exp - del vc6-stlport\boost_regex_vc6-stlport_mdd\*.pch - -./vc6-stlport/boost_regex_vc6-stlport_mdd.lib : vc6-stlport/boost_regex_vc6-stlport_mdd/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdd/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mdd/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdd/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mdd/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mdd/instances.obj vc6-stlport/boost_regex_vc6-stlport_mdd/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdd/regex.obj vc6-stlport/boost_regex_vc6-stlport_mdd/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mdd/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mdd/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdd/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdd/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-stlport_mdd.pdb" /debug /machine:I386 /out:"vc6-stlport/boost_regex_vc6-stlport_mdd.dll" /implib:"vc6-stlport/boost_regex_vc6-stlport_mdd.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc6-stlport/boost_regex_vc6-stlport_mdd/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdd/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mdd/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdd/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mdd/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mdd/instances.obj vc6-stlport/boost_regex_vc6-stlport_mdd/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdd/regex.obj vc6-stlport/boost_regex_vc6-stlport_mdd/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mdd/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mdd/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdd/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdd/winstances.obj - -######################################################## -# -# section for boost_regex_vc6-stlport_md.lib -# -######################################################## -vc6-stlport/boost_regex_vc6-stlport_md/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_md/boost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_md/ -Fdvc6-stlport/boost_regex_vc6-stlport_md.pdb ../src/c_regex_traits.cpp - -vc6-stlport/boost_regex_vc6-stlport_md/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_md/boost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_md/ -Fdvc6-stlport/boost_regex_vc6-stlport_md.pdb ../src/c_regex_traits_common.cpp - -vc6-stlport/boost_regex_vc6-stlport_md/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_md/boost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_md/ -Fdvc6-stlport/boost_regex_vc6-stlport_md.pdb ../src/cpp_regex_traits.cpp - -vc6-stlport/boost_regex_vc6-stlport_md/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_md/boost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_md/ -Fdvc6-stlport/boost_regex_vc6-stlport_md.pdb ../src/cregex.cpp - -vc6-stlport/boost_regex_vc6-stlport_md/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_md/boost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_md/ -Fdvc6-stlport/boost_regex_vc6-stlport_md.pdb ../src/fileiter.cpp - -vc6-stlport/boost_regex_vc6-stlport_md/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_md/boost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_md/ -Fdvc6-stlport/boost_regex_vc6-stlport_md.pdb ../src/instances.cpp - -vc6-stlport/boost_regex_vc6-stlport_md/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_md/boost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_md/ -Fdvc6-stlport/boost_regex_vc6-stlport_md.pdb ../src/posix_api.cpp - -vc6-stlport/boost_regex_vc6-stlport_md/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_md/boost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_md/ -Fdvc6-stlport/boost_regex_vc6-stlport_md.pdb ../src/regex.cpp - -vc6-stlport/boost_regex_vc6-stlport_md/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_md/boost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_md/ -Fdvc6-stlport/boost_regex_vc6-stlport_md.pdb ../src/regex_debug.cpp - -vc6-stlport/boost_regex_vc6-stlport_md/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_md/boost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_md/ -Fdvc6-stlport/boost_regex_vc6-stlport_md.pdb ../src/regex_synch.cpp - -vc6-stlport/boost_regex_vc6-stlport_md/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_md/boost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_md/ -Fdvc6-stlport/boost_regex_vc6-stlport_md.pdb ../src/w32_regex_traits.cpp - -vc6-stlport/boost_regex_vc6-stlport_md/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_md/boost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_md/ -Fdvc6-stlport/boost_regex_vc6-stlport_md.pdb ../src/wide_posix_api.cpp - -vc6-stlport/boost_regex_vc6-stlport_md/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_md/boost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_md/ -Fdvc6-stlport/boost_regex_vc6-stlport_md.pdb ../src/winstances.cpp - -boost_regex_vc6-stlport_md_dir : - @if not exist "vc6-stlport\boost_regex_vc6-stlport_md\$(NULL)" mkdir vc6-stlport\boost_regex_vc6-stlport_md - -boost_regex_vc6-stlport_md_clean : - del vc6-stlport\boost_regex_vc6-stlport_md\*.obj - del vc6-stlport\boost_regex_vc6-stlport_md\*.idb - del vc6-stlport\boost_regex_vc6-stlport_md\*.exp - del vc6-stlport\boost_regex_vc6-stlport_md\*.pch - -./vc6-stlport/boost_regex_vc6-stlport_md.lib : vc6-stlport/boost_regex_vc6-stlport_md/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_md/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_md/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_md/cregex.obj vc6-stlport/boost_regex_vc6-stlport_md/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_md/instances.obj vc6-stlport/boost_regex_vc6-stlport_md/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_md/regex.obj vc6-stlport/boost_regex_vc6-stlport_md/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_md/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_md/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_md/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_md/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-stlport_md.pdb" /debug /machine:I386 /out:"vc6-stlport/boost_regex_vc6-stlport_md.dll" /implib:"vc6-stlport/boost_regex_vc6-stlport_md.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc6-stlport/boost_regex_vc6-stlport_md/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_md/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_md/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_md/cregex.obj vc6-stlport/boost_regex_vc6-stlport_md/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_md/instances.obj vc6-stlport/boost_regex_vc6-stlport_md/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_md/regex.obj vc6-stlport/boost_regex_vc6-stlport_md/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_md/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_md/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_md/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_md/winstances.obj - -######################################################## -# -# section for libboost_regex_vc6-stlport_md.lib -# -######################################################## -vc6-stlport/libboost_regex_vc6-stlport_md/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_md/libboost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_md/ -Fdvc6-stlport/libboost_regex_vc6-stlport_md.pdb ../src/c_regex_traits.cpp - -vc6-stlport/libboost_regex_vc6-stlport_md/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_md/libboost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_md/ -Fdvc6-stlport/libboost_regex_vc6-stlport_md.pdb ../src/c_regex_traits_common.cpp - -vc6-stlport/libboost_regex_vc6-stlport_md/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_md/libboost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_md/ -Fdvc6-stlport/libboost_regex_vc6-stlport_md.pdb ../src/cpp_regex_traits.cpp - -vc6-stlport/libboost_regex_vc6-stlport_md/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_md/libboost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_md/ -Fdvc6-stlport/libboost_regex_vc6-stlport_md.pdb ../src/cregex.cpp - -vc6-stlport/libboost_regex_vc6-stlport_md/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_md/libboost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_md/ -Fdvc6-stlport/libboost_regex_vc6-stlport_md.pdb ../src/fileiter.cpp - -vc6-stlport/libboost_regex_vc6-stlport_md/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_md/libboost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_md/ -Fdvc6-stlport/libboost_regex_vc6-stlport_md.pdb ../src/instances.cpp - -vc6-stlport/libboost_regex_vc6-stlport_md/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_md/libboost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_md/ -Fdvc6-stlport/libboost_regex_vc6-stlport_md.pdb ../src/posix_api.cpp - -vc6-stlport/libboost_regex_vc6-stlport_md/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_md/libboost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_md/ -Fdvc6-stlport/libboost_regex_vc6-stlport_md.pdb ../src/regex.cpp - -vc6-stlport/libboost_regex_vc6-stlport_md/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_md/libboost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_md/ -Fdvc6-stlport/libboost_regex_vc6-stlport_md.pdb ../src/regex_debug.cpp - -vc6-stlport/libboost_regex_vc6-stlport_md/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_md/libboost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_md/ -Fdvc6-stlport/libboost_regex_vc6-stlport_md.pdb ../src/regex_synch.cpp - -vc6-stlport/libboost_regex_vc6-stlport_md/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_md/libboost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_md/ -Fdvc6-stlport/libboost_regex_vc6-stlport_md.pdb ../src/w32_regex_traits.cpp - -vc6-stlport/libboost_regex_vc6-stlport_md/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_md/libboost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_md/ -Fdvc6-stlport/libboost_regex_vc6-stlport_md.pdb ../src/wide_posix_api.cpp - -vc6-stlport/libboost_regex_vc6-stlport_md/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_md/libboost_regex_vc6-stlport_md.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_md/ -Fdvc6-stlport/libboost_regex_vc6-stlport_md.pdb ../src/winstances.cpp - -libboost_regex_vc6-stlport_md_dir : - @if not exist "vc6-stlport\libboost_regex_vc6-stlport_md\$(NULL)" mkdir vc6-stlport\libboost_regex_vc6-stlport_md - -libboost_regex_vc6-stlport_md_clean : - del vc6-stlport\libboost_regex_vc6-stlport_md\*.obj - del vc6-stlport\libboost_regex_vc6-stlport_md\*.idb - del vc6-stlport\libboost_regex_vc6-stlport_md\*.exp - del vc6-stlport\libboost_regex_vc6-stlport_md\*.pch - -./vc6-stlport/libboost_regex_vc6-stlport_md.lib : vc6-stlport/libboost_regex_vc6-stlport_md/c_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_md/c_regex_traits_common.obj vc6-stlport/libboost_regex_vc6-stlport_md/cpp_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_md/cregex.obj vc6-stlport/libboost_regex_vc6-stlport_md/fileiter.obj vc6-stlport/libboost_regex_vc6-stlport_md/instances.obj vc6-stlport/libboost_regex_vc6-stlport_md/posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_md/regex.obj vc6-stlport/libboost_regex_vc6-stlport_md/regex_debug.obj vc6-stlport/libboost_regex_vc6-stlport_md/regex_synch.obj vc6-stlport/libboost_regex_vc6-stlport_md/w32_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_md/wide_posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_md/winstances.obj - link -lib /nologo /out:vc6-stlport/libboost_regex_vc6-stlport_md.lib $(XSFLAGS) vc6-stlport/libboost_regex_vc6-stlport_md/c_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_md/c_regex_traits_common.obj vc6-stlport/libboost_regex_vc6-stlport_md/cpp_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_md/cregex.obj vc6-stlport/libboost_regex_vc6-stlport_md/fileiter.obj vc6-stlport/libboost_regex_vc6-stlport_md/instances.obj vc6-stlport/libboost_regex_vc6-stlport_md/posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_md/regex.obj vc6-stlport/libboost_regex_vc6-stlport_md/regex_debug.obj vc6-stlport/libboost_regex_vc6-stlport_md/regex_synch.obj vc6-stlport/libboost_regex_vc6-stlport_md/w32_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_md/wide_posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_md/winstances.obj - -######################################################## -# -# section for libboost_regex_vc6-stlport_mdd.lib -# -######################################################## -vc6-stlport/libboost_regex_vc6-stlport_mdd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mdd/libboost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mdd.pdb ../src/c_regex_traits.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mdd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mdd/libboost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mdd.pdb ../src/c_regex_traits_common.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mdd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mdd/libboost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mdd.pdb ../src/cpp_regex_traits.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mdd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mdd/libboost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mdd.pdb ../src/cregex.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mdd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mdd/libboost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mdd.pdb ../src/fileiter.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mdd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mdd/libboost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mdd.pdb ../src/instances.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mdd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mdd/libboost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mdd.pdb ../src/posix_api.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mdd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mdd/libboost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mdd.pdb ../src/regex.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mdd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mdd/libboost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mdd.pdb ../src/regex_debug.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mdd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mdd/libboost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mdd.pdb ../src/regex_synch.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mdd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mdd/libboost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mdd.pdb ../src/w32_regex_traits.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mdd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mdd/libboost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mdd.pdb ../src/wide_posix_api.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mdd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mdd/libboost_regex_vc6-stlport_mdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mdd.pdb ../src/winstances.cpp - -libboost_regex_vc6-stlport_mdd_dir : - @if not exist "vc6-stlport\libboost_regex_vc6-stlport_mdd\$(NULL)" mkdir vc6-stlport\libboost_regex_vc6-stlport_mdd - -libboost_regex_vc6-stlport_mdd_clean : - del vc6-stlport\libboost_regex_vc6-stlport_mdd\*.obj - del vc6-stlport\libboost_regex_vc6-stlport_mdd\*.idb - del vc6-stlport\libboost_regex_vc6-stlport_mdd\*.exp - del vc6-stlport\libboost_regex_vc6-stlport_mdd\*.pch - -./vc6-stlport/libboost_regex_vc6-stlport_mdd.lib : vc6-stlport/libboost_regex_vc6-stlport_mdd/c_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/c_regex_traits_common.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/cpp_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/cregex.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/fileiter.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/instances.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/regex.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/regex_debug.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/regex_synch.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/w32_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/wide_posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/winstances.obj - link -lib /nologo /out:vc6-stlport/libboost_regex_vc6-stlport_mdd.lib $(XSFLAGS) vc6-stlport/libboost_regex_vc6-stlport_mdd/c_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/c_regex_traits_common.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/cpp_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/cregex.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/fileiter.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/instances.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/regex.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/regex_debug.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/regex_synch.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/w32_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/wide_posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_mdd/winstances.obj - -######################################################## -# -# section for boost_regex_vc6-stlport_mddd.lib -# -######################################################## -vc6-stlport/boost_regex_vc6-stlport_mddd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mddd/boost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mddd.pdb ../src/c_regex_traits.cpp - -vc6-stlport/boost_regex_vc6-stlport_mddd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mddd/boost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mddd.pdb ../src/c_regex_traits_common.cpp - -vc6-stlport/boost_regex_vc6-stlport_mddd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mddd/boost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mddd.pdb ../src/cpp_regex_traits.cpp - -vc6-stlport/boost_regex_vc6-stlport_mddd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mddd/boost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mddd.pdb ../src/cregex.cpp - -vc6-stlport/boost_regex_vc6-stlport_mddd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mddd/boost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mddd.pdb ../src/fileiter.cpp - -vc6-stlport/boost_regex_vc6-stlport_mddd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mddd/boost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mddd.pdb ../src/instances.cpp - -vc6-stlport/boost_regex_vc6-stlport_mddd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mddd/boost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mddd.pdb ../src/posix_api.cpp - -vc6-stlport/boost_regex_vc6-stlport_mddd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mddd/boost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mddd.pdb ../src/regex.cpp - -vc6-stlport/boost_regex_vc6-stlport_mddd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mddd/boost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mddd.pdb ../src/regex_debug.cpp - -vc6-stlport/boost_regex_vc6-stlport_mddd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mddd/boost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mddd.pdb ../src/regex_synch.cpp - -vc6-stlport/boost_regex_vc6-stlport_mddd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mddd/boost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mddd.pdb ../src/w32_regex_traits.cpp - -vc6-stlport/boost_regex_vc6-stlport_mddd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mddd/boost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mddd.pdb ../src/wide_posix_api.cpp - -vc6-stlport/boost_regex_vc6-stlport_mddd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/boost_regex_vc6-stlport_mddd/boost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mddd.pdb ../src/winstances.cpp - -boost_regex_vc6-stlport_mddd_dir : - @if not exist "vc6-stlport\boost_regex_vc6-stlport_mddd\$(NULL)" mkdir vc6-stlport\boost_regex_vc6-stlport_mddd - -boost_regex_vc6-stlport_mddd_clean : - del vc6-stlport\boost_regex_vc6-stlport_mddd\*.obj - del vc6-stlport\boost_regex_vc6-stlport_mddd\*.idb - del vc6-stlport\boost_regex_vc6-stlport_mddd\*.exp - del vc6-stlport\boost_regex_vc6-stlport_mddd\*.pch - -./vc6-stlport/boost_regex_vc6-stlport_mddd.lib : vc6-stlport/boost_regex_vc6-stlport_mddd/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mddd/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mddd/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mddd/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mddd/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mddd/instances.obj vc6-stlport/boost_regex_vc6-stlport_mddd/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mddd/regex.obj vc6-stlport/boost_regex_vc6-stlport_mddd/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mddd/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mddd/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mddd/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mddd/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-stlport_mddd.pdb" /debug /machine:I386 /out:"vc6-stlport/boost_regex_vc6-stlport_mddd.dll" /implib:"vc6-stlport/boost_regex_vc6-stlport_mddd.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc6-stlport/boost_regex_vc6-stlport_mddd/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mddd/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mddd/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mddd/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mddd/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mddd/instances.obj vc6-stlport/boost_regex_vc6-stlport_mddd/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mddd/regex.obj vc6-stlport/boost_regex_vc6-stlport_mddd/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mddd/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mddd/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mddd/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mddd/winstances.obj - -######################################################## -# -# section for libboost_regex_vc6-stlport_msdd.lib -# -######################################################## -vc6-stlport/libboost_regex_vc6-stlport_msdd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msdd/libboost_regex_vc6-stlport_msdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msdd.pdb ../src/c_regex_traits.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msdd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msdd/libboost_regex_vc6-stlport_msdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msdd.pdb ../src/c_regex_traits_common.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msdd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msdd/libboost_regex_vc6-stlport_msdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msdd.pdb ../src/cpp_regex_traits.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msdd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msdd/libboost_regex_vc6-stlport_msdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msdd.pdb ../src/cregex.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msdd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msdd/libboost_regex_vc6-stlport_msdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msdd.pdb ../src/fileiter.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msdd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msdd/libboost_regex_vc6-stlport_msdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msdd.pdb ../src/instances.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msdd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msdd/libboost_regex_vc6-stlport_msdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msdd.pdb ../src/posix_api.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msdd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msdd/libboost_regex_vc6-stlport_msdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msdd.pdb ../src/regex.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msdd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msdd/libboost_regex_vc6-stlport_msdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msdd.pdb ../src/regex_debug.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msdd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msdd/libboost_regex_vc6-stlport_msdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msdd.pdb ../src/regex_synch.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msdd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msdd/libboost_regex_vc6-stlport_msdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msdd.pdb ../src/w32_regex_traits.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msdd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msdd/libboost_regex_vc6-stlport_msdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msdd.pdb ../src/wide_posix_api.cpp - -vc6-stlport/libboost_regex_vc6-stlport_msdd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_msdd/libboost_regex_vc6-stlport_msdd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_msdd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_msdd.pdb ../src/winstances.cpp - -libboost_regex_vc6-stlport_msdd_dir : - @if not exist "vc6-stlport\libboost_regex_vc6-stlport_msdd\$(NULL)" mkdir vc6-stlport\libboost_regex_vc6-stlport_msdd - -libboost_regex_vc6-stlport_msdd_clean : - del vc6-stlport\libboost_regex_vc6-stlport_msdd\*.obj - del vc6-stlport\libboost_regex_vc6-stlport_msdd\*.idb - del vc6-stlport\libboost_regex_vc6-stlport_msdd\*.exp - del vc6-stlport\libboost_regex_vc6-stlport_msdd\*.pch - -./vc6-stlport/libboost_regex_vc6-stlport_msdd.lib : vc6-stlport/libboost_regex_vc6-stlport_msdd/c_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/c_regex_traits_common.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/cpp_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/cregex.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/fileiter.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/instances.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/regex.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/regex_debug.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/regex_synch.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/w32_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/wide_posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/winstances.obj - link -lib /nologo /out:vc6-stlport/libboost_regex_vc6-stlport_msdd.lib $(XSFLAGS) vc6-stlport/libboost_regex_vc6-stlport_msdd/c_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/c_regex_traits_common.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/cpp_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/cregex.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/fileiter.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/instances.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/regex.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/regex_debug.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/regex_synch.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/w32_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/wide_posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_msdd/winstances.obj - -######################################################## -# -# section for libboost_regex_vc6-stlport_mddd.lib -# -######################################################## -vc6-stlport/libboost_regex_vc6-stlport_mddd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mddd/libboost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mddd.pdb ../src/c_regex_traits.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mddd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mddd/libboost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mddd.pdb ../src/c_regex_traits_common.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mddd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mddd/libboost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mddd.pdb ../src/cpp_regex_traits.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mddd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mddd/libboost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mddd.pdb ../src/cregex.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mddd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mddd/libboost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mddd.pdb ../src/fileiter.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mddd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mddd/libboost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mddd.pdb ../src/instances.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mddd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mddd/libboost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mddd.pdb ../src/posix_api.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mddd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mddd/libboost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mddd.pdb ../src/regex.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mddd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mddd/libboost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mddd.pdb ../src/regex_debug.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mddd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mddd/libboost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mddd.pdb ../src/regex_synch.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mddd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mddd/libboost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mddd.pdb ../src/w32_regex_traits.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mddd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mddd/libboost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mddd.pdb ../src/wide_posix_api.cpp - -vc6-stlport/libboost_regex_vc6-stlport_mddd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc6-stlport/libboost_regex_vc6-stlport_mddd/libboost_regex_vc6-stlport_mddd.pch -Fo./vc6-stlport/libboost_regex_vc6-stlport_mddd/ -Fdvc6-stlport/libboost_regex_vc6-stlport_mddd.pdb ../src/winstances.cpp - -libboost_regex_vc6-stlport_mddd_dir : - @if not exist "vc6-stlport\libboost_regex_vc6-stlport_mddd\$(NULL)" mkdir vc6-stlport\libboost_regex_vc6-stlport_mddd - -libboost_regex_vc6-stlport_mddd_clean : - del vc6-stlport\libboost_regex_vc6-stlport_mddd\*.obj - del vc6-stlport\libboost_regex_vc6-stlport_mddd\*.idb - del vc6-stlport\libboost_regex_vc6-stlport_mddd\*.exp - del vc6-stlport\libboost_regex_vc6-stlport_mddd\*.pch - -./vc6-stlport/libboost_regex_vc6-stlport_mddd.lib : vc6-stlport/libboost_regex_vc6-stlport_mddd/c_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/c_regex_traits_common.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/cpp_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/cregex.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/fileiter.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/instances.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/regex.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/regex_debug.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/regex_synch.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/w32_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/wide_posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/winstances.obj - link -lib /nologo /out:vc6-stlport/libboost_regex_vc6-stlport_mddd.lib $(XSFLAGS) vc6-stlport/libboost_regex_vc6-stlport_mddd/c_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/c_regex_traits_common.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/cpp_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/cregex.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/fileiter.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/instances.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/regex.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/regex_debug.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/regex_synch.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/w32_regex_traits.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/wide_posix_api.obj vc6-stlport/libboost_regex_vc6-stlport_mddd/winstances.obj - diff --git a/build/vc6.mak b/build/vc6.mak deleted file mode 100644 index 753754db..00000000 --- a/build/vc6.mak +++ /dev/null @@ -1,512 +0,0 @@ -# -# auto generated makefile for VC6 compiler -# -# usage: -# make -# brings libraries up to date -# make install -# brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended) -# - -# -# Add additional compiler options here: -# -CXXFLAGS= -# -# Add additional include directories here: -# -INCLUDES= -# -# add additional linker flags here: -# -XLFLAGS= -# -# add additional static-library creation flags here: -# -XSFLAGS= - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(MSVCDIR)" == "" -!ERROR Variable MSVCDIR not set. -!ENDIF - - -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/cregex.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_fwd.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp ../../../boost/regex/v3/regex_traits.hpp - -all : main_dir libboost_regex_vc6_ss_dir ./vc6/libboost_regex_vc6_ss.lib libboost_regex_vc6_ms_dir ./vc6/libboost_regex_vc6_ms.lib libboost_regex_vc6_ssd_dir ./vc6/libboost_regex_vc6_ssd.lib libboost_regex_vc6_msd_dir ./vc6/libboost_regex_vc6_msd.lib boost_regex_vc6_mdd_dir ./vc6/boost_regex_vc6_mdd.lib boost_regex_vc6_md_dir ./vc6/boost_regex_vc6_md.lib libboost_regex_vc6_md_dir ./vc6/libboost_regex_vc6_md.lib libboost_regex_vc6_mdd_dir ./vc6/libboost_regex_vc6_mdd.lib - -clean : libboost_regex_vc6_ss_clean libboost_regex_vc6_ms_clean libboost_regex_vc6_ssd_clean libboost_regex_vc6_msd_clean boost_regex_vc6_mdd_clean boost_regex_vc6_md_clean libboost_regex_vc6_md_clean libboost_regex_vc6_mdd_clean - -install : all - copy vc6\libboost_regex_vc6_ss.lib "$(MSVCDIR)\lib" - copy vc6\libboost_regex_vc6_ms.lib "$(MSVCDIR)\lib" - copy vc6\libboost_regex_vc6_ssd.lib "$(MSVCDIR)\lib" - copy vc6\libboost_regex_vc6_ssd.pdb "$(MSVCDIR)\lib" - copy vc6\libboost_regex_vc6_msd.lib "$(MSVCDIR)\lib" - copy vc6\libboost_regex_vc6_msd.pdb "$(MSVCDIR)\lib" - copy vc6\boost_regex_vc6_mdd.lib "$(MSVCDIR)\lib" - copy vc6\boost_regex_vc6_mdd.dll "$(MSVCDIR)\bin" - copy vc6\boost_regex_vc6_mdd.pdb "$(MSVCDIR)\lib" - copy vc6\boost_regex_vc6_md.lib "$(MSVCDIR)\lib" - copy vc6\boost_regex_vc6_md.dll "$(MSVCDIR)\bin" - copy vc6\libboost_regex_vc6_md.lib "$(MSVCDIR)\lib" - copy vc6\libboost_regex_vc6_mdd.lib "$(MSVCDIR)\lib" - copy vc6\libboost_regex_vc6_mdd.pdb "$(MSVCDIR)\lib" - -main_dir : - @if not exist "vc6\$(NULL)" mkdir vc6 - - -######################################################## -# -# section for libboost_regex_vc6_ss.lib -# -######################################################## -vc6/libboost_regex_vc6_ss/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ss/libboost_regex_vc6_ss.pch -Fo./vc6/libboost_regex_vc6_ss/ -Fdvc6/libboost_regex_vc6_ss.pdb ../src/c_regex_traits.cpp - -vc6/libboost_regex_vc6_ss/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ss/libboost_regex_vc6_ss.pch -Fo./vc6/libboost_regex_vc6_ss/ -Fdvc6/libboost_regex_vc6_ss.pdb ../src/c_regex_traits_common.cpp - -vc6/libboost_regex_vc6_ss/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ss/libboost_regex_vc6_ss.pch -Fo./vc6/libboost_regex_vc6_ss/ -Fdvc6/libboost_regex_vc6_ss.pdb ../src/cpp_regex_traits.cpp - -vc6/libboost_regex_vc6_ss/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ss/libboost_regex_vc6_ss.pch -Fo./vc6/libboost_regex_vc6_ss/ -Fdvc6/libboost_regex_vc6_ss.pdb ../src/cregex.cpp - -vc6/libboost_regex_vc6_ss/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ss/libboost_regex_vc6_ss.pch -Fo./vc6/libboost_regex_vc6_ss/ -Fdvc6/libboost_regex_vc6_ss.pdb ../src/fileiter.cpp - -vc6/libboost_regex_vc6_ss/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ss/libboost_regex_vc6_ss.pch -Fo./vc6/libboost_regex_vc6_ss/ -Fdvc6/libboost_regex_vc6_ss.pdb ../src/instances.cpp - -vc6/libboost_regex_vc6_ss/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ss/libboost_regex_vc6_ss.pch -Fo./vc6/libboost_regex_vc6_ss/ -Fdvc6/libboost_regex_vc6_ss.pdb ../src/posix_api.cpp - -vc6/libboost_regex_vc6_ss/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ss/libboost_regex_vc6_ss.pch -Fo./vc6/libboost_regex_vc6_ss/ -Fdvc6/libboost_regex_vc6_ss.pdb ../src/regex.cpp - -vc6/libboost_regex_vc6_ss/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ss/libboost_regex_vc6_ss.pch -Fo./vc6/libboost_regex_vc6_ss/ -Fdvc6/libboost_regex_vc6_ss.pdb ../src/regex_debug.cpp - -vc6/libboost_regex_vc6_ss/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ss/libboost_regex_vc6_ss.pch -Fo./vc6/libboost_regex_vc6_ss/ -Fdvc6/libboost_regex_vc6_ss.pdb ../src/regex_synch.cpp - -vc6/libboost_regex_vc6_ss/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ss/libboost_regex_vc6_ss.pch -Fo./vc6/libboost_regex_vc6_ss/ -Fdvc6/libboost_regex_vc6_ss.pdb ../src/w32_regex_traits.cpp - -vc6/libboost_regex_vc6_ss/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ss/libboost_regex_vc6_ss.pch -Fo./vc6/libboost_regex_vc6_ss/ -Fdvc6/libboost_regex_vc6_ss.pdb ../src/wide_posix_api.cpp - -vc6/libboost_regex_vc6_ss/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ss/libboost_regex_vc6_ss.pch -Fo./vc6/libboost_regex_vc6_ss/ -Fdvc6/libboost_regex_vc6_ss.pdb ../src/winstances.cpp - -libboost_regex_vc6_ss_dir : - @if not exist "vc6\libboost_regex_vc6_ss\$(NULL)" mkdir vc6\libboost_regex_vc6_ss - -libboost_regex_vc6_ss_clean : - del vc6\libboost_regex_vc6_ss\*.obj - del vc6\libboost_regex_vc6_ss\*.idb - del vc6\libboost_regex_vc6_ss\*.exp - del vc6\libboost_regex_vc6_ss\*.pch - -./vc6/libboost_regex_vc6_ss.lib : vc6/libboost_regex_vc6_ss/c_regex_traits.obj vc6/libboost_regex_vc6_ss/c_regex_traits_common.obj vc6/libboost_regex_vc6_ss/cpp_regex_traits.obj vc6/libboost_regex_vc6_ss/cregex.obj vc6/libboost_regex_vc6_ss/fileiter.obj vc6/libboost_regex_vc6_ss/instances.obj vc6/libboost_regex_vc6_ss/posix_api.obj vc6/libboost_regex_vc6_ss/regex.obj vc6/libboost_regex_vc6_ss/regex_debug.obj vc6/libboost_regex_vc6_ss/regex_synch.obj vc6/libboost_regex_vc6_ss/w32_regex_traits.obj vc6/libboost_regex_vc6_ss/wide_posix_api.obj vc6/libboost_regex_vc6_ss/winstances.obj - link -lib /nologo /out:vc6/libboost_regex_vc6_ss.lib $(XSFLAGS) vc6/libboost_regex_vc6_ss/c_regex_traits.obj vc6/libboost_regex_vc6_ss/c_regex_traits_common.obj vc6/libboost_regex_vc6_ss/cpp_regex_traits.obj vc6/libboost_regex_vc6_ss/cregex.obj vc6/libboost_regex_vc6_ss/fileiter.obj vc6/libboost_regex_vc6_ss/instances.obj vc6/libboost_regex_vc6_ss/posix_api.obj vc6/libboost_regex_vc6_ss/regex.obj vc6/libboost_regex_vc6_ss/regex_debug.obj vc6/libboost_regex_vc6_ss/regex_synch.obj vc6/libboost_regex_vc6_ss/w32_regex_traits.obj vc6/libboost_regex_vc6_ss/wide_posix_api.obj vc6/libboost_regex_vc6_ss/winstances.obj - -######################################################## -# -# section for libboost_regex_vc6_ms.lib -# -######################################################## -vc6/libboost_regex_vc6_ms/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ms/libboost_regex_vc6_ms.pch -Fo./vc6/libboost_regex_vc6_ms/ -Fdvc6/libboost_regex_vc6_ms.pdb ../src/c_regex_traits.cpp - -vc6/libboost_regex_vc6_ms/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ms/libboost_regex_vc6_ms.pch -Fo./vc6/libboost_regex_vc6_ms/ -Fdvc6/libboost_regex_vc6_ms.pdb ../src/c_regex_traits_common.cpp - -vc6/libboost_regex_vc6_ms/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ms/libboost_regex_vc6_ms.pch -Fo./vc6/libboost_regex_vc6_ms/ -Fdvc6/libboost_regex_vc6_ms.pdb ../src/cpp_regex_traits.cpp - -vc6/libboost_regex_vc6_ms/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ms/libboost_regex_vc6_ms.pch -Fo./vc6/libboost_regex_vc6_ms/ -Fdvc6/libboost_regex_vc6_ms.pdb ../src/cregex.cpp - -vc6/libboost_regex_vc6_ms/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ms/libboost_regex_vc6_ms.pch -Fo./vc6/libboost_regex_vc6_ms/ -Fdvc6/libboost_regex_vc6_ms.pdb ../src/fileiter.cpp - -vc6/libboost_regex_vc6_ms/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ms/libboost_regex_vc6_ms.pch -Fo./vc6/libboost_regex_vc6_ms/ -Fdvc6/libboost_regex_vc6_ms.pdb ../src/instances.cpp - -vc6/libboost_regex_vc6_ms/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ms/libboost_regex_vc6_ms.pch -Fo./vc6/libboost_regex_vc6_ms/ -Fdvc6/libboost_regex_vc6_ms.pdb ../src/posix_api.cpp - -vc6/libboost_regex_vc6_ms/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ms/libboost_regex_vc6_ms.pch -Fo./vc6/libboost_regex_vc6_ms/ -Fdvc6/libboost_regex_vc6_ms.pdb ../src/regex.cpp - -vc6/libboost_regex_vc6_ms/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ms/libboost_regex_vc6_ms.pch -Fo./vc6/libboost_regex_vc6_ms/ -Fdvc6/libboost_regex_vc6_ms.pdb ../src/regex_debug.cpp - -vc6/libboost_regex_vc6_ms/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ms/libboost_regex_vc6_ms.pch -Fo./vc6/libboost_regex_vc6_ms/ -Fdvc6/libboost_regex_vc6_ms.pdb ../src/regex_synch.cpp - -vc6/libboost_regex_vc6_ms/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ms/libboost_regex_vc6_ms.pch -Fo./vc6/libboost_regex_vc6_ms/ -Fdvc6/libboost_regex_vc6_ms.pdb ../src/w32_regex_traits.cpp - -vc6/libboost_regex_vc6_ms/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ms/libboost_regex_vc6_ms.pch -Fo./vc6/libboost_regex_vc6_ms/ -Fdvc6/libboost_regex_vc6_ms.pdb ../src/wide_posix_api.cpp - -vc6/libboost_regex_vc6_ms/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ms/libboost_regex_vc6_ms.pch -Fo./vc6/libboost_regex_vc6_ms/ -Fdvc6/libboost_regex_vc6_ms.pdb ../src/winstances.cpp - -libboost_regex_vc6_ms_dir : - @if not exist "vc6\libboost_regex_vc6_ms\$(NULL)" mkdir vc6\libboost_regex_vc6_ms - -libboost_regex_vc6_ms_clean : - del vc6\libboost_regex_vc6_ms\*.obj - del vc6\libboost_regex_vc6_ms\*.idb - del vc6\libboost_regex_vc6_ms\*.exp - del vc6\libboost_regex_vc6_ms\*.pch - -./vc6/libboost_regex_vc6_ms.lib : vc6/libboost_regex_vc6_ms/c_regex_traits.obj vc6/libboost_regex_vc6_ms/c_regex_traits_common.obj vc6/libboost_regex_vc6_ms/cpp_regex_traits.obj vc6/libboost_regex_vc6_ms/cregex.obj vc6/libboost_regex_vc6_ms/fileiter.obj vc6/libboost_regex_vc6_ms/instances.obj vc6/libboost_regex_vc6_ms/posix_api.obj vc6/libboost_regex_vc6_ms/regex.obj vc6/libboost_regex_vc6_ms/regex_debug.obj vc6/libboost_regex_vc6_ms/regex_synch.obj vc6/libboost_regex_vc6_ms/w32_regex_traits.obj vc6/libboost_regex_vc6_ms/wide_posix_api.obj vc6/libboost_regex_vc6_ms/winstances.obj - link -lib /nologo /out:vc6/libboost_regex_vc6_ms.lib $(XSFLAGS) vc6/libboost_regex_vc6_ms/c_regex_traits.obj vc6/libboost_regex_vc6_ms/c_regex_traits_common.obj vc6/libboost_regex_vc6_ms/cpp_regex_traits.obj vc6/libboost_regex_vc6_ms/cregex.obj vc6/libboost_regex_vc6_ms/fileiter.obj vc6/libboost_regex_vc6_ms/instances.obj vc6/libboost_regex_vc6_ms/posix_api.obj vc6/libboost_regex_vc6_ms/regex.obj vc6/libboost_regex_vc6_ms/regex_debug.obj vc6/libboost_regex_vc6_ms/regex_synch.obj vc6/libboost_regex_vc6_ms/w32_regex_traits.obj vc6/libboost_regex_vc6_ms/wide_posix_api.obj vc6/libboost_regex_vc6_ms/winstances.obj - -######################################################## -# -# section for libboost_regex_vc6_ssd.lib -# -######################################################## -vc6/libboost_regex_vc6_ssd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ssd/libboost_regex_vc6_ssd.pch -Fo./vc6/libboost_regex_vc6_ssd/ -Fdvc6/libboost_regex_vc6_ssd.pdb ../src/c_regex_traits.cpp - -vc6/libboost_regex_vc6_ssd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ssd/libboost_regex_vc6_ssd.pch -Fo./vc6/libboost_regex_vc6_ssd/ -Fdvc6/libboost_regex_vc6_ssd.pdb ../src/c_regex_traits_common.cpp - -vc6/libboost_regex_vc6_ssd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ssd/libboost_regex_vc6_ssd.pch -Fo./vc6/libboost_regex_vc6_ssd/ -Fdvc6/libboost_regex_vc6_ssd.pdb ../src/cpp_regex_traits.cpp - -vc6/libboost_regex_vc6_ssd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ssd/libboost_regex_vc6_ssd.pch -Fo./vc6/libboost_regex_vc6_ssd/ -Fdvc6/libboost_regex_vc6_ssd.pdb ../src/cregex.cpp - -vc6/libboost_regex_vc6_ssd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ssd/libboost_regex_vc6_ssd.pch -Fo./vc6/libboost_regex_vc6_ssd/ -Fdvc6/libboost_regex_vc6_ssd.pdb ../src/fileiter.cpp - -vc6/libboost_regex_vc6_ssd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ssd/libboost_regex_vc6_ssd.pch -Fo./vc6/libboost_regex_vc6_ssd/ -Fdvc6/libboost_regex_vc6_ssd.pdb ../src/instances.cpp - -vc6/libboost_regex_vc6_ssd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ssd/libboost_regex_vc6_ssd.pch -Fo./vc6/libboost_regex_vc6_ssd/ -Fdvc6/libboost_regex_vc6_ssd.pdb ../src/posix_api.cpp - -vc6/libboost_regex_vc6_ssd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ssd/libboost_regex_vc6_ssd.pch -Fo./vc6/libboost_regex_vc6_ssd/ -Fdvc6/libboost_regex_vc6_ssd.pdb ../src/regex.cpp - -vc6/libboost_regex_vc6_ssd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ssd/libboost_regex_vc6_ssd.pch -Fo./vc6/libboost_regex_vc6_ssd/ -Fdvc6/libboost_regex_vc6_ssd.pdb ../src/regex_debug.cpp - -vc6/libboost_regex_vc6_ssd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ssd/libboost_regex_vc6_ssd.pch -Fo./vc6/libboost_regex_vc6_ssd/ -Fdvc6/libboost_regex_vc6_ssd.pdb ../src/regex_synch.cpp - -vc6/libboost_regex_vc6_ssd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ssd/libboost_regex_vc6_ssd.pch -Fo./vc6/libboost_regex_vc6_ssd/ -Fdvc6/libboost_regex_vc6_ssd.pdb ../src/w32_regex_traits.cpp - -vc6/libboost_regex_vc6_ssd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ssd/libboost_regex_vc6_ssd.pch -Fo./vc6/libboost_regex_vc6_ssd/ -Fdvc6/libboost_regex_vc6_ssd.pdb ../src/wide_posix_api.cpp - -vc6/libboost_regex_vc6_ssd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_ssd/libboost_regex_vc6_ssd.pch -Fo./vc6/libboost_regex_vc6_ssd/ -Fdvc6/libboost_regex_vc6_ssd.pdb ../src/winstances.cpp - -libboost_regex_vc6_ssd_dir : - @if not exist "vc6\libboost_regex_vc6_ssd\$(NULL)" mkdir vc6\libboost_regex_vc6_ssd - -libboost_regex_vc6_ssd_clean : - del vc6\libboost_regex_vc6_ssd\*.obj - del vc6\libboost_regex_vc6_ssd\*.idb - del vc6\libboost_regex_vc6_ssd\*.exp - del vc6\libboost_regex_vc6_ssd\*.pch - -./vc6/libboost_regex_vc6_ssd.lib : vc6/libboost_regex_vc6_ssd/c_regex_traits.obj vc6/libboost_regex_vc6_ssd/c_regex_traits_common.obj vc6/libboost_regex_vc6_ssd/cpp_regex_traits.obj vc6/libboost_regex_vc6_ssd/cregex.obj vc6/libboost_regex_vc6_ssd/fileiter.obj vc6/libboost_regex_vc6_ssd/instances.obj vc6/libboost_regex_vc6_ssd/posix_api.obj vc6/libboost_regex_vc6_ssd/regex.obj vc6/libboost_regex_vc6_ssd/regex_debug.obj vc6/libboost_regex_vc6_ssd/regex_synch.obj vc6/libboost_regex_vc6_ssd/w32_regex_traits.obj vc6/libboost_regex_vc6_ssd/wide_posix_api.obj vc6/libboost_regex_vc6_ssd/winstances.obj - link -lib /nologo /out:vc6/libboost_regex_vc6_ssd.lib $(XSFLAGS) vc6/libboost_regex_vc6_ssd/c_regex_traits.obj vc6/libboost_regex_vc6_ssd/c_regex_traits_common.obj vc6/libboost_regex_vc6_ssd/cpp_regex_traits.obj vc6/libboost_regex_vc6_ssd/cregex.obj vc6/libboost_regex_vc6_ssd/fileiter.obj vc6/libboost_regex_vc6_ssd/instances.obj vc6/libboost_regex_vc6_ssd/posix_api.obj vc6/libboost_regex_vc6_ssd/regex.obj vc6/libboost_regex_vc6_ssd/regex_debug.obj vc6/libboost_regex_vc6_ssd/regex_synch.obj vc6/libboost_regex_vc6_ssd/w32_regex_traits.obj vc6/libboost_regex_vc6_ssd/wide_posix_api.obj vc6/libboost_regex_vc6_ssd/winstances.obj - -######################################################## -# -# section for libboost_regex_vc6_msd.lib -# -######################################################## -vc6/libboost_regex_vc6_msd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_msd/libboost_regex_vc6_msd.pch -Fo./vc6/libboost_regex_vc6_msd/ -Fdvc6/libboost_regex_vc6_msd.pdb ../src/c_regex_traits.cpp - -vc6/libboost_regex_vc6_msd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_msd/libboost_regex_vc6_msd.pch -Fo./vc6/libboost_regex_vc6_msd/ -Fdvc6/libboost_regex_vc6_msd.pdb ../src/c_regex_traits_common.cpp - -vc6/libboost_regex_vc6_msd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_msd/libboost_regex_vc6_msd.pch -Fo./vc6/libboost_regex_vc6_msd/ -Fdvc6/libboost_regex_vc6_msd.pdb ../src/cpp_regex_traits.cpp - -vc6/libboost_regex_vc6_msd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_msd/libboost_regex_vc6_msd.pch -Fo./vc6/libboost_regex_vc6_msd/ -Fdvc6/libboost_regex_vc6_msd.pdb ../src/cregex.cpp - -vc6/libboost_regex_vc6_msd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_msd/libboost_regex_vc6_msd.pch -Fo./vc6/libboost_regex_vc6_msd/ -Fdvc6/libboost_regex_vc6_msd.pdb ../src/fileiter.cpp - -vc6/libboost_regex_vc6_msd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_msd/libboost_regex_vc6_msd.pch -Fo./vc6/libboost_regex_vc6_msd/ -Fdvc6/libboost_regex_vc6_msd.pdb ../src/instances.cpp - -vc6/libboost_regex_vc6_msd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_msd/libboost_regex_vc6_msd.pch -Fo./vc6/libboost_regex_vc6_msd/ -Fdvc6/libboost_regex_vc6_msd.pdb ../src/posix_api.cpp - -vc6/libboost_regex_vc6_msd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_msd/libboost_regex_vc6_msd.pch -Fo./vc6/libboost_regex_vc6_msd/ -Fdvc6/libboost_regex_vc6_msd.pdb ../src/regex.cpp - -vc6/libboost_regex_vc6_msd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_msd/libboost_regex_vc6_msd.pch -Fo./vc6/libboost_regex_vc6_msd/ -Fdvc6/libboost_regex_vc6_msd.pdb ../src/regex_debug.cpp - -vc6/libboost_regex_vc6_msd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_msd/libboost_regex_vc6_msd.pch -Fo./vc6/libboost_regex_vc6_msd/ -Fdvc6/libboost_regex_vc6_msd.pdb ../src/regex_synch.cpp - -vc6/libboost_regex_vc6_msd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_msd/libboost_regex_vc6_msd.pch -Fo./vc6/libboost_regex_vc6_msd/ -Fdvc6/libboost_regex_vc6_msd.pdb ../src/w32_regex_traits.cpp - -vc6/libboost_regex_vc6_msd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_msd/libboost_regex_vc6_msd.pch -Fo./vc6/libboost_regex_vc6_msd/ -Fdvc6/libboost_regex_vc6_msd.pdb ../src/wide_posix_api.cpp - -vc6/libboost_regex_vc6_msd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_msd/libboost_regex_vc6_msd.pch -Fo./vc6/libboost_regex_vc6_msd/ -Fdvc6/libboost_regex_vc6_msd.pdb ../src/winstances.cpp - -libboost_regex_vc6_msd_dir : - @if not exist "vc6\libboost_regex_vc6_msd\$(NULL)" mkdir vc6\libboost_regex_vc6_msd - -libboost_regex_vc6_msd_clean : - del vc6\libboost_regex_vc6_msd\*.obj - del vc6\libboost_regex_vc6_msd\*.idb - del vc6\libboost_regex_vc6_msd\*.exp - del vc6\libboost_regex_vc6_msd\*.pch - -./vc6/libboost_regex_vc6_msd.lib : vc6/libboost_regex_vc6_msd/c_regex_traits.obj vc6/libboost_regex_vc6_msd/c_regex_traits_common.obj vc6/libboost_regex_vc6_msd/cpp_regex_traits.obj vc6/libboost_regex_vc6_msd/cregex.obj vc6/libboost_regex_vc6_msd/fileiter.obj vc6/libboost_regex_vc6_msd/instances.obj vc6/libboost_regex_vc6_msd/posix_api.obj vc6/libboost_regex_vc6_msd/regex.obj vc6/libboost_regex_vc6_msd/regex_debug.obj vc6/libboost_regex_vc6_msd/regex_synch.obj vc6/libboost_regex_vc6_msd/w32_regex_traits.obj vc6/libboost_regex_vc6_msd/wide_posix_api.obj vc6/libboost_regex_vc6_msd/winstances.obj - link -lib /nologo /out:vc6/libboost_regex_vc6_msd.lib $(XSFLAGS) vc6/libboost_regex_vc6_msd/c_regex_traits.obj vc6/libboost_regex_vc6_msd/c_regex_traits_common.obj vc6/libboost_regex_vc6_msd/cpp_regex_traits.obj vc6/libboost_regex_vc6_msd/cregex.obj vc6/libboost_regex_vc6_msd/fileiter.obj vc6/libboost_regex_vc6_msd/instances.obj vc6/libboost_regex_vc6_msd/posix_api.obj vc6/libboost_regex_vc6_msd/regex.obj vc6/libboost_regex_vc6_msd/regex_debug.obj vc6/libboost_regex_vc6_msd/regex_synch.obj vc6/libboost_regex_vc6_msd/w32_regex_traits.obj vc6/libboost_regex_vc6_msd/wide_posix_api.obj vc6/libboost_regex_vc6_msd/winstances.obj - -######################################################## -# -# section for boost_regex_vc6_mdd.lib -# -######################################################## -vc6/boost_regex_vc6_mdd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_mdd/boost_regex_vc6_mdd.pch -Fo./vc6/boost_regex_vc6_mdd/ -Fdvc6/boost_regex_vc6_mdd.pdb ../src/c_regex_traits.cpp - -vc6/boost_regex_vc6_mdd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_mdd/boost_regex_vc6_mdd.pch -Fo./vc6/boost_regex_vc6_mdd/ -Fdvc6/boost_regex_vc6_mdd.pdb ../src/c_regex_traits_common.cpp - -vc6/boost_regex_vc6_mdd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_mdd/boost_regex_vc6_mdd.pch -Fo./vc6/boost_regex_vc6_mdd/ -Fdvc6/boost_regex_vc6_mdd.pdb ../src/cpp_regex_traits.cpp - -vc6/boost_regex_vc6_mdd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_mdd/boost_regex_vc6_mdd.pch -Fo./vc6/boost_regex_vc6_mdd/ -Fdvc6/boost_regex_vc6_mdd.pdb ../src/cregex.cpp - -vc6/boost_regex_vc6_mdd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_mdd/boost_regex_vc6_mdd.pch -Fo./vc6/boost_regex_vc6_mdd/ -Fdvc6/boost_regex_vc6_mdd.pdb ../src/fileiter.cpp - -vc6/boost_regex_vc6_mdd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_mdd/boost_regex_vc6_mdd.pch -Fo./vc6/boost_regex_vc6_mdd/ -Fdvc6/boost_regex_vc6_mdd.pdb ../src/instances.cpp - -vc6/boost_regex_vc6_mdd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_mdd/boost_regex_vc6_mdd.pch -Fo./vc6/boost_regex_vc6_mdd/ -Fdvc6/boost_regex_vc6_mdd.pdb ../src/posix_api.cpp - -vc6/boost_regex_vc6_mdd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_mdd/boost_regex_vc6_mdd.pch -Fo./vc6/boost_regex_vc6_mdd/ -Fdvc6/boost_regex_vc6_mdd.pdb ../src/regex.cpp - -vc6/boost_regex_vc6_mdd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_mdd/boost_regex_vc6_mdd.pch -Fo./vc6/boost_regex_vc6_mdd/ -Fdvc6/boost_regex_vc6_mdd.pdb ../src/regex_debug.cpp - -vc6/boost_regex_vc6_mdd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_mdd/boost_regex_vc6_mdd.pch -Fo./vc6/boost_regex_vc6_mdd/ -Fdvc6/boost_regex_vc6_mdd.pdb ../src/regex_synch.cpp - -vc6/boost_regex_vc6_mdd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_mdd/boost_regex_vc6_mdd.pch -Fo./vc6/boost_regex_vc6_mdd/ -Fdvc6/boost_regex_vc6_mdd.pdb ../src/w32_regex_traits.cpp - -vc6/boost_regex_vc6_mdd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_mdd/boost_regex_vc6_mdd.pch -Fo./vc6/boost_regex_vc6_mdd/ -Fdvc6/boost_regex_vc6_mdd.pdb ../src/wide_posix_api.cpp - -vc6/boost_regex_vc6_mdd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_mdd/boost_regex_vc6_mdd.pch -Fo./vc6/boost_regex_vc6_mdd/ -Fdvc6/boost_regex_vc6_mdd.pdb ../src/winstances.cpp - -boost_regex_vc6_mdd_dir : - @if not exist "vc6\boost_regex_vc6_mdd\$(NULL)" mkdir vc6\boost_regex_vc6_mdd - -boost_regex_vc6_mdd_clean : - del vc6\boost_regex_vc6_mdd\*.obj - del vc6\boost_regex_vc6_mdd\*.idb - del vc6\boost_regex_vc6_mdd\*.exp - del vc6\boost_regex_vc6_mdd\*.pch - -./vc6/boost_regex_vc6_mdd.lib : vc6/boost_regex_vc6_mdd/c_regex_traits.obj vc6/boost_regex_vc6_mdd/c_regex_traits_common.obj vc6/boost_regex_vc6_mdd/cpp_regex_traits.obj vc6/boost_regex_vc6_mdd/cregex.obj vc6/boost_regex_vc6_mdd/fileiter.obj vc6/boost_regex_vc6_mdd/instances.obj vc6/boost_regex_vc6_mdd/posix_api.obj vc6/boost_regex_vc6_mdd/regex.obj vc6/boost_regex_vc6_mdd/regex_debug.obj vc6/boost_regex_vc6_mdd/regex_synch.obj vc6/boost_regex_vc6_mdd/w32_regex_traits.obj vc6/boost_regex_vc6_mdd/wide_posix_api.obj vc6/boost_regex_vc6_mdd/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_mdd.pdb" /debug /machine:I386 /out:"vc6/boost_regex_vc6_mdd.dll" /implib:"vc6/boost_regex_vc6_mdd.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc6/boost_regex_vc6_mdd/c_regex_traits.obj vc6/boost_regex_vc6_mdd/c_regex_traits_common.obj vc6/boost_regex_vc6_mdd/cpp_regex_traits.obj vc6/boost_regex_vc6_mdd/cregex.obj vc6/boost_regex_vc6_mdd/fileiter.obj vc6/boost_regex_vc6_mdd/instances.obj vc6/boost_regex_vc6_mdd/posix_api.obj vc6/boost_regex_vc6_mdd/regex.obj vc6/boost_regex_vc6_mdd/regex_debug.obj vc6/boost_regex_vc6_mdd/regex_synch.obj vc6/boost_regex_vc6_mdd/w32_regex_traits.obj vc6/boost_regex_vc6_mdd/wide_posix_api.obj vc6/boost_regex_vc6_mdd/winstances.obj - -######################################################## -# -# section for boost_regex_vc6_md.lib -# -######################################################## -vc6/boost_regex_vc6_md/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_md/boost_regex_vc6_md.pch -Fo./vc6/boost_regex_vc6_md/ -Fdvc6/boost_regex_vc6_md.pdb ../src/c_regex_traits.cpp - -vc6/boost_regex_vc6_md/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_md/boost_regex_vc6_md.pch -Fo./vc6/boost_regex_vc6_md/ -Fdvc6/boost_regex_vc6_md.pdb ../src/c_regex_traits_common.cpp - -vc6/boost_regex_vc6_md/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_md/boost_regex_vc6_md.pch -Fo./vc6/boost_regex_vc6_md/ -Fdvc6/boost_regex_vc6_md.pdb ../src/cpp_regex_traits.cpp - -vc6/boost_regex_vc6_md/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_md/boost_regex_vc6_md.pch -Fo./vc6/boost_regex_vc6_md/ -Fdvc6/boost_regex_vc6_md.pdb ../src/cregex.cpp - -vc6/boost_regex_vc6_md/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_md/boost_regex_vc6_md.pch -Fo./vc6/boost_regex_vc6_md/ -Fdvc6/boost_regex_vc6_md.pdb ../src/fileiter.cpp - -vc6/boost_regex_vc6_md/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_md/boost_regex_vc6_md.pch -Fo./vc6/boost_regex_vc6_md/ -Fdvc6/boost_regex_vc6_md.pdb ../src/instances.cpp - -vc6/boost_regex_vc6_md/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_md/boost_regex_vc6_md.pch -Fo./vc6/boost_regex_vc6_md/ -Fdvc6/boost_regex_vc6_md.pdb ../src/posix_api.cpp - -vc6/boost_regex_vc6_md/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_md/boost_regex_vc6_md.pch -Fo./vc6/boost_regex_vc6_md/ -Fdvc6/boost_regex_vc6_md.pdb ../src/regex.cpp - -vc6/boost_regex_vc6_md/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_md/boost_regex_vc6_md.pch -Fo./vc6/boost_regex_vc6_md/ -Fdvc6/boost_regex_vc6_md.pdb ../src/regex_debug.cpp - -vc6/boost_regex_vc6_md/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_md/boost_regex_vc6_md.pch -Fo./vc6/boost_regex_vc6_md/ -Fdvc6/boost_regex_vc6_md.pdb ../src/regex_synch.cpp - -vc6/boost_regex_vc6_md/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_md/boost_regex_vc6_md.pch -Fo./vc6/boost_regex_vc6_md/ -Fdvc6/boost_regex_vc6_md.pdb ../src/w32_regex_traits.cpp - -vc6/boost_regex_vc6_md/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_md/boost_regex_vc6_md.pch -Fo./vc6/boost_regex_vc6_md/ -Fdvc6/boost_regex_vc6_md.pdb ../src/wide_posix_api.cpp - -vc6/boost_regex_vc6_md/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/boost_regex_vc6_md/boost_regex_vc6_md.pch -Fo./vc6/boost_regex_vc6_md/ -Fdvc6/boost_regex_vc6_md.pdb ../src/winstances.cpp - -boost_regex_vc6_md_dir : - @if not exist "vc6\boost_regex_vc6_md\$(NULL)" mkdir vc6\boost_regex_vc6_md - -boost_regex_vc6_md_clean : - del vc6\boost_regex_vc6_md\*.obj - del vc6\boost_regex_vc6_md\*.idb - del vc6\boost_regex_vc6_md\*.exp - del vc6\boost_regex_vc6_md\*.pch - -./vc6/boost_regex_vc6_md.lib : vc6/boost_regex_vc6_md/c_regex_traits.obj vc6/boost_regex_vc6_md/c_regex_traits_common.obj vc6/boost_regex_vc6_md/cpp_regex_traits.obj vc6/boost_regex_vc6_md/cregex.obj vc6/boost_regex_vc6_md/fileiter.obj vc6/boost_regex_vc6_md/instances.obj vc6/boost_regex_vc6_md/posix_api.obj vc6/boost_regex_vc6_md/regex.obj vc6/boost_regex_vc6_md/regex_debug.obj vc6/boost_regex_vc6_md/regex_synch.obj vc6/boost_regex_vc6_md/w32_regex_traits.obj vc6/boost_regex_vc6_md/wide_posix_api.obj vc6/boost_regex_vc6_md/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_md.pdb" /debug /machine:I386 /out:"vc6/boost_regex_vc6_md.dll" /implib:"vc6/boost_regex_vc6_md.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc6/boost_regex_vc6_md/c_regex_traits.obj vc6/boost_regex_vc6_md/c_regex_traits_common.obj vc6/boost_regex_vc6_md/cpp_regex_traits.obj vc6/boost_regex_vc6_md/cregex.obj vc6/boost_regex_vc6_md/fileiter.obj vc6/boost_regex_vc6_md/instances.obj vc6/boost_regex_vc6_md/posix_api.obj vc6/boost_regex_vc6_md/regex.obj vc6/boost_regex_vc6_md/regex_debug.obj vc6/boost_regex_vc6_md/regex_synch.obj vc6/boost_regex_vc6_md/w32_regex_traits.obj vc6/boost_regex_vc6_md/wide_posix_api.obj vc6/boost_regex_vc6_md/winstances.obj - -######################################################## -# -# section for libboost_regex_vc6_md.lib -# -######################################################## -vc6/libboost_regex_vc6_md/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_md/libboost_regex_vc6_md.pch -Fo./vc6/libboost_regex_vc6_md/ -Fdvc6/libboost_regex_vc6_md.pdb ../src/c_regex_traits.cpp - -vc6/libboost_regex_vc6_md/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_md/libboost_regex_vc6_md.pch -Fo./vc6/libboost_regex_vc6_md/ -Fdvc6/libboost_regex_vc6_md.pdb ../src/c_regex_traits_common.cpp - -vc6/libboost_regex_vc6_md/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_md/libboost_regex_vc6_md.pch -Fo./vc6/libboost_regex_vc6_md/ -Fdvc6/libboost_regex_vc6_md.pdb ../src/cpp_regex_traits.cpp - -vc6/libboost_regex_vc6_md/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_md/libboost_regex_vc6_md.pch -Fo./vc6/libboost_regex_vc6_md/ -Fdvc6/libboost_regex_vc6_md.pdb ../src/cregex.cpp - -vc6/libboost_regex_vc6_md/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_md/libboost_regex_vc6_md.pch -Fo./vc6/libboost_regex_vc6_md/ -Fdvc6/libboost_regex_vc6_md.pdb ../src/fileiter.cpp - -vc6/libboost_regex_vc6_md/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_md/libboost_regex_vc6_md.pch -Fo./vc6/libboost_regex_vc6_md/ -Fdvc6/libboost_regex_vc6_md.pdb ../src/instances.cpp - -vc6/libboost_regex_vc6_md/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_md/libboost_regex_vc6_md.pch -Fo./vc6/libboost_regex_vc6_md/ -Fdvc6/libboost_regex_vc6_md.pdb ../src/posix_api.cpp - -vc6/libboost_regex_vc6_md/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_md/libboost_regex_vc6_md.pch -Fo./vc6/libboost_regex_vc6_md/ -Fdvc6/libboost_regex_vc6_md.pdb ../src/regex.cpp - -vc6/libboost_regex_vc6_md/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_md/libboost_regex_vc6_md.pch -Fo./vc6/libboost_regex_vc6_md/ -Fdvc6/libboost_regex_vc6_md.pdb ../src/regex_debug.cpp - -vc6/libboost_regex_vc6_md/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_md/libboost_regex_vc6_md.pch -Fo./vc6/libboost_regex_vc6_md/ -Fdvc6/libboost_regex_vc6_md.pdb ../src/regex_synch.cpp - -vc6/libboost_regex_vc6_md/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_md/libboost_regex_vc6_md.pch -Fo./vc6/libboost_regex_vc6_md/ -Fdvc6/libboost_regex_vc6_md.pdb ../src/w32_regex_traits.cpp - -vc6/libboost_regex_vc6_md/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_md/libboost_regex_vc6_md.pch -Fo./vc6/libboost_regex_vc6_md/ -Fdvc6/libboost_regex_vc6_md.pdb ../src/wide_posix_api.cpp - -vc6/libboost_regex_vc6_md/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_md/libboost_regex_vc6_md.pch -Fo./vc6/libboost_regex_vc6_md/ -Fdvc6/libboost_regex_vc6_md.pdb ../src/winstances.cpp - -libboost_regex_vc6_md_dir : - @if not exist "vc6\libboost_regex_vc6_md\$(NULL)" mkdir vc6\libboost_regex_vc6_md - -libboost_regex_vc6_md_clean : - del vc6\libboost_regex_vc6_md\*.obj - del vc6\libboost_regex_vc6_md\*.idb - del vc6\libboost_regex_vc6_md\*.exp - del vc6\libboost_regex_vc6_md\*.pch - -./vc6/libboost_regex_vc6_md.lib : vc6/libboost_regex_vc6_md/c_regex_traits.obj vc6/libboost_regex_vc6_md/c_regex_traits_common.obj vc6/libboost_regex_vc6_md/cpp_regex_traits.obj vc6/libboost_regex_vc6_md/cregex.obj vc6/libboost_regex_vc6_md/fileiter.obj vc6/libboost_regex_vc6_md/instances.obj vc6/libboost_regex_vc6_md/posix_api.obj vc6/libboost_regex_vc6_md/regex.obj vc6/libboost_regex_vc6_md/regex_debug.obj vc6/libboost_regex_vc6_md/regex_synch.obj vc6/libboost_regex_vc6_md/w32_regex_traits.obj vc6/libboost_regex_vc6_md/wide_posix_api.obj vc6/libboost_regex_vc6_md/winstances.obj - link -lib /nologo /out:vc6/libboost_regex_vc6_md.lib $(XSFLAGS) vc6/libboost_regex_vc6_md/c_regex_traits.obj vc6/libboost_regex_vc6_md/c_regex_traits_common.obj vc6/libboost_regex_vc6_md/cpp_regex_traits.obj vc6/libboost_regex_vc6_md/cregex.obj vc6/libboost_regex_vc6_md/fileiter.obj vc6/libboost_regex_vc6_md/instances.obj vc6/libboost_regex_vc6_md/posix_api.obj vc6/libboost_regex_vc6_md/regex.obj vc6/libboost_regex_vc6_md/regex_debug.obj vc6/libboost_regex_vc6_md/regex_synch.obj vc6/libboost_regex_vc6_md/w32_regex_traits.obj vc6/libboost_regex_vc6_md/wide_posix_api.obj vc6/libboost_regex_vc6_md/winstances.obj - -######################################################## -# -# section for libboost_regex_vc6_mdd.lib -# -######################################################## -vc6/libboost_regex_vc6_mdd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_mdd/libboost_regex_vc6_mdd.pch -Fo./vc6/libboost_regex_vc6_mdd/ -Fdvc6/libboost_regex_vc6_mdd.pdb ../src/c_regex_traits.cpp - -vc6/libboost_regex_vc6_mdd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_mdd/libboost_regex_vc6_mdd.pch -Fo./vc6/libboost_regex_vc6_mdd/ -Fdvc6/libboost_regex_vc6_mdd.pdb ../src/c_regex_traits_common.cpp - -vc6/libboost_regex_vc6_mdd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_mdd/libboost_regex_vc6_mdd.pch -Fo./vc6/libboost_regex_vc6_mdd/ -Fdvc6/libboost_regex_vc6_mdd.pdb ../src/cpp_regex_traits.cpp - -vc6/libboost_regex_vc6_mdd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_mdd/libboost_regex_vc6_mdd.pch -Fo./vc6/libboost_regex_vc6_mdd/ -Fdvc6/libboost_regex_vc6_mdd.pdb ../src/cregex.cpp - -vc6/libboost_regex_vc6_mdd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_mdd/libboost_regex_vc6_mdd.pch -Fo./vc6/libboost_regex_vc6_mdd/ -Fdvc6/libboost_regex_vc6_mdd.pdb ../src/fileiter.cpp - -vc6/libboost_regex_vc6_mdd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_mdd/libboost_regex_vc6_mdd.pch -Fo./vc6/libboost_regex_vc6_mdd/ -Fdvc6/libboost_regex_vc6_mdd.pdb ../src/instances.cpp - -vc6/libboost_regex_vc6_mdd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_mdd/libboost_regex_vc6_mdd.pch -Fo./vc6/libboost_regex_vc6_mdd/ -Fdvc6/libboost_regex_vc6_mdd.pdb ../src/posix_api.cpp - -vc6/libboost_regex_vc6_mdd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_mdd/libboost_regex_vc6_mdd.pch -Fo./vc6/libboost_regex_vc6_mdd/ -Fdvc6/libboost_regex_vc6_mdd.pdb ../src/regex.cpp - -vc6/libboost_regex_vc6_mdd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_mdd/libboost_regex_vc6_mdd.pch -Fo./vc6/libboost_regex_vc6_mdd/ -Fdvc6/libboost_regex_vc6_mdd.pdb ../src/regex_debug.cpp - -vc6/libboost_regex_vc6_mdd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_mdd/libboost_regex_vc6_mdd.pch -Fo./vc6/libboost_regex_vc6_mdd/ -Fdvc6/libboost_regex_vc6_mdd.pdb ../src/regex_synch.cpp - -vc6/libboost_regex_vc6_mdd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_mdd/libboost_regex_vc6_mdd.pch -Fo./vc6/libboost_regex_vc6_mdd/ -Fdvc6/libboost_regex_vc6_mdd.pdb ../src/w32_regex_traits.cpp - -vc6/libboost_regex_vc6_mdd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_mdd/libboost_regex_vc6_mdd.pch -Fo./vc6/libboost_regex_vc6_mdd/ -Fdvc6/libboost_regex_vc6_mdd.pdb ../src/wide_posix_api.cpp - -vc6/libboost_regex_vc6_mdd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc6/libboost_regex_vc6_mdd/libboost_regex_vc6_mdd.pch -Fo./vc6/libboost_regex_vc6_mdd/ -Fdvc6/libboost_regex_vc6_mdd.pdb ../src/winstances.cpp - -libboost_regex_vc6_mdd_dir : - @if not exist "vc6\libboost_regex_vc6_mdd\$(NULL)" mkdir vc6\libboost_regex_vc6_mdd - -libboost_regex_vc6_mdd_clean : - del vc6\libboost_regex_vc6_mdd\*.obj - del vc6\libboost_regex_vc6_mdd\*.idb - del vc6\libboost_regex_vc6_mdd\*.exp - del vc6\libboost_regex_vc6_mdd\*.pch - -./vc6/libboost_regex_vc6_mdd.lib : vc6/libboost_regex_vc6_mdd/c_regex_traits.obj vc6/libboost_regex_vc6_mdd/c_regex_traits_common.obj vc6/libboost_regex_vc6_mdd/cpp_regex_traits.obj vc6/libboost_regex_vc6_mdd/cregex.obj vc6/libboost_regex_vc6_mdd/fileiter.obj vc6/libboost_regex_vc6_mdd/instances.obj vc6/libboost_regex_vc6_mdd/posix_api.obj vc6/libboost_regex_vc6_mdd/regex.obj vc6/libboost_regex_vc6_mdd/regex_debug.obj vc6/libboost_regex_vc6_mdd/regex_synch.obj vc6/libboost_regex_vc6_mdd/w32_regex_traits.obj vc6/libboost_regex_vc6_mdd/wide_posix_api.obj vc6/libboost_regex_vc6_mdd/winstances.obj - link -lib /nologo /out:vc6/libboost_regex_vc6_mdd.lib $(XSFLAGS) vc6/libboost_regex_vc6_mdd/c_regex_traits.obj vc6/libboost_regex_vc6_mdd/c_regex_traits_common.obj vc6/libboost_regex_vc6_mdd/cpp_regex_traits.obj vc6/libboost_regex_vc6_mdd/cregex.obj vc6/libboost_regex_vc6_mdd/fileiter.obj vc6/libboost_regex_vc6_mdd/instances.obj vc6/libboost_regex_vc6_mdd/posix_api.obj vc6/libboost_regex_vc6_mdd/regex.obj vc6/libboost_regex_vc6_mdd/regex_debug.obj vc6/libboost_regex_vc6_mdd/regex_synch.obj vc6/libboost_regex_vc6_mdd/w32_regex_traits.obj vc6/libboost_regex_vc6_mdd/wide_posix_api.obj vc6/libboost_regex_vc6_mdd/winstances.obj - diff --git a/build/vc7-stlport.mak b/build/vc7-stlport.mak deleted file mode 100644 index 20999932..00000000 --- a/build/vc7-stlport.mak +++ /dev/null @@ -1,576 +0,0 @@ -# -# auto generated makefile for VC6+STLPort -# -# usage: -# make -# brings libraries up to date -# make install -# brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended) -# - -# -# Add additional compiler options here: -# -CXXFLAGS= -# -# Add additional include directories here: -# -INCLUDES= -# -# add additional linker flags here: -# -XLFLAGS= -# -# add additional static-library creation flags here: -# -XSFLAGS= - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(MSVCDIR)" == "" -!ERROR Variable MSVCDIR not set. -!ENDIF - -!IF "$(STLPORT_PATH)" == "" -!ERROR Variable STLPORT_PATH not set. -!ENDIF - - -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/cregex.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_fwd.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp ../../../boost/regex/v3/regex_traits.hpp - -all : main_dir libboost_regex_vc7-stlport_ms_dir ./vc7-stlport/libboost_regex_vc7-stlport_ms.lib libboost_regex_vc7-stlport_msd_dir ./vc7-stlport/libboost_regex_vc7-stlport_msd.lib boost_regex_vc7-stlport_mdd_dir ./vc7-stlport/boost_regex_vc7-stlport_mdd.lib boost_regex_vc7-stlport_md_dir ./vc7-stlport/boost_regex_vc7-stlport_md.lib libboost_regex_vc7-stlport_md_dir ./vc7-stlport/libboost_regex_vc7-stlport_md.lib libboost_regex_vc7-stlport_mdd_dir ./vc7-stlport/libboost_regex_vc7-stlport_mdd.lib boost_regex_vc7-stlport_mddd_dir ./vc7-stlport/boost_regex_vc7-stlport_mddd.lib libboost_regex_vc7-stlport_msdd_dir ./vc7-stlport/libboost_regex_vc7-stlport_msdd.lib libboost_regex_vc7-stlport_mddd_dir ./vc7-stlport/libboost_regex_vc7-stlport_mddd.lib - -clean : libboost_regex_vc7-stlport_ms_clean libboost_regex_vc7-stlport_msd_clean boost_regex_vc7-stlport_mdd_clean boost_regex_vc7-stlport_md_clean libboost_regex_vc7-stlport_md_clean libboost_regex_vc7-stlport_mdd_clean boost_regex_vc7-stlport_mddd_clean libboost_regex_vc7-stlport_msdd_clean libboost_regex_vc7-stlport_mddd_clean - -install : stlport_check all - copy vc7-stlport\libboost_regex_vc7-stlport_ms.lib "$(MSVCDIR)\lib" - copy vc7-stlport\libboost_regex_vc7-stlport_msd.lib "$(MSVCDIR)\lib" - copy vc7-stlport\boost_regex_vc7-stlport_mdd.lib "$(MSVCDIR)\lib" - copy vc7-stlport\boost_regex_vc7-stlport_mdd.dll "$(MSVCDIR)\bin" - copy vc7-stlport\boost_regex_vc7-stlport_md.lib "$(MSVCDIR)\lib" - copy vc7-stlport\boost_regex_vc7-stlport_md.dll "$(MSVCDIR)\bin" - copy vc7-stlport\libboost_regex_vc7-stlport_md.lib "$(MSVCDIR)\lib" - copy vc7-stlport\libboost_regex_vc7-stlport_mdd.lib "$(MSVCDIR)\lib" - copy vc7-stlport\boost_regex_vc7-stlport_mddd.lib "$(MSVCDIR)\lib" - copy vc7-stlport\boost_regex_vc7-stlport_mddd.dll "$(MSVCDIR)\bin" - copy vc7-stlport\boost_regex_vc7-stlport_mddd.pdb "$(MSVCDIR)\lib" - copy vc7-stlport\libboost_regex_vc7-stlport_msdd.lib "$(MSVCDIR)\lib" - copy vc7-stlport\libboost_regex_vc7-stlport_msdd.pdb "$(MSVCDIR)\lib" - copy vc7-stlport\libboost_regex_vc7-stlport_mddd.lib "$(MSVCDIR)\lib" - copy vc7-stlport\libboost_regex_vc7-stlport_mddd.pdb "$(MSVCDIR)\lib" - -main_dir : - @if not exist "vc7-stlport\$(NULL)" mkdir vc7-stlport - -stlport_check : $(STLPORT_PATH)\stlport\string - echo - - -######################################################## -# -# section for libboost_regex_vc7-stlport_ms.lib -# -######################################################## -vc7-stlport/libboost_regex_vc7-stlport_ms/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_ms/libboost_regex_vc7-stlport_ms.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_ms/ -Fdvc7-stlport/libboost_regex_vc7-stlport_ms.pdb ../src/c_regex_traits.cpp - -vc7-stlport/libboost_regex_vc7-stlport_ms/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_ms/libboost_regex_vc7-stlport_ms.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_ms/ -Fdvc7-stlport/libboost_regex_vc7-stlport_ms.pdb ../src/c_regex_traits_common.cpp - -vc7-stlport/libboost_regex_vc7-stlport_ms/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_ms/libboost_regex_vc7-stlport_ms.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_ms/ -Fdvc7-stlport/libboost_regex_vc7-stlport_ms.pdb ../src/cpp_regex_traits.cpp - -vc7-stlport/libboost_regex_vc7-stlport_ms/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_ms/libboost_regex_vc7-stlport_ms.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_ms/ -Fdvc7-stlport/libboost_regex_vc7-stlport_ms.pdb ../src/cregex.cpp - -vc7-stlport/libboost_regex_vc7-stlport_ms/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_ms/libboost_regex_vc7-stlport_ms.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_ms/ -Fdvc7-stlport/libboost_regex_vc7-stlport_ms.pdb ../src/fileiter.cpp - -vc7-stlport/libboost_regex_vc7-stlport_ms/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_ms/libboost_regex_vc7-stlport_ms.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_ms/ -Fdvc7-stlport/libboost_regex_vc7-stlport_ms.pdb ../src/instances.cpp - -vc7-stlport/libboost_regex_vc7-stlport_ms/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_ms/libboost_regex_vc7-stlport_ms.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_ms/ -Fdvc7-stlport/libboost_regex_vc7-stlport_ms.pdb ../src/posix_api.cpp - -vc7-stlport/libboost_regex_vc7-stlport_ms/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_ms/libboost_regex_vc7-stlport_ms.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_ms/ -Fdvc7-stlport/libboost_regex_vc7-stlport_ms.pdb ../src/regex.cpp - -vc7-stlport/libboost_regex_vc7-stlport_ms/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_ms/libboost_regex_vc7-stlport_ms.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_ms/ -Fdvc7-stlport/libboost_regex_vc7-stlport_ms.pdb ../src/regex_debug.cpp - -vc7-stlport/libboost_regex_vc7-stlport_ms/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_ms/libboost_regex_vc7-stlport_ms.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_ms/ -Fdvc7-stlport/libboost_regex_vc7-stlport_ms.pdb ../src/regex_synch.cpp - -vc7-stlport/libboost_regex_vc7-stlport_ms/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_ms/libboost_regex_vc7-stlport_ms.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_ms/ -Fdvc7-stlport/libboost_regex_vc7-stlport_ms.pdb ../src/w32_regex_traits.cpp - -vc7-stlport/libboost_regex_vc7-stlport_ms/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_ms/libboost_regex_vc7-stlport_ms.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_ms/ -Fdvc7-stlport/libboost_regex_vc7-stlport_ms.pdb ../src/wide_posix_api.cpp - -vc7-stlport/libboost_regex_vc7-stlport_ms/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_ms/libboost_regex_vc7-stlport_ms.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_ms/ -Fdvc7-stlport/libboost_regex_vc7-stlport_ms.pdb ../src/winstances.cpp - -libboost_regex_vc7-stlport_ms_dir : - @if not exist "vc7-stlport\libboost_regex_vc7-stlport_ms\$(NULL)" mkdir vc7-stlport\libboost_regex_vc7-stlport_ms - -libboost_regex_vc7-stlport_ms_clean : - del vc7-stlport\libboost_regex_vc7-stlport_ms\*.obj - del vc7-stlport\libboost_regex_vc7-stlport_ms\*.idb - del vc7-stlport\libboost_regex_vc7-stlport_ms\*.exp - del vc7-stlport\libboost_regex_vc7-stlport_ms\*.pch - -./vc7-stlport/libboost_regex_vc7-stlport_ms.lib : vc7-stlport/libboost_regex_vc7-stlport_ms/c_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_ms/c_regex_traits_common.obj vc7-stlport/libboost_regex_vc7-stlport_ms/cpp_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_ms/cregex.obj vc7-stlport/libboost_regex_vc7-stlport_ms/fileiter.obj vc7-stlport/libboost_regex_vc7-stlport_ms/instances.obj vc7-stlport/libboost_regex_vc7-stlport_ms/posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_ms/regex.obj vc7-stlport/libboost_regex_vc7-stlport_ms/regex_debug.obj vc7-stlport/libboost_regex_vc7-stlport_ms/regex_synch.obj vc7-stlport/libboost_regex_vc7-stlport_ms/w32_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_ms/wide_posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_ms/winstances.obj - link -lib /nologo /out:vc7-stlport/libboost_regex_vc7-stlport_ms.lib $(XSFLAGS) vc7-stlport/libboost_regex_vc7-stlport_ms/c_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_ms/c_regex_traits_common.obj vc7-stlport/libboost_regex_vc7-stlport_ms/cpp_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_ms/cregex.obj vc7-stlport/libboost_regex_vc7-stlport_ms/fileiter.obj vc7-stlport/libboost_regex_vc7-stlport_ms/instances.obj vc7-stlport/libboost_regex_vc7-stlport_ms/posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_ms/regex.obj vc7-stlport/libboost_regex_vc7-stlport_ms/regex_debug.obj vc7-stlport/libboost_regex_vc7-stlport_ms/regex_synch.obj vc7-stlport/libboost_regex_vc7-stlport_ms/w32_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_ms/wide_posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_ms/winstances.obj - -######################################################## -# -# section for libboost_regex_vc7-stlport_msd.lib -# -######################################################## -vc7-stlport/libboost_regex_vc7-stlport_msd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msd/libboost_regex_vc7-stlport_msd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msd.pdb ../src/c_regex_traits.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msd/libboost_regex_vc7-stlport_msd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msd.pdb ../src/c_regex_traits_common.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msd/libboost_regex_vc7-stlport_msd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msd.pdb ../src/cpp_regex_traits.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msd/libboost_regex_vc7-stlport_msd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msd.pdb ../src/cregex.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msd/libboost_regex_vc7-stlport_msd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msd.pdb ../src/fileiter.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msd/libboost_regex_vc7-stlport_msd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msd.pdb ../src/instances.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msd/libboost_regex_vc7-stlport_msd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msd.pdb ../src/posix_api.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msd/libboost_regex_vc7-stlport_msd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msd.pdb ../src/regex.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msd/libboost_regex_vc7-stlport_msd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msd.pdb ../src/regex_debug.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msd/libboost_regex_vc7-stlport_msd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msd.pdb ../src/regex_synch.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msd/libboost_regex_vc7-stlport_msd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msd.pdb ../src/w32_regex_traits.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msd/libboost_regex_vc7-stlport_msd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msd.pdb ../src/wide_posix_api.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msd/libboost_regex_vc7-stlport_msd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msd.pdb ../src/winstances.cpp - -libboost_regex_vc7-stlport_msd_dir : - @if not exist "vc7-stlport\libboost_regex_vc7-stlport_msd\$(NULL)" mkdir vc7-stlport\libboost_regex_vc7-stlport_msd - -libboost_regex_vc7-stlport_msd_clean : - del vc7-stlport\libboost_regex_vc7-stlport_msd\*.obj - del vc7-stlport\libboost_regex_vc7-stlport_msd\*.idb - del vc7-stlport\libboost_regex_vc7-stlport_msd\*.exp - del vc7-stlport\libboost_regex_vc7-stlport_msd\*.pch - -./vc7-stlport/libboost_regex_vc7-stlport_msd.lib : vc7-stlport/libboost_regex_vc7-stlport_msd/c_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_msd/c_regex_traits_common.obj vc7-stlport/libboost_regex_vc7-stlport_msd/cpp_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_msd/cregex.obj vc7-stlport/libboost_regex_vc7-stlport_msd/fileiter.obj vc7-stlport/libboost_regex_vc7-stlport_msd/instances.obj vc7-stlport/libboost_regex_vc7-stlport_msd/posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_msd/regex.obj vc7-stlport/libboost_regex_vc7-stlport_msd/regex_debug.obj vc7-stlport/libboost_regex_vc7-stlport_msd/regex_synch.obj vc7-stlport/libboost_regex_vc7-stlport_msd/w32_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_msd/wide_posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_msd/winstances.obj - link -lib /nologo /out:vc7-stlport/libboost_regex_vc7-stlport_msd.lib $(XSFLAGS) vc7-stlport/libboost_regex_vc7-stlport_msd/c_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_msd/c_regex_traits_common.obj vc7-stlport/libboost_regex_vc7-stlport_msd/cpp_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_msd/cregex.obj vc7-stlport/libboost_regex_vc7-stlport_msd/fileiter.obj vc7-stlport/libboost_regex_vc7-stlport_msd/instances.obj vc7-stlport/libboost_regex_vc7-stlport_msd/posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_msd/regex.obj vc7-stlport/libboost_regex_vc7-stlport_msd/regex_debug.obj vc7-stlport/libboost_regex_vc7-stlport_msd/regex_synch.obj vc7-stlport/libboost_regex_vc7-stlport_msd/w32_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_msd/wide_posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_msd/winstances.obj - -######################################################## -# -# section for boost_regex_vc7-stlport_mdd.lib -# -######################################################## -vc7-stlport/boost_regex_vc7-stlport_mdd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdd/boost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdd.pdb ../src/c_regex_traits.cpp - -vc7-stlport/boost_regex_vc7-stlport_mdd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdd/boost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdd.pdb ../src/c_regex_traits_common.cpp - -vc7-stlport/boost_regex_vc7-stlport_mdd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdd/boost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdd.pdb ../src/cpp_regex_traits.cpp - -vc7-stlport/boost_regex_vc7-stlport_mdd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdd/boost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdd.pdb ../src/cregex.cpp - -vc7-stlport/boost_regex_vc7-stlport_mdd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdd/boost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdd.pdb ../src/fileiter.cpp - -vc7-stlport/boost_regex_vc7-stlport_mdd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdd/boost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdd.pdb ../src/instances.cpp - -vc7-stlport/boost_regex_vc7-stlport_mdd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdd/boost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdd.pdb ../src/posix_api.cpp - -vc7-stlport/boost_regex_vc7-stlport_mdd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdd/boost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdd.pdb ../src/regex.cpp - -vc7-stlport/boost_regex_vc7-stlport_mdd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdd/boost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdd.pdb ../src/regex_debug.cpp - -vc7-stlport/boost_regex_vc7-stlport_mdd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdd/boost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdd.pdb ../src/regex_synch.cpp - -vc7-stlport/boost_regex_vc7-stlport_mdd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdd/boost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdd.pdb ../src/w32_regex_traits.cpp - -vc7-stlport/boost_regex_vc7-stlport_mdd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdd/boost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdd.pdb ../src/wide_posix_api.cpp - -vc7-stlport/boost_regex_vc7-stlport_mdd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdd/boost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdd.pdb ../src/winstances.cpp - -boost_regex_vc7-stlport_mdd_dir : - @if not exist "vc7-stlport\boost_regex_vc7-stlport_mdd\$(NULL)" mkdir vc7-stlport\boost_regex_vc7-stlport_mdd - -boost_regex_vc7-stlport_mdd_clean : - del vc7-stlport\boost_regex_vc7-stlport_mdd\*.obj - del vc7-stlport\boost_regex_vc7-stlport_mdd\*.idb - del vc7-stlport\boost_regex_vc7-stlport_mdd\*.exp - del vc7-stlport\boost_regex_vc7-stlport_mdd\*.pch - -./vc7-stlport/boost_regex_vc7-stlport_mdd.lib : vc7-stlport/boost_regex_vc7-stlport_mdd/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdd/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mdd/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdd/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mdd/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mdd/instances.obj vc7-stlport/boost_regex_vc7-stlport_mdd/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdd/regex.obj vc7-stlport/boost_regex_vc7-stlport_mdd/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mdd/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mdd/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdd/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdd/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-stlport_mdd.pdb" /debug /machine:I386 /out:"vc7-stlport/boost_regex_vc7-stlport_mdd.dll" /implib:"vc7-stlport/boost_regex_vc7-stlport_mdd.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc7-stlport/boost_regex_vc7-stlport_mdd/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdd/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mdd/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdd/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mdd/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mdd/instances.obj vc7-stlport/boost_regex_vc7-stlport_mdd/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdd/regex.obj vc7-stlport/boost_regex_vc7-stlport_mdd/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mdd/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mdd/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdd/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdd/winstances.obj - -######################################################## -# -# section for boost_regex_vc7-stlport_md.lib -# -######################################################## -vc7-stlport/boost_regex_vc7-stlport_md/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_md/boost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_md/ -Fdvc7-stlport/boost_regex_vc7-stlport_md.pdb ../src/c_regex_traits.cpp - -vc7-stlport/boost_regex_vc7-stlport_md/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_md/boost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_md/ -Fdvc7-stlport/boost_regex_vc7-stlport_md.pdb ../src/c_regex_traits_common.cpp - -vc7-stlport/boost_regex_vc7-stlport_md/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_md/boost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_md/ -Fdvc7-stlport/boost_regex_vc7-stlport_md.pdb ../src/cpp_regex_traits.cpp - -vc7-stlport/boost_regex_vc7-stlport_md/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_md/boost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_md/ -Fdvc7-stlport/boost_regex_vc7-stlport_md.pdb ../src/cregex.cpp - -vc7-stlport/boost_regex_vc7-stlport_md/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_md/boost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_md/ -Fdvc7-stlport/boost_regex_vc7-stlport_md.pdb ../src/fileiter.cpp - -vc7-stlport/boost_regex_vc7-stlport_md/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_md/boost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_md/ -Fdvc7-stlport/boost_regex_vc7-stlport_md.pdb ../src/instances.cpp - -vc7-stlport/boost_regex_vc7-stlport_md/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_md/boost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_md/ -Fdvc7-stlport/boost_regex_vc7-stlport_md.pdb ../src/posix_api.cpp - -vc7-stlport/boost_regex_vc7-stlport_md/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_md/boost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_md/ -Fdvc7-stlport/boost_regex_vc7-stlport_md.pdb ../src/regex.cpp - -vc7-stlport/boost_regex_vc7-stlport_md/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_md/boost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_md/ -Fdvc7-stlport/boost_regex_vc7-stlport_md.pdb ../src/regex_debug.cpp - -vc7-stlport/boost_regex_vc7-stlport_md/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_md/boost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_md/ -Fdvc7-stlport/boost_regex_vc7-stlport_md.pdb ../src/regex_synch.cpp - -vc7-stlport/boost_regex_vc7-stlport_md/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_md/boost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_md/ -Fdvc7-stlport/boost_regex_vc7-stlport_md.pdb ../src/w32_regex_traits.cpp - -vc7-stlport/boost_regex_vc7-stlport_md/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_md/boost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_md/ -Fdvc7-stlport/boost_regex_vc7-stlport_md.pdb ../src/wide_posix_api.cpp - -vc7-stlport/boost_regex_vc7-stlport_md/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_md/boost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_md/ -Fdvc7-stlport/boost_regex_vc7-stlport_md.pdb ../src/winstances.cpp - -boost_regex_vc7-stlport_md_dir : - @if not exist "vc7-stlport\boost_regex_vc7-stlport_md\$(NULL)" mkdir vc7-stlport\boost_regex_vc7-stlport_md - -boost_regex_vc7-stlport_md_clean : - del vc7-stlport\boost_regex_vc7-stlport_md\*.obj - del vc7-stlport\boost_regex_vc7-stlport_md\*.idb - del vc7-stlport\boost_regex_vc7-stlport_md\*.exp - del vc7-stlport\boost_regex_vc7-stlport_md\*.pch - -./vc7-stlport/boost_regex_vc7-stlport_md.lib : vc7-stlport/boost_regex_vc7-stlport_md/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_md/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_md/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_md/cregex.obj vc7-stlport/boost_regex_vc7-stlport_md/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_md/instances.obj vc7-stlport/boost_regex_vc7-stlport_md/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_md/regex.obj vc7-stlport/boost_regex_vc7-stlport_md/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_md/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_md/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_md/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_md/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-stlport_md.pdb" /debug /machine:I386 /out:"vc7-stlport/boost_regex_vc7-stlport_md.dll" /implib:"vc7-stlport/boost_regex_vc7-stlport_md.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc7-stlport/boost_regex_vc7-stlport_md/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_md/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_md/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_md/cregex.obj vc7-stlport/boost_regex_vc7-stlport_md/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_md/instances.obj vc7-stlport/boost_regex_vc7-stlport_md/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_md/regex.obj vc7-stlport/boost_regex_vc7-stlport_md/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_md/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_md/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_md/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_md/winstances.obj - -######################################################## -# -# section for libboost_regex_vc7-stlport_md.lib -# -######################################################## -vc7-stlport/libboost_regex_vc7-stlport_md/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_md/libboost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_md/ -Fdvc7-stlport/libboost_regex_vc7-stlport_md.pdb ../src/c_regex_traits.cpp - -vc7-stlport/libboost_regex_vc7-stlport_md/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_md/libboost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_md/ -Fdvc7-stlport/libboost_regex_vc7-stlport_md.pdb ../src/c_regex_traits_common.cpp - -vc7-stlport/libboost_regex_vc7-stlport_md/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_md/libboost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_md/ -Fdvc7-stlport/libboost_regex_vc7-stlport_md.pdb ../src/cpp_regex_traits.cpp - -vc7-stlport/libboost_regex_vc7-stlport_md/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_md/libboost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_md/ -Fdvc7-stlport/libboost_regex_vc7-stlport_md.pdb ../src/cregex.cpp - -vc7-stlport/libboost_regex_vc7-stlport_md/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_md/libboost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_md/ -Fdvc7-stlport/libboost_regex_vc7-stlport_md.pdb ../src/fileiter.cpp - -vc7-stlport/libboost_regex_vc7-stlport_md/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_md/libboost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_md/ -Fdvc7-stlport/libboost_regex_vc7-stlport_md.pdb ../src/instances.cpp - -vc7-stlport/libboost_regex_vc7-stlport_md/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_md/libboost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_md/ -Fdvc7-stlport/libboost_regex_vc7-stlport_md.pdb ../src/posix_api.cpp - -vc7-stlport/libboost_regex_vc7-stlport_md/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_md/libboost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_md/ -Fdvc7-stlport/libboost_regex_vc7-stlport_md.pdb ../src/regex.cpp - -vc7-stlport/libboost_regex_vc7-stlport_md/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_md/libboost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_md/ -Fdvc7-stlport/libboost_regex_vc7-stlport_md.pdb ../src/regex_debug.cpp - -vc7-stlport/libboost_regex_vc7-stlport_md/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_md/libboost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_md/ -Fdvc7-stlport/libboost_regex_vc7-stlport_md.pdb ../src/regex_synch.cpp - -vc7-stlport/libboost_regex_vc7-stlport_md/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_md/libboost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_md/ -Fdvc7-stlport/libboost_regex_vc7-stlport_md.pdb ../src/w32_regex_traits.cpp - -vc7-stlport/libboost_regex_vc7-stlport_md/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_md/libboost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_md/ -Fdvc7-stlport/libboost_regex_vc7-stlport_md.pdb ../src/wide_posix_api.cpp - -vc7-stlport/libboost_regex_vc7-stlport_md/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_md/libboost_regex_vc7-stlport_md.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_md/ -Fdvc7-stlport/libboost_regex_vc7-stlport_md.pdb ../src/winstances.cpp - -libboost_regex_vc7-stlport_md_dir : - @if not exist "vc7-stlport\libboost_regex_vc7-stlport_md\$(NULL)" mkdir vc7-stlport\libboost_regex_vc7-stlport_md - -libboost_regex_vc7-stlport_md_clean : - del vc7-stlport\libboost_regex_vc7-stlport_md\*.obj - del vc7-stlport\libboost_regex_vc7-stlport_md\*.idb - del vc7-stlport\libboost_regex_vc7-stlport_md\*.exp - del vc7-stlport\libboost_regex_vc7-stlport_md\*.pch - -./vc7-stlport/libboost_regex_vc7-stlport_md.lib : vc7-stlport/libboost_regex_vc7-stlport_md/c_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_md/c_regex_traits_common.obj vc7-stlport/libboost_regex_vc7-stlport_md/cpp_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_md/cregex.obj vc7-stlport/libboost_regex_vc7-stlport_md/fileiter.obj vc7-stlport/libboost_regex_vc7-stlport_md/instances.obj vc7-stlport/libboost_regex_vc7-stlport_md/posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_md/regex.obj vc7-stlport/libboost_regex_vc7-stlport_md/regex_debug.obj vc7-stlport/libboost_regex_vc7-stlport_md/regex_synch.obj vc7-stlport/libboost_regex_vc7-stlport_md/w32_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_md/wide_posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_md/winstances.obj - link -lib /nologo /out:vc7-stlport/libboost_regex_vc7-stlport_md.lib $(XSFLAGS) vc7-stlport/libboost_regex_vc7-stlport_md/c_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_md/c_regex_traits_common.obj vc7-stlport/libboost_regex_vc7-stlport_md/cpp_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_md/cregex.obj vc7-stlport/libboost_regex_vc7-stlport_md/fileiter.obj vc7-stlport/libboost_regex_vc7-stlport_md/instances.obj vc7-stlport/libboost_regex_vc7-stlport_md/posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_md/regex.obj vc7-stlport/libboost_regex_vc7-stlport_md/regex_debug.obj vc7-stlport/libboost_regex_vc7-stlport_md/regex_synch.obj vc7-stlport/libboost_regex_vc7-stlport_md/w32_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_md/wide_posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_md/winstances.obj - -######################################################## -# -# section for libboost_regex_vc7-stlport_mdd.lib -# -######################################################## -vc7-stlport/libboost_regex_vc7-stlport_mdd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mdd/libboost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mdd.pdb ../src/c_regex_traits.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mdd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mdd/libboost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mdd.pdb ../src/c_regex_traits_common.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mdd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mdd/libboost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mdd.pdb ../src/cpp_regex_traits.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mdd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mdd/libboost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mdd.pdb ../src/cregex.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mdd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mdd/libboost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mdd.pdb ../src/fileiter.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mdd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mdd/libboost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mdd.pdb ../src/instances.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mdd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mdd/libboost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mdd.pdb ../src/posix_api.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mdd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mdd/libboost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mdd.pdb ../src/regex.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mdd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mdd/libboost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mdd.pdb ../src/regex_debug.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mdd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mdd/libboost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mdd.pdb ../src/regex_synch.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mdd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mdd/libboost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mdd.pdb ../src/w32_regex_traits.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mdd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mdd/libboost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mdd.pdb ../src/wide_posix_api.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mdd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mdd/libboost_regex_vc7-stlport_mdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mdd.pdb ../src/winstances.cpp - -libboost_regex_vc7-stlport_mdd_dir : - @if not exist "vc7-stlport\libboost_regex_vc7-stlport_mdd\$(NULL)" mkdir vc7-stlport\libboost_regex_vc7-stlport_mdd - -libboost_regex_vc7-stlport_mdd_clean : - del vc7-stlport\libboost_regex_vc7-stlport_mdd\*.obj - del vc7-stlport\libboost_regex_vc7-stlport_mdd\*.idb - del vc7-stlport\libboost_regex_vc7-stlport_mdd\*.exp - del vc7-stlport\libboost_regex_vc7-stlport_mdd\*.pch - -./vc7-stlport/libboost_regex_vc7-stlport_mdd.lib : vc7-stlport/libboost_regex_vc7-stlport_mdd/c_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/c_regex_traits_common.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/cpp_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/cregex.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/fileiter.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/instances.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/regex.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/regex_debug.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/regex_synch.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/w32_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/wide_posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/winstances.obj - link -lib /nologo /out:vc7-stlport/libboost_regex_vc7-stlport_mdd.lib $(XSFLAGS) vc7-stlport/libboost_regex_vc7-stlport_mdd/c_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/c_regex_traits_common.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/cpp_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/cregex.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/fileiter.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/instances.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/regex.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/regex_debug.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/regex_synch.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/w32_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/wide_posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_mdd/winstances.obj - -######################################################## -# -# section for boost_regex_vc7-stlport_mddd.lib -# -######################################################## -vc7-stlport/boost_regex_vc7-stlport_mddd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mddd/boost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mddd.pdb ../src/c_regex_traits.cpp - -vc7-stlport/boost_regex_vc7-stlport_mddd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mddd/boost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mddd.pdb ../src/c_regex_traits_common.cpp - -vc7-stlport/boost_regex_vc7-stlport_mddd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mddd/boost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mddd.pdb ../src/cpp_regex_traits.cpp - -vc7-stlport/boost_regex_vc7-stlport_mddd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mddd/boost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mddd.pdb ../src/cregex.cpp - -vc7-stlport/boost_regex_vc7-stlport_mddd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mddd/boost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mddd.pdb ../src/fileiter.cpp - -vc7-stlport/boost_regex_vc7-stlport_mddd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mddd/boost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mddd.pdb ../src/instances.cpp - -vc7-stlport/boost_regex_vc7-stlport_mddd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mddd/boost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mddd.pdb ../src/posix_api.cpp - -vc7-stlport/boost_regex_vc7-stlport_mddd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mddd/boost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mddd.pdb ../src/regex.cpp - -vc7-stlport/boost_regex_vc7-stlport_mddd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mddd/boost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mddd.pdb ../src/regex_debug.cpp - -vc7-stlport/boost_regex_vc7-stlport_mddd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mddd/boost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mddd.pdb ../src/regex_synch.cpp - -vc7-stlport/boost_regex_vc7-stlport_mddd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mddd/boost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mddd.pdb ../src/w32_regex_traits.cpp - -vc7-stlport/boost_regex_vc7-stlport_mddd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mddd/boost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mddd.pdb ../src/wide_posix_api.cpp - -vc7-stlport/boost_regex_vc7-stlport_mddd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mddd/boost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mddd.pdb ../src/winstances.cpp - -boost_regex_vc7-stlport_mddd_dir : - @if not exist "vc7-stlport\boost_regex_vc7-stlport_mddd\$(NULL)" mkdir vc7-stlport\boost_regex_vc7-stlport_mddd - -boost_regex_vc7-stlport_mddd_clean : - del vc7-stlport\boost_regex_vc7-stlport_mddd\*.obj - del vc7-stlport\boost_regex_vc7-stlport_mddd\*.idb - del vc7-stlport\boost_regex_vc7-stlport_mddd\*.exp - del vc7-stlport\boost_regex_vc7-stlport_mddd\*.pch - -./vc7-stlport/boost_regex_vc7-stlport_mddd.lib : vc7-stlport/boost_regex_vc7-stlport_mddd/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mddd/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mddd/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mddd/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mddd/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mddd/instances.obj vc7-stlport/boost_regex_vc7-stlport_mddd/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mddd/regex.obj vc7-stlport/boost_regex_vc7-stlport_mddd/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mddd/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mddd/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mddd/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mddd/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-stlport_mddd.pdb" /debug /machine:I386 /out:"vc7-stlport/boost_regex_vc7-stlport_mddd.dll" /implib:"vc7-stlport/boost_regex_vc7-stlport_mddd.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc7-stlport/boost_regex_vc7-stlport_mddd/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mddd/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mddd/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mddd/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mddd/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mddd/instances.obj vc7-stlport/boost_regex_vc7-stlport_mddd/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mddd/regex.obj vc7-stlport/boost_regex_vc7-stlport_mddd/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mddd/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mddd/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mddd/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mddd/winstances.obj - -######################################################## -# -# section for libboost_regex_vc7-stlport_msdd.lib -# -######################################################## -vc7-stlport/libboost_regex_vc7-stlport_msdd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msdd/libboost_regex_vc7-stlport_msdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msdd.pdb ../src/c_regex_traits.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msdd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msdd/libboost_regex_vc7-stlport_msdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msdd.pdb ../src/c_regex_traits_common.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msdd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msdd/libboost_regex_vc7-stlport_msdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msdd.pdb ../src/cpp_regex_traits.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msdd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msdd/libboost_regex_vc7-stlport_msdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msdd.pdb ../src/cregex.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msdd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msdd/libboost_regex_vc7-stlport_msdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msdd.pdb ../src/fileiter.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msdd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msdd/libboost_regex_vc7-stlport_msdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msdd.pdb ../src/instances.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msdd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msdd/libboost_regex_vc7-stlport_msdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msdd.pdb ../src/posix_api.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msdd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msdd/libboost_regex_vc7-stlport_msdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msdd.pdb ../src/regex.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msdd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msdd/libboost_regex_vc7-stlport_msdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msdd.pdb ../src/regex_debug.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msdd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msdd/libboost_regex_vc7-stlport_msdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msdd.pdb ../src/regex_synch.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msdd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msdd/libboost_regex_vc7-stlport_msdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msdd.pdb ../src/w32_regex_traits.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msdd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msdd/libboost_regex_vc7-stlport_msdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msdd.pdb ../src/wide_posix_api.cpp - -vc7-stlport/libboost_regex_vc7-stlport_msdd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_msdd/libboost_regex_vc7-stlport_msdd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_msdd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_msdd.pdb ../src/winstances.cpp - -libboost_regex_vc7-stlport_msdd_dir : - @if not exist "vc7-stlport\libboost_regex_vc7-stlport_msdd\$(NULL)" mkdir vc7-stlport\libboost_regex_vc7-stlport_msdd - -libboost_regex_vc7-stlport_msdd_clean : - del vc7-stlport\libboost_regex_vc7-stlport_msdd\*.obj - del vc7-stlport\libboost_regex_vc7-stlport_msdd\*.idb - del vc7-stlport\libboost_regex_vc7-stlport_msdd\*.exp - del vc7-stlport\libboost_regex_vc7-stlport_msdd\*.pch - -./vc7-stlport/libboost_regex_vc7-stlport_msdd.lib : vc7-stlport/libboost_regex_vc7-stlport_msdd/c_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/c_regex_traits_common.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/cpp_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/cregex.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/fileiter.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/instances.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/regex.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/regex_debug.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/regex_synch.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/w32_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/wide_posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/winstances.obj - link -lib /nologo /out:vc7-stlport/libboost_regex_vc7-stlport_msdd.lib $(XSFLAGS) vc7-stlport/libboost_regex_vc7-stlport_msdd/c_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/c_regex_traits_common.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/cpp_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/cregex.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/fileiter.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/instances.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/regex.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/regex_debug.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/regex_synch.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/w32_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/wide_posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_msdd/winstances.obj - -######################################################## -# -# section for libboost_regex_vc7-stlport_mddd.lib -# -######################################################## -vc7-stlport/libboost_regex_vc7-stlport_mddd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mddd/libboost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mddd.pdb ../src/c_regex_traits.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mddd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mddd/libboost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mddd.pdb ../src/c_regex_traits_common.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mddd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mddd/libboost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mddd.pdb ../src/cpp_regex_traits.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mddd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mddd/libboost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mddd.pdb ../src/cregex.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mddd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mddd/libboost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mddd.pdb ../src/fileiter.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mddd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mddd/libboost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mddd.pdb ../src/instances.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mddd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mddd/libboost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mddd.pdb ../src/posix_api.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mddd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mddd/libboost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mddd.pdb ../src/regex.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mddd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mddd/libboost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mddd.pdb ../src/regex_debug.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mddd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mddd/libboost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mddd.pdb ../src/regex_synch.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mddd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mddd/libboost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mddd.pdb ../src/w32_regex_traits.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mddd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mddd/libboost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mddd.pdb ../src/wide_posix_api.cpp - -vc7-stlport/libboost_regex_vc7-stlport_mddd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/libboost_regex_vc7-stlport_mddd/libboost_regex_vc7-stlport_mddd.pch -Fo./vc7-stlport/libboost_regex_vc7-stlport_mddd/ -Fdvc7-stlport/libboost_regex_vc7-stlport_mddd.pdb ../src/winstances.cpp - -libboost_regex_vc7-stlport_mddd_dir : - @if not exist "vc7-stlport\libboost_regex_vc7-stlport_mddd\$(NULL)" mkdir vc7-stlport\libboost_regex_vc7-stlport_mddd - -libboost_regex_vc7-stlport_mddd_clean : - del vc7-stlport\libboost_regex_vc7-stlport_mddd\*.obj - del vc7-stlport\libboost_regex_vc7-stlport_mddd\*.idb - del vc7-stlport\libboost_regex_vc7-stlport_mddd\*.exp - del vc7-stlport\libboost_regex_vc7-stlport_mddd\*.pch - -./vc7-stlport/libboost_regex_vc7-stlport_mddd.lib : vc7-stlport/libboost_regex_vc7-stlport_mddd/c_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/c_regex_traits_common.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/cpp_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/cregex.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/fileiter.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/instances.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/regex.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/regex_debug.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/regex_synch.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/w32_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/wide_posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/winstances.obj - link -lib /nologo /out:vc7-stlport/libboost_regex_vc7-stlport_mddd.lib $(XSFLAGS) vc7-stlport/libboost_regex_vc7-stlport_mddd/c_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/c_regex_traits_common.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/cpp_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/cregex.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/fileiter.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/instances.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/regex.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/regex_debug.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/regex_synch.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/w32_regex_traits.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/wide_posix_api.obj vc7-stlport/libboost_regex_vc7-stlport_mddd/winstances.obj - diff --git a/build/vc7.mak b/build/vc7.mak deleted file mode 100644 index 963bec69..00000000 --- a/build/vc7.mak +++ /dev/null @@ -1,512 +0,0 @@ -# -# auto generated makefile for VC6 compiler -# -# usage: -# make -# brings libraries up to date -# make install -# brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended) -# - -# -# Add additional compiler options here: -# -CXXFLAGS= -# -# Add additional include directories here: -# -INCLUDES= -# -# add additional linker flags here: -# -XLFLAGS= -# -# add additional static-library creation flags here: -# -XSFLAGS= - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(MSVCDIR)" == "" -!ERROR Variable MSVCDIR not set. -!ENDIF - - -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/cregex.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_fwd.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp ../../../boost/regex/v3/regex_traits.hpp - -all : main_dir libboost_regex_vc7_ss_dir ./vc7/libboost_regex_vc7_ss.lib libboost_regex_vc7_ms_dir ./vc7/libboost_regex_vc7_ms.lib libboost_regex_vc7_ssd_dir ./vc7/libboost_regex_vc7_ssd.lib libboost_regex_vc7_msd_dir ./vc7/libboost_regex_vc7_msd.lib boost_regex_vc7_mdd_dir ./vc7/boost_regex_vc7_mdd.lib boost_regex_vc7_md_dir ./vc7/boost_regex_vc7_md.lib libboost_regex_vc7_md_dir ./vc7/libboost_regex_vc7_md.lib libboost_regex_vc7_mdd_dir ./vc7/libboost_regex_vc7_mdd.lib - -clean : libboost_regex_vc7_ss_clean libboost_regex_vc7_ms_clean libboost_regex_vc7_ssd_clean libboost_regex_vc7_msd_clean boost_regex_vc7_mdd_clean boost_regex_vc7_md_clean libboost_regex_vc7_md_clean libboost_regex_vc7_mdd_clean - -install : all - copy vc7\libboost_regex_vc7_ss.lib "$(MSVCDIR)\lib" - copy vc7\libboost_regex_vc7_ms.lib "$(MSVCDIR)\lib" - copy vc7\libboost_regex_vc7_ssd.lib "$(MSVCDIR)\lib" - copy vc7\libboost_regex_vc7_ssd.pdb "$(MSVCDIR)\lib" - copy vc7\libboost_regex_vc7_msd.lib "$(MSVCDIR)\lib" - copy vc7\libboost_regex_vc7_msd.pdb "$(MSVCDIR)\lib" - copy vc7\boost_regex_vc7_mdd.lib "$(MSVCDIR)\lib" - copy vc7\boost_regex_vc7_mdd.dll "$(MSVCDIR)\bin" - copy vc7\boost_regex_vc7_mdd.pdb "$(MSVCDIR)\lib" - copy vc7\boost_regex_vc7_md.lib "$(MSVCDIR)\lib" - copy vc7\boost_regex_vc7_md.dll "$(MSVCDIR)\bin" - copy vc7\libboost_regex_vc7_md.lib "$(MSVCDIR)\lib" - copy vc7\libboost_regex_vc7_mdd.lib "$(MSVCDIR)\lib" - copy vc7\libboost_regex_vc7_mdd.pdb "$(MSVCDIR)\lib" - -main_dir : - @if not exist "vc7\$(NULL)" mkdir vc7 - - -######################################################## -# -# section for libboost_regex_vc7_ss.lib -# -######################################################## -vc7/libboost_regex_vc7_ss/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ss/libboost_regex_vc7_ss.pch -Fo./vc7/libboost_regex_vc7_ss/ -Fdvc7/libboost_regex_vc7_ss.pdb ../src/c_regex_traits.cpp - -vc7/libboost_regex_vc7_ss/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ss/libboost_regex_vc7_ss.pch -Fo./vc7/libboost_regex_vc7_ss/ -Fdvc7/libboost_regex_vc7_ss.pdb ../src/c_regex_traits_common.cpp - -vc7/libboost_regex_vc7_ss/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ss/libboost_regex_vc7_ss.pch -Fo./vc7/libboost_regex_vc7_ss/ -Fdvc7/libboost_regex_vc7_ss.pdb ../src/cpp_regex_traits.cpp - -vc7/libboost_regex_vc7_ss/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ss/libboost_regex_vc7_ss.pch -Fo./vc7/libboost_regex_vc7_ss/ -Fdvc7/libboost_regex_vc7_ss.pdb ../src/cregex.cpp - -vc7/libboost_regex_vc7_ss/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ss/libboost_regex_vc7_ss.pch -Fo./vc7/libboost_regex_vc7_ss/ -Fdvc7/libboost_regex_vc7_ss.pdb ../src/fileiter.cpp - -vc7/libboost_regex_vc7_ss/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ss/libboost_regex_vc7_ss.pch -Fo./vc7/libboost_regex_vc7_ss/ -Fdvc7/libboost_regex_vc7_ss.pdb ../src/instances.cpp - -vc7/libboost_regex_vc7_ss/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ss/libboost_regex_vc7_ss.pch -Fo./vc7/libboost_regex_vc7_ss/ -Fdvc7/libboost_regex_vc7_ss.pdb ../src/posix_api.cpp - -vc7/libboost_regex_vc7_ss/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ss/libboost_regex_vc7_ss.pch -Fo./vc7/libboost_regex_vc7_ss/ -Fdvc7/libboost_regex_vc7_ss.pdb ../src/regex.cpp - -vc7/libboost_regex_vc7_ss/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ss/libboost_regex_vc7_ss.pch -Fo./vc7/libboost_regex_vc7_ss/ -Fdvc7/libboost_regex_vc7_ss.pdb ../src/regex_debug.cpp - -vc7/libboost_regex_vc7_ss/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ss/libboost_regex_vc7_ss.pch -Fo./vc7/libboost_regex_vc7_ss/ -Fdvc7/libboost_regex_vc7_ss.pdb ../src/regex_synch.cpp - -vc7/libboost_regex_vc7_ss/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ss/libboost_regex_vc7_ss.pch -Fo./vc7/libboost_regex_vc7_ss/ -Fdvc7/libboost_regex_vc7_ss.pdb ../src/w32_regex_traits.cpp - -vc7/libboost_regex_vc7_ss/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ss/libboost_regex_vc7_ss.pch -Fo./vc7/libboost_regex_vc7_ss/ -Fdvc7/libboost_regex_vc7_ss.pdb ../src/wide_posix_api.cpp - -vc7/libboost_regex_vc7_ss/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ss/libboost_regex_vc7_ss.pch -Fo./vc7/libboost_regex_vc7_ss/ -Fdvc7/libboost_regex_vc7_ss.pdb ../src/winstances.cpp - -libboost_regex_vc7_ss_dir : - @if not exist "vc7\libboost_regex_vc7_ss\$(NULL)" mkdir vc7\libboost_regex_vc7_ss - -libboost_regex_vc7_ss_clean : - del vc7\libboost_regex_vc7_ss\*.obj - del vc7\libboost_regex_vc7_ss\*.idb - del vc7\libboost_regex_vc7_ss\*.exp - del vc7\libboost_regex_vc7_ss\*.pch - -./vc7/libboost_regex_vc7_ss.lib : vc7/libboost_regex_vc7_ss/c_regex_traits.obj vc7/libboost_regex_vc7_ss/c_regex_traits_common.obj vc7/libboost_regex_vc7_ss/cpp_regex_traits.obj vc7/libboost_regex_vc7_ss/cregex.obj vc7/libboost_regex_vc7_ss/fileiter.obj vc7/libboost_regex_vc7_ss/instances.obj vc7/libboost_regex_vc7_ss/posix_api.obj vc7/libboost_regex_vc7_ss/regex.obj vc7/libboost_regex_vc7_ss/regex_debug.obj vc7/libboost_regex_vc7_ss/regex_synch.obj vc7/libboost_regex_vc7_ss/w32_regex_traits.obj vc7/libboost_regex_vc7_ss/wide_posix_api.obj vc7/libboost_regex_vc7_ss/winstances.obj - link -lib /nologo /out:vc7/libboost_regex_vc7_ss.lib $(XSFLAGS) vc7/libboost_regex_vc7_ss/c_regex_traits.obj vc7/libboost_regex_vc7_ss/c_regex_traits_common.obj vc7/libboost_regex_vc7_ss/cpp_regex_traits.obj vc7/libboost_regex_vc7_ss/cregex.obj vc7/libboost_regex_vc7_ss/fileiter.obj vc7/libboost_regex_vc7_ss/instances.obj vc7/libboost_regex_vc7_ss/posix_api.obj vc7/libboost_regex_vc7_ss/regex.obj vc7/libboost_regex_vc7_ss/regex_debug.obj vc7/libboost_regex_vc7_ss/regex_synch.obj vc7/libboost_regex_vc7_ss/w32_regex_traits.obj vc7/libboost_regex_vc7_ss/wide_posix_api.obj vc7/libboost_regex_vc7_ss/winstances.obj - -######################################################## -# -# section for libboost_regex_vc7_ms.lib -# -######################################################## -vc7/libboost_regex_vc7_ms/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ms/libboost_regex_vc7_ms.pch -Fo./vc7/libboost_regex_vc7_ms/ -Fdvc7/libboost_regex_vc7_ms.pdb ../src/c_regex_traits.cpp - -vc7/libboost_regex_vc7_ms/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ms/libboost_regex_vc7_ms.pch -Fo./vc7/libboost_regex_vc7_ms/ -Fdvc7/libboost_regex_vc7_ms.pdb ../src/c_regex_traits_common.cpp - -vc7/libboost_regex_vc7_ms/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ms/libboost_regex_vc7_ms.pch -Fo./vc7/libboost_regex_vc7_ms/ -Fdvc7/libboost_regex_vc7_ms.pdb ../src/cpp_regex_traits.cpp - -vc7/libboost_regex_vc7_ms/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ms/libboost_regex_vc7_ms.pch -Fo./vc7/libboost_regex_vc7_ms/ -Fdvc7/libboost_regex_vc7_ms.pdb ../src/cregex.cpp - -vc7/libboost_regex_vc7_ms/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ms/libboost_regex_vc7_ms.pch -Fo./vc7/libboost_regex_vc7_ms/ -Fdvc7/libboost_regex_vc7_ms.pdb ../src/fileiter.cpp - -vc7/libboost_regex_vc7_ms/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ms/libboost_regex_vc7_ms.pch -Fo./vc7/libboost_regex_vc7_ms/ -Fdvc7/libboost_regex_vc7_ms.pdb ../src/instances.cpp - -vc7/libboost_regex_vc7_ms/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ms/libboost_regex_vc7_ms.pch -Fo./vc7/libboost_regex_vc7_ms/ -Fdvc7/libboost_regex_vc7_ms.pdb ../src/posix_api.cpp - -vc7/libboost_regex_vc7_ms/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ms/libboost_regex_vc7_ms.pch -Fo./vc7/libboost_regex_vc7_ms/ -Fdvc7/libboost_regex_vc7_ms.pdb ../src/regex.cpp - -vc7/libboost_regex_vc7_ms/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ms/libboost_regex_vc7_ms.pch -Fo./vc7/libboost_regex_vc7_ms/ -Fdvc7/libboost_regex_vc7_ms.pdb ../src/regex_debug.cpp - -vc7/libboost_regex_vc7_ms/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ms/libboost_regex_vc7_ms.pch -Fo./vc7/libboost_regex_vc7_ms/ -Fdvc7/libboost_regex_vc7_ms.pdb ../src/regex_synch.cpp - -vc7/libboost_regex_vc7_ms/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ms/libboost_regex_vc7_ms.pch -Fo./vc7/libboost_regex_vc7_ms/ -Fdvc7/libboost_regex_vc7_ms.pdb ../src/w32_regex_traits.cpp - -vc7/libboost_regex_vc7_ms/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ms/libboost_regex_vc7_ms.pch -Fo./vc7/libboost_regex_vc7_ms/ -Fdvc7/libboost_regex_vc7_ms.pdb ../src/wide_posix_api.cpp - -vc7/libboost_regex_vc7_ms/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ms/libboost_regex_vc7_ms.pch -Fo./vc7/libboost_regex_vc7_ms/ -Fdvc7/libboost_regex_vc7_ms.pdb ../src/winstances.cpp - -libboost_regex_vc7_ms_dir : - @if not exist "vc7\libboost_regex_vc7_ms\$(NULL)" mkdir vc7\libboost_regex_vc7_ms - -libboost_regex_vc7_ms_clean : - del vc7\libboost_regex_vc7_ms\*.obj - del vc7\libboost_regex_vc7_ms\*.idb - del vc7\libboost_regex_vc7_ms\*.exp - del vc7\libboost_regex_vc7_ms\*.pch - -./vc7/libboost_regex_vc7_ms.lib : vc7/libboost_regex_vc7_ms/c_regex_traits.obj vc7/libboost_regex_vc7_ms/c_regex_traits_common.obj vc7/libboost_regex_vc7_ms/cpp_regex_traits.obj vc7/libboost_regex_vc7_ms/cregex.obj vc7/libboost_regex_vc7_ms/fileiter.obj vc7/libboost_regex_vc7_ms/instances.obj vc7/libboost_regex_vc7_ms/posix_api.obj vc7/libboost_regex_vc7_ms/regex.obj vc7/libboost_regex_vc7_ms/regex_debug.obj vc7/libboost_regex_vc7_ms/regex_synch.obj vc7/libboost_regex_vc7_ms/w32_regex_traits.obj vc7/libboost_regex_vc7_ms/wide_posix_api.obj vc7/libboost_regex_vc7_ms/winstances.obj - link -lib /nologo /out:vc7/libboost_regex_vc7_ms.lib $(XSFLAGS) vc7/libboost_regex_vc7_ms/c_regex_traits.obj vc7/libboost_regex_vc7_ms/c_regex_traits_common.obj vc7/libboost_regex_vc7_ms/cpp_regex_traits.obj vc7/libboost_regex_vc7_ms/cregex.obj vc7/libboost_regex_vc7_ms/fileiter.obj vc7/libboost_regex_vc7_ms/instances.obj vc7/libboost_regex_vc7_ms/posix_api.obj vc7/libboost_regex_vc7_ms/regex.obj vc7/libboost_regex_vc7_ms/regex_debug.obj vc7/libboost_regex_vc7_ms/regex_synch.obj vc7/libboost_regex_vc7_ms/w32_regex_traits.obj vc7/libboost_regex_vc7_ms/wide_posix_api.obj vc7/libboost_regex_vc7_ms/winstances.obj - -######################################################## -# -# section for libboost_regex_vc7_ssd.lib -# -######################################################## -vc7/libboost_regex_vc7_ssd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ssd/libboost_regex_vc7_ssd.pch -Fo./vc7/libboost_regex_vc7_ssd/ -Fdvc7/libboost_regex_vc7_ssd.pdb ../src/c_regex_traits.cpp - -vc7/libboost_regex_vc7_ssd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ssd/libboost_regex_vc7_ssd.pch -Fo./vc7/libboost_regex_vc7_ssd/ -Fdvc7/libboost_regex_vc7_ssd.pdb ../src/c_regex_traits_common.cpp - -vc7/libboost_regex_vc7_ssd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ssd/libboost_regex_vc7_ssd.pch -Fo./vc7/libboost_regex_vc7_ssd/ -Fdvc7/libboost_regex_vc7_ssd.pdb ../src/cpp_regex_traits.cpp - -vc7/libboost_regex_vc7_ssd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ssd/libboost_regex_vc7_ssd.pch -Fo./vc7/libboost_regex_vc7_ssd/ -Fdvc7/libboost_regex_vc7_ssd.pdb ../src/cregex.cpp - -vc7/libboost_regex_vc7_ssd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ssd/libboost_regex_vc7_ssd.pch -Fo./vc7/libboost_regex_vc7_ssd/ -Fdvc7/libboost_regex_vc7_ssd.pdb ../src/fileiter.cpp - -vc7/libboost_regex_vc7_ssd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ssd/libboost_regex_vc7_ssd.pch -Fo./vc7/libboost_regex_vc7_ssd/ -Fdvc7/libboost_regex_vc7_ssd.pdb ../src/instances.cpp - -vc7/libboost_regex_vc7_ssd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ssd/libboost_regex_vc7_ssd.pch -Fo./vc7/libboost_regex_vc7_ssd/ -Fdvc7/libboost_regex_vc7_ssd.pdb ../src/posix_api.cpp - -vc7/libboost_regex_vc7_ssd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ssd/libboost_regex_vc7_ssd.pch -Fo./vc7/libboost_regex_vc7_ssd/ -Fdvc7/libboost_regex_vc7_ssd.pdb ../src/regex.cpp - -vc7/libboost_regex_vc7_ssd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ssd/libboost_regex_vc7_ssd.pch -Fo./vc7/libboost_regex_vc7_ssd/ -Fdvc7/libboost_regex_vc7_ssd.pdb ../src/regex_debug.cpp - -vc7/libboost_regex_vc7_ssd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ssd/libboost_regex_vc7_ssd.pch -Fo./vc7/libboost_regex_vc7_ssd/ -Fdvc7/libboost_regex_vc7_ssd.pdb ../src/regex_synch.cpp - -vc7/libboost_regex_vc7_ssd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ssd/libboost_regex_vc7_ssd.pch -Fo./vc7/libboost_regex_vc7_ssd/ -Fdvc7/libboost_regex_vc7_ssd.pdb ../src/w32_regex_traits.cpp - -vc7/libboost_regex_vc7_ssd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ssd/libboost_regex_vc7_ssd.pch -Fo./vc7/libboost_regex_vc7_ssd/ -Fdvc7/libboost_regex_vc7_ssd.pdb ../src/wide_posix_api.cpp - -vc7/libboost_regex_vc7_ssd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_ssd/libboost_regex_vc7_ssd.pch -Fo./vc7/libboost_regex_vc7_ssd/ -Fdvc7/libboost_regex_vc7_ssd.pdb ../src/winstances.cpp - -libboost_regex_vc7_ssd_dir : - @if not exist "vc7\libboost_regex_vc7_ssd\$(NULL)" mkdir vc7\libboost_regex_vc7_ssd - -libboost_regex_vc7_ssd_clean : - del vc7\libboost_regex_vc7_ssd\*.obj - del vc7\libboost_regex_vc7_ssd\*.idb - del vc7\libboost_regex_vc7_ssd\*.exp - del vc7\libboost_regex_vc7_ssd\*.pch - -./vc7/libboost_regex_vc7_ssd.lib : vc7/libboost_regex_vc7_ssd/c_regex_traits.obj vc7/libboost_regex_vc7_ssd/c_regex_traits_common.obj vc7/libboost_regex_vc7_ssd/cpp_regex_traits.obj vc7/libboost_regex_vc7_ssd/cregex.obj vc7/libboost_regex_vc7_ssd/fileiter.obj vc7/libboost_regex_vc7_ssd/instances.obj vc7/libboost_regex_vc7_ssd/posix_api.obj vc7/libboost_regex_vc7_ssd/regex.obj vc7/libboost_regex_vc7_ssd/regex_debug.obj vc7/libboost_regex_vc7_ssd/regex_synch.obj vc7/libboost_regex_vc7_ssd/w32_regex_traits.obj vc7/libboost_regex_vc7_ssd/wide_posix_api.obj vc7/libboost_regex_vc7_ssd/winstances.obj - link -lib /nologo /out:vc7/libboost_regex_vc7_ssd.lib $(XSFLAGS) vc7/libboost_regex_vc7_ssd/c_regex_traits.obj vc7/libboost_regex_vc7_ssd/c_regex_traits_common.obj vc7/libboost_regex_vc7_ssd/cpp_regex_traits.obj vc7/libboost_regex_vc7_ssd/cregex.obj vc7/libboost_regex_vc7_ssd/fileiter.obj vc7/libboost_regex_vc7_ssd/instances.obj vc7/libboost_regex_vc7_ssd/posix_api.obj vc7/libboost_regex_vc7_ssd/regex.obj vc7/libboost_regex_vc7_ssd/regex_debug.obj vc7/libboost_regex_vc7_ssd/regex_synch.obj vc7/libboost_regex_vc7_ssd/w32_regex_traits.obj vc7/libboost_regex_vc7_ssd/wide_posix_api.obj vc7/libboost_regex_vc7_ssd/winstances.obj - -######################################################## -# -# section for libboost_regex_vc7_msd.lib -# -######################################################## -vc7/libboost_regex_vc7_msd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_msd/libboost_regex_vc7_msd.pch -Fo./vc7/libboost_regex_vc7_msd/ -Fdvc7/libboost_regex_vc7_msd.pdb ../src/c_regex_traits.cpp - -vc7/libboost_regex_vc7_msd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_msd/libboost_regex_vc7_msd.pch -Fo./vc7/libboost_regex_vc7_msd/ -Fdvc7/libboost_regex_vc7_msd.pdb ../src/c_regex_traits_common.cpp - -vc7/libboost_regex_vc7_msd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_msd/libboost_regex_vc7_msd.pch -Fo./vc7/libboost_regex_vc7_msd/ -Fdvc7/libboost_regex_vc7_msd.pdb ../src/cpp_regex_traits.cpp - -vc7/libboost_regex_vc7_msd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_msd/libboost_regex_vc7_msd.pch -Fo./vc7/libboost_regex_vc7_msd/ -Fdvc7/libboost_regex_vc7_msd.pdb ../src/cregex.cpp - -vc7/libboost_regex_vc7_msd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_msd/libboost_regex_vc7_msd.pch -Fo./vc7/libboost_regex_vc7_msd/ -Fdvc7/libboost_regex_vc7_msd.pdb ../src/fileiter.cpp - -vc7/libboost_regex_vc7_msd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_msd/libboost_regex_vc7_msd.pch -Fo./vc7/libboost_regex_vc7_msd/ -Fdvc7/libboost_regex_vc7_msd.pdb ../src/instances.cpp - -vc7/libboost_regex_vc7_msd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_msd/libboost_regex_vc7_msd.pch -Fo./vc7/libboost_regex_vc7_msd/ -Fdvc7/libboost_regex_vc7_msd.pdb ../src/posix_api.cpp - -vc7/libboost_regex_vc7_msd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_msd/libboost_regex_vc7_msd.pch -Fo./vc7/libboost_regex_vc7_msd/ -Fdvc7/libboost_regex_vc7_msd.pdb ../src/regex.cpp - -vc7/libboost_regex_vc7_msd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_msd/libboost_regex_vc7_msd.pch -Fo./vc7/libboost_regex_vc7_msd/ -Fdvc7/libboost_regex_vc7_msd.pdb ../src/regex_debug.cpp - -vc7/libboost_regex_vc7_msd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_msd/libboost_regex_vc7_msd.pch -Fo./vc7/libboost_regex_vc7_msd/ -Fdvc7/libboost_regex_vc7_msd.pdb ../src/regex_synch.cpp - -vc7/libboost_regex_vc7_msd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_msd/libboost_regex_vc7_msd.pch -Fo./vc7/libboost_regex_vc7_msd/ -Fdvc7/libboost_regex_vc7_msd.pdb ../src/w32_regex_traits.cpp - -vc7/libboost_regex_vc7_msd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_msd/libboost_regex_vc7_msd.pch -Fo./vc7/libboost_regex_vc7_msd/ -Fdvc7/libboost_regex_vc7_msd.pdb ../src/wide_posix_api.cpp - -vc7/libboost_regex_vc7_msd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_msd/libboost_regex_vc7_msd.pch -Fo./vc7/libboost_regex_vc7_msd/ -Fdvc7/libboost_regex_vc7_msd.pdb ../src/winstances.cpp - -libboost_regex_vc7_msd_dir : - @if not exist "vc7\libboost_regex_vc7_msd\$(NULL)" mkdir vc7\libboost_regex_vc7_msd - -libboost_regex_vc7_msd_clean : - del vc7\libboost_regex_vc7_msd\*.obj - del vc7\libboost_regex_vc7_msd\*.idb - del vc7\libboost_regex_vc7_msd\*.exp - del vc7\libboost_regex_vc7_msd\*.pch - -./vc7/libboost_regex_vc7_msd.lib : vc7/libboost_regex_vc7_msd/c_regex_traits.obj vc7/libboost_regex_vc7_msd/c_regex_traits_common.obj vc7/libboost_regex_vc7_msd/cpp_regex_traits.obj vc7/libboost_regex_vc7_msd/cregex.obj vc7/libboost_regex_vc7_msd/fileiter.obj vc7/libboost_regex_vc7_msd/instances.obj vc7/libboost_regex_vc7_msd/posix_api.obj vc7/libboost_regex_vc7_msd/regex.obj vc7/libboost_regex_vc7_msd/regex_debug.obj vc7/libboost_regex_vc7_msd/regex_synch.obj vc7/libboost_regex_vc7_msd/w32_regex_traits.obj vc7/libboost_regex_vc7_msd/wide_posix_api.obj vc7/libboost_regex_vc7_msd/winstances.obj - link -lib /nologo /out:vc7/libboost_regex_vc7_msd.lib $(XSFLAGS) vc7/libboost_regex_vc7_msd/c_regex_traits.obj vc7/libboost_regex_vc7_msd/c_regex_traits_common.obj vc7/libboost_regex_vc7_msd/cpp_regex_traits.obj vc7/libboost_regex_vc7_msd/cregex.obj vc7/libboost_regex_vc7_msd/fileiter.obj vc7/libboost_regex_vc7_msd/instances.obj vc7/libboost_regex_vc7_msd/posix_api.obj vc7/libboost_regex_vc7_msd/regex.obj vc7/libboost_regex_vc7_msd/regex_debug.obj vc7/libboost_regex_vc7_msd/regex_synch.obj vc7/libboost_regex_vc7_msd/w32_regex_traits.obj vc7/libboost_regex_vc7_msd/wide_posix_api.obj vc7/libboost_regex_vc7_msd/winstances.obj - -######################################################## -# -# section for boost_regex_vc7_mdd.lib -# -######################################################## -vc7/boost_regex_vc7_mdd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_mdd/boost_regex_vc7_mdd.pch -Fo./vc7/boost_regex_vc7_mdd/ -Fdvc7/boost_regex_vc7_mdd.pdb ../src/c_regex_traits.cpp - -vc7/boost_regex_vc7_mdd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_mdd/boost_regex_vc7_mdd.pch -Fo./vc7/boost_regex_vc7_mdd/ -Fdvc7/boost_regex_vc7_mdd.pdb ../src/c_regex_traits_common.cpp - -vc7/boost_regex_vc7_mdd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_mdd/boost_regex_vc7_mdd.pch -Fo./vc7/boost_regex_vc7_mdd/ -Fdvc7/boost_regex_vc7_mdd.pdb ../src/cpp_regex_traits.cpp - -vc7/boost_regex_vc7_mdd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_mdd/boost_regex_vc7_mdd.pch -Fo./vc7/boost_regex_vc7_mdd/ -Fdvc7/boost_regex_vc7_mdd.pdb ../src/cregex.cpp - -vc7/boost_regex_vc7_mdd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_mdd/boost_regex_vc7_mdd.pch -Fo./vc7/boost_regex_vc7_mdd/ -Fdvc7/boost_regex_vc7_mdd.pdb ../src/fileiter.cpp - -vc7/boost_regex_vc7_mdd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_mdd/boost_regex_vc7_mdd.pch -Fo./vc7/boost_regex_vc7_mdd/ -Fdvc7/boost_regex_vc7_mdd.pdb ../src/instances.cpp - -vc7/boost_regex_vc7_mdd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_mdd/boost_regex_vc7_mdd.pch -Fo./vc7/boost_regex_vc7_mdd/ -Fdvc7/boost_regex_vc7_mdd.pdb ../src/posix_api.cpp - -vc7/boost_regex_vc7_mdd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_mdd/boost_regex_vc7_mdd.pch -Fo./vc7/boost_regex_vc7_mdd/ -Fdvc7/boost_regex_vc7_mdd.pdb ../src/regex.cpp - -vc7/boost_regex_vc7_mdd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_mdd/boost_regex_vc7_mdd.pch -Fo./vc7/boost_regex_vc7_mdd/ -Fdvc7/boost_regex_vc7_mdd.pdb ../src/regex_debug.cpp - -vc7/boost_regex_vc7_mdd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_mdd/boost_regex_vc7_mdd.pch -Fo./vc7/boost_regex_vc7_mdd/ -Fdvc7/boost_regex_vc7_mdd.pdb ../src/regex_synch.cpp - -vc7/boost_regex_vc7_mdd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_mdd/boost_regex_vc7_mdd.pch -Fo./vc7/boost_regex_vc7_mdd/ -Fdvc7/boost_regex_vc7_mdd.pdb ../src/w32_regex_traits.cpp - -vc7/boost_regex_vc7_mdd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_mdd/boost_regex_vc7_mdd.pch -Fo./vc7/boost_regex_vc7_mdd/ -Fdvc7/boost_regex_vc7_mdd.pdb ../src/wide_posix_api.cpp - -vc7/boost_regex_vc7_mdd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_mdd/boost_regex_vc7_mdd.pch -Fo./vc7/boost_regex_vc7_mdd/ -Fdvc7/boost_regex_vc7_mdd.pdb ../src/winstances.cpp - -boost_regex_vc7_mdd_dir : - @if not exist "vc7\boost_regex_vc7_mdd\$(NULL)" mkdir vc7\boost_regex_vc7_mdd - -boost_regex_vc7_mdd_clean : - del vc7\boost_regex_vc7_mdd\*.obj - del vc7\boost_regex_vc7_mdd\*.idb - del vc7\boost_regex_vc7_mdd\*.exp - del vc7\boost_regex_vc7_mdd\*.pch - -./vc7/boost_regex_vc7_mdd.lib : vc7/boost_regex_vc7_mdd/c_regex_traits.obj vc7/boost_regex_vc7_mdd/c_regex_traits_common.obj vc7/boost_regex_vc7_mdd/cpp_regex_traits.obj vc7/boost_regex_vc7_mdd/cregex.obj vc7/boost_regex_vc7_mdd/fileiter.obj vc7/boost_regex_vc7_mdd/instances.obj vc7/boost_regex_vc7_mdd/posix_api.obj vc7/boost_regex_vc7_mdd/regex.obj vc7/boost_regex_vc7_mdd/regex_debug.obj vc7/boost_regex_vc7_mdd/regex_synch.obj vc7/boost_regex_vc7_mdd/w32_regex_traits.obj vc7/boost_regex_vc7_mdd/wide_posix_api.obj vc7/boost_regex_vc7_mdd/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_mdd.pdb" /debug /machine:I386 /out:"vc7/boost_regex_vc7_mdd.dll" /implib:"vc7/boost_regex_vc7_mdd.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc7/boost_regex_vc7_mdd/c_regex_traits.obj vc7/boost_regex_vc7_mdd/c_regex_traits_common.obj vc7/boost_regex_vc7_mdd/cpp_regex_traits.obj vc7/boost_regex_vc7_mdd/cregex.obj vc7/boost_regex_vc7_mdd/fileiter.obj vc7/boost_regex_vc7_mdd/instances.obj vc7/boost_regex_vc7_mdd/posix_api.obj vc7/boost_regex_vc7_mdd/regex.obj vc7/boost_regex_vc7_mdd/regex_debug.obj vc7/boost_regex_vc7_mdd/regex_synch.obj vc7/boost_regex_vc7_mdd/w32_regex_traits.obj vc7/boost_regex_vc7_mdd/wide_posix_api.obj vc7/boost_regex_vc7_mdd/winstances.obj - -######################################################## -# -# section for boost_regex_vc7_md.lib -# -######################################################## -vc7/boost_regex_vc7_md/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_md/boost_regex_vc7_md.pch -Fo./vc7/boost_regex_vc7_md/ -Fdvc7/boost_regex_vc7_md.pdb ../src/c_regex_traits.cpp - -vc7/boost_regex_vc7_md/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_md/boost_regex_vc7_md.pch -Fo./vc7/boost_regex_vc7_md/ -Fdvc7/boost_regex_vc7_md.pdb ../src/c_regex_traits_common.cpp - -vc7/boost_regex_vc7_md/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_md/boost_regex_vc7_md.pch -Fo./vc7/boost_regex_vc7_md/ -Fdvc7/boost_regex_vc7_md.pdb ../src/cpp_regex_traits.cpp - -vc7/boost_regex_vc7_md/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_md/boost_regex_vc7_md.pch -Fo./vc7/boost_regex_vc7_md/ -Fdvc7/boost_regex_vc7_md.pdb ../src/cregex.cpp - -vc7/boost_regex_vc7_md/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_md/boost_regex_vc7_md.pch -Fo./vc7/boost_regex_vc7_md/ -Fdvc7/boost_regex_vc7_md.pdb ../src/fileiter.cpp - -vc7/boost_regex_vc7_md/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_md/boost_regex_vc7_md.pch -Fo./vc7/boost_regex_vc7_md/ -Fdvc7/boost_regex_vc7_md.pdb ../src/instances.cpp - -vc7/boost_regex_vc7_md/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_md/boost_regex_vc7_md.pch -Fo./vc7/boost_regex_vc7_md/ -Fdvc7/boost_regex_vc7_md.pdb ../src/posix_api.cpp - -vc7/boost_regex_vc7_md/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_md/boost_regex_vc7_md.pch -Fo./vc7/boost_regex_vc7_md/ -Fdvc7/boost_regex_vc7_md.pdb ../src/regex.cpp - -vc7/boost_regex_vc7_md/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_md/boost_regex_vc7_md.pch -Fo./vc7/boost_regex_vc7_md/ -Fdvc7/boost_regex_vc7_md.pdb ../src/regex_debug.cpp - -vc7/boost_regex_vc7_md/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_md/boost_regex_vc7_md.pch -Fo./vc7/boost_regex_vc7_md/ -Fdvc7/boost_regex_vc7_md.pdb ../src/regex_synch.cpp - -vc7/boost_regex_vc7_md/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_md/boost_regex_vc7_md.pch -Fo./vc7/boost_regex_vc7_md/ -Fdvc7/boost_regex_vc7_md.pdb ../src/w32_regex_traits.cpp - -vc7/boost_regex_vc7_md/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_md/boost_regex_vc7_md.pch -Fo./vc7/boost_regex_vc7_md/ -Fdvc7/boost_regex_vc7_md.pdb ../src/wide_posix_api.cpp - -vc7/boost_regex_vc7_md/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/boost_regex_vc7_md/boost_regex_vc7_md.pch -Fo./vc7/boost_regex_vc7_md/ -Fdvc7/boost_regex_vc7_md.pdb ../src/winstances.cpp - -boost_regex_vc7_md_dir : - @if not exist "vc7\boost_regex_vc7_md\$(NULL)" mkdir vc7\boost_regex_vc7_md - -boost_regex_vc7_md_clean : - del vc7\boost_regex_vc7_md\*.obj - del vc7\boost_regex_vc7_md\*.idb - del vc7\boost_regex_vc7_md\*.exp - del vc7\boost_regex_vc7_md\*.pch - -./vc7/boost_regex_vc7_md.lib : vc7/boost_regex_vc7_md/c_regex_traits.obj vc7/boost_regex_vc7_md/c_regex_traits_common.obj vc7/boost_regex_vc7_md/cpp_regex_traits.obj vc7/boost_regex_vc7_md/cregex.obj vc7/boost_regex_vc7_md/fileiter.obj vc7/boost_regex_vc7_md/instances.obj vc7/boost_regex_vc7_md/posix_api.obj vc7/boost_regex_vc7_md/regex.obj vc7/boost_regex_vc7_md/regex_debug.obj vc7/boost_regex_vc7_md/regex_synch.obj vc7/boost_regex_vc7_md/w32_regex_traits.obj vc7/boost_regex_vc7_md/wide_posix_api.obj vc7/boost_regex_vc7_md/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_md.pdb" /debug /machine:I386 /out:"vc7/boost_regex_vc7_md.dll" /implib:"vc7/boost_regex_vc7_md.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc7/boost_regex_vc7_md/c_regex_traits.obj vc7/boost_regex_vc7_md/c_regex_traits_common.obj vc7/boost_regex_vc7_md/cpp_regex_traits.obj vc7/boost_regex_vc7_md/cregex.obj vc7/boost_regex_vc7_md/fileiter.obj vc7/boost_regex_vc7_md/instances.obj vc7/boost_regex_vc7_md/posix_api.obj vc7/boost_regex_vc7_md/regex.obj vc7/boost_regex_vc7_md/regex_debug.obj vc7/boost_regex_vc7_md/regex_synch.obj vc7/boost_regex_vc7_md/w32_regex_traits.obj vc7/boost_regex_vc7_md/wide_posix_api.obj vc7/boost_regex_vc7_md/winstances.obj - -######################################################## -# -# section for libboost_regex_vc7_md.lib -# -######################################################## -vc7/libboost_regex_vc7_md/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_md/libboost_regex_vc7_md.pch -Fo./vc7/libboost_regex_vc7_md/ -Fdvc7/libboost_regex_vc7_md.pdb ../src/c_regex_traits.cpp - -vc7/libboost_regex_vc7_md/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_md/libboost_regex_vc7_md.pch -Fo./vc7/libboost_regex_vc7_md/ -Fdvc7/libboost_regex_vc7_md.pdb ../src/c_regex_traits_common.cpp - -vc7/libboost_regex_vc7_md/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_md/libboost_regex_vc7_md.pch -Fo./vc7/libboost_regex_vc7_md/ -Fdvc7/libboost_regex_vc7_md.pdb ../src/cpp_regex_traits.cpp - -vc7/libboost_regex_vc7_md/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_md/libboost_regex_vc7_md.pch -Fo./vc7/libboost_regex_vc7_md/ -Fdvc7/libboost_regex_vc7_md.pdb ../src/cregex.cpp - -vc7/libboost_regex_vc7_md/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_md/libboost_regex_vc7_md.pch -Fo./vc7/libboost_regex_vc7_md/ -Fdvc7/libboost_regex_vc7_md.pdb ../src/fileiter.cpp - -vc7/libboost_regex_vc7_md/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_md/libboost_regex_vc7_md.pch -Fo./vc7/libboost_regex_vc7_md/ -Fdvc7/libboost_regex_vc7_md.pdb ../src/instances.cpp - -vc7/libboost_regex_vc7_md/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_md/libboost_regex_vc7_md.pch -Fo./vc7/libboost_regex_vc7_md/ -Fdvc7/libboost_regex_vc7_md.pdb ../src/posix_api.cpp - -vc7/libboost_regex_vc7_md/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_md/libboost_regex_vc7_md.pch -Fo./vc7/libboost_regex_vc7_md/ -Fdvc7/libboost_regex_vc7_md.pdb ../src/regex.cpp - -vc7/libboost_regex_vc7_md/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_md/libboost_regex_vc7_md.pch -Fo./vc7/libboost_regex_vc7_md/ -Fdvc7/libboost_regex_vc7_md.pdb ../src/regex_debug.cpp - -vc7/libboost_regex_vc7_md/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_md/libboost_regex_vc7_md.pch -Fo./vc7/libboost_regex_vc7_md/ -Fdvc7/libboost_regex_vc7_md.pdb ../src/regex_synch.cpp - -vc7/libboost_regex_vc7_md/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_md/libboost_regex_vc7_md.pch -Fo./vc7/libboost_regex_vc7_md/ -Fdvc7/libboost_regex_vc7_md.pdb ../src/w32_regex_traits.cpp - -vc7/libboost_regex_vc7_md/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_md/libboost_regex_vc7_md.pch -Fo./vc7/libboost_regex_vc7_md/ -Fdvc7/libboost_regex_vc7_md.pdb ../src/wide_posix_api.cpp - -vc7/libboost_regex_vc7_md/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_md/libboost_regex_vc7_md.pch -Fo./vc7/libboost_regex_vc7_md/ -Fdvc7/libboost_regex_vc7_md.pdb ../src/winstances.cpp - -libboost_regex_vc7_md_dir : - @if not exist "vc7\libboost_regex_vc7_md\$(NULL)" mkdir vc7\libboost_regex_vc7_md - -libboost_regex_vc7_md_clean : - del vc7\libboost_regex_vc7_md\*.obj - del vc7\libboost_regex_vc7_md\*.idb - del vc7\libboost_regex_vc7_md\*.exp - del vc7\libboost_regex_vc7_md\*.pch - -./vc7/libboost_regex_vc7_md.lib : vc7/libboost_regex_vc7_md/c_regex_traits.obj vc7/libboost_regex_vc7_md/c_regex_traits_common.obj vc7/libboost_regex_vc7_md/cpp_regex_traits.obj vc7/libboost_regex_vc7_md/cregex.obj vc7/libboost_regex_vc7_md/fileiter.obj vc7/libboost_regex_vc7_md/instances.obj vc7/libboost_regex_vc7_md/posix_api.obj vc7/libboost_regex_vc7_md/regex.obj vc7/libboost_regex_vc7_md/regex_debug.obj vc7/libboost_regex_vc7_md/regex_synch.obj vc7/libboost_regex_vc7_md/w32_regex_traits.obj vc7/libboost_regex_vc7_md/wide_posix_api.obj vc7/libboost_regex_vc7_md/winstances.obj - link -lib /nologo /out:vc7/libboost_regex_vc7_md.lib $(XSFLAGS) vc7/libboost_regex_vc7_md/c_regex_traits.obj vc7/libboost_regex_vc7_md/c_regex_traits_common.obj vc7/libboost_regex_vc7_md/cpp_regex_traits.obj vc7/libboost_regex_vc7_md/cregex.obj vc7/libboost_regex_vc7_md/fileiter.obj vc7/libboost_regex_vc7_md/instances.obj vc7/libboost_regex_vc7_md/posix_api.obj vc7/libboost_regex_vc7_md/regex.obj vc7/libboost_regex_vc7_md/regex_debug.obj vc7/libboost_regex_vc7_md/regex_synch.obj vc7/libboost_regex_vc7_md/w32_regex_traits.obj vc7/libboost_regex_vc7_md/wide_posix_api.obj vc7/libboost_regex_vc7_md/winstances.obj - -######################################################## -# -# section for libboost_regex_vc7_mdd.lib -# -######################################################## -vc7/libboost_regex_vc7_mdd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_mdd/libboost_regex_vc7_mdd.pch -Fo./vc7/libboost_regex_vc7_mdd/ -Fdvc7/libboost_regex_vc7_mdd.pdb ../src/c_regex_traits.cpp - -vc7/libboost_regex_vc7_mdd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_mdd/libboost_regex_vc7_mdd.pch -Fo./vc7/libboost_regex_vc7_mdd/ -Fdvc7/libboost_regex_vc7_mdd.pdb ../src/c_regex_traits_common.cpp - -vc7/libboost_regex_vc7_mdd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_mdd/libboost_regex_vc7_mdd.pch -Fo./vc7/libboost_regex_vc7_mdd/ -Fdvc7/libboost_regex_vc7_mdd.pdb ../src/cpp_regex_traits.cpp - -vc7/libboost_regex_vc7_mdd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_mdd/libboost_regex_vc7_mdd.pch -Fo./vc7/libboost_regex_vc7_mdd/ -Fdvc7/libboost_regex_vc7_mdd.pdb ../src/cregex.cpp - -vc7/libboost_regex_vc7_mdd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_mdd/libboost_regex_vc7_mdd.pch -Fo./vc7/libboost_regex_vc7_mdd/ -Fdvc7/libboost_regex_vc7_mdd.pdb ../src/fileiter.cpp - -vc7/libboost_regex_vc7_mdd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_mdd/libboost_regex_vc7_mdd.pch -Fo./vc7/libboost_regex_vc7_mdd/ -Fdvc7/libboost_regex_vc7_mdd.pdb ../src/instances.cpp - -vc7/libboost_regex_vc7_mdd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_mdd/libboost_regex_vc7_mdd.pch -Fo./vc7/libboost_regex_vc7_mdd/ -Fdvc7/libboost_regex_vc7_mdd.pdb ../src/posix_api.cpp - -vc7/libboost_regex_vc7_mdd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_mdd/libboost_regex_vc7_mdd.pch -Fo./vc7/libboost_regex_vc7_mdd/ -Fdvc7/libboost_regex_vc7_mdd.pdb ../src/regex.cpp - -vc7/libboost_regex_vc7_mdd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_mdd/libboost_regex_vc7_mdd.pch -Fo./vc7/libboost_regex_vc7_mdd/ -Fdvc7/libboost_regex_vc7_mdd.pdb ../src/regex_debug.cpp - -vc7/libboost_regex_vc7_mdd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_mdd/libboost_regex_vc7_mdd.pch -Fo./vc7/libboost_regex_vc7_mdd/ -Fdvc7/libboost_regex_vc7_mdd.pdb ../src/regex_synch.cpp - -vc7/libboost_regex_vc7_mdd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_mdd/libboost_regex_vc7_mdd.pch -Fo./vc7/libboost_regex_vc7_mdd/ -Fdvc7/libboost_regex_vc7_mdd.pdb ../src/w32_regex_traits.cpp - -vc7/libboost_regex_vc7_mdd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_mdd/libboost_regex_vc7_mdd.pch -Fo./vc7/libboost_regex_vc7_mdd/ -Fdvc7/libboost_regex_vc7_mdd.pdb ../src/wide_posix_api.cpp - -vc7/libboost_regex_vc7_mdd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7/libboost_regex_vc7_mdd/libboost_regex_vc7_mdd.pch -Fo./vc7/libboost_regex_vc7_mdd/ -Fdvc7/libboost_regex_vc7_mdd.pdb ../src/winstances.cpp - -libboost_regex_vc7_mdd_dir : - @if not exist "vc7\libboost_regex_vc7_mdd\$(NULL)" mkdir vc7\libboost_regex_vc7_mdd - -libboost_regex_vc7_mdd_clean : - del vc7\libboost_regex_vc7_mdd\*.obj - del vc7\libboost_regex_vc7_mdd\*.idb - del vc7\libboost_regex_vc7_mdd\*.exp - del vc7\libboost_regex_vc7_mdd\*.pch - -./vc7/libboost_regex_vc7_mdd.lib : vc7/libboost_regex_vc7_mdd/c_regex_traits.obj vc7/libboost_regex_vc7_mdd/c_regex_traits_common.obj vc7/libboost_regex_vc7_mdd/cpp_regex_traits.obj vc7/libboost_regex_vc7_mdd/cregex.obj vc7/libboost_regex_vc7_mdd/fileiter.obj vc7/libboost_regex_vc7_mdd/instances.obj vc7/libboost_regex_vc7_mdd/posix_api.obj vc7/libboost_regex_vc7_mdd/regex.obj vc7/libboost_regex_vc7_mdd/regex_debug.obj vc7/libboost_regex_vc7_mdd/regex_synch.obj vc7/libboost_regex_vc7_mdd/w32_regex_traits.obj vc7/libboost_regex_vc7_mdd/wide_posix_api.obj vc7/libboost_regex_vc7_mdd/winstances.obj - link -lib /nologo /out:vc7/libboost_regex_vc7_mdd.lib $(XSFLAGS) vc7/libboost_regex_vc7_mdd/c_regex_traits.obj vc7/libboost_regex_vc7_mdd/c_regex_traits_common.obj vc7/libboost_regex_vc7_mdd/cpp_regex_traits.obj vc7/libboost_regex_vc7_mdd/cregex.obj vc7/libboost_regex_vc7_mdd/fileiter.obj vc7/libboost_regex_vc7_mdd/instances.obj vc7/libboost_regex_vc7_mdd/posix_api.obj vc7/libboost_regex_vc7_mdd/regex.obj vc7/libboost_regex_vc7_mdd/regex_debug.obj vc7/libboost_regex_vc7_mdd/regex_synch.obj vc7/libboost_regex_vc7_mdd/w32_regex_traits.obj vc7/libboost_regex_vc7_mdd/wide_posix_api.obj vc7/libboost_regex_vc7_mdd/winstances.obj - diff --git a/build/vc71-stlport.mak b/build/vc71-stlport.mak deleted file mode 100644 index f8694dbf..00000000 --- a/build/vc71-stlport.mak +++ /dev/null @@ -1,576 +0,0 @@ -# -# auto generated makefile for VC6+STLPort -# -# usage: -# make -# brings libraries up to date -# make install -# brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended) -# - -# -# Add additional compiler options here: -# -CXXFLAGS= -# -# Add additional include directories here: -# -INCLUDES= -# -# add additional linker flags here: -# -XLFLAGS= -# -# add additional static-library creation flags here: -# -XSFLAGS= - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(MSVCDIR)" == "" -!ERROR Variable MSVCDIR not set. -!ENDIF - -!IF "$(STLPORT_PATH)" == "" -!ERROR Variable STLPORT_PATH not set. -!ENDIF - - -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/cregex.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_fwd.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp ../../../boost/regex/v3/regex_traits.hpp - -all : main_dir libboost_regex_vc71-stlport_ms_dir ./vc71-stlport/libboost_regex_vc71-stlport_ms.lib libboost_regex_vc71-stlport_msd_dir ./vc71-stlport/libboost_regex_vc71-stlport_msd.lib boost_regex_vc71-stlport_mdd_dir ./vc71-stlport/boost_regex_vc71-stlport_mdd.lib boost_regex_vc71-stlport_md_dir ./vc71-stlport/boost_regex_vc71-stlport_md.lib libboost_regex_vc71-stlport_md_dir ./vc71-stlport/libboost_regex_vc71-stlport_md.lib libboost_regex_vc71-stlport_mdd_dir ./vc71-stlport/libboost_regex_vc71-stlport_mdd.lib boost_regex_vc71-stlport_mddd_dir ./vc71-stlport/boost_regex_vc71-stlport_mddd.lib libboost_regex_vc71-stlport_msdd_dir ./vc71-stlport/libboost_regex_vc71-stlport_msdd.lib libboost_regex_vc71-stlport_mddd_dir ./vc71-stlport/libboost_regex_vc71-stlport_mddd.lib - -clean : libboost_regex_vc71-stlport_ms_clean libboost_regex_vc71-stlport_msd_clean boost_regex_vc71-stlport_mdd_clean boost_regex_vc71-stlport_md_clean libboost_regex_vc71-stlport_md_clean libboost_regex_vc71-stlport_mdd_clean boost_regex_vc71-stlport_mddd_clean libboost_regex_vc71-stlport_msdd_clean libboost_regex_vc71-stlport_mddd_clean - -install : stlport_check all - copy vc71-stlport\libboost_regex_vc71-stlport_ms.lib "$(MSVCDIR)\lib" - copy vc71-stlport\libboost_regex_vc71-stlport_msd.lib "$(MSVCDIR)\lib" - copy vc71-stlport\boost_regex_vc71-stlport_mdd.lib "$(MSVCDIR)\lib" - copy vc71-stlport\boost_regex_vc71-stlport_mdd.dll "$(MSVCDIR)\bin" - copy vc71-stlport\boost_regex_vc71-stlport_md.lib "$(MSVCDIR)\lib" - copy vc71-stlport\boost_regex_vc71-stlport_md.dll "$(MSVCDIR)\bin" - copy vc71-stlport\libboost_regex_vc71-stlport_md.lib "$(MSVCDIR)\lib" - copy vc71-stlport\libboost_regex_vc71-stlport_mdd.lib "$(MSVCDIR)\lib" - copy vc71-stlport\boost_regex_vc71-stlport_mddd.lib "$(MSVCDIR)\lib" - copy vc71-stlport\boost_regex_vc71-stlport_mddd.dll "$(MSVCDIR)\bin" - copy vc71-stlport\boost_regex_vc71-stlport_mddd.pdb "$(MSVCDIR)\lib" - copy vc71-stlport\libboost_regex_vc71-stlport_msdd.lib "$(MSVCDIR)\lib" - copy vc71-stlport\libboost_regex_vc71-stlport_msdd.pdb "$(MSVCDIR)\lib" - copy vc71-stlport\libboost_regex_vc71-stlport_mddd.lib "$(MSVCDIR)\lib" - copy vc71-stlport\libboost_regex_vc71-stlport_mddd.pdb "$(MSVCDIR)\lib" - -main_dir : - @if not exist "vc71-stlport\$(NULL)" mkdir vc71-stlport - -stlport_check : $(STLPORT_PATH)\stlport\string - echo - - -######################################################## -# -# section for libboost_regex_vc71-stlport_ms.lib -# -######################################################## -vc71-stlport/libboost_regex_vc71-stlport_ms/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_ms/libboost_regex_vc71-stlport_ms.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_ms/ -Fdvc71-stlport/libboost_regex_vc71-stlport_ms.pdb ../src/c_regex_traits.cpp - -vc71-stlport/libboost_regex_vc71-stlport_ms/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_ms/libboost_regex_vc71-stlport_ms.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_ms/ -Fdvc71-stlport/libboost_regex_vc71-stlport_ms.pdb ../src/c_regex_traits_common.cpp - -vc71-stlport/libboost_regex_vc71-stlport_ms/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_ms/libboost_regex_vc71-stlport_ms.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_ms/ -Fdvc71-stlport/libboost_regex_vc71-stlport_ms.pdb ../src/cpp_regex_traits.cpp - -vc71-stlport/libboost_regex_vc71-stlport_ms/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_ms/libboost_regex_vc71-stlport_ms.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_ms/ -Fdvc71-stlport/libboost_regex_vc71-stlport_ms.pdb ../src/cregex.cpp - -vc71-stlport/libboost_regex_vc71-stlport_ms/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_ms/libboost_regex_vc71-stlport_ms.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_ms/ -Fdvc71-stlport/libboost_regex_vc71-stlport_ms.pdb ../src/fileiter.cpp - -vc71-stlport/libboost_regex_vc71-stlport_ms/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_ms/libboost_regex_vc71-stlport_ms.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_ms/ -Fdvc71-stlport/libboost_regex_vc71-stlport_ms.pdb ../src/instances.cpp - -vc71-stlport/libboost_regex_vc71-stlport_ms/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_ms/libboost_regex_vc71-stlport_ms.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_ms/ -Fdvc71-stlport/libboost_regex_vc71-stlport_ms.pdb ../src/posix_api.cpp - -vc71-stlport/libboost_regex_vc71-stlport_ms/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_ms/libboost_regex_vc71-stlport_ms.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_ms/ -Fdvc71-stlport/libboost_regex_vc71-stlport_ms.pdb ../src/regex.cpp - -vc71-stlport/libboost_regex_vc71-stlport_ms/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_ms/libboost_regex_vc71-stlport_ms.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_ms/ -Fdvc71-stlport/libboost_regex_vc71-stlport_ms.pdb ../src/regex_debug.cpp - -vc71-stlport/libboost_regex_vc71-stlport_ms/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_ms/libboost_regex_vc71-stlport_ms.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_ms/ -Fdvc71-stlport/libboost_regex_vc71-stlport_ms.pdb ../src/regex_synch.cpp - -vc71-stlport/libboost_regex_vc71-stlport_ms/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_ms/libboost_regex_vc71-stlport_ms.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_ms/ -Fdvc71-stlport/libboost_regex_vc71-stlport_ms.pdb ../src/w32_regex_traits.cpp - -vc71-stlport/libboost_regex_vc71-stlport_ms/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_ms/libboost_regex_vc71-stlport_ms.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_ms/ -Fdvc71-stlport/libboost_regex_vc71-stlport_ms.pdb ../src/wide_posix_api.cpp - -vc71-stlport/libboost_regex_vc71-stlport_ms/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_ms/libboost_regex_vc71-stlport_ms.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_ms/ -Fdvc71-stlport/libboost_regex_vc71-stlport_ms.pdb ../src/winstances.cpp - -libboost_regex_vc71-stlport_ms_dir : - @if not exist "vc71-stlport\libboost_regex_vc71-stlport_ms\$(NULL)" mkdir vc71-stlport\libboost_regex_vc71-stlport_ms - -libboost_regex_vc71-stlport_ms_clean : - del vc71-stlport\libboost_regex_vc71-stlport_ms\*.obj - del vc71-stlport\libboost_regex_vc71-stlport_ms\*.idb - del vc71-stlport\libboost_regex_vc71-stlport_ms\*.exp - del vc71-stlport\libboost_regex_vc71-stlport_ms\*.pch - -./vc71-stlport/libboost_regex_vc71-stlport_ms.lib : vc71-stlport/libboost_regex_vc71-stlport_ms/c_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_ms/c_regex_traits_common.obj vc71-stlport/libboost_regex_vc71-stlport_ms/cpp_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_ms/cregex.obj vc71-stlport/libboost_regex_vc71-stlport_ms/fileiter.obj vc71-stlport/libboost_regex_vc71-stlport_ms/instances.obj vc71-stlport/libboost_regex_vc71-stlport_ms/posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_ms/regex.obj vc71-stlport/libboost_regex_vc71-stlport_ms/regex_debug.obj vc71-stlport/libboost_regex_vc71-stlport_ms/regex_synch.obj vc71-stlport/libboost_regex_vc71-stlport_ms/w32_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_ms/wide_posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_ms/winstances.obj - link -lib /nologo /out:vc71-stlport/libboost_regex_vc71-stlport_ms.lib $(XSFLAGS) vc71-stlport/libboost_regex_vc71-stlport_ms/c_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_ms/c_regex_traits_common.obj vc71-stlport/libboost_regex_vc71-stlport_ms/cpp_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_ms/cregex.obj vc71-stlport/libboost_regex_vc71-stlport_ms/fileiter.obj vc71-stlport/libboost_regex_vc71-stlport_ms/instances.obj vc71-stlport/libboost_regex_vc71-stlport_ms/posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_ms/regex.obj vc71-stlport/libboost_regex_vc71-stlport_ms/regex_debug.obj vc71-stlport/libboost_regex_vc71-stlport_ms/regex_synch.obj vc71-stlport/libboost_regex_vc71-stlport_ms/w32_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_ms/wide_posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_ms/winstances.obj - -######################################################## -# -# section for libboost_regex_vc71-stlport_msd.lib -# -######################################################## -vc71-stlport/libboost_regex_vc71-stlport_msd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msd/libboost_regex_vc71-stlport_msd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msd.pdb ../src/c_regex_traits.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msd/libboost_regex_vc71-stlport_msd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msd.pdb ../src/c_regex_traits_common.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msd/libboost_regex_vc71-stlport_msd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msd.pdb ../src/cpp_regex_traits.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msd/libboost_regex_vc71-stlport_msd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msd.pdb ../src/cregex.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msd/libboost_regex_vc71-stlport_msd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msd.pdb ../src/fileiter.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msd/libboost_regex_vc71-stlport_msd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msd.pdb ../src/instances.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msd/libboost_regex_vc71-stlport_msd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msd.pdb ../src/posix_api.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msd/libboost_regex_vc71-stlport_msd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msd.pdb ../src/regex.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msd/libboost_regex_vc71-stlport_msd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msd.pdb ../src/regex_debug.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msd/libboost_regex_vc71-stlport_msd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msd.pdb ../src/regex_synch.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msd/libboost_regex_vc71-stlport_msd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msd.pdb ../src/w32_regex_traits.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msd/libboost_regex_vc71-stlport_msd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msd.pdb ../src/wide_posix_api.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msd/libboost_regex_vc71-stlport_msd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msd.pdb ../src/winstances.cpp - -libboost_regex_vc71-stlport_msd_dir : - @if not exist "vc71-stlport\libboost_regex_vc71-stlport_msd\$(NULL)" mkdir vc71-stlport\libboost_regex_vc71-stlport_msd - -libboost_regex_vc71-stlport_msd_clean : - del vc71-stlport\libboost_regex_vc71-stlport_msd\*.obj - del vc71-stlport\libboost_regex_vc71-stlport_msd\*.idb - del vc71-stlport\libboost_regex_vc71-stlport_msd\*.exp - del vc71-stlport\libboost_regex_vc71-stlport_msd\*.pch - -./vc71-stlport/libboost_regex_vc71-stlport_msd.lib : vc71-stlport/libboost_regex_vc71-stlport_msd/c_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_msd/c_regex_traits_common.obj vc71-stlport/libboost_regex_vc71-stlport_msd/cpp_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_msd/cregex.obj vc71-stlport/libboost_regex_vc71-stlport_msd/fileiter.obj vc71-stlport/libboost_regex_vc71-stlport_msd/instances.obj vc71-stlport/libboost_regex_vc71-stlport_msd/posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_msd/regex.obj vc71-stlport/libboost_regex_vc71-stlport_msd/regex_debug.obj vc71-stlport/libboost_regex_vc71-stlport_msd/regex_synch.obj vc71-stlport/libboost_regex_vc71-stlport_msd/w32_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_msd/wide_posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_msd/winstances.obj - link -lib /nologo /out:vc71-stlport/libboost_regex_vc71-stlport_msd.lib $(XSFLAGS) vc71-stlport/libboost_regex_vc71-stlport_msd/c_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_msd/c_regex_traits_common.obj vc71-stlport/libboost_regex_vc71-stlport_msd/cpp_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_msd/cregex.obj vc71-stlport/libboost_regex_vc71-stlport_msd/fileiter.obj vc71-stlport/libboost_regex_vc71-stlport_msd/instances.obj vc71-stlport/libboost_regex_vc71-stlport_msd/posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_msd/regex.obj vc71-stlport/libboost_regex_vc71-stlport_msd/regex_debug.obj vc71-stlport/libboost_regex_vc71-stlport_msd/regex_synch.obj vc71-stlport/libboost_regex_vc71-stlport_msd/w32_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_msd/wide_posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_msd/winstances.obj - -######################################################## -# -# section for boost_regex_vc71-stlport_mdd.lib -# -######################################################## -vc71-stlport/boost_regex_vc71-stlport_mdd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdd/boost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdd.pdb ../src/c_regex_traits.cpp - -vc71-stlport/boost_regex_vc71-stlport_mdd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdd/boost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdd.pdb ../src/c_regex_traits_common.cpp - -vc71-stlport/boost_regex_vc71-stlport_mdd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdd/boost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdd.pdb ../src/cpp_regex_traits.cpp - -vc71-stlport/boost_regex_vc71-stlport_mdd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdd/boost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdd.pdb ../src/cregex.cpp - -vc71-stlport/boost_regex_vc71-stlport_mdd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdd/boost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdd.pdb ../src/fileiter.cpp - -vc71-stlport/boost_regex_vc71-stlport_mdd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdd/boost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdd.pdb ../src/instances.cpp - -vc71-stlport/boost_regex_vc71-stlport_mdd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdd/boost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdd.pdb ../src/posix_api.cpp - -vc71-stlport/boost_regex_vc71-stlport_mdd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdd/boost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdd.pdb ../src/regex.cpp - -vc71-stlport/boost_regex_vc71-stlport_mdd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdd/boost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdd.pdb ../src/regex_debug.cpp - -vc71-stlport/boost_regex_vc71-stlport_mdd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdd/boost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdd.pdb ../src/regex_synch.cpp - -vc71-stlport/boost_regex_vc71-stlport_mdd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdd/boost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdd.pdb ../src/w32_regex_traits.cpp - -vc71-stlport/boost_regex_vc71-stlport_mdd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdd/boost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdd.pdb ../src/wide_posix_api.cpp - -vc71-stlport/boost_regex_vc71-stlport_mdd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdd/boost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdd.pdb ../src/winstances.cpp - -boost_regex_vc71-stlport_mdd_dir : - @if not exist "vc71-stlport\boost_regex_vc71-stlport_mdd\$(NULL)" mkdir vc71-stlport\boost_regex_vc71-stlport_mdd - -boost_regex_vc71-stlport_mdd_clean : - del vc71-stlport\boost_regex_vc71-stlport_mdd\*.obj - del vc71-stlport\boost_regex_vc71-stlport_mdd\*.idb - del vc71-stlport\boost_regex_vc71-stlport_mdd\*.exp - del vc71-stlport\boost_regex_vc71-stlport_mdd\*.pch - -./vc71-stlport/boost_regex_vc71-stlport_mdd.lib : vc71-stlport/boost_regex_vc71-stlport_mdd/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdd/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mdd/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdd/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mdd/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mdd/instances.obj vc71-stlport/boost_regex_vc71-stlport_mdd/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdd/regex.obj vc71-stlport/boost_regex_vc71-stlport_mdd/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mdd/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mdd/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdd/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdd/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-stlport_mdd.pdb" /debug /machine:I386 /out:"vc71-stlport/boost_regex_vc71-stlport_mdd.dll" /implib:"vc71-stlport/boost_regex_vc71-stlport_mdd.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc71-stlport/boost_regex_vc71-stlport_mdd/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdd/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mdd/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdd/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mdd/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mdd/instances.obj vc71-stlport/boost_regex_vc71-stlport_mdd/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdd/regex.obj vc71-stlport/boost_regex_vc71-stlport_mdd/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mdd/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mdd/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdd/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdd/winstances.obj - -######################################################## -# -# section for boost_regex_vc71-stlport_md.lib -# -######################################################## -vc71-stlport/boost_regex_vc71-stlport_md/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_md/boost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_md/ -Fdvc71-stlport/boost_regex_vc71-stlport_md.pdb ../src/c_regex_traits.cpp - -vc71-stlport/boost_regex_vc71-stlport_md/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_md/boost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_md/ -Fdvc71-stlport/boost_regex_vc71-stlport_md.pdb ../src/c_regex_traits_common.cpp - -vc71-stlport/boost_regex_vc71-stlport_md/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_md/boost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_md/ -Fdvc71-stlport/boost_regex_vc71-stlport_md.pdb ../src/cpp_regex_traits.cpp - -vc71-stlport/boost_regex_vc71-stlport_md/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_md/boost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_md/ -Fdvc71-stlport/boost_regex_vc71-stlport_md.pdb ../src/cregex.cpp - -vc71-stlport/boost_regex_vc71-stlport_md/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_md/boost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_md/ -Fdvc71-stlport/boost_regex_vc71-stlport_md.pdb ../src/fileiter.cpp - -vc71-stlport/boost_regex_vc71-stlport_md/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_md/boost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_md/ -Fdvc71-stlport/boost_regex_vc71-stlport_md.pdb ../src/instances.cpp - -vc71-stlport/boost_regex_vc71-stlport_md/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_md/boost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_md/ -Fdvc71-stlport/boost_regex_vc71-stlport_md.pdb ../src/posix_api.cpp - -vc71-stlport/boost_regex_vc71-stlport_md/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_md/boost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_md/ -Fdvc71-stlport/boost_regex_vc71-stlport_md.pdb ../src/regex.cpp - -vc71-stlport/boost_regex_vc71-stlport_md/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_md/boost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_md/ -Fdvc71-stlport/boost_regex_vc71-stlport_md.pdb ../src/regex_debug.cpp - -vc71-stlport/boost_regex_vc71-stlport_md/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_md/boost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_md/ -Fdvc71-stlport/boost_regex_vc71-stlport_md.pdb ../src/regex_synch.cpp - -vc71-stlport/boost_regex_vc71-stlport_md/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_md/boost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_md/ -Fdvc71-stlport/boost_regex_vc71-stlport_md.pdb ../src/w32_regex_traits.cpp - -vc71-stlport/boost_regex_vc71-stlport_md/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_md/boost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_md/ -Fdvc71-stlport/boost_regex_vc71-stlport_md.pdb ../src/wide_posix_api.cpp - -vc71-stlport/boost_regex_vc71-stlport_md/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_md/boost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_md/ -Fdvc71-stlport/boost_regex_vc71-stlport_md.pdb ../src/winstances.cpp - -boost_regex_vc71-stlport_md_dir : - @if not exist "vc71-stlport\boost_regex_vc71-stlport_md\$(NULL)" mkdir vc71-stlport\boost_regex_vc71-stlport_md - -boost_regex_vc71-stlport_md_clean : - del vc71-stlport\boost_regex_vc71-stlport_md\*.obj - del vc71-stlport\boost_regex_vc71-stlport_md\*.idb - del vc71-stlport\boost_regex_vc71-stlport_md\*.exp - del vc71-stlport\boost_regex_vc71-stlport_md\*.pch - -./vc71-stlport/boost_regex_vc71-stlport_md.lib : vc71-stlport/boost_regex_vc71-stlport_md/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_md/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_md/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_md/cregex.obj vc71-stlport/boost_regex_vc71-stlport_md/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_md/instances.obj vc71-stlport/boost_regex_vc71-stlport_md/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_md/regex.obj vc71-stlport/boost_regex_vc71-stlport_md/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_md/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_md/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_md/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_md/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-stlport_md.pdb" /debug /machine:I386 /out:"vc71-stlport/boost_regex_vc71-stlport_md.dll" /implib:"vc71-stlport/boost_regex_vc71-stlport_md.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc71-stlport/boost_regex_vc71-stlport_md/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_md/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_md/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_md/cregex.obj vc71-stlport/boost_regex_vc71-stlport_md/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_md/instances.obj vc71-stlport/boost_regex_vc71-stlport_md/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_md/regex.obj vc71-stlport/boost_regex_vc71-stlport_md/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_md/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_md/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_md/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_md/winstances.obj - -######################################################## -# -# section for libboost_regex_vc71-stlport_md.lib -# -######################################################## -vc71-stlport/libboost_regex_vc71-stlport_md/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_md/libboost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_md/ -Fdvc71-stlport/libboost_regex_vc71-stlport_md.pdb ../src/c_regex_traits.cpp - -vc71-stlport/libboost_regex_vc71-stlport_md/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_md/libboost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_md/ -Fdvc71-stlport/libboost_regex_vc71-stlport_md.pdb ../src/c_regex_traits_common.cpp - -vc71-stlport/libboost_regex_vc71-stlport_md/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_md/libboost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_md/ -Fdvc71-stlport/libboost_regex_vc71-stlport_md.pdb ../src/cpp_regex_traits.cpp - -vc71-stlport/libboost_regex_vc71-stlport_md/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_md/libboost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_md/ -Fdvc71-stlport/libboost_regex_vc71-stlport_md.pdb ../src/cregex.cpp - -vc71-stlport/libboost_regex_vc71-stlport_md/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_md/libboost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_md/ -Fdvc71-stlport/libboost_regex_vc71-stlport_md.pdb ../src/fileiter.cpp - -vc71-stlport/libboost_regex_vc71-stlport_md/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_md/libboost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_md/ -Fdvc71-stlport/libboost_regex_vc71-stlport_md.pdb ../src/instances.cpp - -vc71-stlport/libboost_regex_vc71-stlport_md/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_md/libboost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_md/ -Fdvc71-stlport/libboost_regex_vc71-stlport_md.pdb ../src/posix_api.cpp - -vc71-stlport/libboost_regex_vc71-stlport_md/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_md/libboost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_md/ -Fdvc71-stlport/libboost_regex_vc71-stlport_md.pdb ../src/regex.cpp - -vc71-stlport/libboost_regex_vc71-stlport_md/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_md/libboost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_md/ -Fdvc71-stlport/libboost_regex_vc71-stlport_md.pdb ../src/regex_debug.cpp - -vc71-stlport/libboost_regex_vc71-stlport_md/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_md/libboost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_md/ -Fdvc71-stlport/libboost_regex_vc71-stlport_md.pdb ../src/regex_synch.cpp - -vc71-stlport/libboost_regex_vc71-stlport_md/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_md/libboost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_md/ -Fdvc71-stlport/libboost_regex_vc71-stlport_md.pdb ../src/w32_regex_traits.cpp - -vc71-stlport/libboost_regex_vc71-stlport_md/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_md/libboost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_md/ -Fdvc71-stlport/libboost_regex_vc71-stlport_md.pdb ../src/wide_posix_api.cpp - -vc71-stlport/libboost_regex_vc71-stlport_md/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_md/libboost_regex_vc71-stlport_md.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_md/ -Fdvc71-stlport/libboost_regex_vc71-stlport_md.pdb ../src/winstances.cpp - -libboost_regex_vc71-stlport_md_dir : - @if not exist "vc71-stlport\libboost_regex_vc71-stlport_md\$(NULL)" mkdir vc71-stlport\libboost_regex_vc71-stlport_md - -libboost_regex_vc71-stlport_md_clean : - del vc71-stlport\libboost_regex_vc71-stlport_md\*.obj - del vc71-stlport\libboost_regex_vc71-stlport_md\*.idb - del vc71-stlport\libboost_regex_vc71-stlport_md\*.exp - del vc71-stlport\libboost_regex_vc71-stlport_md\*.pch - -./vc71-stlport/libboost_regex_vc71-stlport_md.lib : vc71-stlport/libboost_regex_vc71-stlport_md/c_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_md/c_regex_traits_common.obj vc71-stlport/libboost_regex_vc71-stlport_md/cpp_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_md/cregex.obj vc71-stlport/libboost_regex_vc71-stlport_md/fileiter.obj vc71-stlport/libboost_regex_vc71-stlport_md/instances.obj vc71-stlport/libboost_regex_vc71-stlport_md/posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_md/regex.obj vc71-stlport/libboost_regex_vc71-stlport_md/regex_debug.obj vc71-stlport/libboost_regex_vc71-stlport_md/regex_synch.obj vc71-stlport/libboost_regex_vc71-stlport_md/w32_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_md/wide_posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_md/winstances.obj - link -lib /nologo /out:vc71-stlport/libboost_regex_vc71-stlport_md.lib $(XSFLAGS) vc71-stlport/libboost_regex_vc71-stlport_md/c_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_md/c_regex_traits_common.obj vc71-stlport/libboost_regex_vc71-stlport_md/cpp_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_md/cregex.obj vc71-stlport/libboost_regex_vc71-stlport_md/fileiter.obj vc71-stlport/libboost_regex_vc71-stlport_md/instances.obj vc71-stlport/libboost_regex_vc71-stlport_md/posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_md/regex.obj vc71-stlport/libboost_regex_vc71-stlport_md/regex_debug.obj vc71-stlport/libboost_regex_vc71-stlport_md/regex_synch.obj vc71-stlport/libboost_regex_vc71-stlport_md/w32_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_md/wide_posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_md/winstances.obj - -######################################################## -# -# section for libboost_regex_vc71-stlport_mdd.lib -# -######################################################## -vc71-stlport/libboost_regex_vc71-stlport_mdd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mdd/libboost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mdd.pdb ../src/c_regex_traits.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mdd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mdd/libboost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mdd.pdb ../src/c_regex_traits_common.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mdd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mdd/libboost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mdd.pdb ../src/cpp_regex_traits.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mdd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mdd/libboost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mdd.pdb ../src/cregex.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mdd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mdd/libboost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mdd.pdb ../src/fileiter.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mdd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mdd/libboost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mdd.pdb ../src/instances.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mdd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mdd/libboost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mdd.pdb ../src/posix_api.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mdd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mdd/libboost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mdd.pdb ../src/regex.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mdd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mdd/libboost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mdd.pdb ../src/regex_debug.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mdd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mdd/libboost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mdd.pdb ../src/regex_synch.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mdd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mdd/libboost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mdd.pdb ../src/w32_regex_traits.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mdd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mdd/libboost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mdd.pdb ../src/wide_posix_api.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mdd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mdd/libboost_regex_vc71-stlport_mdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mdd.pdb ../src/winstances.cpp - -libboost_regex_vc71-stlport_mdd_dir : - @if not exist "vc71-stlport\libboost_regex_vc71-stlport_mdd\$(NULL)" mkdir vc71-stlport\libboost_regex_vc71-stlport_mdd - -libboost_regex_vc71-stlport_mdd_clean : - del vc71-stlport\libboost_regex_vc71-stlport_mdd\*.obj - del vc71-stlport\libboost_regex_vc71-stlport_mdd\*.idb - del vc71-stlport\libboost_regex_vc71-stlport_mdd\*.exp - del vc71-stlport\libboost_regex_vc71-stlport_mdd\*.pch - -./vc71-stlport/libboost_regex_vc71-stlport_mdd.lib : vc71-stlport/libboost_regex_vc71-stlport_mdd/c_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/c_regex_traits_common.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/cpp_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/cregex.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/fileiter.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/instances.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/regex.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/regex_debug.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/regex_synch.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/w32_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/wide_posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/winstances.obj - link -lib /nologo /out:vc71-stlport/libboost_regex_vc71-stlport_mdd.lib $(XSFLAGS) vc71-stlport/libboost_regex_vc71-stlport_mdd/c_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/c_regex_traits_common.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/cpp_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/cregex.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/fileiter.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/instances.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/regex.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/regex_debug.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/regex_synch.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/w32_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/wide_posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_mdd/winstances.obj - -######################################################## -# -# section for boost_regex_vc71-stlport_mddd.lib -# -######################################################## -vc71-stlport/boost_regex_vc71-stlport_mddd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mddd/boost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mddd.pdb ../src/c_regex_traits.cpp - -vc71-stlport/boost_regex_vc71-stlport_mddd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mddd/boost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mddd.pdb ../src/c_regex_traits_common.cpp - -vc71-stlport/boost_regex_vc71-stlport_mddd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mddd/boost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mddd.pdb ../src/cpp_regex_traits.cpp - -vc71-stlport/boost_regex_vc71-stlport_mddd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mddd/boost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mddd.pdb ../src/cregex.cpp - -vc71-stlport/boost_regex_vc71-stlport_mddd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mddd/boost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mddd.pdb ../src/fileiter.cpp - -vc71-stlport/boost_regex_vc71-stlport_mddd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mddd/boost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mddd.pdb ../src/instances.cpp - -vc71-stlport/boost_regex_vc71-stlport_mddd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mddd/boost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mddd.pdb ../src/posix_api.cpp - -vc71-stlport/boost_regex_vc71-stlport_mddd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mddd/boost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mddd.pdb ../src/regex.cpp - -vc71-stlport/boost_regex_vc71-stlport_mddd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mddd/boost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mddd.pdb ../src/regex_debug.cpp - -vc71-stlport/boost_regex_vc71-stlport_mddd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mddd/boost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mddd.pdb ../src/regex_synch.cpp - -vc71-stlport/boost_regex_vc71-stlport_mddd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mddd/boost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mddd.pdb ../src/w32_regex_traits.cpp - -vc71-stlport/boost_regex_vc71-stlport_mddd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mddd/boost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mddd.pdb ../src/wide_posix_api.cpp - -vc71-stlport/boost_regex_vc71-stlport_mddd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mddd/boost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mddd.pdb ../src/winstances.cpp - -boost_regex_vc71-stlport_mddd_dir : - @if not exist "vc71-stlport\boost_regex_vc71-stlport_mddd\$(NULL)" mkdir vc71-stlport\boost_regex_vc71-stlport_mddd - -boost_regex_vc71-stlport_mddd_clean : - del vc71-stlport\boost_regex_vc71-stlport_mddd\*.obj - del vc71-stlport\boost_regex_vc71-stlport_mddd\*.idb - del vc71-stlport\boost_regex_vc71-stlport_mddd\*.exp - del vc71-stlport\boost_regex_vc71-stlport_mddd\*.pch - -./vc71-stlport/boost_regex_vc71-stlport_mddd.lib : vc71-stlport/boost_regex_vc71-stlport_mddd/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mddd/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mddd/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mddd/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mddd/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mddd/instances.obj vc71-stlport/boost_regex_vc71-stlport_mddd/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mddd/regex.obj vc71-stlport/boost_regex_vc71-stlport_mddd/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mddd/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mddd/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mddd/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mddd/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-stlport_mddd.pdb" /debug /machine:I386 /out:"vc71-stlport/boost_regex_vc71-stlport_mddd.dll" /implib:"vc71-stlport/boost_regex_vc71-stlport_mddd.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc71-stlport/boost_regex_vc71-stlport_mddd/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mddd/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mddd/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mddd/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mddd/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mddd/instances.obj vc71-stlport/boost_regex_vc71-stlport_mddd/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mddd/regex.obj vc71-stlport/boost_regex_vc71-stlport_mddd/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mddd/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mddd/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mddd/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mddd/winstances.obj - -######################################################## -# -# section for libboost_regex_vc71-stlport_msdd.lib -# -######################################################## -vc71-stlport/libboost_regex_vc71-stlport_msdd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msdd/libboost_regex_vc71-stlport_msdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msdd.pdb ../src/c_regex_traits.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msdd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msdd/libboost_regex_vc71-stlport_msdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msdd.pdb ../src/c_regex_traits_common.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msdd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msdd/libboost_regex_vc71-stlport_msdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msdd.pdb ../src/cpp_regex_traits.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msdd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msdd/libboost_regex_vc71-stlport_msdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msdd.pdb ../src/cregex.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msdd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msdd/libboost_regex_vc71-stlport_msdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msdd.pdb ../src/fileiter.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msdd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msdd/libboost_regex_vc71-stlport_msdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msdd.pdb ../src/instances.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msdd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msdd/libboost_regex_vc71-stlport_msdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msdd.pdb ../src/posix_api.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msdd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msdd/libboost_regex_vc71-stlport_msdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msdd.pdb ../src/regex.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msdd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msdd/libboost_regex_vc71-stlport_msdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msdd.pdb ../src/regex_debug.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msdd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msdd/libboost_regex_vc71-stlport_msdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msdd.pdb ../src/regex_synch.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msdd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msdd/libboost_regex_vc71-stlport_msdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msdd.pdb ../src/w32_regex_traits.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msdd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msdd/libboost_regex_vc71-stlport_msdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msdd.pdb ../src/wide_posix_api.cpp - -vc71-stlport/libboost_regex_vc71-stlport_msdd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_msdd/libboost_regex_vc71-stlport_msdd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_msdd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_msdd.pdb ../src/winstances.cpp - -libboost_regex_vc71-stlport_msdd_dir : - @if not exist "vc71-stlport\libboost_regex_vc71-stlport_msdd\$(NULL)" mkdir vc71-stlport\libboost_regex_vc71-stlport_msdd - -libboost_regex_vc71-stlport_msdd_clean : - del vc71-stlport\libboost_regex_vc71-stlport_msdd\*.obj - del vc71-stlport\libboost_regex_vc71-stlport_msdd\*.idb - del vc71-stlport\libboost_regex_vc71-stlport_msdd\*.exp - del vc71-stlport\libboost_regex_vc71-stlport_msdd\*.pch - -./vc71-stlport/libboost_regex_vc71-stlport_msdd.lib : vc71-stlport/libboost_regex_vc71-stlport_msdd/c_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/c_regex_traits_common.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/cpp_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/cregex.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/fileiter.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/instances.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/regex.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/regex_debug.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/regex_synch.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/w32_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/wide_posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/winstances.obj - link -lib /nologo /out:vc71-stlport/libboost_regex_vc71-stlport_msdd.lib $(XSFLAGS) vc71-stlport/libboost_regex_vc71-stlport_msdd/c_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/c_regex_traits_common.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/cpp_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/cregex.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/fileiter.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/instances.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/regex.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/regex_debug.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/regex_synch.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/w32_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/wide_posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_msdd/winstances.obj - -######################################################## -# -# section for libboost_regex_vc71-stlport_mddd.lib -# -######################################################## -vc71-stlport/libboost_regex_vc71-stlport_mddd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mddd/libboost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mddd.pdb ../src/c_regex_traits.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mddd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mddd/libboost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mddd.pdb ../src/c_regex_traits_common.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mddd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mddd/libboost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mddd.pdb ../src/cpp_regex_traits.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mddd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mddd/libboost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mddd.pdb ../src/cregex.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mddd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mddd/libboost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mddd.pdb ../src/fileiter.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mddd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mddd/libboost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mddd.pdb ../src/instances.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mddd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mddd/libboost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mddd.pdb ../src/posix_api.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mddd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mddd/libboost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mddd.pdb ../src/regex.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mddd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mddd/libboost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mddd.pdb ../src/regex_debug.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mddd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mddd/libboost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mddd.pdb ../src/regex_synch.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mddd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mddd/libboost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mddd.pdb ../src/w32_regex_traits.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mddd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mddd/libboost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mddd.pdb ../src/wide_posix_api.cpp - -vc71-stlport/libboost_regex_vc71-stlport_mddd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/libboost_regex_vc71-stlport_mddd/libboost_regex_vc71-stlport_mddd.pch -Fo./vc71-stlport/libboost_regex_vc71-stlport_mddd/ -Fdvc71-stlport/libboost_regex_vc71-stlport_mddd.pdb ../src/winstances.cpp - -libboost_regex_vc71-stlport_mddd_dir : - @if not exist "vc71-stlport\libboost_regex_vc71-stlport_mddd\$(NULL)" mkdir vc71-stlport\libboost_regex_vc71-stlport_mddd - -libboost_regex_vc71-stlport_mddd_clean : - del vc71-stlport\libboost_regex_vc71-stlport_mddd\*.obj - del vc71-stlport\libboost_regex_vc71-stlport_mddd\*.idb - del vc71-stlport\libboost_regex_vc71-stlport_mddd\*.exp - del vc71-stlport\libboost_regex_vc71-stlport_mddd\*.pch - -./vc71-stlport/libboost_regex_vc71-stlport_mddd.lib : vc71-stlport/libboost_regex_vc71-stlport_mddd/c_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/c_regex_traits_common.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/cpp_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/cregex.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/fileiter.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/instances.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/regex.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/regex_debug.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/regex_synch.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/w32_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/wide_posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/winstances.obj - link -lib /nologo /out:vc71-stlport/libboost_regex_vc71-stlport_mddd.lib $(XSFLAGS) vc71-stlport/libboost_regex_vc71-stlport_mddd/c_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/c_regex_traits_common.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/cpp_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/cregex.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/fileiter.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/instances.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/regex.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/regex_debug.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/regex_synch.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/w32_regex_traits.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/wide_posix_api.obj vc71-stlport/libboost_regex_vc71-stlport_mddd/winstances.obj - diff --git a/build/vc71.mak b/build/vc71.mak deleted file mode 100644 index 1c71dc3d..00000000 --- a/build/vc71.mak +++ /dev/null @@ -1,512 +0,0 @@ -# -# auto generated makefile for VC6 compiler -# -# usage: -# make -# brings libraries up to date -# make install -# brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended) -# - -# -# Add additional compiler options here: -# -CXXFLAGS= -# -# Add additional include directories here: -# -INCLUDES= -# -# add additional linker flags here: -# -XLFLAGS= -# -# add additional static-library creation flags here: -# -XSFLAGS= - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "$(MSVCDIR)" == "" -!ERROR Variable MSVCDIR not set. -!ENDIF - - -ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/cregex.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_fwd.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp ../../../boost/regex/v3/regex_traits.hpp - -all : main_dir libboost_regex_vc71_ss_dir ./vc71/libboost_regex_vc71_ss.lib libboost_regex_vc71_ms_dir ./vc71/libboost_regex_vc71_ms.lib libboost_regex_vc71_ssd_dir ./vc71/libboost_regex_vc71_ssd.lib libboost_regex_vc71_msd_dir ./vc71/libboost_regex_vc71_msd.lib boost_regex_vc71_mdd_dir ./vc71/boost_regex_vc71_mdd.lib boost_regex_vc71_md_dir ./vc71/boost_regex_vc71_md.lib libboost_regex_vc71_md_dir ./vc71/libboost_regex_vc71_md.lib libboost_regex_vc71_mdd_dir ./vc71/libboost_regex_vc71_mdd.lib - -clean : libboost_regex_vc71_ss_clean libboost_regex_vc71_ms_clean libboost_regex_vc71_ssd_clean libboost_regex_vc71_msd_clean boost_regex_vc71_mdd_clean boost_regex_vc71_md_clean libboost_regex_vc71_md_clean libboost_regex_vc71_mdd_clean - -install : all - copy vc71\libboost_regex_vc71_ss.lib "$(MSVCDIR)\lib" - copy vc71\libboost_regex_vc71_ms.lib "$(MSVCDIR)\lib" - copy vc71\libboost_regex_vc71_ssd.lib "$(MSVCDIR)\lib" - copy vc71\libboost_regex_vc71_ssd.pdb "$(MSVCDIR)\lib" - copy vc71\libboost_regex_vc71_msd.lib "$(MSVCDIR)\lib" - copy vc71\libboost_regex_vc71_msd.pdb "$(MSVCDIR)\lib" - copy vc71\boost_regex_vc71_mdd.lib "$(MSVCDIR)\lib" - copy vc71\boost_regex_vc71_mdd.dll "$(MSVCDIR)\bin" - copy vc71\boost_regex_vc71_mdd.pdb "$(MSVCDIR)\lib" - copy vc71\boost_regex_vc71_md.lib "$(MSVCDIR)\lib" - copy vc71\boost_regex_vc71_md.dll "$(MSVCDIR)\bin" - copy vc71\libboost_regex_vc71_md.lib "$(MSVCDIR)\lib" - copy vc71\libboost_regex_vc71_mdd.lib "$(MSVCDIR)\lib" - copy vc71\libboost_regex_vc71_mdd.pdb "$(MSVCDIR)\lib" - -main_dir : - @if not exist "vc71\$(NULL)" mkdir vc71 - - -######################################################## -# -# section for libboost_regex_vc71_ss.lib -# -######################################################## -vc71/libboost_regex_vc71_ss/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ss/libboost_regex_vc71_ss.pch -Fo./vc71/libboost_regex_vc71_ss/ -Fdvc71/libboost_regex_vc71_ss.pdb ../src/c_regex_traits.cpp - -vc71/libboost_regex_vc71_ss/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ss/libboost_regex_vc71_ss.pch -Fo./vc71/libboost_regex_vc71_ss/ -Fdvc71/libboost_regex_vc71_ss.pdb ../src/c_regex_traits_common.cpp - -vc71/libboost_regex_vc71_ss/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ss/libboost_regex_vc71_ss.pch -Fo./vc71/libboost_regex_vc71_ss/ -Fdvc71/libboost_regex_vc71_ss.pdb ../src/cpp_regex_traits.cpp - -vc71/libboost_regex_vc71_ss/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ss/libboost_regex_vc71_ss.pch -Fo./vc71/libboost_regex_vc71_ss/ -Fdvc71/libboost_regex_vc71_ss.pdb ../src/cregex.cpp - -vc71/libboost_regex_vc71_ss/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ss/libboost_regex_vc71_ss.pch -Fo./vc71/libboost_regex_vc71_ss/ -Fdvc71/libboost_regex_vc71_ss.pdb ../src/fileiter.cpp - -vc71/libboost_regex_vc71_ss/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ss/libboost_regex_vc71_ss.pch -Fo./vc71/libboost_regex_vc71_ss/ -Fdvc71/libboost_regex_vc71_ss.pdb ../src/instances.cpp - -vc71/libboost_regex_vc71_ss/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ss/libboost_regex_vc71_ss.pch -Fo./vc71/libboost_regex_vc71_ss/ -Fdvc71/libboost_regex_vc71_ss.pdb ../src/posix_api.cpp - -vc71/libboost_regex_vc71_ss/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ss/libboost_regex_vc71_ss.pch -Fo./vc71/libboost_regex_vc71_ss/ -Fdvc71/libboost_regex_vc71_ss.pdb ../src/regex.cpp - -vc71/libboost_regex_vc71_ss/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ss/libboost_regex_vc71_ss.pch -Fo./vc71/libboost_regex_vc71_ss/ -Fdvc71/libboost_regex_vc71_ss.pdb ../src/regex_debug.cpp - -vc71/libboost_regex_vc71_ss/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ss/libboost_regex_vc71_ss.pch -Fo./vc71/libboost_regex_vc71_ss/ -Fdvc71/libboost_regex_vc71_ss.pdb ../src/regex_synch.cpp - -vc71/libboost_regex_vc71_ss/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ss/libboost_regex_vc71_ss.pch -Fo./vc71/libboost_regex_vc71_ss/ -Fdvc71/libboost_regex_vc71_ss.pdb ../src/w32_regex_traits.cpp - -vc71/libboost_regex_vc71_ss/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ss/libboost_regex_vc71_ss.pch -Fo./vc71/libboost_regex_vc71_ss/ -Fdvc71/libboost_regex_vc71_ss.pdb ../src/wide_posix_api.cpp - -vc71/libboost_regex_vc71_ss/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ss/libboost_regex_vc71_ss.pch -Fo./vc71/libboost_regex_vc71_ss/ -Fdvc71/libboost_regex_vc71_ss.pdb ../src/winstances.cpp - -libboost_regex_vc71_ss_dir : - @if not exist "vc71\libboost_regex_vc71_ss\$(NULL)" mkdir vc71\libboost_regex_vc71_ss - -libboost_regex_vc71_ss_clean : - del vc71\libboost_regex_vc71_ss\*.obj - del vc71\libboost_regex_vc71_ss\*.idb - del vc71\libboost_regex_vc71_ss\*.exp - del vc71\libboost_regex_vc71_ss\*.pch - -./vc71/libboost_regex_vc71_ss.lib : vc71/libboost_regex_vc71_ss/c_regex_traits.obj vc71/libboost_regex_vc71_ss/c_regex_traits_common.obj vc71/libboost_regex_vc71_ss/cpp_regex_traits.obj vc71/libboost_regex_vc71_ss/cregex.obj vc71/libboost_regex_vc71_ss/fileiter.obj vc71/libboost_regex_vc71_ss/instances.obj vc71/libboost_regex_vc71_ss/posix_api.obj vc71/libboost_regex_vc71_ss/regex.obj vc71/libboost_regex_vc71_ss/regex_debug.obj vc71/libboost_regex_vc71_ss/regex_synch.obj vc71/libboost_regex_vc71_ss/w32_regex_traits.obj vc71/libboost_regex_vc71_ss/wide_posix_api.obj vc71/libboost_regex_vc71_ss/winstances.obj - link -lib /nologo /out:vc71/libboost_regex_vc71_ss.lib $(XSFLAGS) vc71/libboost_regex_vc71_ss/c_regex_traits.obj vc71/libboost_regex_vc71_ss/c_regex_traits_common.obj vc71/libboost_regex_vc71_ss/cpp_regex_traits.obj vc71/libboost_regex_vc71_ss/cregex.obj vc71/libboost_regex_vc71_ss/fileiter.obj vc71/libboost_regex_vc71_ss/instances.obj vc71/libboost_regex_vc71_ss/posix_api.obj vc71/libboost_regex_vc71_ss/regex.obj vc71/libboost_regex_vc71_ss/regex_debug.obj vc71/libboost_regex_vc71_ss/regex_synch.obj vc71/libboost_regex_vc71_ss/w32_regex_traits.obj vc71/libboost_regex_vc71_ss/wide_posix_api.obj vc71/libboost_regex_vc71_ss/winstances.obj - -######################################################## -# -# section for libboost_regex_vc71_ms.lib -# -######################################################## -vc71/libboost_regex_vc71_ms/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ms/libboost_regex_vc71_ms.pch -Fo./vc71/libboost_regex_vc71_ms/ -Fdvc71/libboost_regex_vc71_ms.pdb ../src/c_regex_traits.cpp - -vc71/libboost_regex_vc71_ms/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ms/libboost_regex_vc71_ms.pch -Fo./vc71/libboost_regex_vc71_ms/ -Fdvc71/libboost_regex_vc71_ms.pdb ../src/c_regex_traits_common.cpp - -vc71/libboost_regex_vc71_ms/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ms/libboost_regex_vc71_ms.pch -Fo./vc71/libboost_regex_vc71_ms/ -Fdvc71/libboost_regex_vc71_ms.pdb ../src/cpp_regex_traits.cpp - -vc71/libboost_regex_vc71_ms/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ms/libboost_regex_vc71_ms.pch -Fo./vc71/libboost_regex_vc71_ms/ -Fdvc71/libboost_regex_vc71_ms.pdb ../src/cregex.cpp - -vc71/libboost_regex_vc71_ms/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ms/libboost_regex_vc71_ms.pch -Fo./vc71/libboost_regex_vc71_ms/ -Fdvc71/libboost_regex_vc71_ms.pdb ../src/fileiter.cpp - -vc71/libboost_regex_vc71_ms/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ms/libboost_regex_vc71_ms.pch -Fo./vc71/libboost_regex_vc71_ms/ -Fdvc71/libboost_regex_vc71_ms.pdb ../src/instances.cpp - -vc71/libboost_regex_vc71_ms/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ms/libboost_regex_vc71_ms.pch -Fo./vc71/libboost_regex_vc71_ms/ -Fdvc71/libboost_regex_vc71_ms.pdb ../src/posix_api.cpp - -vc71/libboost_regex_vc71_ms/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ms/libboost_regex_vc71_ms.pch -Fo./vc71/libboost_regex_vc71_ms/ -Fdvc71/libboost_regex_vc71_ms.pdb ../src/regex.cpp - -vc71/libboost_regex_vc71_ms/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ms/libboost_regex_vc71_ms.pch -Fo./vc71/libboost_regex_vc71_ms/ -Fdvc71/libboost_regex_vc71_ms.pdb ../src/regex_debug.cpp - -vc71/libboost_regex_vc71_ms/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ms/libboost_regex_vc71_ms.pch -Fo./vc71/libboost_regex_vc71_ms/ -Fdvc71/libboost_regex_vc71_ms.pdb ../src/regex_synch.cpp - -vc71/libboost_regex_vc71_ms/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ms/libboost_regex_vc71_ms.pch -Fo./vc71/libboost_regex_vc71_ms/ -Fdvc71/libboost_regex_vc71_ms.pdb ../src/w32_regex_traits.cpp - -vc71/libboost_regex_vc71_ms/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ms/libboost_regex_vc71_ms.pch -Fo./vc71/libboost_regex_vc71_ms/ -Fdvc71/libboost_regex_vc71_ms.pdb ../src/wide_posix_api.cpp - -vc71/libboost_regex_vc71_ms/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ms/libboost_regex_vc71_ms.pch -Fo./vc71/libboost_regex_vc71_ms/ -Fdvc71/libboost_regex_vc71_ms.pdb ../src/winstances.cpp - -libboost_regex_vc71_ms_dir : - @if not exist "vc71\libboost_regex_vc71_ms\$(NULL)" mkdir vc71\libboost_regex_vc71_ms - -libboost_regex_vc71_ms_clean : - del vc71\libboost_regex_vc71_ms\*.obj - del vc71\libboost_regex_vc71_ms\*.idb - del vc71\libboost_regex_vc71_ms\*.exp - del vc71\libboost_regex_vc71_ms\*.pch - -./vc71/libboost_regex_vc71_ms.lib : vc71/libboost_regex_vc71_ms/c_regex_traits.obj vc71/libboost_regex_vc71_ms/c_regex_traits_common.obj vc71/libboost_regex_vc71_ms/cpp_regex_traits.obj vc71/libboost_regex_vc71_ms/cregex.obj vc71/libboost_regex_vc71_ms/fileiter.obj vc71/libboost_regex_vc71_ms/instances.obj vc71/libboost_regex_vc71_ms/posix_api.obj vc71/libboost_regex_vc71_ms/regex.obj vc71/libboost_regex_vc71_ms/regex_debug.obj vc71/libboost_regex_vc71_ms/regex_synch.obj vc71/libboost_regex_vc71_ms/w32_regex_traits.obj vc71/libboost_regex_vc71_ms/wide_posix_api.obj vc71/libboost_regex_vc71_ms/winstances.obj - link -lib /nologo /out:vc71/libboost_regex_vc71_ms.lib $(XSFLAGS) vc71/libboost_regex_vc71_ms/c_regex_traits.obj vc71/libboost_regex_vc71_ms/c_regex_traits_common.obj vc71/libboost_regex_vc71_ms/cpp_regex_traits.obj vc71/libboost_regex_vc71_ms/cregex.obj vc71/libboost_regex_vc71_ms/fileiter.obj vc71/libboost_regex_vc71_ms/instances.obj vc71/libboost_regex_vc71_ms/posix_api.obj vc71/libboost_regex_vc71_ms/regex.obj vc71/libboost_regex_vc71_ms/regex_debug.obj vc71/libboost_regex_vc71_ms/regex_synch.obj vc71/libboost_regex_vc71_ms/w32_regex_traits.obj vc71/libboost_regex_vc71_ms/wide_posix_api.obj vc71/libboost_regex_vc71_ms/winstances.obj - -######################################################## -# -# section for libboost_regex_vc71_ssd.lib -# -######################################################## -vc71/libboost_regex_vc71_ssd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ssd/libboost_regex_vc71_ssd.pch -Fo./vc71/libboost_regex_vc71_ssd/ -Fdvc71/libboost_regex_vc71_ssd.pdb ../src/c_regex_traits.cpp - -vc71/libboost_regex_vc71_ssd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ssd/libboost_regex_vc71_ssd.pch -Fo./vc71/libboost_regex_vc71_ssd/ -Fdvc71/libboost_regex_vc71_ssd.pdb ../src/c_regex_traits_common.cpp - -vc71/libboost_regex_vc71_ssd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ssd/libboost_regex_vc71_ssd.pch -Fo./vc71/libboost_regex_vc71_ssd/ -Fdvc71/libboost_regex_vc71_ssd.pdb ../src/cpp_regex_traits.cpp - -vc71/libboost_regex_vc71_ssd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ssd/libboost_regex_vc71_ssd.pch -Fo./vc71/libboost_regex_vc71_ssd/ -Fdvc71/libboost_regex_vc71_ssd.pdb ../src/cregex.cpp - -vc71/libboost_regex_vc71_ssd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ssd/libboost_regex_vc71_ssd.pch -Fo./vc71/libboost_regex_vc71_ssd/ -Fdvc71/libboost_regex_vc71_ssd.pdb ../src/fileiter.cpp - -vc71/libboost_regex_vc71_ssd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ssd/libboost_regex_vc71_ssd.pch -Fo./vc71/libboost_regex_vc71_ssd/ -Fdvc71/libboost_regex_vc71_ssd.pdb ../src/instances.cpp - -vc71/libboost_regex_vc71_ssd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ssd/libboost_regex_vc71_ssd.pch -Fo./vc71/libboost_regex_vc71_ssd/ -Fdvc71/libboost_regex_vc71_ssd.pdb ../src/posix_api.cpp - -vc71/libboost_regex_vc71_ssd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ssd/libboost_regex_vc71_ssd.pch -Fo./vc71/libboost_regex_vc71_ssd/ -Fdvc71/libboost_regex_vc71_ssd.pdb ../src/regex.cpp - -vc71/libboost_regex_vc71_ssd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ssd/libboost_regex_vc71_ssd.pch -Fo./vc71/libboost_regex_vc71_ssd/ -Fdvc71/libboost_regex_vc71_ssd.pdb ../src/regex_debug.cpp - -vc71/libboost_regex_vc71_ssd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ssd/libboost_regex_vc71_ssd.pch -Fo./vc71/libboost_regex_vc71_ssd/ -Fdvc71/libboost_regex_vc71_ssd.pdb ../src/regex_synch.cpp - -vc71/libboost_regex_vc71_ssd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ssd/libboost_regex_vc71_ssd.pch -Fo./vc71/libboost_regex_vc71_ssd/ -Fdvc71/libboost_regex_vc71_ssd.pdb ../src/w32_regex_traits.cpp - -vc71/libboost_regex_vc71_ssd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ssd/libboost_regex_vc71_ssd.pch -Fo./vc71/libboost_regex_vc71_ssd/ -Fdvc71/libboost_regex_vc71_ssd.pdb ../src/wide_posix_api.cpp - -vc71/libboost_regex_vc71_ssd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_ssd/libboost_regex_vc71_ssd.pch -Fo./vc71/libboost_regex_vc71_ssd/ -Fdvc71/libboost_regex_vc71_ssd.pdb ../src/winstances.cpp - -libboost_regex_vc71_ssd_dir : - @if not exist "vc71\libboost_regex_vc71_ssd\$(NULL)" mkdir vc71\libboost_regex_vc71_ssd - -libboost_regex_vc71_ssd_clean : - del vc71\libboost_regex_vc71_ssd\*.obj - del vc71\libboost_regex_vc71_ssd\*.idb - del vc71\libboost_regex_vc71_ssd\*.exp - del vc71\libboost_regex_vc71_ssd\*.pch - -./vc71/libboost_regex_vc71_ssd.lib : vc71/libboost_regex_vc71_ssd/c_regex_traits.obj vc71/libboost_regex_vc71_ssd/c_regex_traits_common.obj vc71/libboost_regex_vc71_ssd/cpp_regex_traits.obj vc71/libboost_regex_vc71_ssd/cregex.obj vc71/libboost_regex_vc71_ssd/fileiter.obj vc71/libboost_regex_vc71_ssd/instances.obj vc71/libboost_regex_vc71_ssd/posix_api.obj vc71/libboost_regex_vc71_ssd/regex.obj vc71/libboost_regex_vc71_ssd/regex_debug.obj vc71/libboost_regex_vc71_ssd/regex_synch.obj vc71/libboost_regex_vc71_ssd/w32_regex_traits.obj vc71/libboost_regex_vc71_ssd/wide_posix_api.obj vc71/libboost_regex_vc71_ssd/winstances.obj - link -lib /nologo /out:vc71/libboost_regex_vc71_ssd.lib $(XSFLAGS) vc71/libboost_regex_vc71_ssd/c_regex_traits.obj vc71/libboost_regex_vc71_ssd/c_regex_traits_common.obj vc71/libboost_regex_vc71_ssd/cpp_regex_traits.obj vc71/libboost_regex_vc71_ssd/cregex.obj vc71/libboost_regex_vc71_ssd/fileiter.obj vc71/libboost_regex_vc71_ssd/instances.obj vc71/libboost_regex_vc71_ssd/posix_api.obj vc71/libboost_regex_vc71_ssd/regex.obj vc71/libboost_regex_vc71_ssd/regex_debug.obj vc71/libboost_regex_vc71_ssd/regex_synch.obj vc71/libboost_regex_vc71_ssd/w32_regex_traits.obj vc71/libboost_regex_vc71_ssd/wide_posix_api.obj vc71/libboost_regex_vc71_ssd/winstances.obj - -######################################################## -# -# section for libboost_regex_vc71_msd.lib -# -######################################################## -vc71/libboost_regex_vc71_msd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_msd/libboost_regex_vc71_msd.pch -Fo./vc71/libboost_regex_vc71_msd/ -Fdvc71/libboost_regex_vc71_msd.pdb ../src/c_regex_traits.cpp - -vc71/libboost_regex_vc71_msd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_msd/libboost_regex_vc71_msd.pch -Fo./vc71/libboost_regex_vc71_msd/ -Fdvc71/libboost_regex_vc71_msd.pdb ../src/c_regex_traits_common.cpp - -vc71/libboost_regex_vc71_msd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_msd/libboost_regex_vc71_msd.pch -Fo./vc71/libboost_regex_vc71_msd/ -Fdvc71/libboost_regex_vc71_msd.pdb ../src/cpp_regex_traits.cpp - -vc71/libboost_regex_vc71_msd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_msd/libboost_regex_vc71_msd.pch -Fo./vc71/libboost_regex_vc71_msd/ -Fdvc71/libboost_regex_vc71_msd.pdb ../src/cregex.cpp - -vc71/libboost_regex_vc71_msd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_msd/libboost_regex_vc71_msd.pch -Fo./vc71/libboost_regex_vc71_msd/ -Fdvc71/libboost_regex_vc71_msd.pdb ../src/fileiter.cpp - -vc71/libboost_regex_vc71_msd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_msd/libboost_regex_vc71_msd.pch -Fo./vc71/libboost_regex_vc71_msd/ -Fdvc71/libboost_regex_vc71_msd.pdb ../src/instances.cpp - -vc71/libboost_regex_vc71_msd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_msd/libboost_regex_vc71_msd.pch -Fo./vc71/libboost_regex_vc71_msd/ -Fdvc71/libboost_regex_vc71_msd.pdb ../src/posix_api.cpp - -vc71/libboost_regex_vc71_msd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_msd/libboost_regex_vc71_msd.pch -Fo./vc71/libboost_regex_vc71_msd/ -Fdvc71/libboost_regex_vc71_msd.pdb ../src/regex.cpp - -vc71/libboost_regex_vc71_msd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_msd/libboost_regex_vc71_msd.pch -Fo./vc71/libboost_regex_vc71_msd/ -Fdvc71/libboost_regex_vc71_msd.pdb ../src/regex_debug.cpp - -vc71/libboost_regex_vc71_msd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_msd/libboost_regex_vc71_msd.pch -Fo./vc71/libboost_regex_vc71_msd/ -Fdvc71/libboost_regex_vc71_msd.pdb ../src/regex_synch.cpp - -vc71/libboost_regex_vc71_msd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_msd/libboost_regex_vc71_msd.pch -Fo./vc71/libboost_regex_vc71_msd/ -Fdvc71/libboost_regex_vc71_msd.pdb ../src/w32_regex_traits.cpp - -vc71/libboost_regex_vc71_msd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_msd/libboost_regex_vc71_msd.pch -Fo./vc71/libboost_regex_vc71_msd/ -Fdvc71/libboost_regex_vc71_msd.pdb ../src/wide_posix_api.cpp - -vc71/libboost_regex_vc71_msd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_msd/libboost_regex_vc71_msd.pch -Fo./vc71/libboost_regex_vc71_msd/ -Fdvc71/libboost_regex_vc71_msd.pdb ../src/winstances.cpp - -libboost_regex_vc71_msd_dir : - @if not exist "vc71\libboost_regex_vc71_msd\$(NULL)" mkdir vc71\libboost_regex_vc71_msd - -libboost_regex_vc71_msd_clean : - del vc71\libboost_regex_vc71_msd\*.obj - del vc71\libboost_regex_vc71_msd\*.idb - del vc71\libboost_regex_vc71_msd\*.exp - del vc71\libboost_regex_vc71_msd\*.pch - -./vc71/libboost_regex_vc71_msd.lib : vc71/libboost_regex_vc71_msd/c_regex_traits.obj vc71/libboost_regex_vc71_msd/c_regex_traits_common.obj vc71/libboost_regex_vc71_msd/cpp_regex_traits.obj vc71/libboost_regex_vc71_msd/cregex.obj vc71/libboost_regex_vc71_msd/fileiter.obj vc71/libboost_regex_vc71_msd/instances.obj vc71/libboost_regex_vc71_msd/posix_api.obj vc71/libboost_regex_vc71_msd/regex.obj vc71/libboost_regex_vc71_msd/regex_debug.obj vc71/libboost_regex_vc71_msd/regex_synch.obj vc71/libboost_regex_vc71_msd/w32_regex_traits.obj vc71/libboost_regex_vc71_msd/wide_posix_api.obj vc71/libboost_regex_vc71_msd/winstances.obj - link -lib /nologo /out:vc71/libboost_regex_vc71_msd.lib $(XSFLAGS) vc71/libboost_regex_vc71_msd/c_regex_traits.obj vc71/libboost_regex_vc71_msd/c_regex_traits_common.obj vc71/libboost_regex_vc71_msd/cpp_regex_traits.obj vc71/libboost_regex_vc71_msd/cregex.obj vc71/libboost_regex_vc71_msd/fileiter.obj vc71/libboost_regex_vc71_msd/instances.obj vc71/libboost_regex_vc71_msd/posix_api.obj vc71/libboost_regex_vc71_msd/regex.obj vc71/libboost_regex_vc71_msd/regex_debug.obj vc71/libboost_regex_vc71_msd/regex_synch.obj vc71/libboost_regex_vc71_msd/w32_regex_traits.obj vc71/libboost_regex_vc71_msd/wide_posix_api.obj vc71/libboost_regex_vc71_msd/winstances.obj - -######################################################## -# -# section for boost_regex_vc71_mdd.lib -# -######################################################## -vc71/boost_regex_vc71_mdd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdd/boost_regex_vc71_mdd.pch -Fo./vc71/boost_regex_vc71_mdd/ -Fdvc71/boost_regex_vc71_mdd.pdb ../src/c_regex_traits.cpp - -vc71/boost_regex_vc71_mdd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdd/boost_regex_vc71_mdd.pch -Fo./vc71/boost_regex_vc71_mdd/ -Fdvc71/boost_regex_vc71_mdd.pdb ../src/c_regex_traits_common.cpp - -vc71/boost_regex_vc71_mdd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdd/boost_regex_vc71_mdd.pch -Fo./vc71/boost_regex_vc71_mdd/ -Fdvc71/boost_regex_vc71_mdd.pdb ../src/cpp_regex_traits.cpp - -vc71/boost_regex_vc71_mdd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdd/boost_regex_vc71_mdd.pch -Fo./vc71/boost_regex_vc71_mdd/ -Fdvc71/boost_regex_vc71_mdd.pdb ../src/cregex.cpp - -vc71/boost_regex_vc71_mdd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdd/boost_regex_vc71_mdd.pch -Fo./vc71/boost_regex_vc71_mdd/ -Fdvc71/boost_regex_vc71_mdd.pdb ../src/fileiter.cpp - -vc71/boost_regex_vc71_mdd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdd/boost_regex_vc71_mdd.pch -Fo./vc71/boost_regex_vc71_mdd/ -Fdvc71/boost_regex_vc71_mdd.pdb ../src/instances.cpp - -vc71/boost_regex_vc71_mdd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdd/boost_regex_vc71_mdd.pch -Fo./vc71/boost_regex_vc71_mdd/ -Fdvc71/boost_regex_vc71_mdd.pdb ../src/posix_api.cpp - -vc71/boost_regex_vc71_mdd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdd/boost_regex_vc71_mdd.pch -Fo./vc71/boost_regex_vc71_mdd/ -Fdvc71/boost_regex_vc71_mdd.pdb ../src/regex.cpp - -vc71/boost_regex_vc71_mdd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdd/boost_regex_vc71_mdd.pch -Fo./vc71/boost_regex_vc71_mdd/ -Fdvc71/boost_regex_vc71_mdd.pdb ../src/regex_debug.cpp - -vc71/boost_regex_vc71_mdd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdd/boost_regex_vc71_mdd.pch -Fo./vc71/boost_regex_vc71_mdd/ -Fdvc71/boost_regex_vc71_mdd.pdb ../src/regex_synch.cpp - -vc71/boost_regex_vc71_mdd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdd/boost_regex_vc71_mdd.pch -Fo./vc71/boost_regex_vc71_mdd/ -Fdvc71/boost_regex_vc71_mdd.pdb ../src/w32_regex_traits.cpp - -vc71/boost_regex_vc71_mdd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdd/boost_regex_vc71_mdd.pch -Fo./vc71/boost_regex_vc71_mdd/ -Fdvc71/boost_regex_vc71_mdd.pdb ../src/wide_posix_api.cpp - -vc71/boost_regex_vc71_mdd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdd/boost_regex_vc71_mdd.pch -Fo./vc71/boost_regex_vc71_mdd/ -Fdvc71/boost_regex_vc71_mdd.pdb ../src/winstances.cpp - -boost_regex_vc71_mdd_dir : - @if not exist "vc71\boost_regex_vc71_mdd\$(NULL)" mkdir vc71\boost_regex_vc71_mdd - -boost_regex_vc71_mdd_clean : - del vc71\boost_regex_vc71_mdd\*.obj - del vc71\boost_regex_vc71_mdd\*.idb - del vc71\boost_regex_vc71_mdd\*.exp - del vc71\boost_regex_vc71_mdd\*.pch - -./vc71/boost_regex_vc71_mdd.lib : vc71/boost_regex_vc71_mdd/c_regex_traits.obj vc71/boost_regex_vc71_mdd/c_regex_traits_common.obj vc71/boost_regex_vc71_mdd/cpp_regex_traits.obj vc71/boost_regex_vc71_mdd/cregex.obj vc71/boost_regex_vc71_mdd/fileiter.obj vc71/boost_regex_vc71_mdd/instances.obj vc71/boost_regex_vc71_mdd/posix_api.obj vc71/boost_regex_vc71_mdd/regex.obj vc71/boost_regex_vc71_mdd/regex_debug.obj vc71/boost_regex_vc71_mdd/regex_synch.obj vc71/boost_regex_vc71_mdd/w32_regex_traits.obj vc71/boost_regex_vc71_mdd/wide_posix_api.obj vc71/boost_regex_vc71_mdd/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_mdd.pdb" /debug /machine:I386 /out:"vc71/boost_regex_vc71_mdd.dll" /implib:"vc71/boost_regex_vc71_mdd.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc71/boost_regex_vc71_mdd/c_regex_traits.obj vc71/boost_regex_vc71_mdd/c_regex_traits_common.obj vc71/boost_regex_vc71_mdd/cpp_regex_traits.obj vc71/boost_regex_vc71_mdd/cregex.obj vc71/boost_regex_vc71_mdd/fileiter.obj vc71/boost_regex_vc71_mdd/instances.obj vc71/boost_regex_vc71_mdd/posix_api.obj vc71/boost_regex_vc71_mdd/regex.obj vc71/boost_regex_vc71_mdd/regex_debug.obj vc71/boost_regex_vc71_mdd/regex_synch.obj vc71/boost_regex_vc71_mdd/w32_regex_traits.obj vc71/boost_regex_vc71_mdd/wide_posix_api.obj vc71/boost_regex_vc71_mdd/winstances.obj - -######################################################## -# -# section for boost_regex_vc71_md.lib -# -######################################################## -vc71/boost_regex_vc71_md/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_md/boost_regex_vc71_md.pch -Fo./vc71/boost_regex_vc71_md/ -Fdvc71/boost_regex_vc71_md.pdb ../src/c_regex_traits.cpp - -vc71/boost_regex_vc71_md/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_md/boost_regex_vc71_md.pch -Fo./vc71/boost_regex_vc71_md/ -Fdvc71/boost_regex_vc71_md.pdb ../src/c_regex_traits_common.cpp - -vc71/boost_regex_vc71_md/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_md/boost_regex_vc71_md.pch -Fo./vc71/boost_regex_vc71_md/ -Fdvc71/boost_regex_vc71_md.pdb ../src/cpp_regex_traits.cpp - -vc71/boost_regex_vc71_md/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_md/boost_regex_vc71_md.pch -Fo./vc71/boost_regex_vc71_md/ -Fdvc71/boost_regex_vc71_md.pdb ../src/cregex.cpp - -vc71/boost_regex_vc71_md/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_md/boost_regex_vc71_md.pch -Fo./vc71/boost_regex_vc71_md/ -Fdvc71/boost_regex_vc71_md.pdb ../src/fileiter.cpp - -vc71/boost_regex_vc71_md/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_md/boost_regex_vc71_md.pch -Fo./vc71/boost_regex_vc71_md/ -Fdvc71/boost_regex_vc71_md.pdb ../src/instances.cpp - -vc71/boost_regex_vc71_md/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_md/boost_regex_vc71_md.pch -Fo./vc71/boost_regex_vc71_md/ -Fdvc71/boost_regex_vc71_md.pdb ../src/posix_api.cpp - -vc71/boost_regex_vc71_md/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_md/boost_regex_vc71_md.pch -Fo./vc71/boost_regex_vc71_md/ -Fdvc71/boost_regex_vc71_md.pdb ../src/regex.cpp - -vc71/boost_regex_vc71_md/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_md/boost_regex_vc71_md.pch -Fo./vc71/boost_regex_vc71_md/ -Fdvc71/boost_regex_vc71_md.pdb ../src/regex_debug.cpp - -vc71/boost_regex_vc71_md/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_md/boost_regex_vc71_md.pch -Fo./vc71/boost_regex_vc71_md/ -Fdvc71/boost_regex_vc71_md.pdb ../src/regex_synch.cpp - -vc71/boost_regex_vc71_md/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_md/boost_regex_vc71_md.pch -Fo./vc71/boost_regex_vc71_md/ -Fdvc71/boost_regex_vc71_md.pdb ../src/w32_regex_traits.cpp - -vc71/boost_regex_vc71_md/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_md/boost_regex_vc71_md.pch -Fo./vc71/boost_regex_vc71_md/ -Fdvc71/boost_regex_vc71_md.pdb ../src/wide_posix_api.cpp - -vc71/boost_regex_vc71_md/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_md/boost_regex_vc71_md.pch -Fo./vc71/boost_regex_vc71_md/ -Fdvc71/boost_regex_vc71_md.pdb ../src/winstances.cpp - -boost_regex_vc71_md_dir : - @if not exist "vc71\boost_regex_vc71_md\$(NULL)" mkdir vc71\boost_regex_vc71_md - -boost_regex_vc71_md_clean : - del vc71\boost_regex_vc71_md\*.obj - del vc71\boost_regex_vc71_md\*.idb - del vc71\boost_regex_vc71_md\*.exp - del vc71\boost_regex_vc71_md\*.pch - -./vc71/boost_regex_vc71_md.lib : vc71/boost_regex_vc71_md/c_regex_traits.obj vc71/boost_regex_vc71_md/c_regex_traits_common.obj vc71/boost_regex_vc71_md/cpp_regex_traits.obj vc71/boost_regex_vc71_md/cregex.obj vc71/boost_regex_vc71_md/fileiter.obj vc71/boost_regex_vc71_md/instances.obj vc71/boost_regex_vc71_md/posix_api.obj vc71/boost_regex_vc71_md/regex.obj vc71/boost_regex_vc71_md/regex_debug.obj vc71/boost_regex_vc71_md/regex_synch.obj vc71/boost_regex_vc71_md/w32_regex_traits.obj vc71/boost_regex_vc71_md/wide_posix_api.obj vc71/boost_regex_vc71_md/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_md.pdb" /debug /machine:I386 /out:"vc71/boost_regex_vc71_md.dll" /implib:"vc71/boost_regex_vc71_md.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc71/boost_regex_vc71_md/c_regex_traits.obj vc71/boost_regex_vc71_md/c_regex_traits_common.obj vc71/boost_regex_vc71_md/cpp_regex_traits.obj vc71/boost_regex_vc71_md/cregex.obj vc71/boost_regex_vc71_md/fileiter.obj vc71/boost_regex_vc71_md/instances.obj vc71/boost_regex_vc71_md/posix_api.obj vc71/boost_regex_vc71_md/regex.obj vc71/boost_regex_vc71_md/regex_debug.obj vc71/boost_regex_vc71_md/regex_synch.obj vc71/boost_regex_vc71_md/w32_regex_traits.obj vc71/boost_regex_vc71_md/wide_posix_api.obj vc71/boost_regex_vc71_md/winstances.obj - -######################################################## -# -# section for libboost_regex_vc71_md.lib -# -######################################################## -vc71/libboost_regex_vc71_md/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_md/libboost_regex_vc71_md.pch -Fo./vc71/libboost_regex_vc71_md/ -Fdvc71/libboost_regex_vc71_md.pdb ../src/c_regex_traits.cpp - -vc71/libboost_regex_vc71_md/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_md/libboost_regex_vc71_md.pch -Fo./vc71/libboost_regex_vc71_md/ -Fdvc71/libboost_regex_vc71_md.pdb ../src/c_regex_traits_common.cpp - -vc71/libboost_regex_vc71_md/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_md/libboost_regex_vc71_md.pch -Fo./vc71/libboost_regex_vc71_md/ -Fdvc71/libboost_regex_vc71_md.pdb ../src/cpp_regex_traits.cpp - -vc71/libboost_regex_vc71_md/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_md/libboost_regex_vc71_md.pch -Fo./vc71/libboost_regex_vc71_md/ -Fdvc71/libboost_regex_vc71_md.pdb ../src/cregex.cpp - -vc71/libboost_regex_vc71_md/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_md/libboost_regex_vc71_md.pch -Fo./vc71/libboost_regex_vc71_md/ -Fdvc71/libboost_regex_vc71_md.pdb ../src/fileiter.cpp - -vc71/libboost_regex_vc71_md/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_md/libboost_regex_vc71_md.pch -Fo./vc71/libboost_regex_vc71_md/ -Fdvc71/libboost_regex_vc71_md.pdb ../src/instances.cpp - -vc71/libboost_regex_vc71_md/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_md/libboost_regex_vc71_md.pch -Fo./vc71/libboost_regex_vc71_md/ -Fdvc71/libboost_regex_vc71_md.pdb ../src/posix_api.cpp - -vc71/libboost_regex_vc71_md/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_md/libboost_regex_vc71_md.pch -Fo./vc71/libboost_regex_vc71_md/ -Fdvc71/libboost_regex_vc71_md.pdb ../src/regex.cpp - -vc71/libboost_regex_vc71_md/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_md/libboost_regex_vc71_md.pch -Fo./vc71/libboost_regex_vc71_md/ -Fdvc71/libboost_regex_vc71_md.pdb ../src/regex_debug.cpp - -vc71/libboost_regex_vc71_md/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_md/libboost_regex_vc71_md.pch -Fo./vc71/libboost_regex_vc71_md/ -Fdvc71/libboost_regex_vc71_md.pdb ../src/regex_synch.cpp - -vc71/libboost_regex_vc71_md/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_md/libboost_regex_vc71_md.pch -Fo./vc71/libboost_regex_vc71_md/ -Fdvc71/libboost_regex_vc71_md.pdb ../src/w32_regex_traits.cpp - -vc71/libboost_regex_vc71_md/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_md/libboost_regex_vc71_md.pch -Fo./vc71/libboost_regex_vc71_md/ -Fdvc71/libboost_regex_vc71_md.pdb ../src/wide_posix_api.cpp - -vc71/libboost_regex_vc71_md/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_md/libboost_regex_vc71_md.pch -Fo./vc71/libboost_regex_vc71_md/ -Fdvc71/libboost_regex_vc71_md.pdb ../src/winstances.cpp - -libboost_regex_vc71_md_dir : - @if not exist "vc71\libboost_regex_vc71_md\$(NULL)" mkdir vc71\libboost_regex_vc71_md - -libboost_regex_vc71_md_clean : - del vc71\libboost_regex_vc71_md\*.obj - del vc71\libboost_regex_vc71_md\*.idb - del vc71\libboost_regex_vc71_md\*.exp - del vc71\libboost_regex_vc71_md\*.pch - -./vc71/libboost_regex_vc71_md.lib : vc71/libboost_regex_vc71_md/c_regex_traits.obj vc71/libboost_regex_vc71_md/c_regex_traits_common.obj vc71/libboost_regex_vc71_md/cpp_regex_traits.obj vc71/libboost_regex_vc71_md/cregex.obj vc71/libboost_regex_vc71_md/fileiter.obj vc71/libboost_regex_vc71_md/instances.obj vc71/libboost_regex_vc71_md/posix_api.obj vc71/libboost_regex_vc71_md/regex.obj vc71/libboost_regex_vc71_md/regex_debug.obj vc71/libboost_regex_vc71_md/regex_synch.obj vc71/libboost_regex_vc71_md/w32_regex_traits.obj vc71/libboost_regex_vc71_md/wide_posix_api.obj vc71/libboost_regex_vc71_md/winstances.obj - link -lib /nologo /out:vc71/libboost_regex_vc71_md.lib $(XSFLAGS) vc71/libboost_regex_vc71_md/c_regex_traits.obj vc71/libboost_regex_vc71_md/c_regex_traits_common.obj vc71/libboost_regex_vc71_md/cpp_regex_traits.obj vc71/libboost_regex_vc71_md/cregex.obj vc71/libboost_regex_vc71_md/fileiter.obj vc71/libboost_regex_vc71_md/instances.obj vc71/libboost_regex_vc71_md/posix_api.obj vc71/libboost_regex_vc71_md/regex.obj vc71/libboost_regex_vc71_md/regex_debug.obj vc71/libboost_regex_vc71_md/regex_synch.obj vc71/libboost_regex_vc71_md/w32_regex_traits.obj vc71/libboost_regex_vc71_md/wide_posix_api.obj vc71/libboost_regex_vc71_md/winstances.obj - -######################################################## -# -# section for libboost_regex_vc71_mdd.lib -# -######################################################## -vc71/libboost_regex_vc71_mdd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_mdd/libboost_regex_vc71_mdd.pch -Fo./vc71/libboost_regex_vc71_mdd/ -Fdvc71/libboost_regex_vc71_mdd.pdb ../src/c_regex_traits.cpp - -vc71/libboost_regex_vc71_mdd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_mdd/libboost_regex_vc71_mdd.pch -Fo./vc71/libboost_regex_vc71_mdd/ -Fdvc71/libboost_regex_vc71_mdd.pdb ../src/c_regex_traits_common.cpp - -vc71/libboost_regex_vc71_mdd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_mdd/libboost_regex_vc71_mdd.pch -Fo./vc71/libboost_regex_vc71_mdd/ -Fdvc71/libboost_regex_vc71_mdd.pdb ../src/cpp_regex_traits.cpp - -vc71/libboost_regex_vc71_mdd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_mdd/libboost_regex_vc71_mdd.pch -Fo./vc71/libboost_regex_vc71_mdd/ -Fdvc71/libboost_regex_vc71_mdd.pdb ../src/cregex.cpp - -vc71/libboost_regex_vc71_mdd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_mdd/libboost_regex_vc71_mdd.pch -Fo./vc71/libboost_regex_vc71_mdd/ -Fdvc71/libboost_regex_vc71_mdd.pdb ../src/fileiter.cpp - -vc71/libboost_regex_vc71_mdd/instances.obj: ../src/instances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_mdd/libboost_regex_vc71_mdd.pch -Fo./vc71/libboost_regex_vc71_mdd/ -Fdvc71/libboost_regex_vc71_mdd.pdb ../src/instances.cpp - -vc71/libboost_regex_vc71_mdd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_mdd/libboost_regex_vc71_mdd.pch -Fo./vc71/libboost_regex_vc71_mdd/ -Fdvc71/libboost_regex_vc71_mdd.pdb ../src/posix_api.cpp - -vc71/libboost_regex_vc71_mdd/regex.obj: ../src/regex.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_mdd/libboost_regex_vc71_mdd.pch -Fo./vc71/libboost_regex_vc71_mdd/ -Fdvc71/libboost_regex_vc71_mdd.pdb ../src/regex.cpp - -vc71/libboost_regex_vc71_mdd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_mdd/libboost_regex_vc71_mdd.pch -Fo./vc71/libboost_regex_vc71_mdd/ -Fdvc71/libboost_regex_vc71_mdd.pdb ../src/regex_debug.cpp - -vc71/libboost_regex_vc71_mdd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_mdd/libboost_regex_vc71_mdd.pch -Fo./vc71/libboost_regex_vc71_mdd/ -Fdvc71/libboost_regex_vc71_mdd.pdb ../src/regex_synch.cpp - -vc71/libboost_regex_vc71_mdd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_mdd/libboost_regex_vc71_mdd.pch -Fo./vc71/libboost_regex_vc71_mdd/ -Fdvc71/libboost_regex_vc71_mdd.pdb ../src/w32_regex_traits.cpp - -vc71/libboost_regex_vc71_mdd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_mdd/libboost_regex_vc71_mdd.pch -Fo./vc71/libboost_regex_vc71_mdd/ -Fdvc71/libboost_regex_vc71_mdd.pdb ../src/wide_posix_api.cpp - -vc71/libboost_regex_vc71_mdd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER) - cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/libboost_regex_vc71_mdd/libboost_regex_vc71_mdd.pch -Fo./vc71/libboost_regex_vc71_mdd/ -Fdvc71/libboost_regex_vc71_mdd.pdb ../src/winstances.cpp - -libboost_regex_vc71_mdd_dir : - @if not exist "vc71\libboost_regex_vc71_mdd\$(NULL)" mkdir vc71\libboost_regex_vc71_mdd - -libboost_regex_vc71_mdd_clean : - del vc71\libboost_regex_vc71_mdd\*.obj - del vc71\libboost_regex_vc71_mdd\*.idb - del vc71\libboost_regex_vc71_mdd\*.exp - del vc71\libboost_regex_vc71_mdd\*.pch - -./vc71/libboost_regex_vc71_mdd.lib : vc71/libboost_regex_vc71_mdd/c_regex_traits.obj vc71/libboost_regex_vc71_mdd/c_regex_traits_common.obj vc71/libboost_regex_vc71_mdd/cpp_regex_traits.obj vc71/libboost_regex_vc71_mdd/cregex.obj vc71/libboost_regex_vc71_mdd/fileiter.obj vc71/libboost_regex_vc71_mdd/instances.obj vc71/libboost_regex_vc71_mdd/posix_api.obj vc71/libboost_regex_vc71_mdd/regex.obj vc71/libboost_regex_vc71_mdd/regex_debug.obj vc71/libboost_regex_vc71_mdd/regex_synch.obj vc71/libboost_regex_vc71_mdd/w32_regex_traits.obj vc71/libboost_regex_vc71_mdd/wide_posix_api.obj vc71/libboost_regex_vc71_mdd/winstances.obj - link -lib /nologo /out:vc71/libboost_regex_vc71_mdd.lib $(XSFLAGS) vc71/libboost_regex_vc71_mdd/c_regex_traits.obj vc71/libboost_regex_vc71_mdd/c_regex_traits_common.obj vc71/libboost_regex_vc71_mdd/cpp_regex_traits.obj vc71/libboost_regex_vc71_mdd/cregex.obj vc71/libboost_regex_vc71_mdd/fileiter.obj vc71/libboost_regex_vc71_mdd/instances.obj vc71/libboost_regex_vc71_mdd/posix_api.obj vc71/libboost_regex_vc71_mdd/regex.obj vc71/libboost_regex_vc71_mdd/regex_debug.obj vc71/libboost_regex_vc71_mdd/regex_synch.obj vc71/libboost_regex_vc71_mdd/w32_regex_traits.obj vc71/libboost_regex_vc71_mdd/wide_posix_api.obj vc71/libboost_regex_vc71_mdd/winstances.obj - diff --git a/build/vc_gen.sh b/build/vc_gen.sh deleted file mode 100644 index 2d900fb3..00000000 --- a/build/vc_gen.sh +++ /dev/null @@ -1,396 +0,0 @@ -#! /bin/bash - -libname="" -src="" -header="" -all_dep="" - -# current makefile: -out="" -# temporary file: -tout="" -# install target temp file: -iout="" -# debug flag: -debug="no" -# compile options: -opts="" -# main output sub-directory: -subdir="" - -function vc6_gen_lib() -{ - all_dep="$all_dep $libname""_dir ./$subdir/$libname.lib" - echo " copy $subdir\\$libname.lib "'"$'"(MSVCDIR)\\lib"'"' >> $iout - if test $debug == "yes"; then - echo " copy $subdir\\$libname.pdb "'"$'"(MSVCDIR)\\lib"'"' >> $iout - fi -# -# set up section comments: - cat >> $tout << EOF -######################################################## -# -# section for $libname.lib -# -######################################################## -EOF -# -# process source files: - all_obj="" - for file in $src - do - obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1obj/g'` - obj="$subdir/$libname/$obj" - all_obj="$all_obj $obj" - echo "$obj: $file \$(ALL_HEADER)" >> $tout - echo " cl \$(INCLUDES) $opts \$(CXXFLAGS) -Fp$subdir/$libname/$libname.pch -Fo./$subdir/$libname/ -Fd$subdir/$libname.pdb $file" >> $tout - echo "" >> $tout - done -# -# now for the directories for this library: - echo "$libname"_dir : >> $tout - echo " @if not exist \"$subdir\\$libname\\\$(NULL)\" mkdir $subdir\\$libname" >> $tout - echo "" >> $tout -# -# now for the clean options for this library: - all_clean="$all_clean $libname""_clean" - echo "$libname"_clean : >> $tout - echo " del $subdir\\$libname\\"'*.obj' >> $tout - echo " del $subdir\\$libname\\"'*.idb' >> $tout - echo " del $subdir\\$libname\\"'*.exp' >> $tout - echo " del $subdir\\$libname\\"'*.pch' >> $tout - echo "" >> $tout -# -# now for the main target for this library: - echo ./$subdir/$libname.lib : $all_obj >> $tout - echo " link -lib /nologo /out:$subdir/$libname.lib \$(XSFLAGS) $all_obj" >> $tout - echo "" >> $tout -} - -function vc6_gen_dll() -{ - all_dep="$all_dep $libname""_dir ./$subdir/$libname.lib" - echo " copy $subdir\\$libname.lib "'"$'"(MSVCDIR)\\lib"'"' >> $iout - echo " copy $subdir\\$libname.dll "'"$'"(MSVCDIR)\\bin"'"' >> $iout - if test $debug == "yes"; then - echo " copy $subdir\\$libname.pdb "'"$'"(MSVCDIR)\\lib"'"' >> $iout - fi -# -# set up section comments: - cat >> $tout << EOF -######################################################## -# -# section for $libname.lib -# -######################################################## -EOF -# -# process source files: - all_obj="" - for file in $src - do - obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1obj/g'` - obj="$subdir/$libname/$obj" - all_obj="$all_obj $obj" - echo "$obj: $file \$(ALL_HEADER)" >> $tout - echo " cl \$(INCLUDES) $opts \$(CXXFLAGS) -Fp$subdir/$libname/$libname.pch -Fo./$subdir/$libname/ -Fd$subdir/$libname.pdb $file" >> $tout - echo "" >> $tout - done -# -# now for the directories for this library: - echo "$libname"_dir : >> $tout - echo " @if not exist \"$subdir\\$libname\\\$(NULL)\" mkdir $subdir\\$libname" >> $tout - echo "" >> $tout -# -# now for the clean options for this library: - all_clean="$all_clean $libname""_clean" - echo "$libname"_clean : >> $tout - echo " del $subdir\\$libname\\"'*.obj' >> $tout - echo " del $subdir\\$libname\\"'*.idb' >> $tout - echo " del $subdir\\$libname\\"'*.exp' >> $tout - echo " del $subdir\\$libname\\"'*.pch' >> $tout - echo "" >> $tout -# -# now for the main target for this library: - echo ./$subdir/$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/$libname.pdb\" /debug /machine:I386 /out:\"$subdir/$libname.dll\" /implib:\"$subdir/$libname.lib\" /LIBPATH:\$(STLPORT_PATH)\\lib \$(XLFLAGS) $all_obj" >> $tout - echo "" >> $tout -} - -is_stlport="no" - -function vc6_gen() -{ - debug="no" - tout="temp" - iout="temp_install" - all_dep="main_dir" - all_clean="" - echo > $out - echo > $tout - rm -f $iout - - prefix="$subdir-" - - libname="libboost_regex_${subdir}_ss" - opts='/c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD' - vc6_gen_lib - - libname="libboost_regex_${subdir}_ms" - opts='/nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c' - vc6_gen_lib - - debug="yes" - libname="libboost_regex_${subdir}_ssd" - opts='/nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c ' - vc6_gen_lib - - libname="libboost_regex_${subdir}_msd" - opts='/nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c' - vc6_gen_lib - - libname="boost_regex_${subdir}_mdd" - opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c' - vc6_gen_dll - - debug="no" - opts='/nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c' - libname="boost_regex_${subdir}_md" - vc6_gen_dll - - debug="no" - opts='/nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c' - libname="libboost_regex_${subdir}_md" - vc6_gen_lib - - debug="yes" - libname="libboost_regex_${subdir}_mdd" - opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c' - vc6_gen_lib - - cat > $out << EOF -# -# auto generated makefile for VC6 compiler -# -# usage: -# make -# brings libraries up to date -# make install -# brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended) -# - -# -# Add additional compiler options here: -# -CXXFLAGS= -# -# Add additional include directories here: -# -INCLUDES= -# -# add additional linker flags here: -# -XLFLAGS= -# -# add additional static-library creation flags here: -# -XSFLAGS= - -!IF "\$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "\$(MSVCDIR)" == "" -!ERROR Variable MSVCDIR not set. -!ENDIF - -EOF - echo "" >> $out - echo "ALL_HEADER=$header" >> $out - echo "" >> $out - echo "all : $all_dep" >> $out - echo >> $out - echo "clean : $all_clean" >> $out - echo >> $out - echo "install : all" >> $out - cat $iout >> $out - echo >> $out - echo main_dir : >> $out - echo " @if not exist \"$subdir\\\$(NULL)\" mkdir $subdir" >> $out - echo "" >> $out - - cat $tout >> $out -} - -function vc6_stlp_gen() -{ - debug="no" - tout="temp" - iout="temp_install" - all_dep="main_dir" - all_clean="" - echo > $out - echo > $tout - rm -f $iout - - prefix="$subdir-" - - libname="libboost_regex_${subdir}_ms" - opts='/nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c' - vc6_gen_lib - - debug="true" - libname="libboost_regex_${subdir}_msd" - opts='/nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c' - vc6_gen_lib - - libname="boost_regex_${subdir}_mdd" - opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c' - vc6_gen_dll - - debug="no" - opts='/nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c' - libname="boost_regex_${subdir}_md" - vc6_gen_dll - - debug="no" - opts='/nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c' - libname="libboost_regex_${subdir}_md" - vc6_gen_lib - - debug="true" - libname="libboost_regex_${subdir}_mdd" - opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c' - vc6_gen_lib - -# debug STLPort mode: - debug="yes" - opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c' - libname="boost_regex_${subdir}_mddd" - vc6_gen_dll - libname="libboost_regex_${subdir}_msdd" - opts='/nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c' - vc6_gen_lib - opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c' - libname="libboost_regex_${subdir}_mddd" - vc6_gen_lib - - cat > $out << EOF -# -# auto generated makefile for VC6+STLPort -# -# usage: -# make -# brings libraries up to date -# make install -# brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended) -# - -# -# Add additional compiler options here: -# -CXXFLAGS= -# -# Add additional include directories here: -# -INCLUDES= -# -# add additional linker flags here: -# -XLFLAGS= -# -# add additional static-library creation flags here: -# -XSFLAGS= - -!IF "\$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -!IF "\$(MSVCDIR)" == "" -!ERROR Variable MSVCDIR not set. -!ENDIF - -!IF "\$(STLPORT_PATH)" == "" -!ERROR Variable STLPORT_PATH not set. -!ENDIF - -EOF - echo "" >> $out - echo "ALL_HEADER=$header" >> $out - echo "" >> $out - echo "all : $all_dep" >> $out - echo >> $out - echo "clean : $all_clean" >> $out - echo >> $out - echo "install : stlport_check all" >> $out - cat $iout >> $out - echo >> $out - echo main_dir : >> $out - echo " @if not exist \"$subdir\\\$(NULL)\" mkdir $subdir" >> $out - echo "" >> $out - echo 'stlport_check : $(STLPORT_PATH)\stlport\string' >> $out - echo " echo" >> $out - echo "" >> $out - - cat $tout >> $out -} - - -. common.sh - -# -# generate vc6 makefile: -out="vc6.mak" -subdir="vc6" -vc6_gen -# -# generate vc6-stlport makefile: -is_stlport="yes" -out="vc6-stlport.mak" -no_single="yes" -subdir="vc6-stlport" -vc6_stlp_gen -# -# generate vc7 makefile: -is_stlport="no" -out="vc7.mak" -no_single="no" -subdir="vc7" -vc6_gen -# -# generate vc7-stlport makefile: -is_stlport="yes" -out="vc7-stlport.mak" -no_single="yes" -subdir="vc7-stlport" -vc6_stlp_gen -# -# generate vc71 makefile: -is_stlport="no" -out="vc71.mak" -no_single="no" -subdir="vc71" -vc6_gen -# -# generate vc71-stlport makefile: -is_stlport="yes" -out="vc71-stlport.mak" -no_single="yes" -subdir="vc71-stlport" -vc6_stlp_gen - - -# -# remove tmep files; -rm -f $tout $iout - - - - - - diff --git a/changes.txt b/changes.txt deleted file mode 100644 index 73a053ca..00000000 --- a/changes.txt +++ /dev/null @@ -1,284 +0,0 @@ -Version 331: - -FIXED: All known current bugs. -ADDED: Support for default SGI allocator when available (even if it's not - standard conformant). - -Version 330: -BUG: Broken STLport-4.5 support. -BUG: Not all occurances of BOOST_RE_THREADS changed to use BOOST_HAS_THREADS - -CHANGED: Completely redesigned config support (now fully integrated with boost). -FIXED: Support for building with _UNICODE defined. -FIXED: Bug when running on Windows XP (character classification bitmaps wrong). - -Version 311: -FIXED: Support for STLPort 4.1b6. -FIXED: Library calling convention for VC6 debug builds. -FIXED: Borland compiler support when using non-default calling convention. -CHANGED: Reorganised and simplified config setup. -ADDED: Support for replacing only the first occurance during a regex_merge - using the format_first_only flag. -CHANGED: Removed use of deprecated api set_expression in one of the examples. - -Version 310: -ADDED: Support for static linking with VC6 + dynamic runtime. -CHANGED: Library directory structure. - -Version 305: -FIXED: VC6.sp5 fix. -ADDED: Support for mixed static/dynamic linking with vc6. -ADDED: Sunpro makefiles -FIXED: SunPro 6.1 support -FIXED: Spurious extra matches at the end of input when grepping with .* - -Version 304: -FIXED: Missing this-> prefix to some symbols in cpp_regex_traits.cpp -CHANGED: Error reporting for wide character tests. -FIXED: Win2K problem with [[:unicode:]] -FIXED: Signed/unsigned conversions in regex_compile.hpp and regex_format.hpp -ADDED: Forwarder functions to match_results. -FIXED: More errors from Como in strict mode. - -Version 303: -FIXED: Code glitches for Como compiler in strict mode. -FIXED: Missing fixes for cstdio header. -FIXED: memory leak in underlying w32 traits classes -FIXED: vc6 clean option to remove *.pch files. -CHANGED: Build options for VC6 to avoid compiler optimisation bug. -FIXED: Missing BOOST_RE_NO_WCSTRING guard around using declaration in regex.h -FIXED: Pathological regular expressions in snip4.cpp and in docs. -FIXED: Missing std:: prefixes in some headers. - -Version 302: -FIXED: STLPort debug problems. -FIXED: Compatibility with updated Dinkum libraries and VC6. -ADDED: Tentative support for partial matches (not yet documented). - -Version 301: -First boost release version, -CHANGED: reg_match to match_results -CHANGED: Documentation updated to reflect changes, provided links to sources from docs. -CHANGED: RegEx(const char*) constructor to explicit. -CHANGED: Return type of RegEx::Split to unsigned int. -ADDED: Exception documentation for OS errors. -REMOVED: BOOST_RE_NO_EXCEPTIONS macro. -FIXED: mapfile::open/close to check for OS errors. -FIXED: Non-exception safe code in cpp_regex_traits. -FIXED: Removed undefined symbol INFINITE from re_thrd.hpp -FIXED: Bug in configure script thread detection code. -CHANGED: "depreciated" to "deprecated" -FIXED: Documentation error for bad_expression. -CHANGED: regbase::flag_type to unsigned int -ADDED: explicit constructors to reg_expression/match_results -ADDED: extra signatures for regex_format/regex_merge for std::string arguments. -REMOVED: bad_pattern/bad_expression::what from regex.cpp -REMOVED: Implicit conversion operators from sub_match (except for conversion to basic_string). - -Version 300: -Candidate release boost version, -ADDED: Support for non-greedy repeats. -ADDED: Support for non-marking grouping. -ADDED: Auto-detection of STLPort STL versions. -CHANGED: Re-written and re-organised traits classes. -CHANGED: Regression test make files for more rigorous testing of all build versions. - -Version 249: -Pre-release boost version, -CHANGED: All macro prefixes to BOOST_RE_ -CHANGED: namespaces to boost -CHANGED: Header file extentions to .hpp -DEPRECIATED: Old style algorithms, replaced with more consistant naming style. -DEPRECIATED: Standard library independant compiles no longer possible, bespoke - classes replaced with standard library/boost equivalents where available. - -Version 221: -ADDED: C++ Builder 3 workaround in boost/detail/jgrep.hpp - -Version 220: -ADDED: Merge functions to class RegEx - - -Version 218: -FIXED: All known bugs prior to this version. -FIXED: Added workaround for gcc optimisation bug to jm/regmatch.h -ADDED: Cygwin mount point support. - -Version 217: -BUG: configure script did not correctly identify template - friend support, or template function partial ordering support. - -FIXED: All known bugs prior to this version. - -Version 216: -BUG: Some RegEx::Grep variants buggy. -BUG: FileIterator leaked memory. -BUG: Memory alignment problems with gcc/sparc platform - -CHANGED: RegEx callback declarations to cope with VC6 builds using - non-default calling conventions. -CHANGED: Some configuration options to try and keep Mingwin32 port - of gcc 2.95 happy. -FIXED: Bug in RegEx::What introduced in version 214 fix :-( - -Version 215: -CHANGED: Added #pragma push/pop to fix C++ Builder 3 problems. -CHANGED: Wide to narrow character conversions, to be more conformant with standard. -CHANGED: Minor documentation updates. - -Version 214: -FIXED All known bugs rpior to this point. -CHANGED: Minor changes to keep VC5 and GCC 2.95 happy. - -Version 213: -BUG: Far eastern versions of Win32 could not compile - re_nlsw.cpp due to string literal - code page - interactions. - -ADDED: Convenience conversion operators to sub_match<>. -CHANGED: Removed REG_E_MEMORY as it duplicates REG_ESPACE. -ADDED: Additional tests to regress. -CHANGED: RegEx::GrepFiles and RegEx::FindFiles previously had undefined - behaviour if the callback returned false, changed to abort - the whole search if the callback returns false. - -FIXED: All known bugs prior to this release. - -Version 212: -BUG: Use of catopen in re_mss.cpp causes problems on some systems. -BUG: Comparison operators for reg_expression and reg_match should be const. -BUG: Missing output iterator increment in regfmt.h. - -ADDED: REG_NOCOLLATE, so that locale dependent collation can be turned off for - the POSIX C API's as well as the underlying templates. -CHANGED: Misc. documentation updates. -FIXED: Linking problem for some egcs ports. -CHANGED: Tightened up exception safety. -ADDED: Convenience interfaces to query_match, reg_search, reg_grep, reg_format and reg_merge. -ADDED: Convenience std::string overloads of reg_expression members. -FIXED: All bugs found prior to this release. - - -Version 211: -BUG: RegEx::GrepFiles fails to log sub-expression matches correctly. -BUG: file_iterator/directory_iterator fail to find all files when using '*'. - -CHANGED: Changes required to make the code compile with HP's aCC compiler. -CHANGED: Using declarations, to hide implimentation details. -CHANGED: Behavior of ^ and $ to follow Unicode newline guidelines and account - for \r\n sequences. - -Version 210: -FIXED: All known bugs prior to this point. -ADDED: configure shell script for porting to Unix style systems. -CHANGED: jm::reg_match_base::pair to jm::sub_match, for easier porting. - -Version 200: -BUG: RegEx::GrepFiles buggy -BUG: RegEx::FindFiles buggy -BUG: non-portable header file usage in fileiter.h -BUG: non-portable enum declarations in headers. -BUG: non-portable use of isspace in regfacet.cpp -BUG: Missing regfac.obj from bcb makefiles. -BUG: non-portable declaration of type jm::reg_match_base::reference. -BUG: missing declaration required by some systems. -BUG: Use of JM_NO_WCSTRING incomplete. -BUG: Misspelled JM_NO_EXCEPTIONS in places. -BUG: regfmt.h has typo on line 538. -BUG: reg_format and reg_merge not portable to all output iterator types. -BUG: non-portable use of typedefs. -BUG: non-portable use of friend declarations. - -CHANGED: Allocator usage, to improve efficiency with instance based allocators. -CHANGED: regress.h, various fixes for various Borland C++ versions, allocators cleaned up. -ADDED: Win32 specific localisation code. -ADDED: C and C++ specific localisation code. -ADDED: collating element and equivalence class support. -CHANGED: Character class declarations. -CHANGED: Behaviour of ranges to deal with locales. -ADDED: Support for some perl escape sequences (but not yet (?...) ). -CHANGED: regbase::icase flag now turns on case insensitivity, - traits class char_regex_traits_i is now deprecated. -CHANGED: reg_grep now takes a predicate not an output iterator, - allows user code to terminate search midway through, - and to use regular callback function with grep. -CHANGED: Modified search heuristics to improve certain expression - types, especially expressions which start with a literal - string, or a single character repeat. The latter are much - less likely to become pathological now. -ADDED: High level C++ class RegEx. - -Version 111: -BUG: Wouldn't compile directly on C++ Builder 4 when it was released - (not really a bug - more an incompatibility) - -FIXED: All bugs discovered prior to this version (below). - -Version 110: -BUG: reg_match::maybe_assign could lead to pointer - overrun in certain (rare) circumstances. - -FIXED: All bugs discovered prior to this version (below). -FIXED: Support for VC++, GCC, EGCS. -CHANGED: Regress.h to work around various compiler bugs. - -Version 100: -BUG: Literal "," not recognised as a literal. - -FIXED: All bugs discovered prior to this version (below). -ADDED: Regress.exe, regression test application. - -Version 095 -BUG: wide character sets that start with ^ not recognised, - for example [^[:space:]] will not find anything. -BUG: reg_grep fails if match occurs at first character. -BUG: If regcomp fails, internal data not freed. -BUG: reg_grep fails to reinitialise match after assignment - to output iterator. Line start optimised search restarts - from the wrong location if the match is longer than one line. -BUG: POSIX API functions can propagate C++ exceptions if the - default allocator can throw exceptions. -BUG: character sets don't function correctly when regbase::char_classes - is not set. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/Attic/bad_expression.html b/doc/Attic/bad_expression.html deleted file mode 100644 index 71c42ed1..00000000 --- a/doc/Attic/bad_expression.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - Boost.Regex: bad_expression - - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

class bad_expression

-
-

Boost.Regex Index

-
-
-
-
-

Synopsis

-

#include <boost/pattern_except.hpp>

-

The class bad_expression 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{
-
-class bad_pattern : public std::runtime_error
-{
-public:
-   explicit bad_pattern(const std::string& s) : std::runtime_error(s){};
-};
-
-class bad_expression : public bad_pattern
-{
-public:
-   bad_expression(const std::string& s) : bad_pattern(s) {}
-};
-
-
-} // namespace boost
-
-

Description

-
-bad_expression(const string& what_arg);
-
-

Effects: Constructs an object of class bad_expression.

- -

Postcondition: strcmp(what(), what_arg.c_str()) == 0.

-

Footnotes: the class bad_pattern forms the base class for all - pattern-matching exceptions, of which bad_expression is one. The choice - of std::runtime_error as the base class for bad_pattern is moot; - depending upon how the library is used exceptions may be either logic errors - (programmer supplied expressions) or run time errors (user supplied - expressions).

-

-
-

Revised - - 17 May 2003 -

-

© Copyright John Maddock 1998- - - 2003 -

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/Attic/basic_regex.html b/doc/Attic/basic_regex.html deleted file mode 100644 index 5108c248..00000000 --- a/doc/Attic/basic_regex.html +++ /dev/null @@ -1,1293 +0,0 @@ - - - -Boost.Regex: basic_regex - - - - - - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

basic_regex

-
-

-"Boost.Regex

-
- -
-
- - -
-

Synopsis

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

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

- -

charT: determines the character type, i.e. either -char or wchar_t.

- -

traits: determines the behavior of the character -type, for example which character class names are recognized. A -default traits class is provided: -regex_traits<charT>.

- -

Allocator: the allocator class used to allocate -memory by the class.

- -

For ease of use there are two typedefs that define the two -standard basic_regex instances, unless you want to use -custom traits classes or allocators, you won't need to use anything -other than these:

- -
-namespace boost{
-template <class charT, class traits = regex_traits<charT>, class Allocator = std::allocator<charT>  >
-class basic_regex;
-typedef basic_regex<char> regex;
-typedef basic_regex<wchar_t> wregex;
-}
-
- -

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

- -
-namespace boost{
-
-template <class charT,
-          class traits = regex_traits<charT>,
-          class Allocator = allocator<charT> >
-class basic_regex
-{
-public:
-   // types:
-   typedef          charT                                value_type;
-   typedef          implementation defined               const_iterator;
-   typedef          const_iterator                       iterator;
-   typedef typename Allocator::reference                 reference;
-   typedef typename Allocator::const_reference           const_reference;
-   typedef typename Allocator::difference_type           difference_type;
-   typedef typename Allocator::size_type                 size_type;
-   typedef          Allocator                            allocator_type;
-   typedef          regex_constants::syntax_option_type  flag_type;
-   typedef typename traits::locale_type                  locale_type;
-
-   // constants:
-   static const regex_constants::syntax_option_type normal = regex_constants::normal;
-   static const regex_constants::syntax_option_type icase = regex_constants::icase;
-   static const regex_constants::syntax_option_type nosubs = regex_constants::nosubs;
-   static const regex_constants::syntax_option_type optimize = regex_constants::optimize;
-   static const regex_constants::syntax_option_type collate = regex_constants::collate;
-   static const regex_constants::syntax_option_type ECMAScript = normal;
-   static const regex_constants::syntax_option_type JavaScript = normal;
-   static const regex_constants::syntax_option_type JScript = normal;
-   // these flags are optional, if the functionality is supported
-   // then the flags shall take these names.
-   static const regex_constants::syntax_option_type basic = regex_constants::basic;
-   static const regex_constants::syntax_option_type extended = regex_constants::extended;
-   static const regex_constants::syntax_option_type awk = regex_constants::awk;
-   static const regex_constants::syntax_option_type grep = regex_constants::grep;
-   static const regex_constants::syntax_option_type egrep = regex_constants::egrep;
-   static const regex_constants::syntax_option_type sed = basic = regex_constants::sed;
-   static const regex_constants::syntax_option_type perl = regex_constants::perl;
-
-   // construct/copy/destroy:
-   explicit basic_regex(const Allocator& a = Allocator());
-   explicit basic_regex(const charT* p, flag_type f = regex_constants::normal,
-                        const Allocator& a = Allocator());
-   basic_regex(const charT* p1, const charT* p2, flag_type f = regex_constants::normal,
-               const Allocator& a = Allocator());
-   basic_regex(const charT* p, size_type len, flag_type f,
-               const Allocator& a = Allocator());
-   basic_regex(const basic_regex&);
-   template <class ST, class SA>
-   explicit basic_regex(const basic_string<charT, ST, SA>& p,
-                        flag_type f = regex_constants::normal,
-                        const Allocator& a = Allocator());
-   template <class InputIterator>
-   basic_regex(InputIterator first, inputIterator last,
-               flag_type f = regex_constants::normal,
-               const Allocator& a = Allocator());
-
-   ~basic_regex();
-   basic_regex& operator=(const basic_regex&);
-   basic_regex& operator=(const charT* ptr);
-   template <class ST, class SA>
-   basic_regex& operator=(const basic_string<charT, ST, SA>& p);
-
-   // iterators:
-   const_iterator begin() const;
-   const_iterator end() const;
-   // capacity:
-   size_type size() const;
-   size_type max_size() const;
-   bool empty() const;
-   unsigned mark_count() const;
-
-   //
-   // modifiers:
-   basic_regex& assign(const basic_regex& that);
-   basic_regex& assign(const charT* ptr, flag_type f = regex_constants::normal);
-   basic_regex& assign(const charT* first, const charT* last,
-                       flag_type f = regex_constants::normal);
-   template <class string_traits, class A>
-   basic_regex& assign(const basic_string<charT, string_traits, A>& s,
-                       flag_type f = regex_constants::normal);
-   template <class InputIterator>
-   basic_regex& assign(InputIterator first, InputIterator last,
-                       flag_type f = regex_constants::normal);
-
-   // const operations:
-   Allocator get_allocator() const;
-   flag_type getflags() const;
-   basic_string<charT> str() const;
-   int compare(basic_regex&) const;
-   // locale:
-   locale_type imbue(locale_type loc);
-   locale_type getloc() const;
-   // swap
-   void swap(basic_regex&) throw();
-};
-
-template <class charT, class traits, class Allocator>
-bool operator == (const basic_regex<charT, traits, Allocator>& lhs,
-                  const basic_regex<charT, traits, Allocator>& rhs);
-template <class charT, class traits, class Allocator>
-bool operator != (const basic_regex<charT, traits, Allocator>& lhs,
-                  const basic_regex<charT, traits, Allocator>& rhs);
-template <class charT, class traits, class Allocator>
-bool operator < (const basic_regex<charT, traits, Allocator>& lhs,
-                 const basic_regex<charT, traits, Allocator>& rhs);
-template <class charT, class traits, class Allocator>
-bool operator <= (const basic_regex<charT, traits, Allocator>& lhs,
-                  const basic_regex<charT, traits, Allocator>& rhs);
-template <class charT, class traits, class Allocator>
-bool operator >= (const basic_regex<charT, traits, Allocator>& lhs,
-                  const basic_regex<charT, traits, Allocator>& rhs);
-template <class charT, class traits, class Allocator>
-bool operator > (const basic_regex<charT, traits, Allocator>& lhs,
-                 const basic_regex<charT, traits, Allocator>& rhs);
-
-template <class charT, class io_traits, class re_traits, class Allocator>
-basic_ostream<charT, io_traits>&
-   operator << (basic_ostream<charT, io_traits>& os,
-                const basic_regex<charT, re_traits, Allocator>& e);
-
-template <class charT, class traits, class Allocator>
-void swap(basic_regex<charT, traits, Allocator>& e1,
-          basic_regex<charT, traits, Allocator>& e2);
-
-typedef basic_regex<char> regex;
-typedef basic_regex<wchar_t> wregex;
-
-} // namespace boost
-
- -

Description

- -

Class basic_regex has the following public member -functions:

- -

basic_regex constants

- -
-static const regex_constants::syntax_option_type normal = regex_constants::normal;
-static const regex_constants::syntax_option_type icase = regex_constants::icase;
-static const regex_constants::syntax_option_type nosubs = regex_constants::nosubs;
-static const regex_constants::syntax_option_type optimize = regex_constants::optimize;
-static const regex_constants::syntax_option_type collate = regex_constants::collate;
-static const regex_constants::syntax_option_type ECMAScript = normal;
-static const regex_constants::syntax_option_type JavaScript = normal;
-static const regex_constants::syntax_option_type JScript = normal;
-static const regex_constants::syntax_option_type basic = regex_constants::basic;
-static const regex_constants::syntax_option_type extended = regex_constants::extended;
-static const regex_constants::syntax_option_type awk = regex_constants::awk;
-static const regex_constants::syntax_option_type grep = regex_constants::grep;
-static const regex_constants::syntax_option_type egrep = regex_constants::egrep;
-static const regex_constants::syntax_option_type sed = basic = regex_constants::sed;
-static const regex_constants::syntax_option_type perl = regex_constants::perl;
-
- -

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

- -

basic_regex constructors

- -

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

- -
-basic_regex(const Allocator& a = Allocator());
-
- - - -

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

- -

-
-
- - - - - - - - - - - - - - - - - - - - - - -
- -

Element

-
- -

Value

-
-

empty()

-
-

true

-
-

size()

-
-

0

-
-

str()

-
-

basic_string<charT>()

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

Requires: p shall not be a null pointer.

- - - -

Throws: bad_expression if p is not a -valid regular expression.

- - - -

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

- - - -

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -

Element

-
- -

Value

-
-

empty()

-
-

false

-
-

size()

-
-

char_traits<charT>::length(p)

-
-

str()

-
-

basic_string<charT>(p)

-
-

getflags()

-
-

f

-
-

mark_count()

-
-

The number of marked sub-expressions within the expression.

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

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

- - - -

Throws: bad_expression if [p1,p2) is not a -valid regular expression.

- - - -

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

- - - -

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -

Element

-
- -

Value

-
-

empty()

-
-

false

-
-

size()

-
-

std::distance(p1,p2)

-
-

str()

-
-

basic_string<charT>(p1,p2)

-
-

getflags()

-
-

f

-
-

mark_count()

-
-

The number of marked sub-expressions within the expression.

-
-
-
- -
- 
-
- -
-basic_regex(const charT* p, size_type len, flag_type f, const Allocator& a = Allocator());
-
- - - -

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

- - - -

Throws: bad_expression if p is not a -valid regular expression.

- - - -

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

- - - -

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -

Element

-
- -

Value

-
-

empty()

-
-

false

-
-

size()

-
-

len

-
-

str()

-
-

basic_string<charT>(p, len)

-
-

getflags()

-
-

f

-
-

mark_count()

-
-

The number of marked sub-expressions within the expression.

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

Effects: Constructs an object of class -basic_regex as a copy of the object e. The -postconditions of this function are indicated in the table:

- - - -

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -

Element

-
- -

Value

-
-

empty()

-
-

e.empty()

-
-

size()

-
-

e.size()

-
-

str()

-
-

e.str()

-
-

getflags()

-
-

e.getflags()

-
-

mark_count()

-
-

e.mark_count()

-
-
-
- -
- 
-
- -
-template <class ST, class SA>
-basic_regex(const basic_string<charT, ST, SA>& s,
-            flag_type f = regex_constants::normal, const Allocator& a = Allocator());
-
- - - -

Throws: bad_expression if s is not a -valid regular expression.

- - - -

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

- - - -

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -

Element

-
- -

Value

-
-

empty()

-
-

false

-
-

size()

-
-

s.size()

-
-

str()

-
-

s

-
-

getflags()

-
-

f

-
-

mark_count()

-
-

The number of marked sub-expressions within the expression.

-
-
-
- -
- 
-
- -
-template <class ForwardIterator>
-basic_regex(ForwardIterator first, ForwardIterator last,
-            flag_type f = regex_constants::normal, const Allocator& a = Allocator());
-
- - - -

Throws: bad_expression if the sequence -[first, last) is not a valid regular expression.

- - - -

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

- - - -

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -

Element

-
- -

Value

-
-

empty()

-
-

false

-
-

size()

-
-

distance(first,last)

-
-

str()

-
-

basic_string<charT>(first,last)

-
-

getflags()

-
-

f

-
-

mark_count()

-
-

The number of marked sub-expressions within the expression.

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

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

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

Requires: p shall not be a null pointer.

- - - -

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

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

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

- -

basic_regex iterators

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

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

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

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

- -

basic_regex capacity

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

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

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

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

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

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

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

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

- -

basic_regex assign

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

Effects: Returns assign(that.str(), -that.getflags()).

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

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

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

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

- -
-template <class string_traits, class A>
-basic_regex& assign(const basic_string<charT, string_traits, A>& s,
-                    flag_type f = regex_constants::normal);
-
- - - -

Throws: bad_expression if s is not a -valid regular expression.

- - - -

Returns: *this.

- - - -

Effects: Assigns the regular expression contained in the -string s, interpreted according the option flags specified in f. -The postconditions of this function are indicated in the table:

- - - -

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -

Element

-
- -

Value

-
-

empty()

-
-

false

-
-

size()

-
-

s.size()

-
-

str()

-
-

s

-
-

getflags()

-
-

f

-
-

mark_count()

-
-

The number of marked sub-expressions within the expression.

-
-
-
- -
- 
-
- -
-template <class InputIterator>
-basic_regex& assign(InputIterator first, InputIterator last,
-                    flag_type f = regex_constants::normal);
-
- - - -

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

- - - -

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

- -

basic_regex constant operations

- -
-Allocator get_allocator() const;
-
- - - -

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

- -
-flag_type getflags() const;
-
- - - -

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

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

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

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

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

- -

basic_regex locale

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

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

- - - -

Postcondition: empty() == true.

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

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

- -

basic_regex swap

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

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

- - - -

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

- - - -

Complexity: constant time.

- -

basic_regex non-member functions

- -
basic_regex non-member comparison operators 
- -
-template <class charT, class traits, class Allocator>
-bool operator == (const basic_regex<charT, traits, Allocator>& lhs,
-                  const basic_regex<charT, traits, Allocator>& rhs);
-
- - - -

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

- -
-template <class charT, class traits, class Allocator>
-bool operator != (const basic_regex<charT, traits, Allocator>& lhs,
-                  const basic_regex<charT, traits, Allocator>& rhs);
-
- - - -

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

- -
-template <class charT, class traits, class Allocator>
-bool operator < (const basic_regex<charT, traits, Allocator>& lhs,
-                 const basic_regex<charT, traits, Allocator>& rhs);
-
- - - -

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

- -
-template <class charT, class traits, class Allocator>
-bool operator <= (const basic_regex<charT, traits, Allocator>& lhs,
-                  const basic_regex<charT, traits, Allocator>& rhs);
-
- - - -

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

- -
-template <class charT, class traits, class Allocator>
-bool operator >= (const basic_regex<charT, traits, Allocator>& lhs,
-                  const basic_regex<charT, traits, Allocator>& rhs);
-
- - - -

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

- -
-template <class charT, class traits, class Allocator>
-bool operator > (const basic_regex<charT, traits, Allocator>& lhs,
-                 const basic_regex<charT, traits, Allocator>& rhs);
-
- - - -

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

- -
basic_regex inserter.
- -
-template <class charT, class io_traits, class re_traits, class Allocator>
-basic_ostream<charT, io_traits>&
-   operator << (basic_ostream<charT, io_traits>& os
-                const basic_regex<charT, re_traits, Allocator>& e);
-
- - - -

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

- -
basic_regex non-member swap
- -
-template <class charT, class traits, class Allocator>
-void swap(basic_regex<charT, traits, Allocator>& lhs,
-          basic_regex<charT, traits, Allocator>& rhs);
-
- - - -

Effects: calls lhs.swap(rhs).

- -
-

Revised - -17 May 2003 -

- -

© Copyright John -Maddock 1998- - -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/Attic/configuration.html b/doc/Attic/configuration.html deleted file mode 100644 index 205a9a83..00000000 --- a/doc/Attic/configuration.html +++ /dev/null @@ -1,232 +0,0 @@ - - - -Boost.Regex: Configuration and setup - - - - - - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

Configuration and setup

-
-

-"Boost.Regex

-
- -
-
- - -
-

Contents

- -
-
Compiler setup
- -
Locale and traits class selection
- -
Linkage Options
- -
Algorithm Selection
- -
Algorithm Tuning
-
- -

Compiler setup.

- -

You shouldn't need to do anything special to configure -boost.regex for use with your compiler - the boost.config subsystem should already -take care of it, if you do have problems (or you are using a -particularly obscure compiler or platform) then boost.config has a configure script.

- -

Locale and traits class selection.

- -

The following macros (see user.hpp) control how -boost.regex interacts with the user's locale:

- - - - - - - - - - - - - - - - -
BOOST_REGEX_USE_C_LOCALEForces boost.regex to use the global C locale in its traits -class support: this is the default behavior on non-windows -platforms, but MS Windows platforms normally use the Win32 API for -locale support.
BOOST_REGEX_USE_CPP_LOCALEForces boost.regex to use std::locale in it's default traits -class, regular expressions can then be imbued with an -instance specific locale.
BOOST_REGEX_NO_W32Tells boost.regex not to use any Win32 API's even when -available (implies BOOST_REGEX_USE_C_LOCALE unless -BOOST_REGEX_USE_CPP_LOCALE is set).
- -
-
- - -

Linkage Options

- - - - - - - - - - - -
BOOST_REGEX_DYN_LINKFor Microsoft and Borland C++ builds, this tells boost.regex -that it should link to the dll build of the boost.regex.  By -default boost.regex will link to its static library build, even if -the dynamic C runtime library is in use.
BOOST_REGEX_NO_LIBFor Microsoft and Borland C++ builds, this tells boost.regex -that it should not automatically select the library to link -to.
- -
-
- - -

Algorithm Selection

- - - - - - - - - - - - - - - - -
BOOST_REGEX_V3Tells boost.regex to use the boost-1.30.0 matching algorithm, -define only if you need maximum compatibility with previous -behavior.
BOOST_REGEX_RECURSIVETells boost.regex to use a stack-recursive matching -algorithm.  This is generally the fastest option (although -there is very little in it), but can cause stack overflow in -extreme cases, on Win32 this can be handled safely, but this is not -the case on other platforms.
BOOST_REGEX_NON_RECURSIVETells boost.regex to use a non-stack recursive matching -algorithm, this can be slightly slower than the alternative, but is -always safe no matter how pathological the regular -expression.  This is the default on non-Win32 platforms.
- -
-
- - -

Algorithm Tuning

- -

The following option applies only if BOOST_REGEX_RECURSIVE is -set.

- - - - - - -
BOOST_REGEX_HAS_MS_STACK_GUARDTells boost.regex that Microsoft style __try - __except blocks -are supported, and can be used to safely trap stack overflow.
- -
-
- - -

The following options apply only if BOOST_REGEX_NON_RECURSIVE is -set.

- - - - - - - - - - - - - - - - -
BOOST_REGEX_BLOCKSIZEIn non-recursive mode, boost.regex uses largish blocks of -memory to act as a stack for the state machine, the larger the -block size then the fewer allocations that will take place.  -This defaults to 4096 bytes, which is large enough to match the -vast majority of regular expressions without further -allocations, however, you can choose smaller or larger values -depending upon your platforms characteristics.
BOOST_REGEX_MAX_BLOCKSTells boost.regex how many blocks of size BOOST_REGEX_BLOCKSIZE -it is permitted to use.  If this value is exceeded then -boost.regex will stop trying to find a match and throw a -std::runtime_error.  Defaults to 1024, don't forget to tweek -this value if you alter BOOST_REGEX_BLOCKSIZE by much.
BOOST_REGEX_MAX_CACHE_BLOCKSTells boost.regex how many memory blocks to store in it's -internal cache - memory blocks are taken from this cache rather -than by calling ::operator new.  Generally speeking this can -be an order of magnitude faster than calling ::opertator new each -time a memory block is required, but has the downside that -boost.regex can end up caching a large chunk of memory (by default -up to 16 blocks each of BOOST_REGEX_BLOCKSIZE size).  If -memory is tight then try defining this to 0 (disables all caching), -or if that is too slow, then a value of 1 or 2, may be -sufficient.  On the other hand, on large multi-processor, -multi-threaded systems, you may find that a higher value is in -order.
- -
-
- - -
-

Revised -17 May 2003 -

- -

© Copyright John -Maddock 1998- -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/Attic/contacts.html b/doc/Attic/contacts.html deleted file mode 100644 index 2f12281e..00000000 --- a/doc/Attic/contacts.html +++ /dev/null @@ -1,110 +0,0 @@ - - - -Boost.Regex: Contacts - - - - - -

- - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

Contacts and Acknowledgements

-
-

-"Boost.Regex

-
- -
-
- - -
-

The author can be contacted at -john_maddock@compuserve.com, the home page for this library is -at -http://ourworld.compuserve.com/homepages/john_maddock/regexpp.htm, -and the official boost version can be obtained from www.boost.org/libraries.htm.

- -

I am indebted to Robert Sedgewick's "Algorithms in C++" for -forcing me to think about algorithms and their performance, and to -the folks at boost for forcing me to think, period. The -following people have all contributed useful comments or fixes: -Dave Abrahams, Mike Allison, Edan Ayal, Jayashree Balasubramanian, -Jan Bölsche, Beman Dawes, Paul Baxter, David Bergman, David -Dennerline, Edward Diener, Peter Dimov, Robert Dunn, Fabio Forno, -Tobias Gabrielsson, Rob Gillen, Marc Gregoire, Chris Hecker, Nick -Hodapp, Jesse Jones, Martin Jost, Boris Krasnovskiy, Jan Hermelink, -Max Leung, Wei-hao Lin, Jens Maurer, Richard Peters, Heiko Schmidt, -Jason Shirk, Gerald Slacik, Scobie Smith, Mike Smyth, Alexander -Sokolovsky, Hervé Poirier, Michael Raykh, Marc Recht, Scott -VanCamp, Bruno Voigt, Alexey Voinov, Jerry Waldorf, Rob Ward, -Lealon Watts, Thomas Witt and Yuval Yosef. I am also grateful to -the manuals supplied with the Henry Spencer, Perl and GNU regular -expression libraries - wherever possible I have tried to maintain -compatibility with these libraries and with the POSIX standard - -the code however is entirely my own, including any bugs! I can -absolutely guarantee that I will not fix any bugs I don't know -about, so if you have any comments or spot any bugs, please get in -touch.

- -

Useful further information can be found at:

- -

A short tutorial on regular expressions can be -found here.

- -

The Open Unix -Specification contains a wealth of useful material, including -the regular expression syntax, and specifications for -<regex.h> and -<nl_types.h>.

- -

The Pattern -Matching Pointers site is a "must visit" resource for anyone -interested in pattern matching.

- -

Glimpse and Agrep, -use a simplified regular expression syntax to achieve faster search -times.

- -

Udi Manber -and Ricardo -Baeza-Yates both have a selection of useful pattern matching -papers available from their respective web sites.

- -

- -
-

Revised -17 May 2003 -

- -

© Copyright John -Maddock 1998- -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - diff --git a/doc/Attic/examples.html b/doc/Attic/examples.html deleted file mode 100644 index eeb99819..00000000 --- a/doc/Attic/examples.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - Boost.Regex: Examples - - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Examples

-
-

Boost.Regex Index

-
-
-
-
-

There are three demo applications that ship with this library, they all come - with makefiles for Borland, Microsoft and gcc compilers, otherwise you will - have to create your own makefiles.

-
regress.exe:
-

A regression test application that gives the matching/searching algorithms a - full workout. The presence of this program is your guarantee that the 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.

-

Files: parse.cpp, - regress.cpp, tests.cpp.

-
jgrep.exe
-

A simple grep implementation, run with no command line options to find out its - usage. Look at fileiter.cpp/fileiter.hpp and - the mapfile class to see an example of a "smart" bidirectional iterator that - can be used with boost.regex or any other STL algorithm.

-

Files: jgrep.cpp, - main.cpp.

-
timer.exe
-

A simple interactive expression matching application, the results of all - matches are timed, allowing the programmer to optimize their regular - expressions where performance is critical.

-

Files: regex_timer.cpp.

-
Code snippets
-

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

-

credit_card_example.cpp: - Credit card number formatting code.

-

partial_regex_grep.cpp: - Search example using partial matches.

-

partial_regex_match.cpp: - regex_match example using partial matches.

-

regex_grep_example_1.cpp: - regex_grep example 1: searches a cpp file for class definitions.

-

regex_grep_example_2.cpp: - regex_grep example 2: searches a cpp file for class definitions, using a global - callback function.

-

regex_grep_example_3.cpp: - regex_grep example 2: searches a cpp file for class definitions, using a bound - member function callback.

-

regex_grep_example_4.cpp: - regex_grep example 2: searches a cpp file for class definitions, using a C++ - Builder closure as a callback.

-

regex_match_example.cpp: - ftp based regex_match example.

-

regex_merge_example.cpp: - regex_merge example: converts a C++ file to syntax highlighted HTML.

-

regex_replace_example.cpp: - regex_replace example: converts a C++ file to syntax highlighted HTML

-

regex_search_example.cpp: - regex_search example: searches a cpp file for class definitions.

-

regex_split_example_1.cpp: - regex_split example: split a string into tokens.

-

regex_split_example_2.cpp - : regex_split example: spit out linked URL's.

-

-
-

Revised -17 May 2003 -

- -

© Copyright John -Maddock 1998- -2003 -

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/Attic/faq.html b/doc/Attic/faq.html deleted file mode 100644 index f398ad92..00000000 --- a/doc/Attic/faq.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - -Boost.Regex: FAQ - - - - -

- - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

FAQ

-
-

-"Boost.Regex

-
- -
-
- - -
- -

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

- -

A. These versions may or may not be available depending upon the -capabilities of your compiler, the rules determining the format of -these functions are quite complex - and only the versions visible -to a standard compliant compiler are given in the help. To find out -what your compiler supports, run <boost/regex.hpp> through -your C++ pre-processor, and search the output file for the function -that you are interested in.

- -

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

- -

A. If you embed regular expressions in C++ code, then remember -that escape characters are processed twice: once by the C++ -compiler, and once by the regex++ expression compiler, so to pass -the regular expression \d+ to regex++, you need to embed "\\d+" in -your code. Likewise to match a literal backslash you will need to -embed "\\\\" in your code.

- -

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

- -

For POSIX (extended and basic) regular expressions, but not for -perl regexes, parentheses don't only mark; they determine what the -best match is as well. When the expression is compiled as a POSIX -basic or extended regex then Boost.regex follows the POSIX standard -leftmost longest rule for determining what matched. So if there is -more than one possible match after considering the whole -expression, it looks next at the first sub-expression and then the -second sub-expression and so on. So...

- -
-"(0*)([0-9]*)" against "00123" would produce
-$1 = "00"
-$2 = "123"
-
- -

where as

- -
-"0*([0-9)*" against "00123" would produce
-$1 = "00123"
-
- -

If you think about it, had $1 only matched the "123", this would -be "less good" than the match "00123" which is both further to the -left and longer. If you want $1 to match only the "123" part, then -you need to use something like:

- -
-"0*([1-9][0-9]*)"
-
- -

as the expression.

- -

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

- -

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

- -

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

- -

- -
-

Revised - -17 May 2003 -

- -

© Copyright John -Maddock 1998- - -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/Attic/format_syntax.html b/doc/Attic/format_syntax.html deleted file mode 100644 index 36604d39..00000000 --- a/doc/Attic/format_syntax.html +++ /dev/null @@ -1,272 +0,0 @@ - - - - -Boost.Regex: Format String Syntax - - - - -

- - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

Format String Syntax

-
-

-"Boost.Regex

-
- -
-
- - -
-

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

- -

There are three kind of format string: sed, Perl and extended, -the extended syntax is a superset of the others so this is covered -first.

- -

Extended format syntax

- -

In format strings, all characters are treated as literals -except: ()$\?:

- -

To use any of these as literals you must prefix them with the -escape character \

- -

The following special sequences are recognized: 
-  
- Grouping:

- -

Use the parenthesis characters ( and ) to group sub-expressions -within the format string, use \( and \) to represent literal '(' -and ')'. 
-  
- Sub-expression expansions:

- -

The following Perl like expressions expand to a particular -matched sub-expression:
-  

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 $`Expands to all the text from the end -of the previous match to the start of the current match, if there -was no previous match in the current operation, then everything -from the start of the input string to the start of the match. 
 $'Expands to all the text from the end -of the match to the end of the input string. 
 $&Expands to all of the current -match. 
 $0Expands to all of the current -match. 
 $NExpands to the text that matched -sub-expression N. 
- -
-
- - -

Conditional expressions:

- -

Conditional expressions allow two different format strings to be -selected dependent upon whether a sub-expression participated in -the match or not:

- -

?Ntrue_expression:false_expression

- -

Executes true_expression if sub-expression N participated -in the match, otherwise executes false_expression.

- -

Example: suppose we search for "(while)|(for)" then the format -string "?1WHILE:FOR" would output what matched, but in upper -case. 
-  
- Escape sequences:

- -

The following escape sequences are also allowed:
-

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 \aThe bell character. 
 \fThe form feed character. 
 \nThe newline character. 
 \rThe carriage return character. 
 \tThe tab character. 
 \vA vertical tab character. 
 \xA hexadecimal character - for example -\x0D. 
 \x{}A possible Unicode hexadecimal -character - for example \x{1A0} 
 \cxThe ASCII escape character x, for -example \c@ is equivalent to escape-@. 
 \eThe ASCII escape character. 
 \ddAn octal character constant, for -example \10. 
- -
-
- - -

Perl format strings

- -

Perl format strings are the same as the default syntax except -that the characters ()?: have no special meaning.

- -

Sed format strings

- -

Sed format strings use only the characters \ and & as -special characters.

- -

\n where n is a digit, is expanded to the nth -sub-expression.

- -

& is expanded to the whole of the match (equivalent to -\0).

- -

Other escape sequences are expanded as per the default -syntax.

- -

- -
-

Revised - -17 May 2003 -

- -

© Copyright John -Maddock 1998- - -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/Attic/headers.html b/doc/Attic/headers.html deleted file mode 100644 index d0b8283c..00000000 --- a/doc/Attic/headers.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - Boost.Regex: Headers - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Headers

-
-

Boost.Regex Index

-
-

-
-

-

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

-

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

-

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/Attic/history.html b/doc/Attic/history.html deleted file mode 100644 index 17ca695c..00000000 --- a/doc/Attic/history.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - Boost.Regex: History - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

History

-
-

Boost.Regex Index

-
-

-
-

-

Boost 1.31.0.

-
    -
  • - Completely rewritten pattern matching code - it is now up to 10 times faster - than before.
  • -
  • - Reorganized documentation.
  • -
  • - Deprecated all interfaces that are not part of the - regular expression standardization proposal.
  • -
  • - Added regex_iterator and regex_token_iterator.
  • -
  • - Added support for Perl style independent sub-expressions.
-

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/Attic/implementation.html b/doc/Attic/implementation.html deleted file mode 100644 index dfb8811a..00000000 --- a/doc/Attic/implementation.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - Boost.Regex: Implementation - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Implementation

-
-

Boost.Regex Index

-
-

-
-

-

Todo.

-

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/Attic/install.html b/doc/Attic/install.html deleted file mode 100644 index 9e111922..00000000 --- a/doc/Attic/install.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - Boost.Regex: Index - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Installation

-
-

Boost.Regex Index

-
-

-
-

When you extract the library from its zip file, you must preserve its internal - directory structure (for example by using the -d option when extracting). If - you didn't do that when extracting, then you'd better stop reading this, delete - the files you just extracted, and try again! -

-

This library should not need configuring before use; most popular - compilers/standard libraries/platforms are already supported "as is". If you do - experience configuration problems, or just want to test the configuration with - your compiler, then the process is the same as for all of boost; see the - configuration library documentation.

-

The library will encase all code inside namespace boost. -

-

Unlike some other template libraries, this library consists of a mixture of - template code (in the headers) and static code and data (in cpp files). - Consequently it is necessary to build the library's support code into a library - or archive file before you can use it, instructions for specific platforms are - as follows: -

-

Borland C++ Builder: -

-
    -
  • - Open up a console window and change to the <boost>\libs\regex\build - directory. -
  • - Select the appropriate makefile (bcb4.mak for C++ Builder 4, bcb5.mak for C++ - Builder 5, and bcb6.mak for C++ Builder 6). -
  • - Invoke the makefile (pass the full path to your version of make if you have - more than one version installed, the makefile relies on the path to make to - obtain your C++ Builder installation directory and tools) for example: -
  • -
-
make -fbcb5.mak
-

The build process will build a variety of .lib and .dll files (the exact number - depends upon the version of Borland's tools you are using) the .lib and dll - files will be in a sub-directory called bcb4 or bcb5 depending upon the - makefile used. To install the libraries into your development system use:

-
make -fbcb5.mak install
-

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

-

You may also remove temporary files created during the build process (excluding - lib and dll files) by using:

-
make -fbcb5.mak clean
-

Finally when you use regex++ it is only necessary for you to add the - <boost> root director to your list of include directories for that - project. It is not necessary for you to manually add a .lib file to the - project; the headers will automatically select the correct .lib file for your - build mode and tell the linker to include it. There is one caveat however: the - library can not tell the difference between VCL and non-VCL enabled builds when - building a GUI application from the command line, if you build from the command - line with the 5.5 command line tools then you must define the pre-processor - symbol _NO_VCL in order to ensure that the correct link libraries are selected: - the C++ Builder IDE normally sets this automatically. Hint, users of the 5.5 - command line tools may want to add a -D_NO_VCL to bcc32.cfg in order to set - this option permanently. -

-

If you would prefer to do a dynamic link to the regex libraries when using the - dll runtime then define BOOST_REGEX_DYN_LINK (you must do this if you want to - use boost.regex in multiple dll's), otherwise Boost.regex will be staically - linked by default. 

-

If you want to suppress automatic linking altogether (and supply your own - custom build of the lib) then define BOOST_REGEX_NO_LIB.

-

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

-

Microsoft Visual C++ 6 and 7

-

You need version 6 of MSVC to build this library. If you are using VC5 then you - may want to look at one of the previous releases of this - library -

-

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

-

Select the correct makefile - vc6.mak for "vanilla" Visual C++ 6 or - vc6-stlport.mak if you are using STLPort.

-

Invoke the makefile like this:

-
nmake -fvc6.mak
-

You will now have a collection of lib and dll files in a "vc6" subdirectory, to - install these into your development system use:

-
nmake -fvc6.mak install
-

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

-

You can delete all the temporary files created during the build (excluding lib - and dll files) using:

-
nmake -fvc6.mak clean 
-

Finally when you use regex++ it is only necessary for you to add the - <boost> root directory to your list of include directories for that - project. It is not necessary for you to manually add a .lib file to the - project; the headers will automatically select the correct .lib file for your - build mode and tell the linker to include it. -

-

- Note that if you want to dynamically link to the regex library when using the - dynamic C++ runtime, define BOOST_REGEX_DYN_LINK when building your project.

-

If you want to add the source directly to your project then define - BOOST_REGEX_NO_LIB to disable automatic library selection.

-

There are several important caveats to remember when using boost.regex with - Microsoft's Compiler:

-
    -
  • - There have been some reports of compiler-optimization bugs affecting this - library, (particularly with VC6 versions prior to service patch 5) the - workaround is to build the library using /Oityb1 rather than /O2. That is to - use all optimization settings except /Oa. This problem is reported to affect - some standard library code as well (in fact I'm not sure if the problem is with - the regex code or the underlying standard library), so it's probably worthwhile - applying this workaround in normal practice in any case.
  • -
  • - If you have replaced the C++ standard library that comes with VC6, then when - you build the library you must ensure that the environment variables "INCLUDE" - and "LIB" have been updated to reflect the include and library paths for the - new library - see vcvars32.bat (part of your Visual Studio installation) for - more details. -
  • -
  • - If you are building with the full STLPort v4.x, then use the vc6-stlport.mak - file provided and set the environment variable STLPORT_PATH to point to the - location of your STLPort installation (Note that the full STLPort libraries - appear not to support single-thread static builds).
  • -
  • - If you are building your application with /Zc:wchar_t then you will need to - modify the makefile to add /Zc:wchar_t before building the library. -
  • -
-

GCC(2.95 and 3.x) -

-

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

-
make -fgcc.mak 
-

At the end of the build process you should have a gcc sub-directory containing - release and debug versions of the library (libboost_regex.a and - libboost_regex_debug.a). When you build projects that use regex++, you will - need to add the boost install directory to your list of include paths and add - <boost>/libs/regex/build/gcc/libboost_regex.a to your list of library - files. -

-

There is also a makefile to build the library as a shared library:

-
make -fgcc-shared.mak
-

which will build libboost_regex.so and libboost_regex_debug.so.

-

Both of the these makefiles support the following environment variables:

-

CXXFLAGS: extra compiler options - note that this applies to both the debug and - release builds.

-

INCLUDES: additional include directories.

-

LDFLAGS: additional linker options.

-

LIBS: additional library files.

-

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

-

Sun Workshop 6.1

-

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

-
dmake -f sunpro.mak 
-

At the end of the build process you should have a sunpro sub-directory - containing single and multithread versions of the library (libboost_regex.a, - libboost_regex.so, libboost_regex_mt.a and libboost_regex_mt.so). When you - build projects that use regex++, you will need to add the boost install - directory to your list of include paths and add - <boost>/libs/regex/build/sunpro/ to your library search path. -

-

Both of the these makefiles support the following environment variables:

-

CXXFLAGS: extra compiler options - note that this applies to both the single - and multithreaded builds.

-

INCLUDES: additional include directories.

-

LDFLAGS: additional linker options.

-

LIBS: additional library files.

-

LIBSUFFIX: a suffix to mangle the library name with (defaults to nothing).

-

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

-
dmake CXXFLAGS="-xarch=v9" LDFLAGS="-xarch=v9" LIBSUFFIX="_v9" -f sunpro.mak
-

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

-

Other compilers: -

-

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

- Alternatively you can using the Jam based - build system: cd into <boost>/libs/regex/build and run:

bjam -sTOOLS=mytoolset
-

- If you need to configure the library for your platform, then refer to the - config library documentation - . -

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - diff --git a/doc/Attic/introduction.html b/doc/Attic/introduction.html deleted file mode 100644 index cd00847a..00000000 --- a/doc/Attic/introduction.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - Boost.Regex: Introduction - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Introduction

-
-

Boost.Regex Index

-
-

-
-

-

Regular expressions are a form of pattern-matching that are often used in text - processing; many users will be familiar with the Unix utilities grep, sed - and awk, and the programming language Perl, each of which make - extensive use of regular expressions. Traditionally C++ users have been limited - to the POSIX C API's for manipulating regular expressions, and while regex++ - does provide these API's, they do not represent the best way to use the - library. For example regex++ can cope with wide character strings, or search - and replace operations (in a manner analogous to either sed or Perl), something - that traditional C libraries can not do.

-

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

-
namespace boost{
-
-template <class charT, 
-          class traits = regex_traits<charT>, 
-          class Allocator = std::allocator<charT> >
-class basic_regex;
-
-typedef basic_regex<char> regex;
-typedef basic_regex<wchar_t> wregex;
-
-}
-

To see how this library can be used, imagine that we are writing a credit card - processing application. Credit card numbers generally come as a string of - 16-digits, separated into groups of 4-digits, and separated by either a space - or a hyphen. Before storing a credit card number in a database (not necessarily - something your customers will appreciate!), we may want to verify that the - number is in the correct format. To match any digit we could use the regular - expression [0-9], however ranges of characters like this are actually locale - dependent. Instead we should use the POSIX standard form [[:digit:]], or the - regex++ and Perl shorthand for this \d (note that many older libraries tended - to be hard-coded to the C-locale, consequently this was not an issue for them). - That leaves us with the following regular expression to validate credit card - number formats:

-

(\d{4}[- ]){3}\d{4}

-

Here the parenthesis act to group (and mark for future reference) - sub-expressions, and the {4} means "repeat exactly 4 times". This is an example - of the extended regular expression syntax used by Perl, awk and egrep. Regex++ - also supports the older "basic" syntax used by sed and grep, but this is - generally less useful, unless you already have some basic regular expressions - that you need to reuse.

-

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)
-{
-   static const boost::regex e("(\\d{4}[- ]){3}\\d{4}");
-   return regex_match(s, e);
-}
-

Note how we had to add some extra escapes to the expression: remember that the - escape is seen once by the C++ compiler, before it gets to be seen by the - regular expression engine, consequently escapes in regular expressions have to - be doubled up when embedding them in C/C++ code. Also note that all the - examples assume that your compiler supports Koenig lookup, if yours doesn't - (for example VC6), then you will have to add some boost:: prefixes to some of - the function calls in the examples.

-

Those of you who are familiar with credit card processing, will have realized - that while the format used above is suitable for human readable card numbers, - it does not represent the format required by online credit card systems; these - require the number as a string of 16 (or possibly 15) digits, without any - intervening spaces. What we need is a means to convert easily between the two - formats, and this is where search and replace comes in. Those who are familiar - with the utilities sed and Perl will already be ahead here; we - need two strings - one a regular expression - the other a "format - string" that provides a description of the text to replace the match - with. In regex++ this search 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:
-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");
-
-std::string machine_readable_card_number(const std::string s)
-{
-   return regex_replace(s, e, machine_format, boost::match_default | boost::format_sed);
-}
-
-std::string human_readable_card_number(const std::string s)
-{
-   return regex_replace(s, e, human_format, boost::match_default | boost::format_sed);
-}
-

Here we've used marked sub-expressions in the regular expression to split out - the four parts of the card number as separate fields, the format string then - uses the sed-like syntax to replace the matched text with the reformatted - version.

-

In the examples above, we haven't directly manipulated the results of a regular - expression match, however in general the result of a match contains a number of - sub-expression matches in addition to the overall match. When the library needs - to report a regular expression match it does so using an instance of the class - match_results, as before there are typedefs of this class for the most - common cases: -

-
namespace boost{
-typedef match_results<const char*> cmatch;
-typedef match_results<const wchar_t*> wcmatch;
-typedef match_results<std::string::const_iterator> smatch;
-typedef match_results<std::wstring::const_iterator> wsmatch; 
-}
-

The algorithms regex_search and - regex_grep (i.e. finding all matches in a string) make use of - match_results to report what matched.

-

Note that these algorithms are not restricted to searching regular C-strings, - any bidirectional iterator type can be searched, allowing for the possibility - of seamlessly searching almost any kind of data. -

-

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

-

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

-

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

-

Finally, note that the library now has run-time localization - support, and recognizes the full POSIX regular expression syntax - including - advanced features like multi-character collating elements and equivalence - classes - as well as providing compatibility with other regular expression - libraries including GNU and BSD4 regex packages, and to a more limited extent - Perl 5. -

-

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998-2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - - - diff --git a/doc/Attic/localisation.html b/doc/Attic/localisation.html deleted file mode 100644 index e4184fd8..00000000 --- a/doc/Attic/localisation.html +++ /dev/null @@ -1,1032 +0,0 @@ - - - - -Boost.Regex: Localisation - - - - -

- - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

Localisation

-
-

-"Boost.Regex

-
- -
-
- - -
-

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

- -

Front-end localization deals with everything which the user sees -- error messages, and the regular expression syntax itself. For -example a French application could change [[:word:]] to [[:mot:]] -and \w to \m. Modifying the front end locale requires active -support from the developer, by providing the library with a message -catalogue to load, containing the localized strings. Front-end -locale is affected by the LC_MESSAGES category only.

- -

Back-end localization deals with everything that occurs after -the expression has been parsed - in other words everything that the -user does not see or interact with directly. It deals with case -conversion, collation, and character class membership. The back-end -locale does not require any intervention from the developer - the -library will acquire all the information it requires for the -current locale from the underlying operating system / run time -library. This means that if the program user does not interact with -regular expressions directly - for example if the expressions are -embedded in your C++ code - then no explicit localization is -required, as the library will take care of everything for you. For -example embedding the expression [[:word:]]+ in your code will -always match a whole word, if the program is run on a machine with, -for example, a Greek locale, then it will still match a whole word, -but in Greek characters rather than Latin ones. The back-end locale -is affected by the LC_TYPE and LC_COLLATE categories.

- -

There are three separate localization mechanisms supported by -boost.regex:

- -

Win32 localization model.

- -

This is the default model when the library is compiled under -Win32, and is encapsulated by the traits class w32_regex_traits. -When this model is in effect there is a single global locale as -defined by the user's control panel settings, and returned by -GetUserDefaultLCID. All the settings used by boost.regex are -acquired directly from the operating system bypassing the C run -time library. Front-end localization requires a resource dll, -containing a string table with the user-defined strings. The traits -class exports the function:

- -

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

- -

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

- -

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

- -

Note that this API sets the dll name for both the narrow -and wide character specializations of w32_regex_traits.

- -

This model does not currently support thread specific locales -(via SetThreadLocale under Windows NT), the library provides full -Unicode support under NT, under Windows 9x the library degrades -gracefully - characters 0 to 255 are supported, the remainder are -treated as "unknown" graphic characters.

- -

C localization model.

- -

This is the default model when the library is compiled under an -operating system other than Win32, and is encapsulated by the -traits class c_regex_traits, Win32 users can force this -model to take effect by defining the pre-processor symbol -BOOST_REGEX_USE_C_LOCALE. When this model is in effect there is a -single global locale, as set by setlocale. All settings are -acquired from your run time library, consequently Unicode support -is dependent upon your run time library implementation. Front end -localization requires a POSIX message catalogue. The traits class -exports the function:

- -

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::c_regex_traits<char>::set_message_catalogue("mycatalogue");

- -

Note that this API sets the dll name for both the narrow -and wide character specializations of c_regex_traits. If your run -time library does not support POSIX message catalogues, then you -can either provide your own implementation of <nl_types.h> or -define BOOST_RE_NO_CAT to disable front-end localization via -message catalogues.

- -

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

- -

C++ localization model.

- -

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

- -

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");

- -

Note that calling basic_regex<>::imbue will invalidate any -expression currently compiled in that instance of -basic_regex<>. This model is the one which closest fits the -ethos of the C++ standard library, however it is the model which -will produce the slowest code, and which is the least well -supported by current standard library implementations, for example -I have yet to find an implementation of std::locale which supports -either message catalogues, or locales other than "C" or -"POSIX".

- -

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

- -

Providing a message catalogue:

- -

In order to localize the front end of the library, you need to -provide the library with the appropriate message strings contained -either in a resource dll's string table (Win32 model), or a POSIX -message catalogue (C or C++ models). In the latter case the -messages must appear in message set zero of the catalogue. The -messages and their id's are as follows:
-  

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Message idMeaningDefault value 
 101The character used to start a -sub-expression."(" 
 102The character used to end a -sub-expression declaration.")" 
 103The character used to denote an end of -line assertion."$" 
 104The character used to denote the start -of line assertion."^" 
 105The character used to denote the -"match any character expression"."." 
 106The match zero or more times -repetition operator."*" 
 107The match one or more repetition -operator."+" 
 108The match zero or one repetition -operator."?" 
 109The character set opening -character."[" 
 110The character set closing -character."]" 
 111The alternation operator."|" 
 112The escape character."\\" 
 113The hash character (not currently -used)."#" 
 114The range operator."-" 
 115The repetition operator opening -character."{" 
 116The repetition operator closing -character."}" 
 117The digit characters."0123456789" 
 118The character which when preceded by -an escape character represents the word boundary assertion."b" 
 119The character which when preceded by -an escape character represents the non-word boundary -assertion."B" 
 120The character which when preceded by -an escape character represents the word-start boundary -assertion."<" 
 121The character which when preceded by -an escape character represents the word-end boundary -assertion.">" 
 122The character which when preceded by -an escape character represents any word character."w" 
 123The character which when preceded by -an escape character represents a non-word character."W" 
 124The character which when preceded by -an escape character represents a start of buffer assertion."`A" 
 125The character which when preceded by -an escape character represents an end of buffer assertion."'z" 
 126The newline character."\n" 
 127The comma separator."," 
 128The character which when preceded by -an escape character represents the bell character."a" 
 129The character which when preceded by -an escape character represents the form feed character."f" 
 130The character which when preceded by -an escape character represents the newline character."n" 
 131The character which when preceded by -an escape character represents the carriage return character."r" 
 132The character which when preceded by -an escape character represents the tab character."t" 
 133The character which when preceded by -an escape character represents the vertical tab character."v" 
 134The character which when preceded by -an escape character represents the start of a hexadecimal character -constant."x" 
 135The character which when preceded by -an escape character represents the start of an ASCII escape -character."c" 
 136The colon character.":" 
 137The equals character."=" 
 138The character which when preceded by -an escape character represents the ASCII escape character."e" 
 139The character which when preceded by -an escape character represents any lower case character."l" 
 140The character which when preceded by -an escape character represents any non-lower case character."L" 
 141The character which when preceded by -an escape character represents any upper case character."u" 
 142The character which when preceded by -an escape character represents any non-upper case character."U" 
 143The character which when preceded by -an escape character represents any space character."s" 
 144The character which when preceded by -an escape character represents any non-space character."S" 
 145The character which when preceded by -an escape character represents any digit character."d" 
 146The character which when preceded by -an escape character represents any non-digit character."D" 
 147The character which when preceded by -an escape character represents the end quote operator."E" 
 148The character which when preceded by -an escape character represents the start quote operator."Q" 
 149The character which when preceded by -an escape character represents a Unicode combining character -sequence."X" 
 150The character which when preceded by -an escape character represents any single character."C" 
 151The character which when preceded by -an escape character represents end of buffer operator."Z" 
 152The character which when preceded by -an escape character represents the continuation assertion."G" 
 153The character which when preceeded by (? indicates a zero width -negated forward lookahead assert.! 
- -
-
- - -

Custom error messages are loaded as follows: 

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Message IDError message IDDefault string 
 201REG_NOMATCH"No match" 
 202REG_BADPAT"Invalid regular expression" 
 203REG_ECOLLATE"Invalid collation character" 
 204REG_ECTYPE"Invalid character class name" 
 205REG_EESCAPE"Trailing backslash" 
 206REG_ESUBREG"Invalid back reference" 
 207REG_EBRACK"Unmatched [ or [^" 
 208REG_EPAREN"Unmatched ( or \\(" 
 209REG_EBRACE"Unmatched \\{" 
 210REG_BADBR"Invalid content of \\{\\}" 
 211REG_ERANGE"Invalid range end" 
 212REG_ESPACE"Memory exhausted" 
 213REG_BADRPT"Invalid preceding regular -expression" 
 214REG_EEND"Premature end of regular -expression" 
 215REG_ESIZE"Regular expression too big" 
 216REG_ERPAREN"Unmatched ) or \\)" 
 217REG_EMPTY"Empty expression" 
 218REG_E_UNKNOWN"Unknown error" 
- -
-
- - -

Custom character class names are loaded as followed: 

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Message IDDescriptionEquivalent default class name 
 300The character class name for -alphanumeric characters."alnum" 
 301The character class name for -alphabetic characters."alpha" 
 302The character class name for control -characters."cntrl" 
 303The character class name for digit -characters."digit" 
 304The character class name for graphics -characters."graph" 
 305The character class name for lower -case characters."lower" 
 306The character class name for printable -characters."print" 
 307The character class name for -punctuation characters."punct" 
 308The character class name for space -characters."space" 
 309The character class name for upper -case characters."upper" 
 310The character class name for -hexadecimal characters."xdigit" 
 311The character class name for blank -characters."blank" 
 312The character class name for word -characters."word" 
 313The character class name for Unicode -characters."unicode" 
- -
-
- - -

Finally, custom collating element names are loaded starting from -message id 400, and terminating when the first load thereafter -fails. Each message looks something like: "tagname string" where -tagname is the name used inside [[.tagname.]] and -string is the actual text of the collating element. Note that -the value of collating element [[.zero.]] is used for the -conversion of strings to numbers - if you replace this with another -value then that will be used for string parsing - for example use -the Unicode character 0x0660 for [[.zero.]] if you want to use -Unicode Arabic-Indic digits in your regular expressions in place of -Latin digits.

- -

Note that the POSIX defined names for character classes and -collating elements are always available - even if custom names are -defined, in contrast, custom error messages, and custom syntax -messages replace the default ones.

- -

- -
-

Revised - -17 May 2003 -

- -

© Copyright John -Maddock 1998- - -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/Attic/match_flag_type.html b/doc/Attic/match_flag_type.html deleted file mode 100644 index 0e89736a..00000000 --- a/doc/Attic/match_flag_type.html +++ /dev/null @@ -1,330 +0,0 @@ - - - - -Boost.Regex: match_flag_type - - - - -

- - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

match_flag_type

-
-

-"Boost.Regex

-
- -
-
- - -
-

Synopsis

- -

The type match_flag_type is an implementation -defined bitmask type (17.3.2.1.2) that controls how a regular -expression is matched against a character sequence.

- -
-namespace std{ namespace regex_constants{
-
-typedef bitmask_type match_flag_type;
-
-static const match_flag_type match_default = 0;
-static const match_flag_type match_not_bob;
-static const match_flag_type match_not_eob;
-static const match_flag_type match_not_bol;
-static const match_flag_type match_not_eol;
-static const match_flag_type match_not_bow;
-static const match_flag_type match_not_eow;
-static const match_flag_type match_any;
-static const match_flag_type match_not_null;
-static const match_flag_type match_continuous;
-static const match_flag_type match_partial;
-static const match_flag_type match_prev_avail;
-static const match_flag_type match_not_dot_newline;
-static const match_flag_type match_not_dot_null;
-
-static const match_flag_type format_default = 0;
-static const match_flag_type format_sed;
-static const match_flag_type format_perl;
-static const match_flag_type format_no_copy;
-static const match_flag_type format_first_only;
-static const match_flag_type format_all;
-
-} // namespace regex_constants
-} // namespace std
-
- -

Description

- -

The type match_flag_type is an implementation -defined bitmask type (17.3.2.1.2). When matching a regular -expression against a sequence of characters [first, last) then -setting its elements has the effects listed in the table below:

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Element

-
-

Effect if set

-
-

match_default

-
-

Specifies that matching of regular expressions proceeds without -any modification of the normal rules used in ECMA-262, ECMAScript -Language Specification, Chapter 15 part 10, RegExp (Regular -Expression) Objects (FWD.1)

-
match_not_bobSpecifies that the expression "\A" -should not match against the sub-sequence [first,first).
match_not_eobSpecifies that the expressions "\z" -and "\Z" should not match against the sub-sequence -[last,last).
-

match_not_bol

-
-

Specifies that the expression "^" should not be matched against -the sub-sequence [first,first).

-
-

match_not_eol

-
-

Specifies that the expression "$" should not be matched against -the sub-sequence [last,last).

-
-

match_not_bow

-
-

Specifies that the expression "\b" should not be matched against -the sub-sequence [first,first).

-
-

match_not_eow

-
-

Specifies that the expression "\b" should not be matched against -the sub-sequence [last,last).

-
-

match_any

-
-

Specifies that if more than one match is possible then any match -is an acceptable result.

-
-

match_not_null

-
-

Specifies that the expression can not be matched against an -empty sequence.

-
-

match_continuous

-
-

Specifies that the expression must match a sub-sequence that -begins at first.

-
-

match_partial

-
-

Specifies that if no match can be found, then it is acceptable -to return a match [from, last) where from!=last, if there exists -some sequence of characters [from,to) of which [from,last) is a -prefix, and which would result in a full match.

-
-

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_newlineSpecifies that the expression "." does -not match a newline character.
match_not_dot_nullSpecified that the expression "." does -not match a character null '\0'.
-

format_default

-
-

Specifies that when a regular expression match is to be replaced -by a new string, that the new string is constructed using the rules -used by the ECMAScript replace function in ECMA-262, ECMAScript -Language Specification, Chapter 15 part 5.4.11 -String.prototype.replace. (FWD.1). In addition during search and -replace operations then all non-overlapping occurrences of the -regular expression are located and replaced, and sections of the -input that did not match the expression, are copied unchanged to -the output string.

-
-

format_sed

-
-

Specifies that when a regular expression match is to be replaced -by a new string, that the new string is constructed using the rules -used by the Unix sed utility in IEEE Std 1003.1-2001, Portable -Operating SystemInterface (POSIX ), Shells and Utilities..

-
-

format_perl

-
-

Specifies that when a regular expression match is to be replaced -by a new string, that the new string is constructed using an -implementation defined superset of the rules used by the ECMAScript -replace function in ECMA-262, ECMAScript Language Specification, -Chapter 15 part 5.4.11 String.prototype.replace (FWD.1).

-
format_allSpecifies that all syntax -extensions are enabled, including conditional -(?ddexpression1:expression2) replacements.
-

format_no_copy

-
-

When specified during a search and replace operation, then -sections of the character container sequence being searched that do -match the regular expression, are not copied to the output -string.

-
-

format_first_only

-
-

When specified during a search and replace operation, then only -the first occurrence of the regular expression is replaced.

-
- -
-
- - -

- -
-
-
- - -

Revised - -17 May 2003 -

- -

© Copyright John -Maddock 1998- - -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/Attic/match_results.html b/doc/Attic/match_results.html deleted file mode 100644 index 9c2d3c64..00000000 --- a/doc/Attic/match_results.html +++ /dev/null @@ -1,511 +0,0 @@ - - - - -Boost.Regex: class match_results - - - - -

- - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

class match_results

-
-

-"Boost.Regex

-
- -
-
- - -
-

Contents

- -
-
Synopsis
- -
Description
-
- -

Synopsis

- -

#include <boost/regex.hpp>

- -

Regular expressions are different from many simple -pattern-matching algorithms in that as well as finding an overall -match they can also produce sub-expression matches: each -sub-expression being delimited in the pattern by a pair of -parenthesis (...). There has to be some method for reporting -sub-expression matches back to the user: this is achieved this by -defining a class match_results that acts as an indexed -collection of sub-expression matches, each sub-expression match -being contained in an object of type -sub_match .

- -

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

- -

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

- -

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

- -
-template <class BidirectionalIterator,
-          class Allocator = allocator<sub_match<BidirectionalIterator> >
-class match_results;
-
-typedef match_results<const char*> cmatch;
-typedef match_results<const wchar_t*> wcmatch;
-typedef match_results<string::const_iterator> smatch;
-typedef match_results<wstring::const_iterator> wsmatch;
-
-template <class BidirectionalIterator,
-          class Allocator = allocator<sub_match<BidirectionalIterator> >
-class match_results
-{ 
-public: 
-   typedef          sub_match<BidirectionalIterator>                        value_type;
-   typedef          const value_type&                                       const_reference;
-   typedef          const_reference                                         reference;
-   typedef          implementation defined                                  const_iterator;
-   typedef          const_iterator                                          iterator;
-   typedef typename iterator_traits<BidirectionalIterator>::difference_type difference_type;
-   typedef typename Allocator::size_type                                    size_type;
-   typedef          Allocator                                               allocator_type;
-   typedef typename iterator_traits<BidirectionalIterator>::value_type      char_type;
-   typedef          basic_string<char_type>                                 string_type;
-
-   // construct/copy/destroy:
-   explicit match_results(const Allocator& a = Allocator());
-   match_results(const match_results& m);
-   match_results& operator=(const match_results& m); 
-   ~match_results();
-
-   // size:
-   size_type size() const;
-   size_type max_size() const;
-   bool empty() const;
-   // element access:
-   difference_type length(int sub = 0) const;
-   difference_type position(unsigned int sub = 0) const;
-   string_type str(int sub = 0) const;
-   const_reference operator[](int n) const;
-
-   const_reference prefix() const;
-
-   const_reference suffix() const;
-   const_iterator begin() const;
-   const_iterator end() const;
-   // format:
-   template <class OutputIterator>
-   OutputIterator format(OutputIterator out,
-                         const string_type& fmt,
-                         match_flag_type flags = format_default) const;
-   string_type format(const string_type& fmt,
-                      match_flag_type flags = format_default) const;
-
-   allocator_type get_allocator() const;
-   void swap(match_results& that);
-};
-
-template <class BidirectionalIterator, class Allocator>
-bool operator == (const match_results<BidirectionalIterator, Allocator>& m1,
-                  const match_results<BidirectionalIterator, Allocator>& m2);
-template <class BidirectionalIterator, class Allocator>
-bool operator != (const match_results<BidirectionalIterator, Allocator>& m1,
-                  const match_results<BidirectionalIterator, Allocator>& m2);
-
-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);
-
-template <class BidirectionalIterator, class Allocator>
-void swap(match_results<BidirectionalIterator, Allocator>& m1,
-          match_results<BidirectionalIterator, Allocator>& m2);
-
- -

Description

- -

match_results constructors

- -

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

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

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

- -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-

Element

-
-

Value

-
-

empty()

-
-

true

-
-

size()

-
-

0

-
-

str()

-
-

basic_string<charT>()

-
-
- -

 

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

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

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

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

- -

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Element

-
-

Value

-
-

empty()

-
-

m.empty().

-
-

size()

-
-

m.size().

-
-

str(n)

-
-

m.str(n) for all integers n < m.size().

-
-

prefix()

-
-

m.prefix().

-
-

suffix()

-
-

m.suffix().

-
-

(*this)[n]

-
-

m[n] for all integers n < m.size().

-
-

length(n)

-
-

m.length(n) for all integers n < m.size().

-
-

position(n)

-
-

m.position(n) for all integers n < m.size().

-
-
- -

match_results size

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

Effects: Returns the number of sub_match elements stored -in *this.

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

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

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

Effects: Returns size() == 0.

- -

match_results element access

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

Effects: Returns (*this)[sub].length().

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

Effects: Returns std::distance(prefix().first, -(*this)[sub].first).

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

Effects: Returns -string_type((*this)[sub]).

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

Effects: Returns a reference to the -sub_match object representing the character sequence that -matched marked sub-expression n. If n == 0 then -returns a reference to a sub_match object representing -the character sequence that matched the whole regular -expression.

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

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

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

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

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

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

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

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

- -

match_results reformatting

- -
-template <class OutputIterator>
-OutputIterator format(OutputIterator out,
-                      const string_type& fmt,
-                      match_flag_type flags = format_default);
-
- - -

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

- - -

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

- - -

Returns: out.

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

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

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

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

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

Effects: Swaps the contents of the two sequences.

- - -

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

- - -

Complexity: constant time.

- -

- -
-

Revised - -17 May 2003 -

- -

© Copyright John -Maddock 1998- - -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/Attic/partial_matches.html b/doc/Attic/partial_matches.html deleted file mode 100644 index 3f4d2a53..00000000 --- a/doc/Attic/partial_matches.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - Boost.Regex: Partial Matches - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Partial Matches

-
-

Boost.Regex Index

-
-

-
-

-

The match-flag match_partial can - be passed to the following algorithms: regex_match, - regex_search, and regex_grep. - When used it indicates that partial as well as full matches should be found. A - partial match is one that matched one or more characters at the end of the text - input, but did not match all of the regular expression (although it may have - done so had more input been available). Partial matches are typically used when - either validating data input (checking each character as it is entered on the - keyboard), or when searching texts that are either too long to load into memory - (or even into a memory mapped file), or are of indeterminate length (for - example the source may be a socket or similar). Partial and full matches can be - differentiated as shown in the following table (the variable M represents an - instance of match_results<> as filled in - by regex_match, regex_search or regex_grep):
-

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 ResultM[0].matchedM[0].firstM[0].second
No matchFalseUndefinedUndefinedUndefined
Partial matchTrueFalseStart of partial match.End of partial match (end of text).
Full matchTrueTrueStart of full match.End of full match.
-

-

The following example - tests to see whether the text could be a valid credit card number, as the user - presses a key, the character entered would be added to the string being built - up, and passed to is_possible_card_number. If this returns true - then the text could be a valid card number, so the user interface's OK button - would be enabled. If it returns false, then this is not yet a valid card - number, but could be with more input, so the user interface would disable the - OK button. Finally, if the procedure throws an exception 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 <iostream>
-#include <boost/regex.hpp>
-
-boost::regex e("(\\d{3,4})[- ]?(\\d{4})[- ]?(\\d{4})[- ]?(\\d{4})");
-
-bool is_possible_card_number(const std::string& input)
-{
-   //
-   // return false for partial match, true for full match, or throw for
-   // impossible match based on what we have so far...
-   boost::match_results<std::string::const_iterator> what;
-   if(0 == boost::regex_match(input, what, e, boost::match_default | boost::match_partial))
-   {
-      // the input so far could not possibly be valid so reject it:
-      throw std::runtime_error("Invalid data entered - this could not possibly be a valid card number");
-   }
-   // OK so far so good, but have we finished?
-   if(what[0].matched)
-   {
-      // excellent, we have a result:
-      return true;
-   }
-   // what we have so far is only a partial match...
-   return false;
-}
-

In the following example, - text input is taken from a stream containing an unknown amount of text; this - example simply counts the number of html tags encountered in the stream. The - text is loaded into a buffer and searched a part at a time, 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 <fstream>
-#include <sstream>
-#include <string>
-#include <boost/regex.hpp>
-
-// match some kind of html tag:
-boost::regex e("<[^>]*>");
-// count how many:
-unsigned int tags = 0;
-// saved position of partial match:
-char* next_pos = 0;
-
-bool grep_callback(const boost::match_results<char*>& m)
-{
-   if(m[0].matched == false)
-   {
-      // save position and return:
-      next_pos = m[0].first;
-   }
-   else
-      ++tags;
-   return true;
-}
-
-void search(std::istream& is)
-{
-   char buf[4096];
-   next_pos = buf + sizeof(buf);
-   bool have_more = true;
-   while(have_more)
-   {
-      // how much do we copy forward from last try:
-      unsigned leftover = (buf + sizeof(buf)) - next_pos;
-      // and how much is left to fill:
-      unsigned size = next_pos - buf;
-      // copy forward whatever we have left:
-      memcpy(buf, next_pos, leftover);
-      // fill the rest from the stream:
-      unsigned read = is.readsome(buf + leftover, size);
-      // check to see if we've run out of text:
-      have_more = read == size;
-      // reset next_pos:
-      next_pos = buf + sizeof(buf);
-      // and then grep:
-      boost::regex_grep(grep_callback,
-                        buf,
-                        buf + read + leftover,
-                        e,
-                        boost::match_default | boost::match_partial);
-   }
-}
-

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/Attic/performance.html b/doc/Attic/performance.html deleted file mode 100644 index 826dd83a..00000000 --- a/doc/Attic/performance.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - Boost.Regex: Performance - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Performance

-
-

Boost.Regex Index

-
-

-
-

-

The performance of Boost.regex in both recursive and non-recursive modes should - be broadly comparable to other regular expression libraries: recursive mode is - slightly faster (especially where memory allocation requires thread - synchronisation), but not by much.  The following pages compare - Boost.regex with various other regular expression libraries for the following - compilers:

-

Visual Studio.Net 2003 (recursive Boost.regex - implementation).

-

Gcc 3.2 (cygwin) (non-recursive Boost.regex - implementation).

-

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/Attic/posix_api.html b/doc/Attic/posix_api.html deleted file mode 100644 index fdc3bba3..00000000 --- a/doc/Attic/posix_api.html +++ /dev/null @@ -1,288 +0,0 @@ - - - - Boost.Regex: POSIX API Compatibility Functions - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

POSIX API Compatibility Functions

-
-

Boost.Regex Index

-
-

-
-

-
#include <boost/cregex.hpp>
-or:
-#include <boost/regex.h>
-

The following functions are available for users who need a POSIX compatible C - library, they are available in both Unicode and narrow character versions, the - standard POSIX API names are macros that expand to one version or the other - depending upon whether UNICODE is defined or not. -

-

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

-

The functions are defined as: -

-
extern "C" {
-int regcompA(regex_tA*, const char*, int);
-unsigned int regerrorA(int, const regex_tA*, char*, unsigned int);
-int regexecA(const regex_tA*, const char*, unsigned int, regmatch_t*, int);
-void regfreeA(regex_tA*);
-
-int regcompW(regex_tW*, const wchar_t*, int);
-unsigned int regerrorW(int, const regex_tW*, wchar_t*, unsigned int);
-int regexecW(const regex_tW*, const wchar_t*, unsigned int, regmatch_t*, int);
-void regfreeW(regex_tW*);
-
-#ifdef UNICODE
-#define regcomp regcompW
-#define regerror regerrorW
-#define regexec regexecW
-#define regfree regfreeW
-#define regex_t regex_tW
-#else
-#define regcomp regcompA
-#define regerror regerrorA
-#define regexec regexecA
-#define regfree regfreeA
-#define regex_t regex_tA
-#endif
-}
-

All the functions operate on structure regex_t, which exposes two public - members: -

-

unsigned int re_nsub this is filled in by regcomp and indicates - the number of sub-expressions contained in the regular expression. -

-

const TCHAR* re_endp points to the end of the expression to compile when - the flag REG_PEND is set. -

-

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

-

regcomp

-

regcomp takes a pointer to a regex_t, a pointer to the expression - to compile and a flags parameter which can be a combination of: -
-   -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 REG_EXTENDEDCompiles modern regular expressions. Equivalent to - regbase::char_classes | regbase::intervals | regbase::bk_refs. 
 REG_BASICCompiles basic (obsolete) regular expression syntax. - Equivalent to regbase::char_classes | regbase::intervals | regbase::limited_ops - | regbase::bk_braces | regbase::bk_parens | regbase::bk_refs. 
 REG_NOSPECAll characters are ordinary, the expression is a - literal string. 
 REG_ICASECompiles for matching that ignores character case. 
 REG_NOSUBHas no effect in this library. 
 REG_NEWLINEWhen this flag is set a dot does not match the - newline character. 
 REG_PENDWhen this flag is set the re_endp parameter of the - regex_t structure must point to the end of the regular expression to compile. 
 REG_NOCOLLATEWhen this flag is set then locale dependent collation - for character ranges is turned off. 
 REG_ESCAPE_IN_LISTS
- , , , -
When this flag is set, then escape sequences are - permitted in bracket expressions (character sets). 
 REG_NEWLINE_ALT When this flag is set then the newline character is - equivalent to the alternation operator |. 
 REG_PERL Compiles Perl like regular expressions. 
 REG_AWKA shortcut for awk-like behavior: REG_EXTENDED | - REG_ESCAPE_IN_LISTS 
 REG_GREPA shortcut for grep like behavior: REG_BASIC | - REG_NEWLINE_ALT 
 REG_EGREP A shortcut for egrep like behavior: - REG_EXTENDED | REG_NEWLINE_ALT 
-

-

regerror

-

regerror takes the following parameters, it maps an error code to a human - readable string: -
-

-

- - - - - - - - - - - - - - - - - - - - - - - - - -
 int codeThe error code. 
 const regex_t* eThe regular expression (can be null). 
 char* bufThe buffer to fill in with the error message. 
 unsigned int buf_sizeThe length of buf. 
-

-

If the error code is OR'ed with REG_ITOA then the message that results is the - printable name of the code rather than a message, for example "REG_BADPAT". If - the code is REG_ATIO then e must not be null and e->re_pend must - point to the printable name of an error code, the return value is then the - value of the error code. For any other value of code, the return value - is the number of characters in the error message, if the return value is - greater than or equal to buf_size then regerror will have to be - called again with a larger buffer.

-

regexec

-

regexec finds the first occurrence of expression e within string buf. - If len is non-zero then *m is filled in with what matched the - regular expression, m[0] contains what matched the whole string, m[1] - the first sub-expression etc, see regmatch_t in the header file - declaration for more details. The eflags parameter can be a combination - of: -
-   -

-

- - - - - - - - - - - - - - - - - - - -
 REG_NOTBOLParameter buf does not represent the start of - a line. 
 REG_NOTEOLParameter buf does not terminate at the end of - a line. 
 REG_STARTENDThe string searched starts at buf + pmatch[0].rm_so - and ends at buf + pmatch[0].rm_eo. 
-

-

regfree

-

Finally regfree frees all the memory that was allocated by regcomp. -

-

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

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/Attic/redistributables.html b/doc/Attic/redistributables.html deleted file mode 100644 index f40f40f4..00000000 --- a/doc/Attic/redistributables.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - Boost.Regex: Redistributables and Library Names - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Redistributables and Library Names

-
-

Boost.Regex Index

-
-

-
-

-

If you are using Microsoft or Borland C++ and link to a dll version of the run - time library, then you will also link to one of the dll versions of - boost.regex. While these dll's are redistributable, there are no "standard" - versions, so when installing on the users PC, you should place these in a - directory private to your application, and not in the PC's directory path. Note - that if you link to a static version of your run time library, then you will - also link to a static version of boost.regex and no dll's will need to be - distributed. The possible boost.regex dll and library names are computed - according to the following formula:
-

-

-

BOOST_LIB_PREFIX
- + "boost_regex_"
- + BOOST_LIB_TOOLSET
- + "_"
- + BOOST_LIB_THREAD_OPT
- + BOOST_LIB_RT_OPT
- + BOOST_LIB_DEBUG_OPT
-
- These are defined as:

-

BOOST_LIB_PREFIX: Either "lib" if this is a static link library, - or nothing for dynamic / shared libraries.
-
- BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc).
-
- BOOST_LIB_THREAD_OPT: "s" for single thread builds,
- "m" for multithread builds.
-
- BOOST_LIB_RT_OPT: "s" for static runtime,
- "d" for dynamic runtime.
-
- BOOST_LIB_LINK_OPT: "s" for static link,
- "i" for dynamic link.
-
- BOOST_LIB_DEBUG_OPT: nothing for release builds,
- "d" for debug builds,
- "dd" for debug-diagnostic builds (_STLP_DEBUG).

-

- Note: you can disable automatic library selection by defining the symbol - BOOST_REGEX_NO_LIB when compiling, this is useful if you want to statically - link even though you're using the dll version of your run time library, or if - you need to debug boost.regex. -

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - diff --git a/doc/Attic/reg_expression.html b/doc/Attic/reg_expression.html deleted file mode 100644 index a1fd6b56..00000000 --- a/doc/Attic/reg_expression.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - Boost.Regex: Class reg_expression (deprecated) - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Class reg_expression (deprecated)

-
-

Boost.Regex Index

-
-

-
-

-

The use of class template reg_expression is deprecated: use - basic_regex instead.

-

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/Attic/regbase.html b/doc/Attic/regbase.html deleted file mode 100644 index f36ce38a..00000000 --- a/doc/Attic/regbase.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - -Boost.Regex: regbase - - - - -

- - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

regbase

-
-

-"Boost.Regex

-
- -
-
- - -
-

Use of the type boost::regbase is now deprecated, -and the type does not form a part of the -regular expression standardization proposal.  This type -still exists as a base class of boost::basic_regex, -and you can still refer to -boost::regbase::constant_name in your code, however for -maximum portability to other std regex implementations you should -instead use either:

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

or

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

or

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

- -
-
-
- - -

Revised - -17 May 2003 -

- -

© Copyright John -Maddock 1998- - -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/Attic/regex.html b/doc/Attic/regex.html deleted file mode 100644 index af871319..00000000 --- a/doc/Attic/regex.html +++ /dev/null @@ -1,620 +0,0 @@ - - - - -Boost.Regex: class RegEx (deprecated) - - - - -

- - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

class RegEx (deprecated)

-
-

-"Boost.Regex

-
- -
-
- - -
-

The high level wrapper class RegEx is now deprecated and does -not form a part of the -regular expression standardization proposal.  This type -still exists, and existing code will continue to compile, however -the following documentation is unlikely to be further updated.

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

The class RegEx provides a high level simplified interface to -the regular expression library, this class only handles narrow -character strings, and regular expressions always follow the -"normal" syntax - that is the same as the perl / ECMAScript -synatx.

- -
-typedef bool (*GrepCallback)(const RegEx& expression);
-typedef bool (*GrepFileCallback)(const char* file, const RegEx& expression);
-typedef bool (*FindFilesCallback)(const char* file);
-
-class  RegEx
-{
-public:
-   RegEx();
-   RegEx(const RegEx& o);
-   ~RegEx();
-   RegEx(const char* c, bool icase = false);
-   explicit RegEx(const std::string& s, bool icase = false);
-   RegEx& operator=(const RegEx& o);
-   RegEx& operator=(const char* p);
-   RegEx& operator=(const std::string& s);
-   unsigned int SetExpression(const char* p, bool icase = false);
-   unsigned int SetExpression(const std::string& s, bool icase = false);
-   std::string Expression()const;
-   //
-   // now matching operators: 
-   // 
-   bool Match(const char* p, unsigned int flags = match_default);
-   bool Match(const std::string& s, unsigned int flags = match_default); 
-   bool Search(const char* p, unsigned int flags = match_default); 
-   bool Search(const std::string& s, unsigned int flags = match_default); 
-   unsigned int Grep(GrepCallback cb, const char* p, unsigned int flags = match_default); 
-   unsigned int Grep(GrepCallback cb, const std::string& s, unsigned int flags = match_default); 
-   unsigned int Grep(std::vector<std::string>& v, const char* p, unsigned int flags = match_default); 
-   unsigned int Grep(std::vector<std::string>& v, const std::string& s, unsigned int flags = match_default); 
-   unsigned int Grep(std::vector<unsigned int>& v, const char* p, unsigned int flags = match_default); 
-   unsigned int Grep(std::vector<unsigned int>& v, const std::string& s, unsigned int flags = match_default); 
-   unsigned int GrepFiles(GrepFileCallback cb, const char* files, bool recurse = false, unsigned int flags = match_default); 
-   unsigned int GrepFiles(GrepFileCallback cb, const std::string& files, bool recurse = false, unsigned int flags = match_default); 
-   unsigned int FindFiles(FindFilesCallback cb, const char* files, bool recurse = false, unsigned int flags = match_default); 
-   unsigned int FindFiles(FindFilesCallback cb, const std::string& files, bool recurse = false, unsigned int flags = match_default); 
-   std::string Merge(const std::string& in, const std::string& fmt, bool copy = true, unsigned int flags = match_default); 
-   std::string Merge(const char* in, const char* fmt, bool copy = true, unsigned int flags = match_default); 
-   unsigned Split(std::vector<std::string>& v, std::string& s, unsigned flags = match_default, unsigned max_count = ~0); 
-   // 
-   // now operators for returning what matched in more detail: 
-   // 
-   unsigned int Position(int i = 0)const; 
-   unsigned int Length(int i = 0)const; 
-   bool Matched(int i = 0)const;
-   unsigned int Line()const; 
-   unsigned int Marks() const; 
-   std::string What(int i)const; 
-   std::string operator[](int i)const ; 
-
-   static const unsigned int npos;
-};    
-
- -

Member functions for class RegEx are defined as follows:
-  

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 RegEx();Default constructor, constructs an -instance of RegEx without any valid expression. 
 RegEx(const RegEx& o);Copy constructor, all the properties -of parameter o are copied. 
 RegEx(const char* c, -bool icase = false);Constructs an instance of RegEx, -setting the expression to c, if icase is true -then matching is insensitive to case, otherwise it is sensitive to -case. Throws bad_expression on failure. 
 RegEx(const std::string& s, -bool icase = false);Constructs an instance of RegEx, -setting the expression to s, if icase is true -then matching is insensitive to case, otherwise it is sensitive to -case. Throws bad_expression on failure. 
 RegEx& -operator=(const RegEx& o);Default assignment operator. 
 RegEx& -operator=(const char* p);Assignment operator, equivalent to -calling SetExpression(p, false). Throws -bad_expression on failure. 
 RegEx& -operator=(const std::string& s);Assignment operator, equivalent to -calling SetExpression(s, false). Throws -bad_expression on failure. 
 unsigned int -SetExpression(constchar* p, bool icase = -false);Sets the current expression to -p, if icase is true then matching is insensitive -to case, otherwise it is sensitive to case. Throws -bad_expression on failure. 
 unsigned int -SetExpression(const std::string& s, bool icase = -false);Sets the current expression to -s, if icase is true then matching is insensitive -to case, otherwise it is sensitive to case. Throws -bad_expression on failure. 
 std::string -Expression()const;Returns a copy of the current regular -expression. 
 bool Match(const -char* p, unsigned int flags = -match_default);Attempts to match the current -expression against the text p using the match flags -flags - see match flags. -Returns true if the expression matches the whole of the -input string. 
 bool Match(const -std::string& s, unsigned int flags = -match_default) ;Attempts to match the current -expression against the text s using the match flags -flags - see match flags. -Returns true if the expression matches the whole of the -input string. 
 bool Search(const -char* p, unsigned int flags = -match_default);Attempts to find a match for the -current expression somewhere in the text p using the match -flags flags - see match -flags. Returns true if the match succeeds. 
 bool Search(const -std::string& s, unsigned int flags = -match_default) ;Attempts to find a match for the -current expression somewhere in the text s using the match -flags flags - see match -flags. Returns true if the match succeeds. 
 unsigned int -Grep(GrepCallback cb, const char* p, unsigned -int flags = match_default);Finds all matches of the current -expression in the text p using the match flags flags -- see match flags. For each -match found calls the call-back function cb as: cb(*this); - -

If at any stage the call-back function returns false then the -grep operation terminates, otherwise continues until no further -matches are found. Returns the number of matches found.

-
 
 unsigned int -Grep(GrepCallback cb, const std::string& s, -unsigned int flags = match_default);Finds all matches of the current -expression in the text s using the match flags flags -- see match flags. For each -match found calls the call-back function cb as: cb(*this); - -

If at any stage the call-back function returns false then the -grep operation terminates, otherwise continues until no further -matches are found. Returns the number of matches found.

-
 
 unsigned int -Grep(std::vector<std::string>& v, const -char* p, unsigned int flags = -match_default);Finds all matches of the current -expression in the text p using the match flags flags -- see match flags. For each -match pushes a copy of what matched onto v. Returns the -number of matches found. 
 unsigned int -Grep(std::vector<std::string>& v, const -std::string& s, unsigned int flags = -match_default);Finds all matches of the current -expression in the text s using the match flags flags -- see match flags. For each -match pushes a copy of what matched onto v. Returns the -number of matches found. 
 unsigned int -Grep(std::vector<unsigned int>& v, const -char* p, unsigned int flags = -match_default);Finds all matches of the current -expression in the text p using the match flags flags -- see match flags. For each -match pushes the starting index of what matched onto v. -Returns the number of matches found. 
 unsigned int -Grep(std::vector<unsigned int>& v, const -std::string& s, unsigned int flags = -match_default);Finds all matches of the current -expression in the text s using the match flags flags -- see match flags. For each -match pushes the starting index of what matched onto v. -Returns the number of matches found. 
 unsigned int -GrepFiles(GrepFileCallback cb, const char* files, -bool recurse = false, unsigned int flags = -match_default);Finds all matches of the current -expression in the files files using the match flags -flags - see match flags. For -each match calls the call-back function cb.  - -

If the call-back returns false then the algorithm returns -without considering further matches in the current file, or any -further files. 

- -

The parameter files can include wild card characters '*' -and '?', if the parameter recurse is true then searches -sub-directories for matching file names. 

- -

Returns the total number of matches found.

- -

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

-
 
 unsigned int -GrepFiles(GrepFileCallback cb, const std::string& files, -bool recurse = false, unsigned int -flags = match_default);Finds all matches of the current -expression in the files files using the match flags -flags - see match flags. For -each match calls the call-back function cb.  - -

If the call-back returns false then the algorithm returns -without considering further matches in the current file, or any -further files. 

- -

The parameter files can include wild card characters '*' -and '?', if the parameter recurse is true then searches -sub-directories for matching file names. 

- -

Returns the total number of matches found.

- -

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

-
 
 unsigned int -FindFiles(FindFilesCallback cb, const char* files, -bool recurse = false, unsigned int -flags = match_default);Searches files to find all -those which contain at least one match of the current expression -using the match flags flags - see match flags. For each matching file -calls the call-back function cb.  - -

If the call-back returns false then the algorithm returns -without considering any further files. 

- -

The parameter files can include wild card characters '*' -and '?', if the parameter recurse is true then searches -sub-directories for matching file names. 

- -

Returns the total number of files found.

- -

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

-
 
 unsigned int -FindFiles(FindFilesCallback cb, const std::string& -files, bool recurse = false, unsigned -int flags = match_default);Searches files to find all -those which contain at least one match of the current expression -using the match flags flags - see match flags. For each matching file -calls the call-back function cb.  - -

If the call-back returns false then the algorithm returns -without considering any further files. 

- -

The parameter files can include wild card characters '*' -and '?', if the parameter recurse is true then searches -sub-directories for matching file names. 

- -

Returns the total number of files found.

- -

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

-
 
 std::string Merge(const -std::string& in, const std::string& fmt, bool -copy = true, unsigned int flags = -match_default);Performs a search and replace -operation: searches through the string in for all -occurrences of the current expression, for each occurrence replaces -the match with the format string fmt. Uses flags to -determine what gets matched, and how the format string should be -treated. If copy is true then all unmatched sections of -input are copied unchanged to output, if the flag -format_first_only is set then only the first occurance of the -pattern found is replaced. Returns the new string. See also format string syntax, match flags and format flags. 
 std::string Merge(const char* -in, const char* fmt, bool copy = true, -unsigned int flags = match_default);Performs a search and replace -operation: searches through the string in for all -occurrences of the current expression, for each occurrence replaces -the match with the format string fmt. Uses flags to -determine what gets matched, and how the format string should be -treated. If copy is true then all unmatched sections of -input are copied unchanged to output, if the flag -format_first_only is set then only the first occurance of the -pattern found is replaced. Returns the new string. See also format string syntax, match flags and format flags. 
 unsigned -Split(std::vector<std::string>& v, std::string& s, -unsigned flags = match_default, unsigned max_count = -~0);Splits the input string and pushes each one onto -the vector. If the expression contains no marked sub-expressions, -then one string is outputted for each section of the input that -does not match the expression. If the expression does contain -marked sub-expressions, then outputs one string for each marked -sub-expression each time a match occurs. Outputs no more than -max_count strings. Before returning, deletes from the input -string s all of the input that has been processed (all of -the string if max_count was not reached). Returns the number -of strings pushed onto the vector. 
 unsigned int -Position(int i = 0)const;Returns the position of what matched -sub-expression i. If i = 0 then returns the position -of the whole match. Returns RegEx::npos if the supplied index is -invalid, or if the specified sub-expression did not participate in -the match. 
 unsigned int -Length(int i = 0)const;Returns the length of what matched -sub-expression i. If i = 0 then returns the length of -the whole match. Returns RegEx::npos if the supplied index is -invalid, or if the specified sub-expression did not participate in -the match. 
 bool Matched(int i = -0)const;Returns true if sub-expression i was matched, false -otherwise. 
 unsigned int -Line()const;Returns the line on which the match -occurred, indexes start from 1 not zero, if no match occurred then -returns RegEx::npos. 
 unsigned int Marks() -const;Returns the number of marked -sub-expressions contained in the expression. Note that this -includes the whole match (sub-expression zero), so the value -returned is always >= 1. 
 std::string What(int -i)const;Returns a copy of what matched -sub-expression i. If i = 0 then returns a copy of the -whole match. Returns a null string if the index is invalid or if -the specified sub-expression did not participate in a match. 
 std::string -operator[](int i)const ;Returns what(i); - -

Can be used to simplify access to sub-expression matches, and -make usage more perl-like.

-
 
- -
-
- - -

- -
-

Revised - -17 May 2003 -

- -

© Copyright John -Maddock 1998- - -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/Attic/regex_format.html b/doc/Attic/regex_format.html deleted file mode 100644 index b487d37f..00000000 --- a/doc/Attic/regex_format.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - -Boost.Regex: Algorithm regex_format (deprecated) - - - - -

- - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

Algorithm regex_format (deprecated)

-
-

-"Boost.Regex

-
- -
-
- - -
-

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

- -

Algorithm regex_format

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

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

- -
-template <class OutputIterator, class iterator, class Allocator, class charT>
-OutputIterator regex_format(OutputIterator out,
-                            const match_results<iterator, Allocator>& m,
-                            const charT* fmt,
-                            match_flag_type flags = 0);
-template <class OutputIterator, class iterator, class Allocator, class charT>
-OutputIterator regex_format(OutputIterator out,
-                            const match_results<iterator, Allocator>& m,
-                            const std::basic_string<charT>& fmt,
-                            match_flag_type flags = 0);
-
- -

The library also defines the following convenience variation of -regex_format, which returns the result directly as a string, rather -than outputting to an iterator [note - this version may not be -available, or may be available in a more limited form, depending -upon your compilers capabilities]:

- -
-template <class iterator, class Allocator, class charT>
-std::basic_string<charT> regex_format
-                                 (const match_results<iterator, Allocator>& m, 
-                                  const charT* fmt,
-                                  match_flag_type flags = 0);
-
-template <class iterator, class Allocator, class charT>
-std::basic_string<charT> regex_format
-                                 (const match_results<iterator, Allocator>& m, 
-                                  const std::basic_string<charT>& fmt,
-                                  match_flag_type flags = 0);
-
- -

Parameters to the main version of the function are passed as -follows:

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 OutputIterator outAn output iterator type, the output -string is sent to this iterator. Typically this would be a -std::ostream_iterator. 
 const -match_results<iterator, Allocator>& mAn instance of match_results<> -obtained from one of the matching algorithms above, and denoting -what matched. 
 const charT* fmtA format string that determines how -the match is transformed into the new string. 
 unsigned flagsOptional flags which describe how the -format string is to be interpreted. 
- -
-
- - -

Format flags are defined as -follows:

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 format_allEnables all syntax options (perl-like -plus extentions). 
 format_sedAllows only a sed-like syntax. 
 format_perlAllows only a perl-like syntax. 
 format_no_copyDisables copying of unmatched sections -to the output string during -regex_merge operations. 
 format_first_onlyWhen this flag is set only the first occurance will be replaced -(applies to regex_merge only). 
- -
-
- - -

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

- -

- -
-

Revised - -17 May 2003 -

- -

© Copyright John -Maddock 1998- - -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/Attic/regex_grep.html b/doc/Attic/regex_grep.html deleted file mode 100644 index ca226c24..00000000 --- a/doc/Attic/regex_grep.html +++ /dev/null @@ -1,386 +0,0 @@ - - - - Boost.Regex: Algorithm regex_grep (deprecated) - - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Algorithm regex_grep (deprecated)

-
-

Boost.Regex Index

-
-
-
-
-

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

-

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

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

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, class Allocator>
-unsigned int regex_grep(Predicate foo,
-                         iterator first,
-                         iterator last,
-                         const basic_regex<charT, traits, Allocator>& e,
-                         unsigned flags = match_default)
-
-

The library also defines the following convenience versions, which take either - a const charT*, or a const std::basic_string<>& in place of a pair of - iterators [note - these versions may not be available, or may be available in a - more limited form, depending upon your compilers capabilities]:

-
-template <class Predicate, class charT, class Allocator, class traits>
-unsigned int regex_grep(Predicate foo, 
-              const charT* str, 
-              const basic_regex<charT, traits, Allocator>& e, 
-              unsigned flags = match_default);
-
-template <class Predicate, class ST, class SA, class Allocator, class charT, class traits>
-unsigned int regex_grep(Predicate foo, 
-              const std::basic_string<charT, ST, SA>& s, 
-              const basic_regex<charT, traits, Allocator>& e, 
-              unsigned flags = match_default);
-
-

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

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 fooA predicate function object or function pointer, see - below for more information. 
 firstThe start of the range to search. 
 lastThe end of the range to search. 
 eThe regular expression to search for. 
 flagsThe flags that determine how matching is carried out, - one of the match_flags enumerators. 
-
-
-

The algorithm finds all of the non-overlapping matches of the expression e, for - each match it fills a match_results<iterator, - Allocator> structure, which contains information on what matched, and calls - the predicate foo, passing the match_results<iterator, Allocator> as a - single argument. If the predicate returns true, then the grep operation - continues, otherwise it terminates without searching for further matches. The - function returns the number of matches found.

-

The general form of the predicate is:

-
-struct grep_predicate
-{
-   bool operator()(const match_results<iterator_type, typename expression_type::alloc_type::template rebind<sub_match<BidirectionalIterator> >::other>& m);
-};
-
-

Note that in almost every case the allocator parameter can be omitted, when - specifying the match_results type, - alternatively one of the typedefs cmatch, wcmatch, smatch or wsmatch can be - used.

-

For example the regular expression "a*b" would find one match in the string - "aaaaab" and two in the string "aaabb".

-

Remember this algorithm can be used for a lot more than implementing a version - of grep, the predicate can be and do anything that you want, grep utilities - would output the results to the screen, another program could index a file - based on a regular expression and store a set of bookmarks in a list, or a text - file conversion utility would output to file. The results of one regex_grep can - even be chained into another regex_grep to create recursive parsers.

-

The algorithm may throw std::runtime_error if the complexity - of matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

-

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

-
-#include <string> 
-#include <map> 
-#include <boost/regex.hpp> 
-
-// IndexClasses: 
-// takes the contents of a file in the form of a string 
-// and searches for all the C++ class definitions, storing 
-// their locations in a map of strings/int's 
-typedef std::map<std::string, int, std::less<std::string> > map_type; 
-
-const char* re = 
-   // possibly leading whitespace:   
-   "^[[:space:]]*" 
-   // possible template declaration:
-   "(template[[:space:]]*<[^;:{]+>[[:space:]]*)?"
-   // class or struct:
-   "(class|struct)[[:space:]]*" 
-   // leading declspec macros etc:
-   "("
-      "\\<\\w+\\>"
-      "("
-         "[[:blank:]]*\\([^)]*\\)"
-      ")?"
-      "[[:space:]]*"
-   ")*" 
-   // the class name
-   "(\\<\\w*\\>)[[:space:]]*" 
-   // template specialisation parameters
-   "(<[^;:{]+>)?[[:space:]]*"
-   // terminate in { or :
-   "(\\{|:[^;\\{()]*\\{)";
-
-boost::regex expression(re); 
-class IndexClassesPred 
-{ 
-   map_type& m; 
-   std::string::const_iterator base; 
-public: 
-   IndexClassesPred(map_type& a, std::string::const_iterator b) : m(a), base(b) {} 
-   bool operator()(const  smatch& what) 
-   { 
-      // what[0] contains the whole string 
-      // what[5] contains the class name. 
-      // what[6] contains the template specialisation if any. 
-      // add class name and position to map: 
-      m[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = 
-                what[5].first - base; 
-      return true; 
-   } 
-}; 
-void IndexClasses(map_type& m, const std::string& file) 
-{ 
-   std::string::const_iterator start, end; 
-   start = file.begin(); 
-   end = file.end(); 
-   regex_grep(IndexClassesPred(m, start), start, end, expression); 
-}
-
-

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

-
-#include <string> 
-#include <map> 
-#include <boost/regex.hpp> 
-
-// purpose: 
-// takes the contents of a file in the form of a string 
-// and searches for all the C++ class definitions, storing 
-// their locations in a map of strings/int's 
-typedef std::map<std::string, int, std::less<std::string> > map_type; 
-
-const char* re = 
-   // possibly leading whitespace:   
-   "^[[:space:]]*" 
-   // possible template declaration:
-   "(template[[:space:]]*<[^;:{]+>[[:space:]]*)?"
-   // class or struct:
-   "(class|struct)[[:space:]]*" 
-   // leading declspec macros etc:
-   "("
-      "\\<\\w+\\>"
-      "("
-         "[[:blank:]]*\\([^)]*\\)"
-      ")?"
-      "[[:space:]]*"
-   ")*" 
-   // the class name
-   "(\\<\\w*\\>)[[:space:]]*" 
-   // template specialisation parameters
-   "(<[^;:{]+>)?[[:space:]]*"
-   // terminate in { or :
-   "(\\{|:[^;\\{()]*\\{)";
-
-boost::regex expression(re);
-map_type class_index; 
-std::string::const_iterator base; 
-
-bool grep_callback(const  boost::smatch& what) 
-{ 
-   // what[0] contains the whole string 
-   // what[5] contains the class name. 
-   // what[6] contains the template specialisation if any. 
-   // add class name and position to map: 
-   class_index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = 
-                what[5].first - base; 
-   return true; 
-} 
-void IndexClasses(const std::string& file) 
-{ 
-   std::string::const_iterator start, end; 
-   start = file.begin(); 
-   end = file.end(); 
-   base = start; 
-   regex_grep(grep_callback, start, end, expression, match_default); 
-}
- 
-
-

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

-
-#include <string> 
-#include <map> 
-#include <boost/regex.hpp> 
-#include <functional> 
-// purpose: 
-// takes the contents of a file in the form of a string 
-// and searches for all the C++ class definitions, storing 
-// their locations in a map of strings/int's 
-
-typedef std::map<std::string, int, std::less<std::string> > map_type; 
-class class_index 
-{ 
-   boost::regex expression; 
-   map_type index; 
-   std::string::const_iterator base; 
-   bool  grep_callback(boost::smatch what); 
-public: 
-   void IndexClasses(const std::string& file); 
-   class_index() 
-      : index(), 
-        expression("^(template[[:space:]]*<[^;:{]+>[[:space:]]*)?" 
-                   "(class|struct)[[:space:]]*(\\<\\w+\\>([[:blank:]]*\\([^)]*\\))?" 
-                   "[[:space:]]*)*(\\<\\w*\\>)[[:space:]]*(<[^;:{]+>[[:space:]]*)?" 
-                   "(\\{|:[^;\\{()]*\\{)" 
-                   ){} 
-}; 
-bool  class_index::grep_callback(boost::smatch what) 
-{ 
-   // what[0] contains the whole string 
-   // what[5] contains the class name. 
-   // what[6] contains the template specialisation if any. 
-   // add class name and position to map: 
-   index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = 
-               what[5].first - base; 
-   return true; 
-} 
-
-void class_index::IndexClasses(const std::string& file) 
-{ 
-   std::string::const_iterator start, end; 
-   start = file.begin(); 
-   end = file.end(); 
-   base = start; 
-   regex_grep(std::bind1st(std::mem_fun(&class_index::grep_callback), this), 
-              start, 
-              end, 
-              expression); 
-} 
- 
-
-

Finally, C++ - Builder users can use C++ Builder's closure type as a callback argument:

-
-#include <string> 
-#include <map> 
-#include <boost/regex.hpp> 
-#include <functional> 
-// purpose: 
-// takes the contents of a file in the form of a string 
-// and searches for all the C++ class definitions, storing 
-// their locations in a map of strings/int's 
-
-typedef std::map<std::string, int, std::less<std::string> > map_type; 
-class class_index 
-{ 
-   boost::regex expression; 
-   map_type index; 
-   std::string::const_iterator base; 
-   typedef  boost::smatch arg_type; 
-   bool grep_callback(const arg_type& what); 
-public: 
-   typedef bool (__closure* grep_callback_type)(const arg_type&); 
-   void IndexClasses(const std::string& file); 
-   class_index() 
-      : index(), 
-        expression("^(template[[:space:]]*<[^;:{]+>[[:space:]]*)?" 
-                   "(class|struct)[[:space:]]*(\\<\\w+\\>([[:blank:]]*\\([^)]*\\))?" 
-                   "[[:space:]]*)*(\\<\\w*\\>)[[:space:]]*(<[^;:{]+>[[:space:]]*)?" 
-                   "(\\{|:[^;\\{()]*\\{)" 
-                   ){} 
-}; 
-
-bool class_index::grep_callback(const arg_type& what) 
-{ 
-   // what[0] contains the whole string    
-// what[5] contains the class name.    
-// what[6] contains the template specialisation if any.    
-// add class name and position to map:    
-index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = 
-               what[5].first - base; 
-   return true; 
-} 
-
-void class_index::IndexClasses(const std::string& file) 
-{ 
-   std::string::const_iterator start, end; 
-   start = file.begin(); 
-   end = file.end(); 
-   base = start; 
-   class_index::grep_callback_type cl = &(this->grep_callback); 
-   regex_grep(cl, 
-            start, 
-            end, 
-            expression); 
-}
-
-

-
-

Revised - - 17 May 2003 -

-

© Copyright John Maddock 1998- - - 2003 -

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - diff --git a/doc/Attic/regex_iterator.html b/doc/Attic/regex_iterator.html deleted file mode 100644 index 4a24769b..00000000 --- a/doc/Attic/regex_iterator.html +++ /dev/null @@ -1,427 +0,0 @@ - - - - Boost.Regex: regex_iterator - - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

regex_iterator

-
-

Boost.Regex Index

-
-
-
-
-

Contents

-
-
Synopsis
Description
- Examples
-
-

Synopsis

-

The iterator type regex_iterator will enumerate all of the regular expression - matches found in some sequence: dereferencing a regex_iterator yields a - reference to a match_results object.

-
-template <class BidirectionalIterator, 
-          class charT = iterator_traits<BidirectionalIterator>::value_type,
-          class traits = regex_traits<charT>,
-          class Allocator = allocator<charT> >
-class regex_iterator 
-{
-public:
-   typedef          basic_regex<charT, traits, Allocator>                   regex_type;
-   typedef          match_results<BidirectionalIterator>                    value_type;
-   typedef typename iterator_traits<BidirectionalIterator>::difference_type difference_type;
-   typedef          const value_type*                                       pointer;
-   typedef          const value_type&                                       reference;
-   typedef          std::forward_iterator_tag                               iterator_category;
-   
-   regex_iterator();
-   regex_iterator(BidirectionalIterator a, BidirectionalIterator b, 
-                  const regex_type& re, 
-                  match_flag_type m = match_default);
-   regex_iterator(const regex_iterator&);
-   regex_iterator& operator=(const regex_iterator&);
-   bool operator==(const regex_iterator&);
-   bool operator!=(const regex_iterator&);
-   const value_type& operator*();
-   const value_type* operator->();
-   regex_iterator& operator++();
-   regex_iterator operator++(int);
-};
-
-
-

Description

-

A regex_iterator is constructed from a pair of iterators, and enumerates all - occurrences of a regular expression within that iterator range.

-
-regex_iterator();
-
- -

Effects: constructs an end of sequence regex_iterator.

-
-regex_iterator(BidirectionalIterator a, BidirectionalIterator b, 
-               const regex_type& re, 
-               match_flag_type m = match_default);
-
- -

Effects: constructs a regex_iterator that will enumerate all occurrences - of the expression re, within the sequence [a,b), and found - using match flags m.  The object re must exist for the - lifetime of the regex_iterator.

-

Throws: std::runtime_error if the complexity of - matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

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

Effects: constructs a copy of that.

- -

Postconditions: *this == that.

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

Effects: sets *this equal to those in that.

- -

Postconditions: *this == that.

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

Effects: returns true if *this is equal to that.

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

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

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

Effects: dereferencing a regex_iterator object it yields a - const reference to a match_results object, - whose members are set as follows:

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Element

-
-

Value

-
-

(*it).size()

-
-

re.mark_count()

-
-

(*it).empty()

-
-

false

-
-

(*it).prefix().first

-
-

The end of the last match found, or the start of the underlying sequence if - this is the first match enumerated

-
-

(*it).prefix().last

-
-

(*it)[0].first

-
-

(*it).prefix().matched

-
-

(*it).prefix().first != (*it).prefix().second

-
-

(*it).suffix().first

-
-

(*it)[0].second

-
-

(*it).suffix().last

-
-

The end of the underlying sequence.

-
-

(*it).suffix().matched

-
-

(*it).suffix().first != (*it).suffix().second

-
-

(*it)[0].first

-
-

The start of the sequence of characters that matched the regular expression

-
-

(*it)[0].second

-
-

The end of the sequence of characters that matched the regular expression

-
-

(*it)[0].matched

-
-

true if a full match was found, and false if it was a - partial match (found as a result of the match_partial flag being - set).

-
-

(*it)[n].first

-
-

For all integers n < (*it).size(), the start of the sequence that matched - sub-expression n. Alternatively, if sub-expression n did not participate - in the match, then last.

-
-

(*it)[n].second

-
-

For all integers n < (*it).size(), the end of the sequence that matched - sub-expression n. Alternatively, if sub-expression n did not participate - in the match, then last.

-
-

(*it)[n].matched

-
-

For all integers n < (*it).size(), true if sub-expression n participated - in the match, false otherwise.

-
(*it).position(n)For all integers n < (*it).size(), then the - distance from the start of the underlying sequence to the start of - sub-expression match n.
-
-
-
-const value_type* operator->();
-
- -

Effects: returns &(*this).

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

Effects: moves the iterator to the next match in the - underlying sequence, or the end of sequence iterator if none if found. -  When the last match found matched a zero length string, then the - regex_iterator will find the next match as follows: if there exists a non-zero - length match that starts at the same location as the last one, then returns it, - otherwise starts looking for the next (possibly zero length) match from one - position to the right of the last match.

-

Throws: std::runtime_error if the complexity of - matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

- -

Returns: *this.

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

Effects: constructs a copy result of *this, - then calls ++(*this).

- -

Returns: result.

-

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 <map>
-#include <fstream>
-#include <iostream>
-#include <boost/regex.hpp>
-
-using namespace std;
-
-// purpose:
-// takes the contents of a file in the form of a string
-// and searches for all the C++ class definitions, storing
-// their locations in a map of strings/int's
-
-typedef std::map<std::string, std::string::difference_type, std::less<std::string> > map_type;
-
-const char* re = 
-   // possibly leading whitespace:   
-   "^[[:space:]]*" 
-   // possible template declaration:
-   "(template[[:space:]]*<[^;:{]+>[[:space:]]*)?"
-   // class or struct:
-   "(class|struct)[[:space:]]*" 
-   // leading declspec macros etc:
-   "("
-      "\\<\\w+\\>"
-      "("
-         "[[:blank:]]*\\([^)]*\\)"
-      ")?"
-      "[[:space:]]*"
-   ")*" 
-   // the class name
-   "(\\<\\w*\\>)[[:space:]]*" 
-   // template specialisation parameters
-   "(<[^;:{]+>)?[[:space:]]*"
-   // terminate in { or :
-   "(\\{|:[^;\\{()]*\\{)";
-
-
-boost::regex expression(re);
-map_type class_index;
-
-bool regex_callback(const boost::match_results<std::string::const_iterator>& what)
-{
-   // what[0] contains the whole string
-   // what[5] contains the class name.
-   // what[6] contains the template specialisation if any.
-   // add class name and position to map:
-   class_index[what[5].str() + what[6].str()] = what.position(5);
-   return true;
-}
-
-void load_file(std::string& s, std::istream& is)
-{
-   s.erase();
-   s.reserve(is.rdbuf()->in_avail());
-   char c;
-   while(is.get(c))
-   {
-      if(s.capacity() == s.size())
-         s.reserve(s.capacity() * 3);
-      s.append(1, c);
-   }
-}
-
-int main(int argc, const char** argv)
-{
-   std::string text;
-   for(int i = 1; i < argc; ++i)
-   {
-      cout << "Processing file " << argv[i] << endl;
-      std::ifstream fs(argv[i]);
-      load_file(text, fs);
-      // construct our iterators:
-      boost::regex_iterator<std::string::const_iterator> m1(text.begin(), text.end(), expression);
-      boost::regex_iterator<std::string::const_iterator> m2;
-      std::for_each(m1, m2, ®ex_callback);
-      // copy results:
-      cout << class_index.size() << " matches found" << endl;
-      map_type::iterator c, d;
-      c = class_index.begin();
-      d = class_index.end();
-      while(c != d)
-      {
-         cout << "class \"" << (*c).first << "\" found at index: " << (*c).second << endl;
-         ++c;
-      }
-      class_index.erase(class_index.begin(), class_index.end());
-   }
-   return 0;
-}
-
-
-

Revised - - 17 May 2003 -

-

© Copyright John Maddock 1998- - - 2003 -

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - diff --git a/doc/Attic/regex_match.html b/doc/Attic/regex_match.html deleted file mode 100644 index 309d33d4..00000000 --- a/doc/Attic/regex_match.html +++ /dev/null @@ -1,317 +0,0 @@ - - - - Boost.Regex: Algorithm regex_match - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Algorithm regex_match

-
-

Boost.Regex Index

-
-

-
-

-

Contents

-
-
Synopsis
Description
- Examples
-
-

Synopsis

-
#include <boost/regex.hpp> 
-

The algorithm regex _match determines whether a given regular expression - matches a given sequence denoted by a pair of bidirectional-iterators, the - algorithm is defined as follows, note that the result is true only if the - expression matches the whole of the input sequence, the main use of - this function is data input validation. -

template <class BidirectionalIterator, class Allocator, class charT,
-          class traits, class Allocator2>
-bool regex_match(BidirectionalIterator first, BidirectionalIterator last,
-                 match_results<BidirectionalIterator, Allocator>& m,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-                 
-template <class BidirectionalIterator, class charT, class traits, class Allocator2>
-bool regex_match(BidirectionalIterator first, BidirectionalIterator last,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-                 
-template <class charT, class Allocator, class traits, class Allocator2>
-bool regex_match(const charT* str, match_results<const charT*, Allocator>& m,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-                 
-template <class ST, class SA, class Allocator, class charT,
-          class traits, class Allocator2>
-bool regex_match(const basic_string<charT, ST, SA>& s,
-                 match_results<typename basic_string<charT, ST, SA>::const_iterator, Allocator>& m, 
-                 const basic_regex<charT, traits, Allocator2>& e, 
-                 match_flag_type flags = match_default);
-                 
-template <class charT, class traits, class Allocator2>
-bool regex_match(const charT* str,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-                 
-template <class ST, class SA, class charT, class traits, class Allocator2>
-bool regex_match(const basic_string<charT, ST, SA>& s,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-
-

Description

-
template <class BidirectionalIterator, class Allocator, class charT,
-          class traits, class Allocator2>
-bool regex_match(BidirectionalIterator first, BidirectionalIterator last,
-                 match_results<BidirectionalIterator, Allocator>& m,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-

Requires: Type BidirectionalIterator meets the requirements of a - Bidirectional Iterator (24.1.4).

-

Effects: Determines whether there is an exact match between the regular - expression e, and all of the character sequence [first, last), parameter - flags is used to control how the expression - is matched against the character sequence. Returns true if such a match - exists, false otherwise.

-

Throws: std::runtime_error if the complexity of matching the - expression against an N character string begins to exceed O(N2), or - if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

-

Postconditions: If the function returns false, then the effect on - parameter m is undefined, otherwise the effects on parameter m are - given in the table:

-

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Element -

-
-

Value -

-
-

m.size()

-
-

e.mark_count()

-
-

m.empty()

-
-

false

-
-

m.prefix().first

-
-

first

-
-

m.prefix().last

-
-

first

-
-

m.prefix().matched

-
-

false

-
-

m.suffix().first

-
-

last

-
-

m.suffix().last

-
-

last

-
-

m.suffix().matched

-
-

false

-
-

m[0].first

-
-

first

-
-

m[0].second

-
-

last

-
-

m[0].matched

-
-

true if a full match was found, and false if it was - a partial match (found as a result of the match_partial flag being - set).

-
-

m[n].first

-
-

For all integers n < m.size(), the start of the sequence that matched - sub-expression n. Alternatively, if sub-expression n did not participate - in the match, then last.

-
-

m[n].second

-
-

For all integers n < m.size(), the end of the sequence that matched - sub-expression n. Alternatively, if sub-expression n did not participate - in the match, then last.

-
-

m[n].matched

-
-

For all integers n < m.size(), true if sub-expression n participated - in the match, false otherwise.

-
-
-

-
-
 
-
template <class BidirectionalIterator, class charT, class traits, class Allocator2>
-bool regex_match(BidirectionalIterator first, BidirectionalIterator last,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-

Effects: Behaves "as if" by constructing an instance of - match_results<BidirectionalIterator> what, - and then returning the result of regex_match(first, last, what, e, flags).

-
template <class charT, class Allocator, class traits, class Allocator2>
-bool regex_match(const charT* str, match_results<const charT*, Allocator>& m,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-

Effects: Returns the result of regex_match(str, str + - char_traits<charT>::length(str), m, e, flags).

-
template <class ST, class SA, class Allocator, class charT,
-          class traits, class Allocator2>
-bool regex_match(const basic_string<charT, ST, SA>& s,
-                 match_results<typename basic_string<charT, ST, SA>::const_iterator, Allocator>& m, 
-                 const basic_regex<charT, traits, Allocator2>& e, 
-                 match_flag_type flags = match_default);
-

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

-
template <class charT, class traits, class Allocator2>
-bool regex_match(const charT* str,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-

Effects: Returns the result of regex_match(str, str + - char_traits<charT>::length(str), e, flags).

-
template <class ST, class SA, class charT, class traits, class Allocator2>
-bool regex_match(const basic_string<charT, ST, SA>& s,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-

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 <boost/regex.hpp> 
-#include <string> 
-#include <iostream> 
-
-using namespace boost; 
-
-regex expression("([0-9]+)(\\-| |$)(.*)"); 
-
-// process_ftp: 
-// on success returns the ftp response code, and fills 
-// msg with the ftp response message. 
-int process_ftp(const char* response, std::string* msg) 
-{ 
-   cmatch what; 
-   if(regex_match(response, what, expression)) 
-   { 
-      // what[0] contains the whole string 
-      // what[1] contains the response code 
-      // what[2] contains the separator character 
-      // what[3] contains the text message. 
-      if(msg) 
-         msg->assign(what[3].first, what[3].second); 
-      return std::atoi(what[1].first); 
-   } 
-   // failure did not match 
-   if(msg) 
-      msg->erase(); 
-   return -1; 
-}
-      

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - diff --git a/doc/Attic/regex_merge.html b/doc/Attic/regex_merge.html deleted file mode 100644 index 00c35d76..00000000 --- a/doc/Attic/regex_merge.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - Boost.Regex: Algorithm regex_merge (deprecated) - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Algorithm regex_merge (deprecated)

-
-

Boost.Regex Index

-
-

-
-

-

Algorithm regex_merge has been renamed regex_replace, - existing code will continue to compile, but new code should use - regex_replace instead.

-

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/Attic/regex_replace.html b/doc/Attic/regex_replace.html deleted file mode 100644 index 8ff9764d..00000000 --- a/doc/Attic/regex_replace.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - Boost.Regex: Algorithm regex_replace - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Algorithm regex_replace

-
-

Boost.Regex Index

-
-

-
-

Contents

-
-
Synopsis
Description
- Examples
-

Synopsis

-
#include <boost/regex.hpp> 
-

The algorithm regex_replace searches through a string finding - all the matches to the regular expression: for each match it then calls - match_results::format to format the string and sends the result to the - output iterator. Sections of text that do not match are copied to the output - unchanged only if the flags parameter does not have the flag - format_no_copy set. If the flag format_first_only - is set then only the first occurrence is replaced rather than all - occurrences. 

template <class OutputIterator, class BidirectionalIterator, class traits,
-          class Allocator, class charT>
-OutputIterator regex_replace(OutputIterator out,
-                           BidirectionalIterator first,
-                           BidirectionalIterator last,
-                           const basic_regex<charT, traits, Allocator>& e,
-                           const basic_string<charT>& fmt,
-                           match_flag_type flags = match_default);
-
-template <class traits, class Allocator, class charT>
-basic_string<charT> regex_replace(const basic_string<charT>& s,
-                            const basic_regex<charT, traits, Allocator>& e,
-                            const basic_string<charT>& fmt,
-                            match_flag_type flags = match_default);
-
-
-

Description

-
template <class OutputIterator, class BidirectionalIterator, class traits,
-          class Allocator, class charT>
-OutputIterator regex_replace(OutputIterator out,
-                           BidirectionalIterator first,
-                           BidirectionalIterator last,
-                           const basic_regex<charT, traits, Allocator>& e,
-                           const basic_string<charT>& fmt,
-                           match_flag_type flags = match_default);
-

Effects: Finds all the non-overlapping matches m of type match_results<BidirectionalIterator> - that occur within the sequence [first, last). If no such matches are - found and !(flags & format_no_copy) then calls std::copy(first, - last, out). Otherwise, for each match found, if !(flags & - format_no_copy) calls std::copy(m.prefix().first, m.prefix().last, - out), and then calls m.format(out, fmt, flags). Finally - if !(flags & format_no_copy) calls std::copy(last_m.suffix().first, - last_m,suffix().last, out) where last_m is a copy of the - last match found. If flags & format_first_only is non-zero - then only the first match found is replaced.

-

Throws: std::runtime_error if the complexity of - matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

-

Returns: out. -

-
template <class traits, class Allocator, class charT>
-basic_string<charT> regex_replace(const basic_string<charT>& s,
-                            const basic_regex<charT, traits, Allocator>& e,
-                            const basic_string<charT>& fmt,
-                            match_flag_type flags = match_default);
-

Effects: Constructs an object basic_string<charT> result, - calls regex_replace(back_inserter(result), s.begin(), s.end(), e, fmt, - flags), and then returns result. -

Examples

-

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

-

-
#include <fstream>
-#include <sstream>
-#include <string>
-#include <iterator>
-#include <boost/regex.hpp>
-#include <fstream>
-#include <iostream>
-
-// purpose:
-// takes the contents of a file and transform to
-// syntax highlighted code in html format
-
-boost::regex e1, e2;
-extern const char* expression_text;
-extern const char* format_string;
-extern const char* pre_expression;
-extern const char* pre_format;
-extern const char* header_text;
-extern const char* footer_text;
-
-void load_file(std::string& s, std::istream& is)
-{
-   s.erase();
-   s.reserve(is.rdbuf()->in_avail());
-   char c;
-   while(is.get(c))
-   {
-      if(s.capacity() == s.size())
-         s.reserve(s.capacity() * 3);
-      s.append(1, c);
-   }
-}
-
-int main(int argc, const char** argv)
-{
-   try{
-   e1.assign(expression_text);
-   e2.assign(pre_expression);
-   for(int i = 1; i < argc; ++i)
-   {
-      std::cout << "Processing file " << argv[i] << std::endl;
-      std::ifstream fs(argv[i]);
-      std::string in;
-      load_file(in, fs);
-      std::string out_name(std::string(argv[i]) + std::string(".htm"));
-      std::ofstream os(out_name.c_str());
-      os << header_text;
-      // strip '<' and '>' first by outputting to a
-      // temporary string stream
-      std::ostringstream t(std::ios::out | std::ios::binary);
-      std::ostream_iterator<char, char> oi(t);
-      boost::regex_replace(oi, in.begin(), in.end(),
-      e2, pre_format, boost::match_default | boost::format_all);
-      // then output to final output stream
-      // adding syntax highlighting:
-      std::string s(t.str());
-      std::ostream_iterator<char, char> out(os);
-      boost::regex_replace(out, s.begin(), s.end(),
-      e1, format_string, boost::match_default | boost::format_all);
-      os << footer_text;
-   }
-   }
-   catch(...)
-   { return -1; }
-   return 0;
-}
-
-extern const char* pre_expression = "(<)|(>)|\\r";
-extern const char* pre_format = "(?1<)(?2>)";
-
-
-const char* expression_text = // preprocessor directives: index 1
-                              "(^[[:blank:]]*#(?:[^\\\\\\n]|\\\\[^\\n[:punct:][:word:]]*[\\n[:punct:][:word:]])*)|"
-                              // comment: index 2
-                              "(//[^\\n]*|/\\*.*?\\*/)|"
-                              // literals: index 3
-                              "\\<([+-]?(?:(?:0x[[:xdigit:]]+)|(?:(?:[[:digit:]]*\\.)?[[:digit:]]+(?:[eE][+-]?[[:digit:]]+)?))u?(?:(?:int(?:8|16|32|64))|L)?)\\>|"
-                              // string literals: index 4
-                              "('(?:[^\\\\']|\\\\.)*'|\"(?:[^\\\\\"]|\\\\.)*\")|"
-                              // keywords: index 5
-                              "\\<(__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)\\>"
-                              ;
-
-const char* format_string = "(?1<font color=\"#008040\">$&</font>)"
-                            "(?2<I><font color=\"#000080\">$&</font></I>)"
-                            "(?3<font color=\"#0000A0\">$&</font>)"
-                            "(?4<font color=\"#0000FF\">$&</font>)"
-                            "(?5<B>$&</B>)";
-
-const char* header_text = "<HTML>\n<HEAD>\n"
-                          "<TITLE>Auto-generated html formated source</TITLE>\n"
-                          "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=windows-1252\">\n"
-                          "</HEAD>\n"
-                          "<BODY LINK=\"#0000ff\" VLINK=\"#800080\" BGCOLOR=\"#ffffff\">\n"
-                          "<P> </P>\n<PRE>";
-
-const char* footer_text = "</PRE>\n</BODY>\n\n";
-      
-
-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - diff --git a/doc/Attic/regex_search.html b/doc/Attic/regex_search.html deleted file mode 100644 index 97850ba7..00000000 --- a/doc/Attic/regex_search.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - Boost.Regex: Algorithm regex_search - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Algorithm regex_search

-
-

Boost.Regex Index

-
-

-
-

Contents

-
-
Synopsis
Description
- Examples
-

Synopsis

-
#include <boost/regex.hpp> 
-

-

The algorithm regex_search will search a range denoted by a pair of - bidirectional-iterators for a given regular expression. The algorithm uses - various heuristics to reduce the search time by only checking for a match if a - match could conceivably start at that position. The algorithm is defined as - follows: -

template <class BidirectionalIterator, 
-          class Allocator, class charT,
-          class traits, class Allocator2>
-bool regex_search(BidirectionalIterator first, BidirectionalIterator last,
-                  match_results<BidirectionalIterator, Allocator>& m,
-                  const basic_regex<charT, traits, Allocator2>& e,
-                  match_flag_type flags = match_default);
-                  
-template <class ST, class SA, 
-          class Allocator, class charT,
-          class traits, class Allocator2> 
-bool regex_search(const basic_string<charT, ST, SA>& s, 
-                  match_results<
-                      typename basic_string<charT, ST,SA>::const_iterator, 
-                      Allocator>& m, 
-                  const basic_regex<charT, traits, Allocator2>& e, 
-                  match_flag_type flags = match_default); 
-          
-template<class charT, class Allocator, class traits, 
-         class Allocator2> 
-bool regex_search(const charT* str, 
-                  match_results<const charT*, Allocator>& m, 
-                  const basic_regex<charT, traits, Allocator2>& e,
-                  match_flag_type flags = match_default);
-                  
-template <class BidirectionalIterator, class Allocator,
-          class charT, class traits>                
-bool regex_search(BidirectionalIterator first, BidirectionalIterator last, 
-                  const basic_regex<charT, traits, Allocator>& e, 
-                  match_flag_type flags = match_default); 
-                  
-template <class charT, class Allocator, 
-          class traits> 
-bool regex_search(const charT* str, 
-                  const basic_regex<charT, traits, Allocator>& e, 
-                  match_flag_type flags = match_default); 
-                  
-template<class ST, class SA,
-         class Allocator, class charT, 
-         class traits>
-bool regex_search(const basic_string<charT, ST, SA>& s,
-                  const basic_regex<charT, traits, Allocator>& e,
-                  match_flag_type flags = match_default);
-
-

Description

-
template <class BidirectionalIterator, class Allocator, class charT,
-          class traits, class Allocator2>
-bool regex_search(BidirectionalIterator first, BidirectionalIterator last,
-                  match_results<BidirectionalIterator, Allocator>& m,
-                  const basic_regex<charT, traits, Allocator2>& e,
-                  match_flag_type flags = match_default);
-

Requires: Type BidirectionalIterator meets the requirements of a - Bidirectional Iterator (24.1.4).

-

Effects: Determines whether there is some sub-sequence within - [first,last) that matches the regular expression e, parameter flags - is used to control how the expression is matched against the character - sequence. Returns true if such a sequence exists, false otherwise.

-

Throws: std::runtime_error if the complexity of - matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

-

Postconditions: If the function returns false, then the effect on - parameter m is undefined, otherwise the effects on parameter m are - given in the table:

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Element

-
-

Value -

-
-

m.size()

-
-

e.mark_count()

-
-

m.empty()

-
-

false

-
-

m.prefix().first

-
-

first

-
-

m.prefix().last

-
-

m[0].first

-
-

m.prefix().matched

-
-

m.prefix().first != m.prefix().second

-
-

m.suffix().first

-
-

m[0].second

-
-

m.suffix().last

-
-

last

-
-

m.suffix().matched

-
-

m.suffix().first != m.suffix().second

-
-

m[0].first

-
-

The start of the sequence of characters that matched the regular expression

-
-

m[0].second

-
-

The end of the sequence of characters that matched the regular expression

-
-

m[0].matched

-
-

true if a full match was found, and false if it was - a partial match (found as a result of the match_partial flag being - set).

-
-

m[n].first

-
-

For all integers n < m.size(), the start of the sequence that matched - sub-expression n. Alternatively, if sub-expression n did not participate - in the match, then last.

-
-

m[n].second

-
-

For all integers n < m.size(), the end of the sequence that matched - sub-expression n. Alternatively, if sub-expression n did not participate - in the match, then last.

-
-

m[n].matched

-
-

For all integers n < m.size(), true if sub-expression n participated - in the match, false otherwise.

-
-
-
-
template <class charT, class Allocator, class traits, class Allocator2>
-bool regex_search(const charT* str, match_results<const charT*, Allocator>& m,
-                  const basic_regex<charT, traits, Allocator2>& e,
-                  match_flag_type flags = match_default);
-

Effects: Returns the result of regex_search(str, str + - char_traits<charT>::length(str), m, e, flags).

-
template <class ST, class SA, class Allocator, class charT,
-          class traits, class Allocator2>
-bool regex_search(const basic_string<charT, ST, SA>& s,
-                  match_results<typename basic_string<charT, ST, SA>::const_iterator, Allocator>& m,
-                  const basic_regex<charT, traits, Allocator2>& e,
-                  match_flag_type flags = match_default);
-

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

-
template <class iterator, class Allocator, class charT,
-          class traits>
-bool regex_search(iterator first, iterator last,
-                  const basic_regex<charT, traits, Allocator>& e,
-                  match_flag_type flags = match_default);
-

Effects: Behaves "as if" by constructing an instance of - match_results<BidirectionalIterator> what, - and then returning the result of regex_search(first, last, what, e, flags).

-
template <class charT, class Allocator, class traits>
-bool regex_search(const charT* str
-                  const basic_regex<charT, traits, Allocator>& e,
-                  match_flag_type flags = match_default);
-

Effects: Returns the result of regex_search(str, str + - char_traits<charT>::length(str), e, flags).

-
template <class ST, class SA, class Allocator, class charT,
-          class traits>
-bool regex_search(const basic_string<charT, ST, SA>& s,
-                  const basic_regex<charT, traits, Allocator>& e,
-                  match_flag_type flags = match_default);
-

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

Examples

-

The following example, - takes the contents of a file in the form of a string, and searches for all the - C++ class declarations in the file. The code will work regardless of the way - that std::string 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 <map> 
-#include <boost/regex.hpp> 
-
-// purpose: 
-// takes the contents of a file in the form of a string 
-// and searches for all the C++ class definitions, storing 
-// their locations in a map of strings/int's 
-typedef std::map<std::string, int, std::less<std::string> > map_type; 
-
-boost::regex expression("^(template[[:space:]]*<[^;:{]+>[[:space:]]*)?(class|struct)[[:space:]]*(\\<\\w+\\>([[:blank:]]*\\([^)]*\\))?[[:space:]]*)*(\\<\\w*\\>)[[:space:]]*(<[^;:{]+>[[:space:]]*)?(\\{|:[^;\\{()]*\\{)"); 
-
-void IndexClasses(map_type& m, const std::string& file) 
-{ 
-   std::string::const_iterator start, end; 
-   start = file.begin(); 
-   end = file.end(); 
-      boost::match_results<std::string::const_iterator> what; 
-   unsigned int flags = boost::match_default; 
-   while(regex_search(start, end, what, expression, flags)) 
-   { 
-      // what[0] contains the whole string 
-      // what[5] contains the class name. 
-      // what[6] contains the template specialisation if any. 
-      // add class name and position to map: 
-      m[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = 
-                what[5].first - file.begin(); 
-      // update search position: 
-      start = what[0].second; 
-      // update flags: 
-      flags |= boost::match_prev_avail; 
-      flags |= boost::match_not_bob; 
-   } 
-}
-     
-
-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - diff --git a/doc/Attic/regex_split.html b/doc/Attic/regex_split.html deleted file mode 100644 index e1eba954..00000000 --- a/doc/Attic/regex_split.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - Boost.Regex: Algorithm regex_split (deprecated) - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Algorithm regex_split (deprecated)

-
-

Boost.Regex Index

-
-

-
-

-

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

-

Code which uses regex_split will continue to compile, the following - documentation is taken from the previous boost.regex version:

-

Algorithm regex_split

-
#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, class Alloc2>
-std::size_t regex_split(OutputIterator out, 
-                        std::basic_string<charT, Traits1, Alloc1>& s, 
-                        const basic_regex<charT, Traits2, Alloc2>& e,
-                        unsigned flags,
-                        std::size_t max_split);
-
-template <class OutputIterator, class charT, class Traits1, class Alloc1, class Traits2, class Alloc2>
-std::size_t regex_split(OutputIterator out, 
-                        std::basic_string<charT, Traits1, Alloc1>& s, 
-                        const basic_regex<charT, Traits2, Alloc2>& e,
-                        unsigned flags = match_default);
-
-template <class OutputIterator, class charT, class Traits1, class Alloc1>
-std::size_t regex_split(OutputIterator out, 
-                        std::basic_string<charT, Traits1, Alloc1>& s);
-

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

-

Throws: std::runtime_error if the complexity of - matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

-

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

-
unsigned tokenise(std::list<std::string>& l, std::string& s)
-{
-   return boost::regex_split(std::back_inserter(l), s);
-}
-

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 <fstream>
-#include <iostream>
-#include <boost/regex.hpp>
-
-boost::regex e("<\\s*A\\s+[^>]*href\\s*=\\s*\"([^\"]*)\"",
-               boost::regbase::normal | boost::regbase::icase);
-
-void load_file(std::string& s, std::istream& is)
-{
-   s.erase();
-   //
-   // attempt to grow string buffer to match file size,
-   // this doesn't always work...
-   s.reserve(is.rdbuf()-&gtin_avail());
-   char c;
-   while(is.get(c))
-   {
-      // use logarithmic growth stategy, in case
-      // in_avail (above) returned zero:
-      if(s.capacity() == s.size())
-         s.reserve(s.capacity() * 3);
-      s.append(1, c);
-   }
-}
-
-
-int main(int argc, char** argv)
-{
-   std::string s;
-   std::list<std::string> l;
-
-   for(int i = 1; i < argc; ++i)
-   {
-      std::cout << "Findings URL's in " << argv[i] << ":" << std::endl;
-      s.erase();
-      std::ifstream is(argv[i]);
-      load_file(s, is);
-      boost::regex_split(std::back_inserter(l), s, e);
-      while(l.size())
-      {
-         s = *(l.begin());
-         l.pop_front();
-         std::cout << s << std::endl;
-      }
-   }
-   return 0;
-}
-
-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - diff --git a/doc/Attic/regex_token_iterator.html b/doc/Attic/regex_token_iterator.html deleted file mode 100644 index 03e2e64e..00000000 --- a/doc/Attic/regex_token_iterator.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - Boost.Regex: regex_token_iterator - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

regex_token_iterator

-
-

Boost.Regex Index

-
-

-
-

Contents

-
-
Synopsis
Description
- Examples
-

Synopsis

-

The template class regex_token_iterator is an iterator adapter; - that is to say it represents a new view of an existing iterator sequence, by - enumerating all the occurrences of a regular expression within that sequence, - and presenting one or more new strings for each match found. Each position - enumerated by the iterator is a string that represents what matched a - particular sub-expression within the regular expression. When class regex_token_iterator - is used to enumerate a single sub-expression with index -1, then the iterator - performs field splitting: that is to say it enumerates one string for each - section of the character container sequence that does not match the regular - expression specified.

-
-template <class BidirectionalIterator, 
-          class charT = iterator_traits<BidirectionalIterator>::value_type,
-          class traits = regex_traits<charT>,
-          class Allocator = allocator<charT> >
-class regex_token_iterator 
-{
-public:
-   typedef          basic_regex<charT, traits, Allocator>                   regex_type;
-   typedef          basic_string<charT>                                     value_type;
-   typedef typename iterator_traits<BidirectionalIterator>::difference_type difference_type;
-   typedef          const value_type*                                       pointer;
-   typedef          const value_type&                                       reference;
-   typedef          std::forward_iterator_tag                               iterator_category;
-   
-   regex_token_iterator();
-   regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, 
-                        int submatch = 0, match_flag_type m = match_default);
-   regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, 
-                        const std::vector<int>& submatches, match_flag_type m = match_default);
-   template <std::size_t N>
-   regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, 
-                        const int (&submatches)[N], match_flag_type m = match_default);
-   regex_token_iterator(const regex_token_iterator&);
-   regex_token_iterator& operator=(const regex_token_iterator&);
-   bool operator==(const regex_token_iterator&);
-   bool operator!=(const regex_token_iterator&);
-   const value_type& operator*();
-   const value_type* operator->();
-   regex_token_iterator& operator++();
-   regex_token_iterator operator++(int);
-};
-
-

Description

-
regex_token_iterator();
-

Effects: constructs an end of sequence iterator.

-
regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, 
-                     int submatch = 0, match_flag_type m = match_default);
-

Preconditions: !re.empty().

-

Effects: constructs a regex_token_iterator that will enumerate one - string for each regular expression match of the expression re found - within the sequence [a,b), using match flags m.  The - string enumerated is the sub-expression submatch for each match - found; if submatch is -1, then enumerates all the text sequences that - did not match the expression re (that is to performs field splitting).

-

Throws: std::runtime_error if the complexity of - matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

-
regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, 
-                     const std::vector<int>& submatches, match_flag_type m = match_default);
-

Preconditions: submatches.size() && !re.empty().

-

Effects: constructs a regex_token_iterator that will enumerate submatches.size() - strings for each regular expression match of the expression re found - within the sequence [a,b), using match flags m.  For - each match found one string will be enumerated for each sub-expression - index contained within submatches vector; if submatches[0] - is -1, then the first string enumerated for each match will be all of the text - from end of the last match to the start of the current match, in addition there - will be one extra string enumerated when no more matches can be found: from the - end of the last match found, to the end of the underlying sequence.

-

Throws: std::runtime_error if the complexity of - matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

-
template <std::size_t N>
-regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, 
-                     const int (&submatches)[R], match_flag_type m = match_default);
-

Preconditions: !re.empty().

-

Effects: constructs a regex_token_iterator that will - enumerate R strings for each regular expression match of the - expression re found within the sequence [a,b), using match - flags m.  For each match found one string will be - enumerated for each sub-expression index contained within the submatches - array; if submatches[0] is -1, then the first string enumerated - for each match will be all of the text from end of the last match to the start - of the current match, in addition there will be one extra string enumerated - when no more matches can be found: from the end of the last match found, to the - end of the underlying sequence.

-

Throws: std::runtime_error if the complexity of - matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

-
regex_token_iterator(const regex_token_iterator& that);
-

Effects: constructs a copy of that.

-

Postconditions: *this == that.

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

Effects: sets *this to be equal to that.

-

Postconditions: *this == that.

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

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

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

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

-
const value_type& operator*();
-

- Effects: returns the current string being enumerated.

-
const value_type* operator->();
-

- Effects: returns &(*this).

-
regex_token_iterator& operator++();
-

- Effects: Moves on to the next string to be enumerated.

-

Throws: std::runtime_error if the complexity of - matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

- -

- Returns: *this.

regex_token_iterator& operator++(int);
-

Effects: constructs a copy result of *this, - then calls ++(*this).

-

Returns: result. -

Examples

-

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

-
-#include <iostream>
-#include <boost/regex.hpp>
-
-using namespace std;
-
-int main(int argc)
-{
-   string s;
-   do{
-      if(argc == 1)
-      {
-         cout << "Enter text to split (or \"quit\" to exit): ";
-         getline(cin, s);
-         if(s == "quit") break;
-      }
-      else
-         s = "This is a string of tokens";
-
-      boost::regex re("\\s+");
-      boost::regex_token_iterator<std::string::const_iterator> i(s.begin(), s.end(), re, -1);
-      boost::regex_token_iterator<std::string::const_iterator> j;
-
-      unsigned count = 0;
-      while(i != j)
-      {
-         cout << *i++ << endl;
-         count++;
-      }
-      cout << "There were " << count << " tokens found." << endl;
-
-   }while(argc == 1);
-   return 0;
-}
-
-
-

The following example - takes a html file and outputs a list of all the linked files:

-
-#include <fstream>
-#include <iostream>
-#include <iterator>
-#include <boost/regex.hpp>
-
-boost::regex e("<\\s*A\\s+[^>]*href\\s*=\\s*\"([^\"]*)\"",
-               boost::regex::normal | boost::regbase::icase);
-
-void load_file(std::string& s, std::istream& is)
-{
-   s.erase();
-   //
-   // attempt to grow string buffer to match file size,
-   // this doesn't always work...
-   s.reserve(is.rdbuf()->in_avail());
-   char c;
-   while(is.get(c))
-   {
-      // use logarithmic growth stategy, in case
-      // in_avail (above) returned zero:
-      if(s.capacity() == s.size())
-         s.reserve(s.capacity() * 3);
-      s.append(1, c);
-   }
-}
-
-int main(int argc, char** argv)
-{
-   std::string s;
-   int i;
-   for(i = 1; i < argc; ++i)
-   {
-      std::cout << "Findings URL's in " << argv[i] << ":" << std::endl;
-      s.erase();
-      std::ifstream is(argv[i]);
-      load_file(s, is);
-      boost::regex_token_iterator<std::string::const_iterator>
-         i(s.begin(), s.end(), e, 1);
-      boost::regex_token_iterator<std::string::const_iterator> j;
-      while(i != j)
-      {
-         std::cout << *i++ << std::endl;
-      }
-   }
-   //
-   // alternative method:
-   // test the array-literal constructor, and split out the whole
-   // match as well as $1....
-   //
-   for(i = 1; i < argc; ++i)
-   {
-      std::cout << "Findings URL's in " << argv[i] << ":" << std::endl;
-      s.erase();
-      std::ifstream is(argv[i]);
-      load_file(s, is);
-      const int subs[] = {1, 0,};
-      boost::regex_token_iterator<std::string::const_iterator>
-         i(s.begin(), s.end(), e, subs);
-      boost::regex_token_iterator<std::string::const_iterator> j;
-      while(i != j)
-      {
-         std::cout << *i++ << std::endl;
-      }
-   }
-
-   return 0;
-}
-
-
-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - diff --git a/doc/Attic/regex_traits.html b/doc/Attic/regex_traits.html deleted file mode 100644 index a359e2e9..00000000 --- a/doc/Attic/regex_traits.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - Boost.Regex: class regex_traits - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

class regex_traits

-
-

Boost.Regex Index

-
-

-
-

-

Under construction.

-

The current boost.regex traits class design will be migrated to that specified - in the regular - expression standardization proposal. 

-

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/Attic/standards.html b/doc/Attic/standards.html deleted file mode 100644 index 35a2e67e..00000000 --- a/doc/Attic/standards.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - Boost.Regex: Standards Conformance - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Standards Conformance

-
-

Boost.Regex Index

-
-

-
-

C++

-

Boost.regex is intended to conform to the - regular expression standardization proposal, which will appear in a - future C++ standard technical report (and hopefully in a future version of the - standard).  Currently there are some differences in how the regular - expression traits classes are defined, these will be fixed in a future release.

-

ECMAScript / JavaScript

-

All of the ECMAScript regular expression syntax features are supported, except - that:

-

Negated class escapes (\S, \D and \W) are not permitted inside character class - definitions ( [...] ).

-

The escape sequence \u matches any upper case character (the same as - [[:upper:]]) rather than a Unicode escape sequence; use \x{DDDD} for - Unicode escape sequences.

-

Perl

-

Almost all Perl features are supported, except for:

-

\N{name}  Use [[:name:]] instead.

-

\pP and \PP

-

(?imsx-imsx)

-

(?<=pattern)

-

(?<!pattern)

-

(?{code})

-

(??{code})

-

(?(condition)yes-pattern) and (?(condition)yes-pattern|no-pattern)

-

These embarrassments / limitations will be removed in due course, mainly - dependent upon user demand.

-

POSIX

-

All the POSIX basic and extended regular expression features are supported, - except that:

-

No character collating names are recognized except those specified in the POSIX - standard for the C locale, unless they are explicitly registered with the - traits class.

-

Character equivalence classes ( [[=a=]] etc) are probably buggy except on - Win32.  Implementing this feature requires knowledge of the format of the - string sort keys produced by the system; if you need this, and the default - implementation doesn't work on your platform, then you will need to supply a - custom traits class.

-
-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - - diff --git a/doc/Attic/sub_match.html b/doc/Attic/sub_match.html deleted file mode 100644 index 19b12c8d..00000000 --- a/doc/Attic/sub_match.html +++ /dev/null @@ -1,426 +0,0 @@ - - - - Boost.Regex: sub_match - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

sub_match

-
-

Boost.Regex Index

-
-

-
-

Synopsis

-

#include <boost/regex.hpp> -

-

Regular expressions are different from many simple pattern-matching algorithms - in that as well as finding an overall match they can also produce - sub-expression matches: each sub-expression being delimited in the pattern by a - pair of parenthesis (...). There has to be some method for reporting - sub-expression matches back to the user: this is achieved this by defining a - class match_results that acts as an - indexed collection of sub-expression matches, each sub-expression match being - contained in an object of type sub_match - . -

Objects of type sub_match may only obtained by subscripting an object - of type match_results - . -

When the marked sub-expression denoted by an object of type sub_match<> - participated in a regular expression match then member matched evaluates - to true, and members first and second denote the - range of characters [first,second) which formed that match. - Otherwise matched is false, and members first and second - contained undefined values.

-

If an object of type sub_match<> represents sub-expression 0 - - that is to say the whole match - then member matched is always - true, unless a partial match was obtained as a result of the flag match_partial - being passed to a regular expression algorithm, in which case member matched - is false, and members first and second represent the - character range that formed the partial match.

-
-namespace boost{
-      
-template <class BidirectionalIterator>
-class sub_match : public std::pair<BidirectionalIterator, BidirectionalIterator>
-{
-public:
-   typedef typename iterator_traits<BidirectionalIterator>::value_type       value_type;
-   typedef typename iterator_traits<BidirectionalIterator>::difference_type  difference_type;
-   typedef          BidirectionalIterator                                    iterator;
-
-   bool matched;
-
-   difference_type length()const;
-   operator basic_string<value_type>()const;
-   basic_string<value_type> str()const;
-
-   int compare(const sub_match& s)const;
-   int compare(const basic_string<value_type>& s)const;
-   int compare(const value_type* s)const;
-};
-
-template <class BidirectionalIterator>
-bool operator == (const sub_match<BidirectionalIterator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator>
-bool operator != (const sub_match<BidirectionalIterator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator>
-bool operator < (const sub_match<BidirectionalIterator>& lhs,
-                 const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator>
-bool operator <= (const sub_match<BidirectionalIterator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator>
-bool operator >= (const sub_match<BidirectionalIterator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator>
-bool operator > (const sub_match<BidirectionalIterator>& lhs,
-                 const sub_match<BidirectionalIterator>& rhs);
-
-
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator == (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator != (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator < (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& lhs,
-                 const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator > (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& lhs,
-                 const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator >= (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator <= (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
-
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator == (const sub_match<BidirectionalIterator>& lhs,
-                  const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator != (const sub_match<BidirectionalIterator>& lhs,
-                  const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator < (const sub_match<BidirectionalIterator>& lhs,
-                 const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator > (const sub_match<BidirectionalIterator>& lhs,
-                 const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator >= (const sub_match<BidirectionalIterator>& lhs,
-                  const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator <= (const sub_match<BidirectionalIterator>& lhs,
-                  const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& rhs);
-
-template <class BidirectionalIterator> 
-bool operator == (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator != (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator < (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                 const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator > (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                 const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator >= (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator <= (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
-
-template <class BidirectionalIterator> 
-bool operator == (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
-template <class BidirectionalIterator> 
-bool operator != (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
-template <class BidirectionalIterator> 
-bool operator < (const sub_match<BidirectionalIterator>& lhs, 
-                 typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
-template <class BidirectionalIterator> 
-bool operator > (const sub_match<BidirectionalIterator>& lhs, 
-                 typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
-template <class BidirectionalIterator> 
-bool operator >= (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
-template <class BidirectionalIterator> 
-bool operator <= (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
-
-template <class BidirectionalIterator> 
-bool operator == (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator != (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator < (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                 const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator > (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                 const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator >= (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator <= (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
-
-template <class BidirectionalIterator> 
-bool operator == (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
-template <class BidirectionalIterator> 
-bool operator != (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
-template <class BidirectionalIterator> 
-bool operator < (const sub_match<BidirectionalIterator>& lhs, 
-                 typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
-template <class BidirectionalIterator> 
-bool operator > (const sub_match<BidirectionalIterator>& lhs, 
-                 typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
-template <class BidirectionalIterator> 
-bool operator >= (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
-template <class BidirectionalIterator> 
-bool operator <= (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
-
-template <class charT, class traits, class BidirectionalIterator>
-basic_ostream<charT, traits>&
-   operator << (basic_ostream<charT, traits>& os,
-                const sub_match<BidirectionalIterator>& m);
-
-} // namespace boost
-

Description

-

- sub_match members

-
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;
-

A type that represents the difference between two iterators.

-
typedef iterator iterator_type;
-

The iterator type.

-
iterator first
-

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

-
iterator second
-

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

-
bool matched
-

A Boolean value denoting whether this sub-expression participated in the match.

-
static difference_type length();
- -

- Effects: returns (matched ? 0 : distance(first, second)).

operator basic_string<value_type>()const;
- -

- Effects: returns (matched ? basic_string<value_type>(first, - second) : basic_string<value_type>()).

basic_string<value_type> str()const;
- -

- Effects: returns (matched ? basic_string<value_type>(first, - second) : basic_string<value_type>()).

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

- Effects: returns str().compare(s.str()).

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

- Effects: returns str().compare(s).

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

- Effects: returns str().compare(s).

-

- sub_match non-member operators

-
template <class BidirectionalIterator>
-bool operator == (const sub_match<BidirectionalIterator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
- -

- Effects: returns lhs.compare(rhs) == 0.

template <class BidirectionalIterator>
-bool operator != (const sub_match<BidirectionalIterator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
- -

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

template <class BidirectionalIterator>
-bool operator < (const sub_match<BidirectionalIterator>& lhs,
-                 const sub_match<BidirectionalIterator>& rhs);
- -

- Effects: returns lhs.compare(rhs) < 0.

template <class BidirectionalIterator>
-bool operator <= (const sub_match<BidirectionalIterator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
- -

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

template <class BidirectionalIterator>
-bool operator >= (const sub_match<BidirectionalIterator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
- -

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

template <class BidirectionalIterator>
-bool operator > (const sub_match<BidirectionalIterator>& lhs,
-                 const sub_match<BidirectionalIterator>& rhs);
- -

- Effects: returns lhs.compare(rhs) > 0.

template <class BidirectionalIterator> 
-bool operator == (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs == rhs.str().

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

- Effects: returns lhs != rhs.str().

template <class BidirectionalIterator> 
-bool operator < (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                 const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs < rhs.str().

template <class BidirectionalIterator> 
-bool operator > (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                 const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs > rhs.str().

template <class BidirectionalIterator> 
-bool operator >= (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs >= rhs.str().

template <class BidirectionalIterator> 
-bool operator <= (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs <= rhs.str().

template <class BidirectionalIterator> 
-bool operator == (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
- -

- Effects: returns lhs.str() == rhs.

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

- Effects: returns lhs.str() != rhs.

template <class BidirectionalIterator> 
-bool operator < (const sub_match<BidirectionalIterator>& lhs, 
-                 typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
- -

- Effects: returns lhs.str() < rhs.

template <class BidirectionalIterator> 
-bool operator > (const sub_match<BidirectionalIterator>& lhs, 
-                 typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
- -

- Effects: returns lhs.str() > rhs.

template <class BidirectionalIterator> 
-bool operator >= (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
- -

- Effects: returns lhs.str() >= rhs.

template <class BidirectionalIterator> 
-bool operator <= (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
- -

- Effects: returns lhs.str() <= rhs.

template <class BidirectionalIterator> 
-bool operator == (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs == rhs.str().

template <class BidirectionalIterator> 
-bool operator != (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs != rhs.str().

template <class BidirectionalIterator> 
-bool operator < (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                 const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs < rhs.str().

template <class BidirectionalIterator> 
-bool operator > (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                 const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs > rhs.str().

template <class BidirectionalIterator> 
-bool operator >= (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs >= rhs.str().

template <class BidirectionalIterator> 
-bool operator <= (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs <= rhs.str().

template <class BidirectionalIterator> 
-bool operator == (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
- -

- Effects: returns lhs.str() == rhs.

template <class BidirectionalIterator> 
-bool operator != (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
- -

- Effects: returns lhs.str() != rhs.

template <class BidirectionalIterator> 
-bool operator < (const sub_match<BidirectionalIterator>& lhs, 
-                 typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
- -

- Effects: returns lhs.str() < rhs.

template <class BidirectionalIterator> 
-bool operator > (const sub_match<BidirectionalIterator>& lhs, 
-                 typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
- -

- Effects: returns lhs.str() > rhs.

template <class BidirectionalIterator> 
-bool operator >= (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
- -

- Effects: returns lhs.str() >= rhs.

template <class BidirectionalIterator> 
-bool operator <= (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
- -

- Effects: returns lhs.str() <= rhs.

template <class charT, class traits, class BidirectionalIterator>
-basic_ostream<charT, traits>&
-   operator << (basic_ostream<charT, traits>& os
-                const sub_match<BidirectionalIterator>& m);
- -

- Effects: returns (os << m.str()). -


-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - - diff --git a/doc/Attic/syntax.html b/doc/Attic/syntax.html deleted file mode 100644 index 3d39d9d2..00000000 --- a/doc/Attic/syntax.html +++ /dev/null @@ -1,773 +0,0 @@ - - - - Boost.Regex: Regular Expression Syntax - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Regular Expression Syntax

-
-

Boost.Regex Index

-
-

-
-

This section covers the regular expression syntax used by this library, this is - a programmers guide, the actual syntax presented to your program's users will - depend upon the flags used during expression compilation. -

-

Literals -

-

All characters are literals except: ".", "|", "*", "?", "+", "(", ")", "{", - "}", "[", "]", "^", "$" and "\". These characters are literals when preceded by - a "\". A literal is a character that matches itself, or matches the result of - traits_type::translate(), where traits_type is the traits template parameter to - class basic_regex.

-

Wildcard -

-

The dot character "." matches any single character except : when match_not_dot_null - is passed to the matching algorithms, the dot does not match a null character; - when match_not_dot_newline is passed to the matching algorithms, then - the dot does not match a newline character. -

-

Repeats -

-

A repeat is an expression that is repeated an arbitrary number of times. An - expression followed by "*" can be repeated any number of times including zero. - An expression followed by "+" can be repeated any number of times, but at least - once, if the expression is compiled with the flag regex_constants::bk_plus_qm - then "+" is an ordinary character and "\+" represents a repeat of once or more. - An expression followed by "?" may be repeated zero or one times only, if the - expression is compiled with the flag regex_constants::bk_plus_qm then "?" is an - ordinary character and "\?" represents the repeat zero or once operator. When - it is necessary to specify the minimum and maximum number of repeats - explicitly, the bounds operator "{}" may be used, thus "a{2}" is the letter "a" - repeated exactly twice, "a{2,4}" represents the letter "a" repeated between 2 - and 4 times, and "a{2,}" represents the letter "a" repeated at least twice with - no upper limit. Note that there must be no white-space inside the {}, and there - is no upper limit on the values of the lower and upper bounds. When the - expression is compiled with the flag regex_constants::bk_braces then "{" and - "}" are ordinary characters and "\{" and "\}" are used to delimit bounds - instead. All repeat expressions refer to the shortest possible previous - sub-expression: a single character; a character set, or a sub-expression - grouped with "()" for example. -

-

Examples: -

-

"ba*" will match all of "b", "ba", "baaa" etc. -

-

"ba+" will match "ba" or "baaaa" for example but not "b". -

-

"ba?" will match "b" or "ba". -

-

"ba{2,4}" will match "baa", "baaa" and "baaaa". -

-

Non-greedy repeats -

-

Whenever the "extended" regular expression syntax is in use (the default) then - non-greedy repeats are possible by appending a '?' after the repeat; a - non-greedy repeat is one which will match the shortest possible string. -

-

For example to match html tag pairs one could use something like: -

-

"<\s*tagname[^>]*>(.*?)<\s*/tagname\s*>" -

-

In this case $1 will contain the text between the tag pairs, and will be the - shortest possible matching string.  -

-

Parenthesis -

-

Parentheses serve two purposes, to group items together into a sub-expression, - and to mark what generated the match. For example the expression "(ab)*" would - match all of the string "ababab". The matching algorithms - regex_match and regex_search - each take an instance of match_results - that reports what caused the match, on exit from these functions the - match_results contains information both on what the whole expression - matched and on what each sub-expression matched. In the example above - match_results[1] would contain a pair of iterators denoting the final "ab" of - the matching string. It is permissible for sub-expressions to match null - strings. If a sub-expression takes no part in a match - for example if it is - part of an alternative that is not taken - then both of the iterators that are - returned for that sub-expression point to the end of the input string, and the matched - parameter for that sub-expression is false. Sub-expressions are indexed - from left to right starting from 1, sub-expression 0 is the whole expression. -

-

Non-Marking Parenthesis -

-

Sometimes you need to group sub-expressions with parenthesis, but don't want - the parenthesis to spit out another marked sub-expression, in this case a - non-marking parenthesis (?:expression) can be used. For example the following - expression creates no sub-expressions: -

-

"(?:abc)*"

-

Forward Lookahead Asserts  -

-

There are two forms of these; one for positive forward lookahead asserts, and - one for negative lookahead asserts:

-

"(?=abc)" matches zero characters only if they are followed by the expression - "abc".

-

"(?!abc)" matches zero characters only if they are not followed by the - expression "abc".

-

Independent sub-expressions

-

"(?>expression)" matches "expression" as an independent atom (the algorithm - will not backtrack into it if a failure occurs later in the expression).

-

Alternatives -

-

Alternatives occur when the expression can match either one sub-expression or - another, each alternative is separated by a "|", or a "\|" if the flag - regex_constants::bk_vbar is set, or by a newline character if the flag - regex_constants::newline_alt is set. Each alternative is the largest possible - previous sub-expression; this is the opposite behavior from repetition - operators. -

-

Examples: -

-

"a(b|c)" could match "ab" or "ac". -

-

"abc|def" could match "abc" or "def". -

-

Sets -

-

A set is a set of characters that can match any single character that is a - member of the set. Sets are delimited by "[" and "]" and can contain literals, - character ranges, character classes, collating elements and equivalence - classes. Set declarations that start with "^" contain the compliment of the - elements that follow. -

-

Examples: -

-

Character literals: -

-

"[abc]" will match either of "a", "b", or "c". -

-

"[^abc] will match any character other than "a", "b", or "c". -

-

Character ranges: -

-

"[a-z]" will match any character in the range "a" to "z". -

-

"[^A-Z]" will match any character other than those in the range "A" to "Z". -

-

Note that character ranges are highly locale dependent if the flag - regex_constants::collate is set: they match any character that collates between - the endpoints of the range, ranges will only behave according to ASCII rules - when the default "C" locale is in effect. For example if the library is - compiled with the Win32 localization model, then [a-z] will match the ASCII - characters a-z, and also 'A', 'B' etc, but not 'Z' which collates just after - 'z'. This locale specific behavior is disabled by default (in perl mode), and - forces ranges to collate according to ASCII character code. -

-

Character classes are denoted using the syntax "[:classname:]" within a set - declaration, for example "[[:space:]]" is the set of all whitespace characters. - Character classes are only available if the flag regex_constants::char_classes - is set. The available character classes are: -
-   -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 alnumAny alpha numeric character. 
 alphaAny alphabetical character a-z and A-Z. Other - characters may also be included depending upon the locale. 
 blankAny blank character, either a space or a tab. 
 cntrlAny control character. 
 digitAny digit 0-9. 
 graphAny graphical character. 
 lowerAny lower case character a-z. Other characters may - also be included depending upon the locale. 
 printAny printable character. 
 punctAny punctuation character. 
 spaceAny whitespace character. 
 upperAny upper case character A-Z. Other characters may - also be included depending upon the locale. 
 xdigitAny hexadecimal digit character, 0-9, a-f and A-F. 
 wordAny word character - all alphanumeric characters plus - the underscore. 
 UnicodeAny character whose code is greater than 255, this - applies to the wide character traits classes only. 
-

-

There are some shortcuts that can be used in place of the character classes, - provided the flag regex_constants::escape_in_lists is set then you can use: -

-

\w in place of [:word:] -

-

\s in place of [:space:] -

-

\d in place of [:digit:] -

-

\l in place of [:lower:] -

-

\u in place of [:upper:]  -

-

Collating elements take the general form [.tagname.] inside a set declaration, - where tagname is either a single character, or a name of a collating - element, for example [[.a.]] is equivalent to [a], and [[.comma.]] is - equivalent to [,]. The library supports all the standard POSIX collating - element names, and in addition the following digraphs: "ae", "ch", "ll", "ss", - "nj", "dz", "lj", each in lower, upper and title case variations. - Multi-character collating elements can result in the set matching more than one - character, for example [[.ae.]] would match two characters, but note that - [^[.ae.]] would only match one character.  -

-

- Equivalence classes take the general form[=tagname=] inside a set declaration, - where tagname is either a single character, or a name of a collating - element, and matches any character that is a member of the same primary - equivalence class as the collating element [.tagname.]. An equivalence class is - a set of characters that collate the same, a primary equivalence class is a set - of characters whose primary sort key are all the same (for example strings are - typically collated by character, then by accent, and then by case; the primary - sort key then relates to the character, the secondary to the accentation, and - the tertiary to the case). If there is no equivalence class corresponding to tagname - , then[=tagname=] is exactly the same as [.tagname.]. Unfortunately there is no - locale independent method of obtaining the primary sort key for a character, - except under Win32. For other operating systems the library will "guess" the - primary sort key from the full sort key (obtained from strxfrm), so - equivalence classes are probably best considered broken under any operating - system other than Win32.  -

-

To include a literal "-" in a set declaration then: make it the first character - after the opening "[" or "[^", the endpoint of a range, a collating element, or - if the flag regex_constants::escape_in_lists is set then precede with an escape - character as in "[\-]". To include a literal "[" or "]" or "^" in a set then - make them the endpoint of a range, a collating element, or precede with an - escape character if the flag regex_constants::escape_in_lists is set. -

-

Line anchors -

-

An anchor is something that matches the null string at the start or end of a - line: "^" matches the null string at the start of a line, "$" matches the null - string at the end of a line. -

-

Back references -

-

A back reference is a reference to a previous sub-expression that has already - been matched, the reference is to what the sub-expression matched, not to the - expression itself. A back reference consists of the escape character "\" - followed by a digit "1" to "9", "\1" refers to the first sub-expression, "\2" - to the second etc. For example the expression "(.*)\1" matches any string that - is repeated about its mid-point for example "abcabc" or "xyzxyz". A back - reference to a sub-expression that did not participate in any match, matches - the null string: NB this is different to some other regular expression - matchers. Back references are only available if the expression is compiled with - the flag regex_constants::bk_refs set. -

-

Characters by code -

-

This is an extension to the algorithm that is not available in other libraries, - it consists of the escape character followed by the digit "0" followed by the - octal character code. For example "\023" represents the character whose octal - code is 23. Where ambiguity could occur use parentheses to break the expression - up: "\0103" represents the character whose code is 103, "(\010)3 represents the - character 10 followed by "3". To match characters by their hexadecimal code, - use \x followed by a string of hexadecimal digits, optionally enclosed inside - {}, for example \xf0 or \x{aff}, notice the latter example is a Unicode - character.

-

Word operators -

-

The following operators are provided for compatibility with the GNU regular - expression library. -

-

"\w" matches any single character that is a member of the "word" character - class, this is identical to the expression "[[:word:]]". -

-

"\W" matches any single character that is not a member of the "word" character - class, this is identical to the expression "[^[:word:]]". -

-

"\<" matches the null string at the start of a word. -

-

"\>" matches the null string at the end of the word. -

-

"\b" matches the null string at either the start or the end of a word. -

-

"\B" matches a null string within a word. -

-

The start of the sequence passed to the matching algorithms is considered to be - a potential start of a word unless the flag match_not_bow is set. The end of - the sequence passed to the matching algorithms is considered to be a potential - end of a word unless the flag match_not_eow is set. -

-

Buffer operators -

-

The following operators are provided for compatibility with the GNU regular - expression library, and Perl regular expressions: -

-

"\`" matches the start of a buffer. -

-

"\A" matches the start of the buffer. -

-

"\'" matches the end of a buffer. -

-

"\z" matches the end of a buffer. -

-

"\Z" matches the end of a buffer, or possibly one or more new line characters - followed by the end of the buffer. -

-

A buffer is considered to consist of the whole sequence passed to the matching - algorithms, unless the flags match_not_bob or match_not_eob are set. -

-

Escape operator -

-

The escape character "\" has several meanings. -

-

Inside a set declaration the escape character is a normal character unless the - flag regex_constants::escape_in_lists is set in which case whatever follows the - escape is a literal character regardless of its normal meaning. -

-

The escape operator may introduce an operator for example: back references, or - a word operator. -

-

The escape operator may make the following character normal, for example "\*" - represents a literal "*" rather than the repeat operator. -

-

Single character escape sequences -

-

The following escape sequences are aliases for single characters: -
-   -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Escape sequence - Character code - Meaning -  
 \a - 0x07 - Bell character. -  
 \f - 0x0C - Form feed. -  
 \n - 0x0A - Newline character. -  
 \r - 0x0D - Carriage return. -  
 \t - 0x09 - Tab character. -  
 \v - 0x0B - Vertical tab. -  
 \e - 0x1B - ASCII Escape character. -  
 \0dd - 0dd - An octal character code, where dd is one or - more octal digits. -  
 \xXX - 0xXX - A hexadecimal character code, where XX is one or more - hexadecimal digits. -  
 \x{XX} - 0xXX - A hexadecimal character code, where XX is one or more - hexadecimal digits, optionally a Unicode character. -  
 \cZ - z-@ - An ASCII escape sequence control-Z, where Z is any - ASCII character greater than or equal to the character code for '@'. -  
-

-

Miscellaneous escape sequences: -

-

The following are provided mostly for perl compatibility, but note that there - are some differences in the meanings of \l \L \u and \U: -
-   -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 \w - Equivalent to [[:word:]]. -  
 \W - Equivalent to [^[:word:]]. -  
 \s - Equivalent to [[:space:]]. -  
 \S - Equivalent to [^[:space:]]. -  
 \d - Equivalent to [[:digit:]]. -  
 \D - Equivalent to [^[:digit:]]. -  
 \l - Equivalent to [[:lower:]]. -  
 \L - Equivalent to [^[:lower:]]. -  
 \u - Equivalent to [[:upper:]]. -  
 \U - Equivalent to [^[:upper:]]. -  
 \C - Any single character, equivalent to '.'. -  
 \X - Match any Unicode combining character sequence, for - example "a\x 0301" (a letter a with an acute). -  
 \Q - The begin quote operator, everything that follows is - treated as a literal character until a \E end quote operator is found. -  
 \E - The end quote operator, terminates a sequence begun - with \Q. -  
-

-

What gets matched? -

-

- When the expression is compiled as a Perl-compatible regex then the matching - algorithms will perform a depth first search on the state machine and report - the first match found.

-

- When the expression is compiled as a POSIX-compatible regex then the matching - algorithms will match the first possible matching string, if more than one - string starting at a given location can match then it matches the longest - possible string, unless the flag match_any is set, in which case the first - match encountered is returned. Use of the match_any option can reduce the time - taken to find the match - but is only useful if the user is less concerned - about what matched - for example it would not be suitable for search and - replace operations. In cases where their are multiple possible matches all - starting at the same location, and all of the same length, then the match - chosen is the one with the longest first sub-expression, if that is the same - for two or more matches, then the second sub-expression will be examined and so - on. -

- The following table examples illustrate the main differences between Perl and - POSIX regular expression matching rules: -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Expression

-
-

Text

-
-

POSIX leftmost longest match

-
-

ECMAScript depth first search match

-
-

a|ab

-
-

- xaby -

-
-

- "ab"

-

- "a"

-

- .*([[:alnum:]]+).*

-

- " abc def xyz "

-

$0 = " abc def xyz "
- $1 = "abc"

-
-

$0 = " abc def xyz "
- $1 = "z"

-
-

- .*(a|xayy)

-

- zzxayyzz

-

- "zzxayy"

-

"zzxa"

-
-

These differences between Perl matching rules, and POSIX matching rules, mean - that these two regular expression syntaxes differ not only in the features - offered, but also in the form that the state machine takes and/or the - algorithms used to traverse the state machine.

-
-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - - diff --git a/doc/Attic/syntax_option_type.html b/doc/Attic/syntax_option_type.html deleted file mode 100644 index 532d6386..00000000 --- a/doc/Attic/syntax_option_type.html +++ /dev/null @@ -1,332 +0,0 @@ - - - - Boost.Regex: syntax_option_type - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

syntax_option_type

-
-

Boost.Regex Index

-
-

-
-

Synopsis

-

Type syntax_option type is an implementation defined bitmask type that controls - how a regular expression string is to be interpreted.  For convenience - note that all the constants listed here, are also duplicated within the scope - of class template basic_regex.

-
namespace std{ namespace regex_constants{
-
-typedef bitmask_type syntax_option_type;
-// these flags are standardized:
-static const syntax_option_type normal;
-static const syntax_option_type icase;
-static const syntax_option_type nosubs;
-static const syntax_option_type optimize;
-static const syntax_option_type collate;
-static const syntax_option_type ECMAScript = normal;
-static const syntax_option_type JavaScript = normal;
-static const syntax_option_type JScript = normal;
-static const syntax_option_type basic;
-static const syntax_option_type extended;
-static const syntax_option_type awk;
-static const syntax_option_type grep;
-static const syntax_option_type egrep;
-static const syntax_option_type sed = basic;
-static const syntax_option_type perl;
// these are boost.regex specific:
static const syntax_option_type escape_in_lists;
static const syntax_option_type char_classes;
static const syntax_option_type intervals;
static const syntax_option_type limited_ops;
static const syntax_option_type newline_alt;
static const syntax_option_type bk_plus_qm;
static const syntax_option_type bk_braces;
static const syntax_option_type bk_parens;
static const syntax_option_type bk_refs;
static const syntax_option_type bk_vbar;
static const syntax_option_type use_except;
static const syntax_option_type failbit;
static const syntax_option_type literal;
static const syntax_option_type nocollate;
static const syntax_option_type perlex;
static const syntax_option_type emacs;
-} // namespace regex_constants -} // namespace std
-

Description

-

The type syntax_option_type is an implementation defined bitmask - type (17.3.2.1.2). Setting its elements has the effects listed in the table - below, a valid value of type syntax_option_type will always have - exactly one of the elements normal, basic, extended, awk, grep, egrep, sed - or perl set.

-

Note that for convenience all the constants listed here are duplicated within - the scope of class template basic_regex, so you can use any of:

-
boost::regex_constants::constant_name
-

or

-
boost::regex::constant_name
-

or

-
boost::wregex::constant_name
-

in an interchangeable manner.

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Element

-
-

Effect if set

-
-

normal

-
-

Specifies that the grammar recognized by the regular expression engine uses its - normal semantics: that is the same as that given in the ECMA-262, ECMAScript - Language Specification, Chapter 15 part 10, RegExp (Regular Expression) Objects - (FWD.1).

-

boost.regex also recognizes most perl-compatible extensions in this mode.

-
-

icase

-
-

Specifies that matching of regular expressions against a character container - sequence shall be performed without regard to case.

-
-

nosubs

-
-

Specifies that when a regular expression is matched against a character - container sequence, then no sub-expression matches are to be stored in the - supplied match_results structure.

-
-

optimize

-
-

Specifies that the regular expression engine should pay more attention to the - speed with which regular expressions are matched, and less to the speed with - which regular expression objects are constructed. Otherwise it has no - detectable effect on the program output.  This currently has no effect for - boost.regex.

-
-

collate

-
-

Specifies that character ranges of the form "[a-b]" should be locale sensitive.

-
-

ECMAScript

-
-

The same as normal.

-
-

JavaScript

-
-

The same as normal.

-
-

JScript

-
-

The same as normal.

-
-

basic

-
-

Specifies that the grammar recognized by the regular expression engine is the - same as that used by POSIX basic regular expressions in IEEE Std 1003.1-2001, - Portable Operating System Interface (POSIX ), Base Definitions and Headers, - Section 9, Regular Expressions (FWD.1). -

-
-

extended

-
-

Specifies that the grammar recognized by the regular expression engine is the - same as that used by POSIX extended regular expressions in IEEE Std - 1003.1-2001, Portable Operating System Interface (POSIX ), Base Definitions and - Headers, Section 9, Regular Expressions (FWD.1).

-
-

awk

-
-

Specifies that the grammar recognized by the regular expression engine is the - same as that used by POSIX utility awk in IEEE Std 1003.1-2001, Portable - Operating System Interface (POSIX ), Shells and Utilities, Section 4, awk - (FWD.1).

-

That is to say: the same as POSIX extended syntax, but with escape sequences in - character classes permitted.

-
-

grep

-
-

Specifies that the grammar recognized by the regular expression engine is the - same as that used by POSIX utility grep in IEEE Std 1003.1-2001, Portable - Operating System Interface (POSIX ), Shells and Utilities, Section 4, - Utilities, grep (FWD.1).

-

That is to say, the same as POSIX basic syntax, but with the newline character - acting as an alternation character in addition to "|".

-
-

egrep

-
-

Specifies that the grammar recognized by the regular expression engine is the - same as that used by POSIX utility grep when given the -E option in IEEE Std - 1003.1-2001, Portable Operating System Interface (POSIX ), Shells and - Utilities, Section 4, Utilities, grep (FWD.1).

-

That is to say, the same as POSIX extended syntax, but with the newline - character acting as an alternation character in addition to "|".

-
-

sed

-
-

The same as basic.

-
-

perl

-
-

The same as normal.

-
-

-

The following constants are specific to this particular regular expression - implementation and do not appear in the - regular expression standardization proposal:

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
regbase::escape_in_listsAllows the use of the escape "\" character in sets of - characters, for example [\]] represents the set of characters containing only - "]". If this flag is not set then "\" is an ordinary character inside sets.
regbase::char_classesWhen this bit is set, character classes [:classname:] - are allowed inside character set declarations, for example "[[:word:]]" - represents the set of all characters that belong to the character class "word".
regbase:: intervalsWhen this bit is set, repetition intervals are - allowed, for example "a{2,4}" represents a repeat of between 2 and 4 letter - a's.
regbase:: limited_opsWhen this bit is set all of "+", "?" and "|" are - ordinary characters in all situations.
regbase:: newline_altWhen this bit is set, then the newline character "\n" - has the same effect as the alternation operator "|".
regbase:: bk_plus_qmWhen this bit is set then "\+" represents the one or - more repetition operator and "\?" represents the zero or one repetition - operator. When this bit is not set then "+" and "?" are used instead.
regbase:: bk_bracesWhen this bit is set then "\{" and "\}" are used for - bounded repetitions and "{" and "}" are normal characters. This is the opposite - of default behavior.
regbase:: bk_parensWhen this bit is set then "\(" and "\)" are used to - group sub-expressions and "(" and ")" are ordinary characters, this is the - opposite of default behavior.
regbase:: bk_refsWhen this bit is set then back references are - allowed.
regbase:: bk_vbarWhen this bit is set then "\|" represents the - alternation operator and "|" is an ordinary character. This is the opposite of - default behavior.
regbase:: use_exceptWhen this bit is set then a bad_expression - exception will be thrown on error.  Use of this flag is deprecated - - basic_regex will always throw on error.
regbase:: failbitThis bit is set on error, if regbase::use_except is - not set, then this bit should be checked to see if a regular expression is - valid before usage.
regbase::literalAll characters in the string are treated as literals, - there are no special characters or escape sequences.
regbase::emacsProvides compatability with the emacs - editor, eqivalent to: bk_braces | bk_parens | bk_refs | bk_vbar.
-

-
-

Revised - - 17 May 2003 -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - - diff --git a/doc/Attic/thread_safety.html b/doc/Attic/thread_safety.html deleted file mode 100644 index eeda681d..00000000 --- a/doc/Attic/thread_safety.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - Boost.Regex: Thread Safety - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Thread Safety

-
-

Boost.Regex Index

-
-

-
-

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

-

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

-

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

-

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

-

- There is also a requirement that there is only one thread executing prior to - the start of main().

-
-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/Attic/uarrow.gif b/doc/Attic/uarrow.gif deleted file mode 100644 index 6afd20c3857127c21fc9bcd52ec347e32c21578c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1666 zcmZ?wbhEHb)Me0S_|CwP5S3S3-SznXe?>*j_wTyvm7!+LipuF=EDz;>HaU#`S8h zGbFWQMU_0|jnYg*R~!4zoU;5Lr*b+kNLjFqO}~hCs-EvWIiqyb(4{u9n_SYiN0ser zo_b{M{x_V;vAo&^{Mxyq#wF4=oeHiqM6_c}V>j8vuGVp>F%O-V(SCB__7}X`>4L_U zVm6)9HjN6d6V!a?>4h#eja{wfQZZ%y0 zcBxI;Cfl@)`abn8dE3M44hNU*NNPV`GVOBRyc?a%?}et+Ma?OV1z ztZr|7`^k*Hb7j4o3a6defBuPS+ET~7&h+g3q~w&@bLM{g z{v)%b=KJ^W@87?F{`~p9d-twgyLRr}xnswU?cKX~>(;Gn*REZ+| zz|hB_12PztCmcBbGstqvcx+g3u$ey;0G87DHmwvOZbsa=mLSozov4QVirN zkYH*$(Ipxfv7$$*g>5oV5eFyJlXU-iJ*75&36GSIaY!gPakWlRX$xFzo8-`7pp?lY znV<6SW%6gfo)61`o?wS!MoswK)ayS4bmo_)pa{hw_vEcTxM zPDanKulTRm%EV*qzc;dPkof=bLaW;>i<48e&;Q%IfLkeak%MEWvmvi+)u$)tnah)3 zzYobUlt|ZDsp2B;lOu4zr|;?Xi81Aljx7>18v}w8=dCnx5x37caI~QDN1{wB=fsDu zys-rjSlMMb6pskc%4B2mG~_!tncsDW+KG_rFW=`ov1BY|m#=3r>d5VUbL<2|ufd}y zN(W?>L__VgzDUVA*Qs(Sw#pQ7C?(vR=Ao3Rl+=-VrMi-oT@Uca~Kt?WUK2AMe@GvcE{Cd?3LKD+Sc5{|74 z97Oz04zdV)C~!SoA`+l@KtO%#7iQtykpJx0QyQw=S@@C{Bm{XmvjpCgs&PoWyynza z@uT9&9F9kLS>?oz@Jp^ZI4$|G+;eeJr9BJYY?{Avi<7`&Kf{hFC9km6PN_VMY=XP) zNx5#;y81nfPvKKUYHVPNAq&@R!H??_wKsmy<&~@n@K7`k-1@Aaqm`jm%<+RYi=e9D zj7f$i_#F_GNyn$i)?1(nYpwDZ(GJJ{0WJvobi zo9%_7!m6+A3JI)9KcCK6Z~8WwZ_~3MkMqrz&zGy7qPKj`1lHGq4R j5{XCdyxsBG&w8Q7<)tgD4zTO*shVAswMUtek--`O>qI)6 diff --git a/doc/bad_expression.html b/doc/bad_expression.html deleted file mode 100644 index 71c42ed1..00000000 --- a/doc/bad_expression.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - Boost.Regex: bad_expression - - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

class bad_expression

-
-

Boost.Regex Index

-
-
-
-
-

Synopsis

-

#include <boost/pattern_except.hpp>

-

The class bad_expression 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{
-
-class bad_pattern : public std::runtime_error
-{
-public:
-   explicit bad_pattern(const std::string& s) : std::runtime_error(s){};
-};
-
-class bad_expression : public bad_pattern
-{
-public:
-   bad_expression(const std::string& s) : bad_pattern(s) {}
-};
-
-
-} // namespace boost
-
-

Description

-
-bad_expression(const string& what_arg);
-
-

Effects: Constructs an object of class bad_expression.

- -

Postcondition: strcmp(what(), what_arg.c_str()) == 0.

-

Footnotes: the class bad_pattern forms the base class for all - pattern-matching exceptions, of which bad_expression is one. The choice - of std::runtime_error as the base class for bad_pattern is moot; - depending upon how the library is used exceptions may be either logic errors - (programmer supplied expressions) or run time errors (user supplied - expressions).

-

-
-

Revised - - 17 May 2003 -

-

© Copyright John Maddock 1998- - - 2003 -

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/basic_regex.html b/doc/basic_regex.html deleted file mode 100644 index 5108c248..00000000 --- a/doc/basic_regex.html +++ /dev/null @@ -1,1293 +0,0 @@ - - - -Boost.Regex: basic_regex - - - - - - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

basic_regex

-
-

-"Boost.Regex

-
- -
-
- - -
-

Synopsis

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

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

- -

charT: determines the character type, i.e. either -char or wchar_t.

- -

traits: determines the behavior of the character -type, for example which character class names are recognized. A -default traits class is provided: -regex_traits<charT>.

- -

Allocator: the allocator class used to allocate -memory by the class.

- -

For ease of use there are two typedefs that define the two -standard basic_regex instances, unless you want to use -custom traits classes or allocators, you won't need to use anything -other than these:

- -
-namespace boost{
-template <class charT, class traits = regex_traits<charT>, class Allocator = std::allocator<charT>  >
-class basic_regex;
-typedef basic_regex<char> regex;
-typedef basic_regex<wchar_t> wregex;
-}
-
- -

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

- -
-namespace boost{
-
-template <class charT,
-          class traits = regex_traits<charT>,
-          class Allocator = allocator<charT> >
-class basic_regex
-{
-public:
-   // types:
-   typedef          charT                                value_type;
-   typedef          implementation defined               const_iterator;
-   typedef          const_iterator                       iterator;
-   typedef typename Allocator::reference                 reference;
-   typedef typename Allocator::const_reference           const_reference;
-   typedef typename Allocator::difference_type           difference_type;
-   typedef typename Allocator::size_type                 size_type;
-   typedef          Allocator                            allocator_type;
-   typedef          regex_constants::syntax_option_type  flag_type;
-   typedef typename traits::locale_type                  locale_type;
-
-   // constants:
-   static const regex_constants::syntax_option_type normal = regex_constants::normal;
-   static const regex_constants::syntax_option_type icase = regex_constants::icase;
-   static const regex_constants::syntax_option_type nosubs = regex_constants::nosubs;
-   static const regex_constants::syntax_option_type optimize = regex_constants::optimize;
-   static const regex_constants::syntax_option_type collate = regex_constants::collate;
-   static const regex_constants::syntax_option_type ECMAScript = normal;
-   static const regex_constants::syntax_option_type JavaScript = normal;
-   static const regex_constants::syntax_option_type JScript = normal;
-   // these flags are optional, if the functionality is supported
-   // then the flags shall take these names.
-   static const regex_constants::syntax_option_type basic = regex_constants::basic;
-   static const regex_constants::syntax_option_type extended = regex_constants::extended;
-   static const regex_constants::syntax_option_type awk = regex_constants::awk;
-   static const regex_constants::syntax_option_type grep = regex_constants::grep;
-   static const regex_constants::syntax_option_type egrep = regex_constants::egrep;
-   static const regex_constants::syntax_option_type sed = basic = regex_constants::sed;
-   static const regex_constants::syntax_option_type perl = regex_constants::perl;
-
-   // construct/copy/destroy:
-   explicit basic_regex(const Allocator& a = Allocator());
-   explicit basic_regex(const charT* p, flag_type f = regex_constants::normal,
-                        const Allocator& a = Allocator());
-   basic_regex(const charT* p1, const charT* p2, flag_type f = regex_constants::normal,
-               const Allocator& a = Allocator());
-   basic_regex(const charT* p, size_type len, flag_type f,
-               const Allocator& a = Allocator());
-   basic_regex(const basic_regex&);
-   template <class ST, class SA>
-   explicit basic_regex(const basic_string<charT, ST, SA>& p,
-                        flag_type f = regex_constants::normal,
-                        const Allocator& a = Allocator());
-   template <class InputIterator>
-   basic_regex(InputIterator first, inputIterator last,
-               flag_type f = regex_constants::normal,
-               const Allocator& a = Allocator());
-
-   ~basic_regex();
-   basic_regex& operator=(const basic_regex&);
-   basic_regex& operator=(const charT* ptr);
-   template <class ST, class SA>
-   basic_regex& operator=(const basic_string<charT, ST, SA>& p);
-
-   // iterators:
-   const_iterator begin() const;
-   const_iterator end() const;
-   // capacity:
-   size_type size() const;
-   size_type max_size() const;
-   bool empty() const;
-   unsigned mark_count() const;
-
-   //
-   // modifiers:
-   basic_regex& assign(const basic_regex& that);
-   basic_regex& assign(const charT* ptr, flag_type f = regex_constants::normal);
-   basic_regex& assign(const charT* first, const charT* last,
-                       flag_type f = regex_constants::normal);
-   template <class string_traits, class A>
-   basic_regex& assign(const basic_string<charT, string_traits, A>& s,
-                       flag_type f = regex_constants::normal);
-   template <class InputIterator>
-   basic_regex& assign(InputIterator first, InputIterator last,
-                       flag_type f = regex_constants::normal);
-
-   // const operations:
-   Allocator get_allocator() const;
-   flag_type getflags() const;
-   basic_string<charT> str() const;
-   int compare(basic_regex&) const;
-   // locale:
-   locale_type imbue(locale_type loc);
-   locale_type getloc() const;
-   // swap
-   void swap(basic_regex&) throw();
-};
-
-template <class charT, class traits, class Allocator>
-bool operator == (const basic_regex<charT, traits, Allocator>& lhs,
-                  const basic_regex<charT, traits, Allocator>& rhs);
-template <class charT, class traits, class Allocator>
-bool operator != (const basic_regex<charT, traits, Allocator>& lhs,
-                  const basic_regex<charT, traits, Allocator>& rhs);
-template <class charT, class traits, class Allocator>
-bool operator < (const basic_regex<charT, traits, Allocator>& lhs,
-                 const basic_regex<charT, traits, Allocator>& rhs);
-template <class charT, class traits, class Allocator>
-bool operator <= (const basic_regex<charT, traits, Allocator>& lhs,
-                  const basic_regex<charT, traits, Allocator>& rhs);
-template <class charT, class traits, class Allocator>
-bool operator >= (const basic_regex<charT, traits, Allocator>& lhs,
-                  const basic_regex<charT, traits, Allocator>& rhs);
-template <class charT, class traits, class Allocator>
-bool operator > (const basic_regex<charT, traits, Allocator>& lhs,
-                 const basic_regex<charT, traits, Allocator>& rhs);
-
-template <class charT, class io_traits, class re_traits, class Allocator>
-basic_ostream<charT, io_traits>&
-   operator << (basic_ostream<charT, io_traits>& os,
-                const basic_regex<charT, re_traits, Allocator>& e);
-
-template <class charT, class traits, class Allocator>
-void swap(basic_regex<charT, traits, Allocator>& e1,
-          basic_regex<charT, traits, Allocator>& e2);
-
-typedef basic_regex<char> regex;
-typedef basic_regex<wchar_t> wregex;
-
-} // namespace boost
-
- -

Description

- -

Class basic_regex has the following public member -functions:

- -

basic_regex constants

- -
-static const regex_constants::syntax_option_type normal = regex_constants::normal;
-static const regex_constants::syntax_option_type icase = regex_constants::icase;
-static const regex_constants::syntax_option_type nosubs = regex_constants::nosubs;
-static const regex_constants::syntax_option_type optimize = regex_constants::optimize;
-static const regex_constants::syntax_option_type collate = regex_constants::collate;
-static const regex_constants::syntax_option_type ECMAScript = normal;
-static const regex_constants::syntax_option_type JavaScript = normal;
-static const regex_constants::syntax_option_type JScript = normal;
-static const regex_constants::syntax_option_type basic = regex_constants::basic;
-static const regex_constants::syntax_option_type extended = regex_constants::extended;
-static const regex_constants::syntax_option_type awk = regex_constants::awk;
-static const regex_constants::syntax_option_type grep = regex_constants::grep;
-static const regex_constants::syntax_option_type egrep = regex_constants::egrep;
-static const regex_constants::syntax_option_type sed = basic = regex_constants::sed;
-static const regex_constants::syntax_option_type perl = regex_constants::perl;
-
- -

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

- -

basic_regex constructors

- -

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

- -
-basic_regex(const Allocator& a = Allocator());
-
- - - -

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

- -

-
-
- - - - - - - - - - - - - - - - - - - - - - -
- -

Element

-
- -

Value

-
-

empty()

-
-

true

-
-

size()

-
-

0

-
-

str()

-
-

basic_string<charT>()

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

Requires: p shall not be a null pointer.

- - - -

Throws: bad_expression if p is not a -valid regular expression.

- - - -

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

- - - -

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -

Element

-
- -

Value

-
-

empty()

-
-

false

-
-

size()

-
-

char_traits<charT>::length(p)

-
-

str()

-
-

basic_string<charT>(p)

-
-

getflags()

-
-

f

-
-

mark_count()

-
-

The number of marked sub-expressions within the expression.

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

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

- - - -

Throws: bad_expression if [p1,p2) is not a -valid regular expression.

- - - -

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

- - - -

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -

Element

-
- -

Value

-
-

empty()

-
-

false

-
-

size()

-
-

std::distance(p1,p2)

-
-

str()

-
-

basic_string<charT>(p1,p2)

-
-

getflags()

-
-

f

-
-

mark_count()

-
-

The number of marked sub-expressions within the expression.

-
-
-
- -
- 
-
- -
-basic_regex(const charT* p, size_type len, flag_type f, const Allocator& a = Allocator());
-
- - - -

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

- - - -

Throws: bad_expression if p is not a -valid regular expression.

- - - -

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

- - - -

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -

Element

-
- -

Value

-
-

empty()

-
-

false

-
-

size()

-
-

len

-
-

str()

-
-

basic_string<charT>(p, len)

-
-

getflags()

-
-

f

-
-

mark_count()

-
-

The number of marked sub-expressions within the expression.

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

Effects: Constructs an object of class -basic_regex as a copy of the object e. The -postconditions of this function are indicated in the table:

- - - -

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -

Element

-
- -

Value

-
-

empty()

-
-

e.empty()

-
-

size()

-
-

e.size()

-
-

str()

-
-

e.str()

-
-

getflags()

-
-

e.getflags()

-
-

mark_count()

-
-

e.mark_count()

-
-
-
- -
- 
-
- -
-template <class ST, class SA>
-basic_regex(const basic_string<charT, ST, SA>& s,
-            flag_type f = regex_constants::normal, const Allocator& a = Allocator());
-
- - - -

Throws: bad_expression if s is not a -valid regular expression.

- - - -

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

- - - -

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -

Element

-
- -

Value

-
-

empty()

-
-

false

-
-

size()

-
-

s.size()

-
-

str()

-
-

s

-
-

getflags()

-
-

f

-
-

mark_count()

-
-

The number of marked sub-expressions within the expression.

-
-
-
- -
- 
-
- -
-template <class ForwardIterator>
-basic_regex(ForwardIterator first, ForwardIterator last,
-            flag_type f = regex_constants::normal, const Allocator& a = Allocator());
-
- - - -

Throws: bad_expression if the sequence -[first, last) is not a valid regular expression.

- - - -

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

- - - -

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -

Element

-
- -

Value

-
-

empty()

-
-

false

-
-

size()

-
-

distance(first,last)

-
-

str()

-
-

basic_string<charT>(first,last)

-
-

getflags()

-
-

f

-
-

mark_count()

-
-

The number of marked sub-expressions within the expression.

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

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

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

Requires: p shall not be a null pointer.

- - - -

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

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

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

- -

basic_regex iterators

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

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

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

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

- -

basic_regex capacity

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

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

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

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

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

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

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

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

- -

basic_regex assign

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

Effects: Returns assign(that.str(), -that.getflags()).

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

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

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

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

- -
-template <class string_traits, class A>
-basic_regex& assign(const basic_string<charT, string_traits, A>& s,
-                    flag_type f = regex_constants::normal);
-
- - - -

Throws: bad_expression if s is not a -valid regular expression.

- - - -

Returns: *this.

- - - -

Effects: Assigns the regular expression contained in the -string s, interpreted according the option flags specified in f. -The postconditions of this function are indicated in the table:

- - - -

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -

Element

-
- -

Value

-
-

empty()

-
-

false

-
-

size()

-
-

s.size()

-
-

str()

-
-

s

-
-

getflags()

-
-

f

-
-

mark_count()

-
-

The number of marked sub-expressions within the expression.

-
-
-
- -
- 
-
- -
-template <class InputIterator>
-basic_regex& assign(InputIterator first, InputIterator last,
-                    flag_type f = regex_constants::normal);
-
- - - -

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

- - - -

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

- -

basic_regex constant operations

- -
-Allocator get_allocator() const;
-
- - - -

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

- -
-flag_type getflags() const;
-
- - - -

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

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

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

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

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

- -

basic_regex locale

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

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

- - - -

Postcondition: empty() == true.

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

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

- -

basic_regex swap

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

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

- - - -

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

- - - -

Complexity: constant time.

- -

basic_regex non-member functions

- -
basic_regex non-member comparison operators 
- -
-template <class charT, class traits, class Allocator>
-bool operator == (const basic_regex<charT, traits, Allocator>& lhs,
-                  const basic_regex<charT, traits, Allocator>& rhs);
-
- - - -

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

- -
-template <class charT, class traits, class Allocator>
-bool operator != (const basic_regex<charT, traits, Allocator>& lhs,
-                  const basic_regex<charT, traits, Allocator>& rhs);
-
- - - -

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

- -
-template <class charT, class traits, class Allocator>
-bool operator < (const basic_regex<charT, traits, Allocator>& lhs,
-                 const basic_regex<charT, traits, Allocator>& rhs);
-
- - - -

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

- -
-template <class charT, class traits, class Allocator>
-bool operator <= (const basic_regex<charT, traits, Allocator>& lhs,
-                  const basic_regex<charT, traits, Allocator>& rhs);
-
- - - -

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

- -
-template <class charT, class traits, class Allocator>
-bool operator >= (const basic_regex<charT, traits, Allocator>& lhs,
-                  const basic_regex<charT, traits, Allocator>& rhs);
-
- - - -

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

- -
-template <class charT, class traits, class Allocator>
-bool operator > (const basic_regex<charT, traits, Allocator>& lhs,
-                 const basic_regex<charT, traits, Allocator>& rhs);
-
- - - -

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

- -
basic_regex inserter.
- -
-template <class charT, class io_traits, class re_traits, class Allocator>
-basic_ostream<charT, io_traits>&
-   operator << (basic_ostream<charT, io_traits>& os
-                const basic_regex<charT, re_traits, Allocator>& e);
-
- - - -

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

- -
basic_regex non-member swap
- -
-template <class charT, class traits, class Allocator>
-void swap(basic_regex<charT, traits, Allocator>& lhs,
-          basic_regex<charT, traits, Allocator>& rhs);
-
- - - -

Effects: calls lhs.swap(rhs).

- -
-

Revised - -17 May 2003 -

- -

© Copyright John -Maddock 1998- - -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/configuration.html b/doc/configuration.html deleted file mode 100644 index 205a9a83..00000000 --- a/doc/configuration.html +++ /dev/null @@ -1,232 +0,0 @@ - - - -Boost.Regex: Configuration and setup - - - - - - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

Configuration and setup

-
-

-"Boost.Regex

-
- -
-
- - -
-

Contents

- -
-
Compiler setup
- -
Locale and traits class selection
- -
Linkage Options
- -
Algorithm Selection
- -
Algorithm Tuning
-
- -

Compiler setup.

- -

You shouldn't need to do anything special to configure -boost.regex for use with your compiler - the boost.config subsystem should already -take care of it, if you do have problems (or you are using a -particularly obscure compiler or platform) then boost.config has a configure script.

- -

Locale and traits class selection.

- -

The following macros (see user.hpp) control how -boost.regex interacts with the user's locale:

- - - - - - - - - - - - - - - - -
BOOST_REGEX_USE_C_LOCALEForces boost.regex to use the global C locale in its traits -class support: this is the default behavior on non-windows -platforms, but MS Windows platforms normally use the Win32 API for -locale support.
BOOST_REGEX_USE_CPP_LOCALEForces boost.regex to use std::locale in it's default traits -class, regular expressions can then be imbued with an -instance specific locale.
BOOST_REGEX_NO_W32Tells boost.regex not to use any Win32 API's even when -available (implies BOOST_REGEX_USE_C_LOCALE unless -BOOST_REGEX_USE_CPP_LOCALE is set).
- -
-
- - -

Linkage Options

- - - - - - - - - - - -
BOOST_REGEX_DYN_LINKFor Microsoft and Borland C++ builds, this tells boost.regex -that it should link to the dll build of the boost.regex.  By -default boost.regex will link to its static library build, even if -the dynamic C runtime library is in use.
BOOST_REGEX_NO_LIBFor Microsoft and Borland C++ builds, this tells boost.regex -that it should not automatically select the library to link -to.
- -
-
- - -

Algorithm Selection

- - - - - - - - - - - - - - - - -
BOOST_REGEX_V3Tells boost.regex to use the boost-1.30.0 matching algorithm, -define only if you need maximum compatibility with previous -behavior.
BOOST_REGEX_RECURSIVETells boost.regex to use a stack-recursive matching -algorithm.  This is generally the fastest option (although -there is very little in it), but can cause stack overflow in -extreme cases, on Win32 this can be handled safely, but this is not -the case on other platforms.
BOOST_REGEX_NON_RECURSIVETells boost.regex to use a non-stack recursive matching -algorithm, this can be slightly slower than the alternative, but is -always safe no matter how pathological the regular -expression.  This is the default on non-Win32 platforms.
- -
-
- - -

Algorithm Tuning

- -

The following option applies only if BOOST_REGEX_RECURSIVE is -set.

- - - - - - -
BOOST_REGEX_HAS_MS_STACK_GUARDTells boost.regex that Microsoft style __try - __except blocks -are supported, and can be used to safely trap stack overflow.
- -
-
- - -

The following options apply only if BOOST_REGEX_NON_RECURSIVE is -set.

- - - - - - - - - - - - - - - - -
BOOST_REGEX_BLOCKSIZEIn non-recursive mode, boost.regex uses largish blocks of -memory to act as a stack for the state machine, the larger the -block size then the fewer allocations that will take place.  -This defaults to 4096 bytes, which is large enough to match the -vast majority of regular expressions without further -allocations, however, you can choose smaller or larger values -depending upon your platforms characteristics.
BOOST_REGEX_MAX_BLOCKSTells boost.regex how many blocks of size BOOST_REGEX_BLOCKSIZE -it is permitted to use.  If this value is exceeded then -boost.regex will stop trying to find a match and throw a -std::runtime_error.  Defaults to 1024, don't forget to tweek -this value if you alter BOOST_REGEX_BLOCKSIZE by much.
BOOST_REGEX_MAX_CACHE_BLOCKSTells boost.regex how many memory blocks to store in it's -internal cache - memory blocks are taken from this cache rather -than by calling ::operator new.  Generally speeking this can -be an order of magnitude faster than calling ::opertator new each -time a memory block is required, but has the downside that -boost.regex can end up caching a large chunk of memory (by default -up to 16 blocks each of BOOST_REGEX_BLOCKSIZE size).  If -memory is tight then try defining this to 0 (disables all caching), -or if that is too slow, then a value of 1 or 2, may be -sufficient.  On the other hand, on large multi-processor, -multi-threaded systems, you may find that a higher value is in -order.
- -
-
- - -
-

Revised -17 May 2003 -

- -

© Copyright John -Maddock 1998- -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/contacts.html b/doc/contacts.html deleted file mode 100644 index 2f12281e..00000000 --- a/doc/contacts.html +++ /dev/null @@ -1,110 +0,0 @@ - - - -Boost.Regex: Contacts - - - - - -

- - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

Contacts and Acknowledgements

-
-

-"Boost.Regex

-
- -
-
- - -
-

The author can be contacted at -john_maddock@compuserve.com, the home page for this library is -at -http://ourworld.compuserve.com/homepages/john_maddock/regexpp.htm, -and the official boost version can be obtained from www.boost.org/libraries.htm.

- -

I am indebted to Robert Sedgewick's "Algorithms in C++" for -forcing me to think about algorithms and their performance, and to -the folks at boost for forcing me to think, period. The -following people have all contributed useful comments or fixes: -Dave Abrahams, Mike Allison, Edan Ayal, Jayashree Balasubramanian, -Jan Bölsche, Beman Dawes, Paul Baxter, David Bergman, David -Dennerline, Edward Diener, Peter Dimov, Robert Dunn, Fabio Forno, -Tobias Gabrielsson, Rob Gillen, Marc Gregoire, Chris Hecker, Nick -Hodapp, Jesse Jones, Martin Jost, Boris Krasnovskiy, Jan Hermelink, -Max Leung, Wei-hao Lin, Jens Maurer, Richard Peters, Heiko Schmidt, -Jason Shirk, Gerald Slacik, Scobie Smith, Mike Smyth, Alexander -Sokolovsky, Hervé Poirier, Michael Raykh, Marc Recht, Scott -VanCamp, Bruno Voigt, Alexey Voinov, Jerry Waldorf, Rob Ward, -Lealon Watts, Thomas Witt and Yuval Yosef. I am also grateful to -the manuals supplied with the Henry Spencer, Perl and GNU regular -expression libraries - wherever possible I have tried to maintain -compatibility with these libraries and with the POSIX standard - -the code however is entirely my own, including any bugs! I can -absolutely guarantee that I will not fix any bugs I don't know -about, so if you have any comments or spot any bugs, please get in -touch.

- -

Useful further information can be found at:

- -

A short tutorial on regular expressions can be -found here.

- -

The Open Unix -Specification contains a wealth of useful material, including -the regular expression syntax, and specifications for -<regex.h> and -<nl_types.h>.

- -

The Pattern -Matching Pointers site is a "must visit" resource for anyone -interested in pattern matching.

- -

Glimpse and Agrep, -use a simplified regular expression syntax to achieve faster search -times.

- -

Udi Manber -and Ricardo -Baeza-Yates both have a selection of useful pattern matching -papers available from their respective web sites.

- -

- -
-

Revised -17 May 2003 -

- -

© Copyright John -Maddock 1998- -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - diff --git a/doc/examples.html b/doc/examples.html deleted file mode 100644 index eeb99819..00000000 --- a/doc/examples.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - Boost.Regex: Examples - - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Examples

-
-

Boost.Regex Index

-
-
-
-
-

There are three demo applications that ship with this library, they all come - with makefiles for Borland, Microsoft and gcc compilers, otherwise you will - have to create your own makefiles.

-
regress.exe:
-

A regression test application that gives the matching/searching algorithms a - full workout. The presence of this program is your guarantee that the 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.

-

Files: parse.cpp, - regress.cpp, tests.cpp.

-
jgrep.exe
-

A simple grep implementation, run with no command line options to find out its - usage. Look at fileiter.cpp/fileiter.hpp and - the mapfile class to see an example of a "smart" bidirectional iterator that - can be used with boost.regex or any other STL algorithm.

-

Files: jgrep.cpp, - main.cpp.

-
timer.exe
-

A simple interactive expression matching application, the results of all - matches are timed, allowing the programmer to optimize their regular - expressions where performance is critical.

-

Files: regex_timer.cpp.

-
Code snippets
-

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

-

credit_card_example.cpp: - Credit card number formatting code.

-

partial_regex_grep.cpp: - Search example using partial matches.

-

partial_regex_match.cpp: - regex_match example using partial matches.

-

regex_grep_example_1.cpp: - regex_grep example 1: searches a cpp file for class definitions.

-

regex_grep_example_2.cpp: - regex_grep example 2: searches a cpp file for class definitions, using a global - callback function.

-

regex_grep_example_3.cpp: - regex_grep example 2: searches a cpp file for class definitions, using a bound - member function callback.

-

regex_grep_example_4.cpp: - regex_grep example 2: searches a cpp file for class definitions, using a C++ - Builder closure as a callback.

-

regex_match_example.cpp: - ftp based regex_match example.

-

regex_merge_example.cpp: - regex_merge example: converts a C++ file to syntax highlighted HTML.

-

regex_replace_example.cpp: - regex_replace example: converts a C++ file to syntax highlighted HTML

-

regex_search_example.cpp: - regex_search example: searches a cpp file for class definitions.

-

regex_split_example_1.cpp: - regex_split example: split a string into tokens.

-

regex_split_example_2.cpp - : regex_split example: spit out linked URL's.

-

-
-

Revised -17 May 2003 -

- -

© Copyright John -Maddock 1998- -2003 -

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/faq.html b/doc/faq.html deleted file mode 100644 index f398ad92..00000000 --- a/doc/faq.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - -Boost.Regex: FAQ - - - - -

- - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

FAQ

-
-

-"Boost.Regex

-
- -
-
- - -
- -

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

- -

A. These versions may or may not be available depending upon the -capabilities of your compiler, the rules determining the format of -these functions are quite complex - and only the versions visible -to a standard compliant compiler are given in the help. To find out -what your compiler supports, run <boost/regex.hpp> through -your C++ pre-processor, and search the output file for the function -that you are interested in.

- -

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

- -

A. If you embed regular expressions in C++ code, then remember -that escape characters are processed twice: once by the C++ -compiler, and once by the regex++ expression compiler, so to pass -the regular expression \d+ to regex++, you need to embed "\\d+" in -your code. Likewise to match a literal backslash you will need to -embed "\\\\" in your code.

- -

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

- -

For POSIX (extended and basic) regular expressions, but not for -perl regexes, parentheses don't only mark; they determine what the -best match is as well. When the expression is compiled as a POSIX -basic or extended regex then Boost.regex follows the POSIX standard -leftmost longest rule for determining what matched. So if there is -more than one possible match after considering the whole -expression, it looks next at the first sub-expression and then the -second sub-expression and so on. So...

- -
-"(0*)([0-9]*)" against "00123" would produce
-$1 = "00"
-$2 = "123"
-
- -

where as

- -
-"0*([0-9)*" against "00123" would produce
-$1 = "00123"
-
- -

If you think about it, had $1 only matched the "123", this would -be "less good" than the match "00123" which is both further to the -left and longer. If you want $1 to match only the "123" part, then -you need to use something like:

- -
-"0*([1-9][0-9]*)"
-
- -

as the expression.

- -

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

- -

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

- -

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

- -

- -
-

Revised - -17 May 2003 -

- -

© Copyright John -Maddock 1998- - -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/format_syntax.html b/doc/format_syntax.html deleted file mode 100644 index 36604d39..00000000 --- a/doc/format_syntax.html +++ /dev/null @@ -1,272 +0,0 @@ - - - - -Boost.Regex: Format String Syntax - - - - -

- - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

Format String Syntax

-
-

-"Boost.Regex

-
- -
-
- - -
-

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

- -

There are three kind of format string: sed, Perl and extended, -the extended syntax is a superset of the others so this is covered -first.

- -

Extended format syntax

- -

In format strings, all characters are treated as literals -except: ()$\?:

- -

To use any of these as literals you must prefix them with the -escape character \

- -

The following special sequences are recognized: 
-  
- Grouping:

- -

Use the parenthesis characters ( and ) to group sub-expressions -within the format string, use \( and \) to represent literal '(' -and ')'. 
-  
- Sub-expression expansions:

- -

The following Perl like expressions expand to a particular -matched sub-expression:
-  

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 $`Expands to all the text from the end -of the previous match to the start of the current match, if there -was no previous match in the current operation, then everything -from the start of the input string to the start of the match. 
 $'Expands to all the text from the end -of the match to the end of the input string. 
 $&Expands to all of the current -match. 
 $0Expands to all of the current -match. 
 $NExpands to the text that matched -sub-expression N. 
- -
-
- - -

Conditional expressions:

- -

Conditional expressions allow two different format strings to be -selected dependent upon whether a sub-expression participated in -the match or not:

- -

?Ntrue_expression:false_expression

- -

Executes true_expression if sub-expression N participated -in the match, otherwise executes false_expression.

- -

Example: suppose we search for "(while)|(for)" then the format -string "?1WHILE:FOR" would output what matched, but in upper -case. 
-  
- Escape sequences:

- -

The following escape sequences are also allowed:
-

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 \aThe bell character. 
 \fThe form feed character. 
 \nThe newline character. 
 \rThe carriage return character. 
 \tThe tab character. 
 \vA vertical tab character. 
 \xA hexadecimal character - for example -\x0D. 
 \x{}A possible Unicode hexadecimal -character - for example \x{1A0} 
 \cxThe ASCII escape character x, for -example \c@ is equivalent to escape-@. 
 \eThe ASCII escape character. 
 \ddAn octal character constant, for -example \10. 
- -
-
- - -

Perl format strings

- -

Perl format strings are the same as the default syntax except -that the characters ()?: have no special meaning.

- -

Sed format strings

- -

Sed format strings use only the characters \ and & as -special characters.

- -

\n where n is a digit, is expanded to the nth -sub-expression.

- -

& is expanded to the whole of the match (equivalent to -\0).

- -

Other escape sequences are expanded as per the default -syntax.

- -

- -
-

Revised - -17 May 2003 -

- -

© Copyright John -Maddock 1998- - -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/gcc-performance.html b/doc/gcc-performance.html deleted file mode 100644 index dc0adb53..00000000 --- a/doc/gcc-performance.html +++ /dev/null @@ -1,539 +0,0 @@ - - - - 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_maddock@compuserve.com1.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 April 2003, all rights reserved.

- - diff --git a/doc/headers.html b/doc/headers.html deleted file mode 100644 index d0b8283c..00000000 --- a/doc/headers.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - Boost.Regex: Headers - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Headers

-
-

Boost.Regex Index

-
-

-
-

-

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

-

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

-

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/history.html b/doc/history.html deleted file mode 100644 index 17ca695c..00000000 --- a/doc/history.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - Boost.Regex: History - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

History

-
-

Boost.Regex Index

-
-

-
-

-

Boost 1.31.0.

-
    -
  • - Completely rewritten pattern matching code - it is now up to 10 times faster - than before.
  • -
  • - Reorganized documentation.
  • -
  • - Deprecated all interfaces that are not part of the - regular expression standardization proposal.
  • -
  • - Added regex_iterator and regex_token_iterator.
  • -
  • - Added support for Perl style independent sub-expressions.
-

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/implementation.html b/doc/implementation.html deleted file mode 100644 index dfb8811a..00000000 --- a/doc/implementation.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - Boost.Regex: Implementation - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Implementation

-
-

Boost.Regex Index

-
-

-
-

-

Todo.

-

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/index.html b/doc/index.html deleted file mode 100644 index 88196f29..00000000 --- a/doc/index.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - Boost.Regex: Index - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Index

-
-

Boost Libraries Index

-
-
-
-
-

Contents

-
-
Overview
-
Configuration and setup
-
Installation
-
-
-
Borland C++ Builder
- Microsoft Visual C++
GNU G++
-
Sun Forte Compiler
- Other compilers (building with bjam)
-
-
-
Reference
-
-
-
Types
-
-
-
syntax_option_type
- match_flag_type
class bad_expression
-
class regex_traits
- class template basic_regex
class template - sub_match
class template - match_results
-
-
-
Algorithms
-
-
-
regex_match
regex_search
-
regex_replace
-
-
-
Iterators
-
-
-
regex_iterator
-
regex_token_iterator
-
-
-
Misc.
-
-
-
POSIX API Compatibility Functions
-
Partial matches
-
Regular Expression Syntax
-
Format String Syntax
-
-
-
Deprecated interfaces
-
-
-
class regbase
class - template reg_expression
Algorithm - regex_grep
Algorithm regex_format
-
Algorithm regex_merge
- Algorithm regex_split
-
class RegEx
-
-
-
-
-
FAQ
-
Appendix
-
-
-
Implementation
-
Thread Safety
-
Localisation
-
Examples
-
Headers
-
Redistributables and Library Names
-
Standards Conformance
-
History
-
Performance
-
Contacts and Acknowledgements
-
-
-
-
-

Revised - - 17 May 2003 -

-

© Copyright John Maddock 1998- - - 2003 -

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - - - diff --git a/doc/install.html b/doc/install.html deleted file mode 100644 index 9e111922..00000000 --- a/doc/install.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - Boost.Regex: Index - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Installation

-
-

Boost.Regex Index

-
-

-
-

When you extract the library from its zip file, you must preserve its internal - directory structure (for example by using the -d option when extracting). If - you didn't do that when extracting, then you'd better stop reading this, delete - the files you just extracted, and try again! -

-

This library should not need configuring before use; most popular - compilers/standard libraries/platforms are already supported "as is". If you do - experience configuration problems, or just want to test the configuration with - your compiler, then the process is the same as for all of boost; see the - configuration library documentation.

-

The library will encase all code inside namespace boost. -

-

Unlike some other template libraries, this library consists of a mixture of - template code (in the headers) and static code and data (in cpp files). - Consequently it is necessary to build the library's support code into a library - or archive file before you can use it, instructions for specific platforms are - as follows: -

-

Borland C++ Builder: -

-
    -
  • - Open up a console window and change to the <boost>\libs\regex\build - directory. -
  • - Select the appropriate makefile (bcb4.mak for C++ Builder 4, bcb5.mak for C++ - Builder 5, and bcb6.mak for C++ Builder 6). -
  • - Invoke the makefile (pass the full path to your version of make if you have - more than one version installed, the makefile relies on the path to make to - obtain your C++ Builder installation directory and tools) for example: -
  • -
-
make -fbcb5.mak
-

The build process will build a variety of .lib and .dll files (the exact number - depends upon the version of Borland's tools you are using) the .lib and dll - files will be in a sub-directory called bcb4 or bcb5 depending upon the - makefile used. To install the libraries into your development system use:

-
make -fbcb5.mak install
-

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

-

You may also remove temporary files created during the build process (excluding - lib and dll files) by using:

-
make -fbcb5.mak clean
-

Finally when you use regex++ it is only necessary for you to add the - <boost> root director to your list of include directories for that - project. It is not necessary for you to manually add a .lib file to the - project; the headers will automatically select the correct .lib file for your - build mode and tell the linker to include it. There is one caveat however: the - library can not tell the difference between VCL and non-VCL enabled builds when - building a GUI application from the command line, if you build from the command - line with the 5.5 command line tools then you must define the pre-processor - symbol _NO_VCL in order to ensure that the correct link libraries are selected: - the C++ Builder IDE normally sets this automatically. Hint, users of the 5.5 - command line tools may want to add a -D_NO_VCL to bcc32.cfg in order to set - this option permanently. -

-

If you would prefer to do a dynamic link to the regex libraries when using the - dll runtime then define BOOST_REGEX_DYN_LINK (you must do this if you want to - use boost.regex in multiple dll's), otherwise Boost.regex will be staically - linked by default. 

-

If you want to suppress automatic linking altogether (and supply your own - custom build of the lib) then define BOOST_REGEX_NO_LIB.

-

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

-

Microsoft Visual C++ 6 and 7

-

You need version 6 of MSVC to build this library. If you are using VC5 then you - may want to look at one of the previous releases of this - library -

-

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

-

Select the correct makefile - vc6.mak for "vanilla" Visual C++ 6 or - vc6-stlport.mak if you are using STLPort.

-

Invoke the makefile like this:

-
nmake -fvc6.mak
-

You will now have a collection of lib and dll files in a "vc6" subdirectory, to - install these into your development system use:

-
nmake -fvc6.mak install
-

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

-

You can delete all the temporary files created during the build (excluding lib - and dll files) using:

-
nmake -fvc6.mak clean 
-

Finally when you use regex++ it is only necessary for you to add the - <boost> root directory to your list of include directories for that - project. It is not necessary for you to manually add a .lib file to the - project; the headers will automatically select the correct .lib file for your - build mode and tell the linker to include it. -

-

- Note that if you want to dynamically link to the regex library when using the - dynamic C++ runtime, define BOOST_REGEX_DYN_LINK when building your project.

-

If you want to add the source directly to your project then define - BOOST_REGEX_NO_LIB to disable automatic library selection.

-

There are several important caveats to remember when using boost.regex with - Microsoft's Compiler:

-
    -
  • - There have been some reports of compiler-optimization bugs affecting this - library, (particularly with VC6 versions prior to service patch 5) the - workaround is to build the library using /Oityb1 rather than /O2. That is to - use all optimization settings except /Oa. This problem is reported to affect - some standard library code as well (in fact I'm not sure if the problem is with - the regex code or the underlying standard library), so it's probably worthwhile - applying this workaround in normal practice in any case.
  • -
  • - If you have replaced the C++ standard library that comes with VC6, then when - you build the library you must ensure that the environment variables "INCLUDE" - and "LIB" have been updated to reflect the include and library paths for the - new library - see vcvars32.bat (part of your Visual Studio installation) for - more details. -
  • -
  • - If you are building with the full STLPort v4.x, then use the vc6-stlport.mak - file provided and set the environment variable STLPORT_PATH to point to the - location of your STLPort installation (Note that the full STLPort libraries - appear not to support single-thread static builds).
  • -
  • - If you are building your application with /Zc:wchar_t then you will need to - modify the makefile to add /Zc:wchar_t before building the library. -
  • -
-

GCC(2.95 and 3.x) -

-

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

-
make -fgcc.mak 
-

At the end of the build process you should have a gcc sub-directory containing - release and debug versions of the library (libboost_regex.a and - libboost_regex_debug.a). When you build projects that use regex++, you will - need to add the boost install directory to your list of include paths and add - <boost>/libs/regex/build/gcc/libboost_regex.a to your list of library - files. -

-

There is also a makefile to build the library as a shared library:

-
make -fgcc-shared.mak
-

which will build libboost_regex.so and libboost_regex_debug.so.

-

Both of the these makefiles support the following environment variables:

-

CXXFLAGS: extra compiler options - note that this applies to both the debug and - release builds.

-

INCLUDES: additional include directories.

-

LDFLAGS: additional linker options.

-

LIBS: additional library files.

-

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

-

Sun Workshop 6.1

-

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

-
dmake -f sunpro.mak 
-

At the end of the build process you should have a sunpro sub-directory - containing single and multithread versions of the library (libboost_regex.a, - libboost_regex.so, libboost_regex_mt.a and libboost_regex_mt.so). When you - build projects that use regex++, you will need to add the boost install - directory to your list of include paths and add - <boost>/libs/regex/build/sunpro/ to your library search path. -

-

Both of the these makefiles support the following environment variables:

-

CXXFLAGS: extra compiler options - note that this applies to both the single - and multithreaded builds.

-

INCLUDES: additional include directories.

-

LDFLAGS: additional linker options.

-

LIBS: additional library files.

-

LIBSUFFIX: a suffix to mangle the library name with (defaults to nothing).

-

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

-
dmake CXXFLAGS="-xarch=v9" LDFLAGS="-xarch=v9" LIBSUFFIX="_v9" -f sunpro.mak
-

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

-

Other compilers: -

-

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

- Alternatively you can using the Jam based - build system: cd into <boost>/libs/regex/build and run:

bjam -sTOOLS=mytoolset
-

- If you need to configure the library for your platform, then refer to the - config library documentation - . -

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - diff --git a/doc/introduction.html b/doc/introduction.html deleted file mode 100644 index cd00847a..00000000 --- a/doc/introduction.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - Boost.Regex: Introduction - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Introduction

-
-

Boost.Regex Index

-
-

-
-

-

Regular expressions are a form of pattern-matching that are often used in text - processing; many users will be familiar with the Unix utilities grep, sed - and awk, and the programming language Perl, each of which make - extensive use of regular expressions. Traditionally C++ users have been limited - to the POSIX C API's for manipulating regular expressions, and while regex++ - does provide these API's, they do not represent the best way to use the - library. For example regex++ can cope with wide character strings, or search - and replace operations (in a manner analogous to either sed or Perl), something - that traditional C libraries can not do.

-

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

-
namespace boost{
-
-template <class charT, 
-          class traits = regex_traits<charT>, 
-          class Allocator = std::allocator<charT> >
-class basic_regex;
-
-typedef basic_regex<char> regex;
-typedef basic_regex<wchar_t> wregex;
-
-}
-

To see how this library can be used, imagine that we are writing a credit card - processing application. Credit card numbers generally come as a string of - 16-digits, separated into groups of 4-digits, and separated by either a space - or a hyphen. Before storing a credit card number in a database (not necessarily - something your customers will appreciate!), we may want to verify that the - number is in the correct format. To match any digit we could use the regular - expression [0-9], however ranges of characters like this are actually locale - dependent. Instead we should use the POSIX standard form [[:digit:]], or the - regex++ and Perl shorthand for this \d (note that many older libraries tended - to be hard-coded to the C-locale, consequently this was not an issue for them). - That leaves us with the following regular expression to validate credit card - number formats:

-

(\d{4}[- ]){3}\d{4}

-

Here the parenthesis act to group (and mark for future reference) - sub-expressions, and the {4} means "repeat exactly 4 times". This is an example - of the extended regular expression syntax used by Perl, awk and egrep. Regex++ - also supports the older "basic" syntax used by sed and grep, but this is - generally less useful, unless you already have some basic regular expressions - that you need to reuse.

-

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)
-{
-   static const boost::regex e("(\\d{4}[- ]){3}\\d{4}");
-   return regex_match(s, e);
-}
-

Note how we had to add some extra escapes to the expression: remember that the - escape is seen once by the C++ compiler, before it gets to be seen by the - regular expression engine, consequently escapes in regular expressions have to - be doubled up when embedding them in C/C++ code. Also note that all the - examples assume that your compiler supports Koenig lookup, if yours doesn't - (for example VC6), then you will have to add some boost:: prefixes to some of - the function calls in the examples.

-

Those of you who are familiar with credit card processing, will have realized - that while the format used above is suitable for human readable card numbers, - it does not represent the format required by online credit card systems; these - require the number as a string of 16 (or possibly 15) digits, without any - intervening spaces. What we need is a means to convert easily between the two - formats, and this is where search and replace comes in. Those who are familiar - with the utilities sed and Perl will already be ahead here; we - need two strings - one a regular expression - the other a "format - string" that provides a description of the text to replace the match - with. In regex++ this search 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:
-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");
-
-std::string machine_readable_card_number(const std::string s)
-{
-   return regex_replace(s, e, machine_format, boost::match_default | boost::format_sed);
-}
-
-std::string human_readable_card_number(const std::string s)
-{
-   return regex_replace(s, e, human_format, boost::match_default | boost::format_sed);
-}
-

Here we've used marked sub-expressions in the regular expression to split out - the four parts of the card number as separate fields, the format string then - uses the sed-like syntax to replace the matched text with the reformatted - version.

-

In the examples above, we haven't directly manipulated the results of a regular - expression match, however in general the result of a match contains a number of - sub-expression matches in addition to the overall match. When the library needs - to report a regular expression match it does so using an instance of the class - match_results, as before there are typedefs of this class for the most - common cases: -

-
namespace boost{
-typedef match_results<const char*> cmatch;
-typedef match_results<const wchar_t*> wcmatch;
-typedef match_results<std::string::const_iterator> smatch;
-typedef match_results<std::wstring::const_iterator> wsmatch; 
-}
-

The algorithms regex_search and - regex_grep (i.e. finding all matches in a string) make use of - match_results to report what matched.

-

Note that these algorithms are not restricted to searching regular C-strings, - any bidirectional iterator type can be searched, allowing for the possibility - of seamlessly searching almost any kind of data. -

-

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

-

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

-

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

-

Finally, note that the library now has run-time localization - support, and recognizes the full POSIX regular expression syntax - including - advanced features like multi-character collating elements and equivalence - classes - as well as providing compatibility with other regular expression - libraries including GNU and BSD4 regex packages, and to a more limited extent - Perl 5. -

-

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998-2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - - - diff --git a/doc/localisation.html b/doc/localisation.html deleted file mode 100644 index e4184fd8..00000000 --- a/doc/localisation.html +++ /dev/null @@ -1,1032 +0,0 @@ - - - - -Boost.Regex: Localisation - - - - -

- - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

Localisation

-
-

-"Boost.Regex

-
- -
-
- - -
-

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

- -

Front-end localization deals with everything which the user sees -- error messages, and the regular expression syntax itself. For -example a French application could change [[:word:]] to [[:mot:]] -and \w to \m. Modifying the front end locale requires active -support from the developer, by providing the library with a message -catalogue to load, containing the localized strings. Front-end -locale is affected by the LC_MESSAGES category only.

- -

Back-end localization deals with everything that occurs after -the expression has been parsed - in other words everything that the -user does not see or interact with directly. It deals with case -conversion, collation, and character class membership. The back-end -locale does not require any intervention from the developer - the -library will acquire all the information it requires for the -current locale from the underlying operating system / run time -library. This means that if the program user does not interact with -regular expressions directly - for example if the expressions are -embedded in your C++ code - then no explicit localization is -required, as the library will take care of everything for you. For -example embedding the expression [[:word:]]+ in your code will -always match a whole word, if the program is run on a machine with, -for example, a Greek locale, then it will still match a whole word, -but in Greek characters rather than Latin ones. The back-end locale -is affected by the LC_TYPE and LC_COLLATE categories.

- -

There are three separate localization mechanisms supported by -boost.regex:

- -

Win32 localization model.

- -

This is the default model when the library is compiled under -Win32, and is encapsulated by the traits class w32_regex_traits. -When this model is in effect there is a single global locale as -defined by the user's control panel settings, and returned by -GetUserDefaultLCID. All the settings used by boost.regex are -acquired directly from the operating system bypassing the C run -time library. Front-end localization requires a resource dll, -containing a string table with the user-defined strings. The traits -class exports the function:

- -

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

- -

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

- -

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

- -

Note that this API sets the dll name for both the narrow -and wide character specializations of w32_regex_traits.

- -

This model does not currently support thread specific locales -(via SetThreadLocale under Windows NT), the library provides full -Unicode support under NT, under Windows 9x the library degrades -gracefully - characters 0 to 255 are supported, the remainder are -treated as "unknown" graphic characters.

- -

C localization model.

- -

This is the default model when the library is compiled under an -operating system other than Win32, and is encapsulated by the -traits class c_regex_traits, Win32 users can force this -model to take effect by defining the pre-processor symbol -BOOST_REGEX_USE_C_LOCALE. When this model is in effect there is a -single global locale, as set by setlocale. All settings are -acquired from your run time library, consequently Unicode support -is dependent upon your run time library implementation. Front end -localization requires a POSIX message catalogue. The traits class -exports the function:

- -

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::c_regex_traits<char>::set_message_catalogue("mycatalogue");

- -

Note that this API sets the dll name for both the narrow -and wide character specializations of c_regex_traits. If your run -time library does not support POSIX message catalogues, then you -can either provide your own implementation of <nl_types.h> or -define BOOST_RE_NO_CAT to disable front-end localization via -message catalogues.

- -

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

- -

C++ localization model.

- -

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

- -

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");

- -

Note that calling basic_regex<>::imbue will invalidate any -expression currently compiled in that instance of -basic_regex<>. This model is the one which closest fits the -ethos of the C++ standard library, however it is the model which -will produce the slowest code, and which is the least well -supported by current standard library implementations, for example -I have yet to find an implementation of std::locale which supports -either message catalogues, or locales other than "C" or -"POSIX".

- -

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

- -

Providing a message catalogue:

- -

In order to localize the front end of the library, you need to -provide the library with the appropriate message strings contained -either in a resource dll's string table (Win32 model), or a POSIX -message catalogue (C or C++ models). In the latter case the -messages must appear in message set zero of the catalogue. The -messages and their id's are as follows:
-  

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Message idMeaningDefault value 
 101The character used to start a -sub-expression."(" 
 102The character used to end a -sub-expression declaration.")" 
 103The character used to denote an end of -line assertion."$" 
 104The character used to denote the start -of line assertion."^" 
 105The character used to denote the -"match any character expression"."." 
 106The match zero or more times -repetition operator."*" 
 107The match one or more repetition -operator."+" 
 108The match zero or one repetition -operator."?" 
 109The character set opening -character."[" 
 110The character set closing -character."]" 
 111The alternation operator."|" 
 112The escape character."\\" 
 113The hash character (not currently -used)."#" 
 114The range operator."-" 
 115The repetition operator opening -character."{" 
 116The repetition operator closing -character."}" 
 117The digit characters."0123456789" 
 118The character which when preceded by -an escape character represents the word boundary assertion."b" 
 119The character which when preceded by -an escape character represents the non-word boundary -assertion."B" 
 120The character which when preceded by -an escape character represents the word-start boundary -assertion."<" 
 121The character which when preceded by -an escape character represents the word-end boundary -assertion.">" 
 122The character which when preceded by -an escape character represents any word character."w" 
 123The character which when preceded by -an escape character represents a non-word character."W" 
 124The character which when preceded by -an escape character represents a start of buffer assertion."`A" 
 125The character which when preceded by -an escape character represents an end of buffer assertion."'z" 
 126The newline character."\n" 
 127The comma separator."," 
 128The character which when preceded by -an escape character represents the bell character."a" 
 129The character which when preceded by -an escape character represents the form feed character."f" 
 130The character which when preceded by -an escape character represents the newline character."n" 
 131The character which when preceded by -an escape character represents the carriage return character."r" 
 132The character which when preceded by -an escape character represents the tab character."t" 
 133The character which when preceded by -an escape character represents the vertical tab character."v" 
 134The character which when preceded by -an escape character represents the start of a hexadecimal character -constant."x" 
 135The character which when preceded by -an escape character represents the start of an ASCII escape -character."c" 
 136The colon character.":" 
 137The equals character."=" 
 138The character which when preceded by -an escape character represents the ASCII escape character."e" 
 139The character which when preceded by -an escape character represents any lower case character."l" 
 140The character which when preceded by -an escape character represents any non-lower case character."L" 
 141The character which when preceded by -an escape character represents any upper case character."u" 
 142The character which when preceded by -an escape character represents any non-upper case character."U" 
 143The character which when preceded by -an escape character represents any space character."s" 
 144The character which when preceded by -an escape character represents any non-space character."S" 
 145The character which when preceded by -an escape character represents any digit character."d" 
 146The character which when preceded by -an escape character represents any non-digit character."D" 
 147The character which when preceded by -an escape character represents the end quote operator."E" 
 148The character which when preceded by -an escape character represents the start quote operator."Q" 
 149The character which when preceded by -an escape character represents a Unicode combining character -sequence."X" 
 150The character which when preceded by -an escape character represents any single character."C" 
 151The character which when preceded by -an escape character represents end of buffer operator."Z" 
 152The character which when preceded by -an escape character represents the continuation assertion."G" 
 153The character which when preceeded by (? indicates a zero width -negated forward lookahead assert.! 
- -
-
- - -

Custom error messages are loaded as follows: 

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Message IDError message IDDefault string 
 201REG_NOMATCH"No match" 
 202REG_BADPAT"Invalid regular expression" 
 203REG_ECOLLATE"Invalid collation character" 
 204REG_ECTYPE"Invalid character class name" 
 205REG_EESCAPE"Trailing backslash" 
 206REG_ESUBREG"Invalid back reference" 
 207REG_EBRACK"Unmatched [ or [^" 
 208REG_EPAREN"Unmatched ( or \\(" 
 209REG_EBRACE"Unmatched \\{" 
 210REG_BADBR"Invalid content of \\{\\}" 
 211REG_ERANGE"Invalid range end" 
 212REG_ESPACE"Memory exhausted" 
 213REG_BADRPT"Invalid preceding regular -expression" 
 214REG_EEND"Premature end of regular -expression" 
 215REG_ESIZE"Regular expression too big" 
 216REG_ERPAREN"Unmatched ) or \\)" 
 217REG_EMPTY"Empty expression" 
 218REG_E_UNKNOWN"Unknown error" 
- -
-
- - -

Custom character class names are loaded as followed: 

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Message IDDescriptionEquivalent default class name 
 300The character class name for -alphanumeric characters."alnum" 
 301The character class name for -alphabetic characters."alpha" 
 302The character class name for control -characters."cntrl" 
 303The character class name for digit -characters."digit" 
 304The character class name for graphics -characters."graph" 
 305The character class name for lower -case characters."lower" 
 306The character class name for printable -characters."print" 
 307The character class name for -punctuation characters."punct" 
 308The character class name for space -characters."space" 
 309The character class name for upper -case characters."upper" 
 310The character class name for -hexadecimal characters."xdigit" 
 311The character class name for blank -characters."blank" 
 312The character class name for word -characters."word" 
 313The character class name for Unicode -characters."unicode" 
- -
-
- - -

Finally, custom collating element names are loaded starting from -message id 400, and terminating when the first load thereafter -fails. Each message looks something like: "tagname string" where -tagname is the name used inside [[.tagname.]] and -string is the actual text of the collating element. Note that -the value of collating element [[.zero.]] is used for the -conversion of strings to numbers - if you replace this with another -value then that will be used for string parsing - for example use -the Unicode character 0x0660 for [[.zero.]] if you want to use -Unicode Arabic-Indic digits in your regular expressions in place of -Latin digits.

- -

Note that the POSIX defined names for character classes and -collating elements are always available - even if custom names are -defined, in contrast, custom error messages, and custom syntax -messages replace the default ones.

- -

- -
-

Revised - -17 May 2003 -

- -

© Copyright John -Maddock 1998- - -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/match_flag_type.html b/doc/match_flag_type.html deleted file mode 100644 index 0e89736a..00000000 --- a/doc/match_flag_type.html +++ /dev/null @@ -1,330 +0,0 @@ - - - - -Boost.Regex: match_flag_type - - - - -

- - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

match_flag_type

-
-

-"Boost.Regex

-
- -
-
- - -
-

Synopsis

- -

The type match_flag_type is an implementation -defined bitmask type (17.3.2.1.2) that controls how a regular -expression is matched against a character sequence.

- -
-namespace std{ namespace regex_constants{
-
-typedef bitmask_type match_flag_type;
-
-static const match_flag_type match_default = 0;
-static const match_flag_type match_not_bob;
-static const match_flag_type match_not_eob;
-static const match_flag_type match_not_bol;
-static const match_flag_type match_not_eol;
-static const match_flag_type match_not_bow;
-static const match_flag_type match_not_eow;
-static const match_flag_type match_any;
-static const match_flag_type match_not_null;
-static const match_flag_type match_continuous;
-static const match_flag_type match_partial;
-static const match_flag_type match_prev_avail;
-static const match_flag_type match_not_dot_newline;
-static const match_flag_type match_not_dot_null;
-
-static const match_flag_type format_default = 0;
-static const match_flag_type format_sed;
-static const match_flag_type format_perl;
-static const match_flag_type format_no_copy;
-static const match_flag_type format_first_only;
-static const match_flag_type format_all;
-
-} // namespace regex_constants
-} // namespace std
-
- -

Description

- -

The type match_flag_type is an implementation -defined bitmask type (17.3.2.1.2). When matching a regular -expression against a sequence of characters [first, last) then -setting its elements has the effects listed in the table below:

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Element

-
-

Effect if set

-
-

match_default

-
-

Specifies that matching of regular expressions proceeds without -any modification of the normal rules used in ECMA-262, ECMAScript -Language Specification, Chapter 15 part 10, RegExp (Regular -Expression) Objects (FWD.1)

-
match_not_bobSpecifies that the expression "\A" -should not match against the sub-sequence [first,first).
match_not_eobSpecifies that the expressions "\z" -and "\Z" should not match against the sub-sequence -[last,last).
-

match_not_bol

-
-

Specifies that the expression "^" should not be matched against -the sub-sequence [first,first).

-
-

match_not_eol

-
-

Specifies that the expression "$" should not be matched against -the sub-sequence [last,last).

-
-

match_not_bow

-
-

Specifies that the expression "\b" should not be matched against -the sub-sequence [first,first).

-
-

match_not_eow

-
-

Specifies that the expression "\b" should not be matched against -the sub-sequence [last,last).

-
-

match_any

-
-

Specifies that if more than one match is possible then any match -is an acceptable result.

-
-

match_not_null

-
-

Specifies that the expression can not be matched against an -empty sequence.

-
-

match_continuous

-
-

Specifies that the expression must match a sub-sequence that -begins at first.

-
-

match_partial

-
-

Specifies that if no match can be found, then it is acceptable -to return a match [from, last) where from!=last, if there exists -some sequence of characters [from,to) of which [from,last) is a -prefix, and which would result in a full match.

-
-

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_newlineSpecifies that the expression "." does -not match a newline character.
match_not_dot_nullSpecified that the expression "." does -not match a character null '\0'.
-

format_default

-
-

Specifies that when a regular expression match is to be replaced -by a new string, that the new string is constructed using the rules -used by the ECMAScript replace function in ECMA-262, ECMAScript -Language Specification, Chapter 15 part 5.4.11 -String.prototype.replace. (FWD.1). In addition during search and -replace operations then all non-overlapping occurrences of the -regular expression are located and replaced, and sections of the -input that did not match the expression, are copied unchanged to -the output string.

-
-

format_sed

-
-

Specifies that when a regular expression match is to be replaced -by a new string, that the new string is constructed using the rules -used by the Unix sed utility in IEEE Std 1003.1-2001, Portable -Operating SystemInterface (POSIX ), Shells and Utilities..

-
-

format_perl

-
-

Specifies that when a regular expression match is to be replaced -by a new string, that the new string is constructed using an -implementation defined superset of the rules used by the ECMAScript -replace function in ECMA-262, ECMAScript Language Specification, -Chapter 15 part 5.4.11 String.prototype.replace (FWD.1).

-
format_allSpecifies that all syntax -extensions are enabled, including conditional -(?ddexpression1:expression2) replacements.
-

format_no_copy

-
-

When specified during a search and replace operation, then -sections of the character container sequence being searched that do -match the regular expression, are not copied to the output -string.

-
-

format_first_only

-
-

When specified during a search and replace operation, then only -the first occurrence of the regular expression is replaced.

-
- -
-
- - -

- -
-
-
- - -

Revised - -17 May 2003 -

- -

© Copyright John -Maddock 1998- - -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/match_results.html b/doc/match_results.html deleted file mode 100644 index 9c2d3c64..00000000 --- a/doc/match_results.html +++ /dev/null @@ -1,511 +0,0 @@ - - - - -Boost.Regex: class match_results - - - - -

- - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

class match_results

-
-

-"Boost.Regex

-
- -
-
- - -
-

Contents

- -
-
Synopsis
- -
Description
-
- -

Synopsis

- -

#include <boost/regex.hpp>

- -

Regular expressions are different from many simple -pattern-matching algorithms in that as well as finding an overall -match they can also produce sub-expression matches: each -sub-expression being delimited in the pattern by a pair of -parenthesis (...). There has to be some method for reporting -sub-expression matches back to the user: this is achieved this by -defining a class match_results that acts as an indexed -collection of sub-expression matches, each sub-expression match -being contained in an object of type -sub_match .

- -

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

- -

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

- -

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

- -
-template <class BidirectionalIterator,
-          class Allocator = allocator<sub_match<BidirectionalIterator> >
-class match_results;
-
-typedef match_results<const char*> cmatch;
-typedef match_results<const wchar_t*> wcmatch;
-typedef match_results<string::const_iterator> smatch;
-typedef match_results<wstring::const_iterator> wsmatch;
-
-template <class BidirectionalIterator,
-          class Allocator = allocator<sub_match<BidirectionalIterator> >
-class match_results
-{ 
-public: 
-   typedef          sub_match<BidirectionalIterator>                        value_type;
-   typedef          const value_type&                                       const_reference;
-   typedef          const_reference                                         reference;
-   typedef          implementation defined                                  const_iterator;
-   typedef          const_iterator                                          iterator;
-   typedef typename iterator_traits<BidirectionalIterator>::difference_type difference_type;
-   typedef typename Allocator::size_type                                    size_type;
-   typedef          Allocator                                               allocator_type;
-   typedef typename iterator_traits<BidirectionalIterator>::value_type      char_type;
-   typedef          basic_string<char_type>                                 string_type;
-
-   // construct/copy/destroy:
-   explicit match_results(const Allocator& a = Allocator());
-   match_results(const match_results& m);
-   match_results& operator=(const match_results& m); 
-   ~match_results();
-
-   // size:
-   size_type size() const;
-   size_type max_size() const;
-   bool empty() const;
-   // element access:
-   difference_type length(int sub = 0) const;
-   difference_type position(unsigned int sub = 0) const;
-   string_type str(int sub = 0) const;
-   const_reference operator[](int n) const;
-
-   const_reference prefix() const;
-
-   const_reference suffix() const;
-   const_iterator begin() const;
-   const_iterator end() const;
-   // format:
-   template <class OutputIterator>
-   OutputIterator format(OutputIterator out,
-                         const string_type& fmt,
-                         match_flag_type flags = format_default) const;
-   string_type format(const string_type& fmt,
-                      match_flag_type flags = format_default) const;
-
-   allocator_type get_allocator() const;
-   void swap(match_results& that);
-};
-
-template <class BidirectionalIterator, class Allocator>
-bool operator == (const match_results<BidirectionalIterator, Allocator>& m1,
-                  const match_results<BidirectionalIterator, Allocator>& m2);
-template <class BidirectionalIterator, class Allocator>
-bool operator != (const match_results<BidirectionalIterator, Allocator>& m1,
-                  const match_results<BidirectionalIterator, Allocator>& m2);
-
-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);
-
-template <class BidirectionalIterator, class Allocator>
-void swap(match_results<BidirectionalIterator, Allocator>& m1,
-          match_results<BidirectionalIterator, Allocator>& m2);
-
- -

Description

- -

match_results constructors

- -

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

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

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

- -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-

Element

-
-

Value

-
-

empty()

-
-

true

-
-

size()

-
-

0

-
-

str()

-
-

basic_string<charT>()

-
-
- -

 

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

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

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

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

- -

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Element

-
-

Value

-
-

empty()

-
-

m.empty().

-
-

size()

-
-

m.size().

-
-

str(n)

-
-

m.str(n) for all integers n < m.size().

-
-

prefix()

-
-

m.prefix().

-
-

suffix()

-
-

m.suffix().

-
-

(*this)[n]

-
-

m[n] for all integers n < m.size().

-
-

length(n)

-
-

m.length(n) for all integers n < m.size().

-
-

position(n)

-
-

m.position(n) for all integers n < m.size().

-
-
- -

match_results size

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

Effects: Returns the number of sub_match elements stored -in *this.

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

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

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

Effects: Returns size() == 0.

- -

match_results element access

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

Effects: Returns (*this)[sub].length().

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

Effects: Returns std::distance(prefix().first, -(*this)[sub].first).

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

Effects: Returns -string_type((*this)[sub]).

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

Effects: Returns a reference to the -sub_match object representing the character sequence that -matched marked sub-expression n. If n == 0 then -returns a reference to a sub_match object representing -the character sequence that matched the whole regular -expression.

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

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

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

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

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

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

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

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

- -

match_results reformatting

- -
-template <class OutputIterator>
-OutputIterator format(OutputIterator out,
-                      const string_type& fmt,
-                      match_flag_type flags = format_default);
-
- - -

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

- - -

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

- - -

Returns: out.

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

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

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

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

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

Effects: Swaps the contents of the two sequences.

- - -

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

- - -

Complexity: constant time.

- -

- -
-

Revised - -17 May 2003 -

- -

© Copyright John -Maddock 1998- - -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/partial_matches.html b/doc/partial_matches.html deleted file mode 100644 index 3f4d2a53..00000000 --- a/doc/partial_matches.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - Boost.Regex: Partial Matches - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Partial Matches

-
-

Boost.Regex Index

-
-

-
-

-

The match-flag match_partial can - be passed to the following algorithms: regex_match, - regex_search, and regex_grep. - When used it indicates that partial as well as full matches should be found. A - partial match is one that matched one or more characters at the end of the text - input, but did not match all of the regular expression (although it may have - done so had more input been available). Partial matches are typically used when - either validating data input (checking each character as it is entered on the - keyboard), or when searching texts that are either too long to load into memory - (or even into a memory mapped file), or are of indeterminate length (for - example the source may be a socket or similar). Partial and full matches can be - differentiated as shown in the following table (the variable M represents an - instance of match_results<> as filled in - by regex_match, regex_search or regex_grep):
-

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 ResultM[0].matchedM[0].firstM[0].second
No matchFalseUndefinedUndefinedUndefined
Partial matchTrueFalseStart of partial match.End of partial match (end of text).
Full matchTrueTrueStart of full match.End of full match.
-

-

The following example - tests to see whether the text could be a valid credit card number, as the user - presses a key, the character entered would be added to the string being built - up, and passed to is_possible_card_number. If this returns true - then the text could be a valid card number, so the user interface's OK button - would be enabled. If it returns false, then this is not yet a valid card - number, but could be with more input, so the user interface would disable the - OK button. Finally, if the procedure throws an exception 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 <iostream>
-#include <boost/regex.hpp>
-
-boost::regex e("(\\d{3,4})[- ]?(\\d{4})[- ]?(\\d{4})[- ]?(\\d{4})");
-
-bool is_possible_card_number(const std::string& input)
-{
-   //
-   // return false for partial match, true for full match, or throw for
-   // impossible match based on what we have so far...
-   boost::match_results<std::string::const_iterator> what;
-   if(0 == boost::regex_match(input, what, e, boost::match_default | boost::match_partial))
-   {
-      // the input so far could not possibly be valid so reject it:
-      throw std::runtime_error("Invalid data entered - this could not possibly be a valid card number");
-   }
-   // OK so far so good, but have we finished?
-   if(what[0].matched)
-   {
-      // excellent, we have a result:
-      return true;
-   }
-   // what we have so far is only a partial match...
-   return false;
-}
-

In the following example, - text input is taken from a stream containing an unknown amount of text; this - example simply counts the number of html tags encountered in the stream. The - text is loaded into a buffer and searched a part at a time, 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 <fstream>
-#include <sstream>
-#include <string>
-#include <boost/regex.hpp>
-
-// match some kind of html tag:
-boost::regex e("<[^>]*>");
-// count how many:
-unsigned int tags = 0;
-// saved position of partial match:
-char* next_pos = 0;
-
-bool grep_callback(const boost::match_results<char*>& m)
-{
-   if(m[0].matched == false)
-   {
-      // save position and return:
-      next_pos = m[0].first;
-   }
-   else
-      ++tags;
-   return true;
-}
-
-void search(std::istream& is)
-{
-   char buf[4096];
-   next_pos = buf + sizeof(buf);
-   bool have_more = true;
-   while(have_more)
-   {
-      // how much do we copy forward from last try:
-      unsigned leftover = (buf + sizeof(buf)) - next_pos;
-      // and how much is left to fill:
-      unsigned size = next_pos - buf;
-      // copy forward whatever we have left:
-      memcpy(buf, next_pos, leftover);
-      // fill the rest from the stream:
-      unsigned read = is.readsome(buf + leftover, size);
-      // check to see if we've run out of text:
-      have_more = read == size;
-      // reset next_pos:
-      next_pos = buf + sizeof(buf);
-      // and then grep:
-      boost::regex_grep(grep_callback,
-                        buf,
-                        buf + read + leftover,
-                        e,
-                        boost::match_default | boost::match_partial);
-   }
-}
-

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/performance.html b/doc/performance.html deleted file mode 100644 index 826dd83a..00000000 --- a/doc/performance.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - Boost.Regex: Performance - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Performance

-
-

Boost.Regex Index

-
-

-
-

-

The performance of Boost.regex in both recursive and non-recursive modes should - be broadly comparable to other regular expression libraries: recursive mode is - slightly faster (especially where memory allocation requires thread - synchronisation), but not by much.  The following pages compare - Boost.regex with various other regular expression libraries for the following - compilers:

-

Visual Studio.Net 2003 (recursive Boost.regex - implementation).

-

Gcc 3.2 (cygwin) (non-recursive Boost.regex - implementation).

-

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/posix_api.html b/doc/posix_api.html deleted file mode 100644 index fdc3bba3..00000000 --- a/doc/posix_api.html +++ /dev/null @@ -1,288 +0,0 @@ - - - - Boost.Regex: POSIX API Compatibility Functions - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

POSIX API Compatibility Functions

-
-

Boost.Regex Index

-
-

-
-

-
#include <boost/cregex.hpp>
-or:
-#include <boost/regex.h>
-

The following functions are available for users who need a POSIX compatible C - library, they are available in both Unicode and narrow character versions, the - standard POSIX API names are macros that expand to one version or the other - depending upon whether UNICODE is defined or not. -

-

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

-

The functions are defined as: -

-
extern "C" {
-int regcompA(regex_tA*, const char*, int);
-unsigned int regerrorA(int, const regex_tA*, char*, unsigned int);
-int regexecA(const regex_tA*, const char*, unsigned int, regmatch_t*, int);
-void regfreeA(regex_tA*);
-
-int regcompW(regex_tW*, const wchar_t*, int);
-unsigned int regerrorW(int, const regex_tW*, wchar_t*, unsigned int);
-int regexecW(const regex_tW*, const wchar_t*, unsigned int, regmatch_t*, int);
-void regfreeW(regex_tW*);
-
-#ifdef UNICODE
-#define regcomp regcompW
-#define regerror regerrorW
-#define regexec regexecW
-#define regfree regfreeW
-#define regex_t regex_tW
-#else
-#define regcomp regcompA
-#define regerror regerrorA
-#define regexec regexecA
-#define regfree regfreeA
-#define regex_t regex_tA
-#endif
-}
-

All the functions operate on structure regex_t, which exposes two public - members: -

-

unsigned int re_nsub this is filled in by regcomp and indicates - the number of sub-expressions contained in the regular expression. -

-

const TCHAR* re_endp points to the end of the expression to compile when - the flag REG_PEND is set. -

-

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

-

regcomp

-

regcomp takes a pointer to a regex_t, a pointer to the expression - to compile and a flags parameter which can be a combination of: -
-   -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 REG_EXTENDEDCompiles modern regular expressions. Equivalent to - regbase::char_classes | regbase::intervals | regbase::bk_refs. 
 REG_BASICCompiles basic (obsolete) regular expression syntax. - Equivalent to regbase::char_classes | regbase::intervals | regbase::limited_ops - | regbase::bk_braces | regbase::bk_parens | regbase::bk_refs. 
 REG_NOSPECAll characters are ordinary, the expression is a - literal string. 
 REG_ICASECompiles for matching that ignores character case. 
 REG_NOSUBHas no effect in this library. 
 REG_NEWLINEWhen this flag is set a dot does not match the - newline character. 
 REG_PENDWhen this flag is set the re_endp parameter of the - regex_t structure must point to the end of the regular expression to compile. 
 REG_NOCOLLATEWhen this flag is set then locale dependent collation - for character ranges is turned off. 
 REG_ESCAPE_IN_LISTS
- , , , -
When this flag is set, then escape sequences are - permitted in bracket expressions (character sets). 
 REG_NEWLINE_ALT When this flag is set then the newline character is - equivalent to the alternation operator |. 
 REG_PERL Compiles Perl like regular expressions. 
 REG_AWKA shortcut for awk-like behavior: REG_EXTENDED | - REG_ESCAPE_IN_LISTS 
 REG_GREPA shortcut for grep like behavior: REG_BASIC | - REG_NEWLINE_ALT 
 REG_EGREP A shortcut for egrep like behavior: - REG_EXTENDED | REG_NEWLINE_ALT 
-

-

regerror

-

regerror takes the following parameters, it maps an error code to a human - readable string: -
-

-

- - - - - - - - - - - - - - - - - - - - - - - - - -
 int codeThe error code. 
 const regex_t* eThe regular expression (can be null). 
 char* bufThe buffer to fill in with the error message. 
 unsigned int buf_sizeThe length of buf. 
-

-

If the error code is OR'ed with REG_ITOA then the message that results is the - printable name of the code rather than a message, for example "REG_BADPAT". If - the code is REG_ATIO then e must not be null and e->re_pend must - point to the printable name of an error code, the return value is then the - value of the error code. For any other value of code, the return value - is the number of characters in the error message, if the return value is - greater than or equal to buf_size then regerror will have to be - called again with a larger buffer.

-

regexec

-

regexec finds the first occurrence of expression e within string buf. - If len is non-zero then *m is filled in with what matched the - regular expression, m[0] contains what matched the whole string, m[1] - the first sub-expression etc, see regmatch_t in the header file - declaration for more details. The eflags parameter can be a combination - of: -
-   -

-

- - - - - - - - - - - - - - - - - - - -
 REG_NOTBOLParameter buf does not represent the start of - a line. 
 REG_NOTEOLParameter buf does not terminate at the end of - a line. 
 REG_STARTENDThe string searched starts at buf + pmatch[0].rm_so - and ends at buf + pmatch[0].rm_eo. 
-

-

regfree

-

Finally regfree frees all the memory that was allocated by regcomp. -

-

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

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/redistributables.html b/doc/redistributables.html deleted file mode 100644 index f40f40f4..00000000 --- a/doc/redistributables.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - Boost.Regex: Redistributables and Library Names - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Redistributables and Library Names

-
-

Boost.Regex Index

-
-

-
-

-

If you are using Microsoft or Borland C++ and link to a dll version of the run - time library, then you will also link to one of the dll versions of - boost.regex. While these dll's are redistributable, there are no "standard" - versions, so when installing on the users PC, you should place these in a - directory private to your application, and not in the PC's directory path. Note - that if you link to a static version of your run time library, then you will - also link to a static version of boost.regex and no dll's will need to be - distributed. The possible boost.regex dll and library names are computed - according to the following formula:
-

-

-

BOOST_LIB_PREFIX
- + "boost_regex_"
- + BOOST_LIB_TOOLSET
- + "_"
- + BOOST_LIB_THREAD_OPT
- + BOOST_LIB_RT_OPT
- + BOOST_LIB_DEBUG_OPT
-
- These are defined as:

-

BOOST_LIB_PREFIX: Either "lib" if this is a static link library, - or nothing for dynamic / shared libraries.
-
- BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc).
-
- BOOST_LIB_THREAD_OPT: "s" for single thread builds,
- "m" for multithread builds.
-
- BOOST_LIB_RT_OPT: "s" for static runtime,
- "d" for dynamic runtime.
-
- BOOST_LIB_LINK_OPT: "s" for static link,
- "i" for dynamic link.
-
- BOOST_LIB_DEBUG_OPT: nothing for release builds,
- "d" for debug builds,
- "dd" for debug-diagnostic builds (_STLP_DEBUG).

-

- Note: you can disable automatic library selection by defining the symbol - BOOST_REGEX_NO_LIB when compiling, this is useful if you want to statically - link even though you're using the dll version of your run time library, or if - you need to debug boost.regex. -

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - diff --git a/doc/reg_expression.html b/doc/reg_expression.html deleted file mode 100644 index a1fd6b56..00000000 --- a/doc/reg_expression.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - Boost.Regex: Class reg_expression (deprecated) - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Class reg_expression (deprecated)

-
-

Boost.Regex Index

-
-

-
-

-

The use of class template reg_expression is deprecated: use - basic_regex instead.

-

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/regbase.html b/doc/regbase.html deleted file mode 100644 index f36ce38a..00000000 --- a/doc/regbase.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - -Boost.Regex: regbase - - - - -

- - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

regbase

-
-

-"Boost.Regex

-
- -
-
- - -
-

Use of the type boost::regbase is now deprecated, -and the type does not form a part of the -regular expression standardization proposal.  This type -still exists as a base class of boost::basic_regex, -and you can still refer to -boost::regbase::constant_name in your code, however for -maximum portability to other std regex implementations you should -instead use either:

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

or

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

or

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

- -
-
-
- - -

Revised - -17 May 2003 -

- -

© Copyright John -Maddock 1998- - -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/regex.html b/doc/regex.html deleted file mode 100644 index af871319..00000000 --- a/doc/regex.html +++ /dev/null @@ -1,620 +0,0 @@ - - - - -Boost.Regex: class RegEx (deprecated) - - - - -

- - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

class RegEx (deprecated)

-
-

-"Boost.Regex

-
- -
-
- - -
-

The high level wrapper class RegEx is now deprecated and does -not form a part of the -regular expression standardization proposal.  This type -still exists, and existing code will continue to compile, however -the following documentation is unlikely to be further updated.

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

The class RegEx provides a high level simplified interface to -the regular expression library, this class only handles narrow -character strings, and regular expressions always follow the -"normal" syntax - that is the same as the perl / ECMAScript -synatx.

- -
-typedef bool (*GrepCallback)(const RegEx& expression);
-typedef bool (*GrepFileCallback)(const char* file, const RegEx& expression);
-typedef bool (*FindFilesCallback)(const char* file);
-
-class  RegEx
-{
-public:
-   RegEx();
-   RegEx(const RegEx& o);
-   ~RegEx();
-   RegEx(const char* c, bool icase = false);
-   explicit RegEx(const std::string& s, bool icase = false);
-   RegEx& operator=(const RegEx& o);
-   RegEx& operator=(const char* p);
-   RegEx& operator=(const std::string& s);
-   unsigned int SetExpression(const char* p, bool icase = false);
-   unsigned int SetExpression(const std::string& s, bool icase = false);
-   std::string Expression()const;
-   //
-   // now matching operators: 
-   // 
-   bool Match(const char* p, unsigned int flags = match_default);
-   bool Match(const std::string& s, unsigned int flags = match_default); 
-   bool Search(const char* p, unsigned int flags = match_default); 
-   bool Search(const std::string& s, unsigned int flags = match_default); 
-   unsigned int Grep(GrepCallback cb, const char* p, unsigned int flags = match_default); 
-   unsigned int Grep(GrepCallback cb, const std::string& s, unsigned int flags = match_default); 
-   unsigned int Grep(std::vector<std::string>& v, const char* p, unsigned int flags = match_default); 
-   unsigned int Grep(std::vector<std::string>& v, const std::string& s, unsigned int flags = match_default); 
-   unsigned int Grep(std::vector<unsigned int>& v, const char* p, unsigned int flags = match_default); 
-   unsigned int Grep(std::vector<unsigned int>& v, const std::string& s, unsigned int flags = match_default); 
-   unsigned int GrepFiles(GrepFileCallback cb, const char* files, bool recurse = false, unsigned int flags = match_default); 
-   unsigned int GrepFiles(GrepFileCallback cb, const std::string& files, bool recurse = false, unsigned int flags = match_default); 
-   unsigned int FindFiles(FindFilesCallback cb, const char* files, bool recurse = false, unsigned int flags = match_default); 
-   unsigned int FindFiles(FindFilesCallback cb, const std::string& files, bool recurse = false, unsigned int flags = match_default); 
-   std::string Merge(const std::string& in, const std::string& fmt, bool copy = true, unsigned int flags = match_default); 
-   std::string Merge(const char* in, const char* fmt, bool copy = true, unsigned int flags = match_default); 
-   unsigned Split(std::vector<std::string>& v, std::string& s, unsigned flags = match_default, unsigned max_count = ~0); 
-   // 
-   // now operators for returning what matched in more detail: 
-   // 
-   unsigned int Position(int i = 0)const; 
-   unsigned int Length(int i = 0)const; 
-   bool Matched(int i = 0)const;
-   unsigned int Line()const; 
-   unsigned int Marks() const; 
-   std::string What(int i)const; 
-   std::string operator[](int i)const ; 
-
-   static const unsigned int npos;
-};    
-
- -

Member functions for class RegEx are defined as follows:
-  

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 RegEx();Default constructor, constructs an -instance of RegEx without any valid expression. 
 RegEx(const RegEx& o);Copy constructor, all the properties -of parameter o are copied. 
 RegEx(const char* c, -bool icase = false);Constructs an instance of RegEx, -setting the expression to c, if icase is true -then matching is insensitive to case, otherwise it is sensitive to -case. Throws bad_expression on failure. 
 RegEx(const std::string& s, -bool icase = false);Constructs an instance of RegEx, -setting the expression to s, if icase is true -then matching is insensitive to case, otherwise it is sensitive to -case. Throws bad_expression on failure. 
 RegEx& -operator=(const RegEx& o);Default assignment operator. 
 RegEx& -operator=(const char* p);Assignment operator, equivalent to -calling SetExpression(p, false). Throws -bad_expression on failure. 
 RegEx& -operator=(const std::string& s);Assignment operator, equivalent to -calling SetExpression(s, false). Throws -bad_expression on failure. 
 unsigned int -SetExpression(constchar* p, bool icase = -false);Sets the current expression to -p, if icase is true then matching is insensitive -to case, otherwise it is sensitive to case. Throws -bad_expression on failure. 
 unsigned int -SetExpression(const std::string& s, bool icase = -false);Sets the current expression to -s, if icase is true then matching is insensitive -to case, otherwise it is sensitive to case. Throws -bad_expression on failure. 
 std::string -Expression()const;Returns a copy of the current regular -expression. 
 bool Match(const -char* p, unsigned int flags = -match_default);Attempts to match the current -expression against the text p using the match flags -flags - see match flags. -Returns true if the expression matches the whole of the -input string. 
 bool Match(const -std::string& s, unsigned int flags = -match_default) ;Attempts to match the current -expression against the text s using the match flags -flags - see match flags. -Returns true if the expression matches the whole of the -input string. 
 bool Search(const -char* p, unsigned int flags = -match_default);Attempts to find a match for the -current expression somewhere in the text p using the match -flags flags - see match -flags. Returns true if the match succeeds. 
 bool Search(const -std::string& s, unsigned int flags = -match_default) ;Attempts to find a match for the -current expression somewhere in the text s using the match -flags flags - see match -flags. Returns true if the match succeeds. 
 unsigned int -Grep(GrepCallback cb, const char* p, unsigned -int flags = match_default);Finds all matches of the current -expression in the text p using the match flags flags -- see match flags. For each -match found calls the call-back function cb as: cb(*this); - -

If at any stage the call-back function returns false then the -grep operation terminates, otherwise continues until no further -matches are found. Returns the number of matches found.

-
 
 unsigned int -Grep(GrepCallback cb, const std::string& s, -unsigned int flags = match_default);Finds all matches of the current -expression in the text s using the match flags flags -- see match flags. For each -match found calls the call-back function cb as: cb(*this); - -

If at any stage the call-back function returns false then the -grep operation terminates, otherwise continues until no further -matches are found. Returns the number of matches found.

-
 
 unsigned int -Grep(std::vector<std::string>& v, const -char* p, unsigned int flags = -match_default);Finds all matches of the current -expression in the text p using the match flags flags -- see match flags. For each -match pushes a copy of what matched onto v. Returns the -number of matches found. 
 unsigned int -Grep(std::vector<std::string>& v, const -std::string& s, unsigned int flags = -match_default);Finds all matches of the current -expression in the text s using the match flags flags -- see match flags. For each -match pushes a copy of what matched onto v. Returns the -number of matches found. 
 unsigned int -Grep(std::vector<unsigned int>& v, const -char* p, unsigned int flags = -match_default);Finds all matches of the current -expression in the text p using the match flags flags -- see match flags. For each -match pushes the starting index of what matched onto v. -Returns the number of matches found. 
 unsigned int -Grep(std::vector<unsigned int>& v, const -std::string& s, unsigned int flags = -match_default);Finds all matches of the current -expression in the text s using the match flags flags -- see match flags. For each -match pushes the starting index of what matched onto v. -Returns the number of matches found. 
 unsigned int -GrepFiles(GrepFileCallback cb, const char* files, -bool recurse = false, unsigned int flags = -match_default);Finds all matches of the current -expression in the files files using the match flags -flags - see match flags. For -each match calls the call-back function cb.  - -

If the call-back returns false then the algorithm returns -without considering further matches in the current file, or any -further files. 

- -

The parameter files can include wild card characters '*' -and '?', if the parameter recurse is true then searches -sub-directories for matching file names. 

- -

Returns the total number of matches found.

- -

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

-
 
 unsigned int -GrepFiles(GrepFileCallback cb, const std::string& files, -bool recurse = false, unsigned int -flags = match_default);Finds all matches of the current -expression in the files files using the match flags -flags - see match flags. For -each match calls the call-back function cb.  - -

If the call-back returns false then the algorithm returns -without considering further matches in the current file, or any -further files. 

- -

The parameter files can include wild card characters '*' -and '?', if the parameter recurse is true then searches -sub-directories for matching file names. 

- -

Returns the total number of matches found.

- -

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

-
 
 unsigned int -FindFiles(FindFilesCallback cb, const char* files, -bool recurse = false, unsigned int -flags = match_default);Searches files to find all -those which contain at least one match of the current expression -using the match flags flags - see match flags. For each matching file -calls the call-back function cb.  - -

If the call-back returns false then the algorithm returns -without considering any further files. 

- -

The parameter files can include wild card characters '*' -and '?', if the parameter recurse is true then searches -sub-directories for matching file names. 

- -

Returns the total number of files found.

- -

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

-
 
 unsigned int -FindFiles(FindFilesCallback cb, const std::string& -files, bool recurse = false, unsigned -int flags = match_default);Searches files to find all -those which contain at least one match of the current expression -using the match flags flags - see match flags. For each matching file -calls the call-back function cb.  - -

If the call-back returns false then the algorithm returns -without considering any further files. 

- -

The parameter files can include wild card characters '*' -and '?', if the parameter recurse is true then searches -sub-directories for matching file names. 

- -

Returns the total number of files found.

- -

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

-
 
 std::string Merge(const -std::string& in, const std::string& fmt, bool -copy = true, unsigned int flags = -match_default);Performs a search and replace -operation: searches through the string in for all -occurrences of the current expression, for each occurrence replaces -the match with the format string fmt. Uses flags to -determine what gets matched, and how the format string should be -treated. If copy is true then all unmatched sections of -input are copied unchanged to output, if the flag -format_first_only is set then only the first occurance of the -pattern found is replaced. Returns the new string. See also format string syntax, match flags and format flags. 
 std::string Merge(const char* -in, const char* fmt, bool copy = true, -unsigned int flags = match_default);Performs a search and replace -operation: searches through the string in for all -occurrences of the current expression, for each occurrence replaces -the match with the format string fmt. Uses flags to -determine what gets matched, and how the format string should be -treated. If copy is true then all unmatched sections of -input are copied unchanged to output, if the flag -format_first_only is set then only the first occurance of the -pattern found is replaced. Returns the new string. See also format string syntax, match flags and format flags. 
 unsigned -Split(std::vector<std::string>& v, std::string& s, -unsigned flags = match_default, unsigned max_count = -~0);Splits the input string and pushes each one onto -the vector. If the expression contains no marked sub-expressions, -then one string is outputted for each section of the input that -does not match the expression. If the expression does contain -marked sub-expressions, then outputs one string for each marked -sub-expression each time a match occurs. Outputs no more than -max_count strings. Before returning, deletes from the input -string s all of the input that has been processed (all of -the string if max_count was not reached). Returns the number -of strings pushed onto the vector. 
 unsigned int -Position(int i = 0)const;Returns the position of what matched -sub-expression i. If i = 0 then returns the position -of the whole match. Returns RegEx::npos if the supplied index is -invalid, or if the specified sub-expression did not participate in -the match. 
 unsigned int -Length(int i = 0)const;Returns the length of what matched -sub-expression i. If i = 0 then returns the length of -the whole match. Returns RegEx::npos if the supplied index is -invalid, or if the specified sub-expression did not participate in -the match. 
 bool Matched(int i = -0)const;Returns true if sub-expression i was matched, false -otherwise. 
 unsigned int -Line()const;Returns the line on which the match -occurred, indexes start from 1 not zero, if no match occurred then -returns RegEx::npos. 
 unsigned int Marks() -const;Returns the number of marked -sub-expressions contained in the expression. Note that this -includes the whole match (sub-expression zero), so the value -returned is always >= 1. 
 std::string What(int -i)const;Returns a copy of what matched -sub-expression i. If i = 0 then returns a copy of the -whole match. Returns a null string if the index is invalid or if -the specified sub-expression did not participate in a match. 
 std::string -operator[](int i)const ;Returns what(i); - -

Can be used to simplify access to sub-expression matches, and -make usage more perl-like.

-
 
- -
-
- - -

- -
-

Revised - -17 May 2003 -

- -

© Copyright John -Maddock 1998- - -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/regex_format.html b/doc/regex_format.html deleted file mode 100644 index b487d37f..00000000 --- a/doc/regex_format.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - -Boost.Regex: Algorithm regex_format (deprecated) - - - - -

- - - - - - - -
-

-"C++

-
-

Boost.Regex

- -

Algorithm regex_format (deprecated)

-
-

-"Boost.Regex

-
- -
-
- - -
-

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

- -

Algorithm regex_format

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

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

- -
-template <class OutputIterator, class iterator, class Allocator, class charT>
-OutputIterator regex_format(OutputIterator out,
-                            const match_results<iterator, Allocator>& m,
-                            const charT* fmt,
-                            match_flag_type flags = 0);
-template <class OutputIterator, class iterator, class Allocator, class charT>
-OutputIterator regex_format(OutputIterator out,
-                            const match_results<iterator, Allocator>& m,
-                            const std::basic_string<charT>& fmt,
-                            match_flag_type flags = 0);
-
- -

The library also defines the following convenience variation of -regex_format, which returns the result directly as a string, rather -than outputting to an iterator [note - this version may not be -available, or may be available in a more limited form, depending -upon your compilers capabilities]:

- -
-template <class iterator, class Allocator, class charT>
-std::basic_string<charT> regex_format
-                                 (const match_results<iterator, Allocator>& m, 
-                                  const charT* fmt,
-                                  match_flag_type flags = 0);
-
-template <class iterator, class Allocator, class charT>
-std::basic_string<charT> regex_format
-                                 (const match_results<iterator, Allocator>& m, 
-                                  const std::basic_string<charT>& fmt,
-                                  match_flag_type flags = 0);
-
- -

Parameters to the main version of the function are passed as -follows:

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 OutputIterator outAn output iterator type, the output -string is sent to this iterator. Typically this would be a -std::ostream_iterator. 
 const -match_results<iterator, Allocator>& mAn instance of match_results<> -obtained from one of the matching algorithms above, and denoting -what matched. 
 const charT* fmtA format string that determines how -the match is transformed into the new string. 
 unsigned flagsOptional flags which describe how the -format string is to be interpreted. 
- -
-
- - -

Format flags are defined as -follows:

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 format_allEnables all syntax options (perl-like -plus extentions). 
 format_sedAllows only a sed-like syntax. 
 format_perlAllows only a perl-like syntax. 
 format_no_copyDisables copying of unmatched sections -to the output string during -regex_merge operations. 
 format_first_onlyWhen this flag is set only the first occurance will be replaced -(applies to regex_merge only). 
- -
-
- - -

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

- -

- -
-

Revised - -17 May 2003 -

- -

© Copyright John -Maddock 1998- - -2003 -

- -

Permission to use, copy, modify, distribute and -sell this software and its documentation for any purpose is hereby -granted without fee, provided that the above copyright notice -appear in all copies and that both that copyright notice and this -permission notice appear in supporting documentation. Dr John -Maddock makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty.

- - - - diff --git a/doc/regex_grep.html b/doc/regex_grep.html deleted file mode 100644 index ca226c24..00000000 --- a/doc/regex_grep.html +++ /dev/null @@ -1,386 +0,0 @@ - - - - Boost.Regex: Algorithm regex_grep (deprecated) - - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Algorithm regex_grep (deprecated)

-
-

Boost.Regex Index

-
-
-
-
-

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

-

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

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

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, class Allocator>
-unsigned int regex_grep(Predicate foo,
-                         iterator first,
-                         iterator last,
-                         const basic_regex<charT, traits, Allocator>& e,
-                         unsigned flags = match_default)
-
-

The library also defines the following convenience versions, which take either - a const charT*, or a const std::basic_string<>& in place of a pair of - iterators [note - these versions may not be available, or may be available in a - more limited form, depending upon your compilers capabilities]:

-
-template <class Predicate, class charT, class Allocator, class traits>
-unsigned int regex_grep(Predicate foo, 
-              const charT* str, 
-              const basic_regex<charT, traits, Allocator>& e, 
-              unsigned flags = match_default);
-
-template <class Predicate, class ST, class SA, class Allocator, class charT, class traits>
-unsigned int regex_grep(Predicate foo, 
-              const std::basic_string<charT, ST, SA>& s, 
-              const basic_regex<charT, traits, Allocator>& e, 
-              unsigned flags = match_default);
-
-

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

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 fooA predicate function object or function pointer, see - below for more information. 
 firstThe start of the range to search. 
 lastThe end of the range to search. 
 eThe regular expression to search for. 
 flagsThe flags that determine how matching is carried out, - one of the match_flags enumerators. 
-
-
-

The algorithm finds all of the non-overlapping matches of the expression e, for - each match it fills a match_results<iterator, - Allocator> structure, which contains information on what matched, and calls - the predicate foo, passing the match_results<iterator, Allocator> as a - single argument. If the predicate returns true, then the grep operation - continues, otherwise it terminates without searching for further matches. The - function returns the number of matches found.

-

The general form of the predicate is:

-
-struct grep_predicate
-{
-   bool operator()(const match_results<iterator_type, typename expression_type::alloc_type::template rebind<sub_match<BidirectionalIterator> >::other>& m);
-};
-
-

Note that in almost every case the allocator parameter can be omitted, when - specifying the match_results type, - alternatively one of the typedefs cmatch, wcmatch, smatch or wsmatch can be - used.

-

For example the regular expression "a*b" would find one match in the string - "aaaaab" and two in the string "aaabb".

-

Remember this algorithm can be used for a lot more than implementing a version - of grep, the predicate can be and do anything that you want, grep utilities - would output the results to the screen, another program could index a file - based on a regular expression and store a set of bookmarks in a list, or a text - file conversion utility would output to file. The results of one regex_grep can - even be chained into another regex_grep to create recursive parsers.

-

The algorithm may throw std::runtime_error if the complexity - of matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

-

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

-
-#include <string> 
-#include <map> 
-#include <boost/regex.hpp> 
-
-// IndexClasses: 
-// takes the contents of a file in the form of a string 
-// and searches for all the C++ class definitions, storing 
-// their locations in a map of strings/int's 
-typedef std::map<std::string, int, std::less<std::string> > map_type; 
-
-const char* re = 
-   // possibly leading whitespace:   
-   "^[[:space:]]*" 
-   // possible template declaration:
-   "(template[[:space:]]*<[^;:{]+>[[:space:]]*)?"
-   // class or struct:
-   "(class|struct)[[:space:]]*" 
-   // leading declspec macros etc:
-   "("
-      "\\<\\w+\\>"
-      "("
-         "[[:blank:]]*\\([^)]*\\)"
-      ")?"
-      "[[:space:]]*"
-   ")*" 
-   // the class name
-   "(\\<\\w*\\>)[[:space:]]*" 
-   // template specialisation parameters
-   "(<[^;:{]+>)?[[:space:]]*"
-   // terminate in { or :
-   "(\\{|:[^;\\{()]*\\{)";
-
-boost::regex expression(re); 
-class IndexClassesPred 
-{ 
-   map_type& m; 
-   std::string::const_iterator base; 
-public: 
-   IndexClassesPred(map_type& a, std::string::const_iterator b) : m(a), base(b) {} 
-   bool operator()(const  smatch& what) 
-   { 
-      // what[0] contains the whole string 
-      // what[5] contains the class name. 
-      // what[6] contains the template specialisation if any. 
-      // add class name and position to map: 
-      m[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = 
-                what[5].first - base; 
-      return true; 
-   } 
-}; 
-void IndexClasses(map_type& m, const std::string& file) 
-{ 
-   std::string::const_iterator start, end; 
-   start = file.begin(); 
-   end = file.end(); 
-   regex_grep(IndexClassesPred(m, start), start, end, expression); 
-}
-
-

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

-
-#include <string> 
-#include <map> 
-#include <boost/regex.hpp> 
-
-// purpose: 
-// takes the contents of a file in the form of a string 
-// and searches for all the C++ class definitions, storing 
-// their locations in a map of strings/int's 
-typedef std::map<std::string, int, std::less<std::string> > map_type; 
-
-const char* re = 
-   // possibly leading whitespace:   
-   "^[[:space:]]*" 
-   // possible template declaration:
-   "(template[[:space:]]*<[^;:{]+>[[:space:]]*)?"
-   // class or struct:
-   "(class|struct)[[:space:]]*" 
-   // leading declspec macros etc:
-   "("
-      "\\<\\w+\\>"
-      "("
-         "[[:blank:]]*\\([^)]*\\)"
-      ")?"
-      "[[:space:]]*"
-   ")*" 
-   // the class name
-   "(\\<\\w*\\>)[[:space:]]*" 
-   // template specialisation parameters
-   "(<[^;:{]+>)?[[:space:]]*"
-   // terminate in { or :
-   "(\\{|:[^;\\{()]*\\{)";
-
-boost::regex expression(re);
-map_type class_index; 
-std::string::const_iterator base; 
-
-bool grep_callback(const  boost::smatch& what) 
-{ 
-   // what[0] contains the whole string 
-   // what[5] contains the class name. 
-   // what[6] contains the template specialisation if any. 
-   // add class name and position to map: 
-   class_index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = 
-                what[5].first - base; 
-   return true; 
-} 
-void IndexClasses(const std::string& file) 
-{ 
-   std::string::const_iterator start, end; 
-   start = file.begin(); 
-   end = file.end(); 
-   base = start; 
-   regex_grep(grep_callback, start, end, expression, match_default); 
-}
- 
-
-

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

-
-#include <string> 
-#include <map> 
-#include <boost/regex.hpp> 
-#include <functional> 
-// purpose: 
-// takes the contents of a file in the form of a string 
-// and searches for all the C++ class definitions, storing 
-// their locations in a map of strings/int's 
-
-typedef std::map<std::string, int, std::less<std::string> > map_type; 
-class class_index 
-{ 
-   boost::regex expression; 
-   map_type index; 
-   std::string::const_iterator base; 
-   bool  grep_callback(boost::smatch what); 
-public: 
-   void IndexClasses(const std::string& file); 
-   class_index() 
-      : index(), 
-        expression("^(template[[:space:]]*<[^;:{]+>[[:space:]]*)?" 
-                   "(class|struct)[[:space:]]*(\\<\\w+\\>([[:blank:]]*\\([^)]*\\))?" 
-                   "[[:space:]]*)*(\\<\\w*\\>)[[:space:]]*(<[^;:{]+>[[:space:]]*)?" 
-                   "(\\{|:[^;\\{()]*\\{)" 
-                   ){} 
-}; 
-bool  class_index::grep_callback(boost::smatch what) 
-{ 
-   // what[0] contains the whole string 
-   // what[5] contains the class name. 
-   // what[6] contains the template specialisation if any. 
-   // add class name and position to map: 
-   index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = 
-               what[5].first - base; 
-   return true; 
-} 
-
-void class_index::IndexClasses(const std::string& file) 
-{ 
-   std::string::const_iterator start, end; 
-   start = file.begin(); 
-   end = file.end(); 
-   base = start; 
-   regex_grep(std::bind1st(std::mem_fun(&class_index::grep_callback), this), 
-              start, 
-              end, 
-              expression); 
-} 
- 
-
-

Finally, C++ - Builder users can use C++ Builder's closure type as a callback argument:

-
-#include <string> 
-#include <map> 
-#include <boost/regex.hpp> 
-#include <functional> 
-// purpose: 
-// takes the contents of a file in the form of a string 
-// and searches for all the C++ class definitions, storing 
-// their locations in a map of strings/int's 
-
-typedef std::map<std::string, int, std::less<std::string> > map_type; 
-class class_index 
-{ 
-   boost::regex expression; 
-   map_type index; 
-   std::string::const_iterator base; 
-   typedef  boost::smatch arg_type; 
-   bool grep_callback(const arg_type& what); 
-public: 
-   typedef bool (__closure* grep_callback_type)(const arg_type&); 
-   void IndexClasses(const std::string& file); 
-   class_index() 
-      : index(), 
-        expression("^(template[[:space:]]*<[^;:{]+>[[:space:]]*)?" 
-                   "(class|struct)[[:space:]]*(\\<\\w+\\>([[:blank:]]*\\([^)]*\\))?" 
-                   "[[:space:]]*)*(\\<\\w*\\>)[[:space:]]*(<[^;:{]+>[[:space:]]*)?" 
-                   "(\\{|:[^;\\{()]*\\{)" 
-                   ){} 
-}; 
-
-bool class_index::grep_callback(const arg_type& what) 
-{ 
-   // what[0] contains the whole string    
-// what[5] contains the class name.    
-// what[6] contains the template specialisation if any.    
-// add class name and position to map:    
-index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = 
-               what[5].first - base; 
-   return true; 
-} 
-
-void class_index::IndexClasses(const std::string& file) 
-{ 
-   std::string::const_iterator start, end; 
-   start = file.begin(); 
-   end = file.end(); 
-   base = start; 
-   class_index::grep_callback_type cl = &(this->grep_callback); 
-   regex_grep(cl, 
-            start, 
-            end, 
-            expression); 
-}
-
-

-
-

Revised - - 17 May 2003 -

-

© Copyright John Maddock 1998- - - 2003 -

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - diff --git a/doc/regex_iterator.html b/doc/regex_iterator.html deleted file mode 100644 index 4a24769b..00000000 --- a/doc/regex_iterator.html +++ /dev/null @@ -1,427 +0,0 @@ - - - - Boost.Regex: regex_iterator - - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

regex_iterator

-
-

Boost.Regex Index

-
-
-
-
-

Contents

-
-
Synopsis
Description
- Examples
-
-

Synopsis

-

The iterator type regex_iterator will enumerate all of the regular expression - matches found in some sequence: dereferencing a regex_iterator yields a - reference to a match_results object.

-
-template <class BidirectionalIterator, 
-          class charT = iterator_traits<BidirectionalIterator>::value_type,
-          class traits = regex_traits<charT>,
-          class Allocator = allocator<charT> >
-class regex_iterator 
-{
-public:
-   typedef          basic_regex<charT, traits, Allocator>                   regex_type;
-   typedef          match_results<BidirectionalIterator>                    value_type;
-   typedef typename iterator_traits<BidirectionalIterator>::difference_type difference_type;
-   typedef          const value_type*                                       pointer;
-   typedef          const value_type&                                       reference;
-   typedef          std::forward_iterator_tag                               iterator_category;
-   
-   regex_iterator();
-   regex_iterator(BidirectionalIterator a, BidirectionalIterator b, 
-                  const regex_type& re, 
-                  match_flag_type m = match_default);
-   regex_iterator(const regex_iterator&);
-   regex_iterator& operator=(const regex_iterator&);
-   bool operator==(const regex_iterator&);
-   bool operator!=(const regex_iterator&);
-   const value_type& operator*();
-   const value_type* operator->();
-   regex_iterator& operator++();
-   regex_iterator operator++(int);
-};
-
-
-

Description

-

A regex_iterator is constructed from a pair of iterators, and enumerates all - occurrences of a regular expression within that iterator range.

-
-regex_iterator();
-
- -

Effects: constructs an end of sequence regex_iterator.

-
-regex_iterator(BidirectionalIterator a, BidirectionalIterator b, 
-               const regex_type& re, 
-               match_flag_type m = match_default);
-
- -

Effects: constructs a regex_iterator that will enumerate all occurrences - of the expression re, within the sequence [a,b), and found - using match flags m.  The object re must exist for the - lifetime of the regex_iterator.

-

Throws: std::runtime_error if the complexity of - matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

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

Effects: constructs a copy of that.

- -

Postconditions: *this == that.

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

Effects: sets *this equal to those in that.

- -

Postconditions: *this == that.

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

Effects: returns true if *this is equal to that.

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

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

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

Effects: dereferencing a regex_iterator object it yields a - const reference to a match_results object, - whose members are set as follows:

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Element

-
-

Value

-
-

(*it).size()

-
-

re.mark_count()

-
-

(*it).empty()

-
-

false

-
-

(*it).prefix().first

-
-

The end of the last match found, or the start of the underlying sequence if - this is the first match enumerated

-
-

(*it).prefix().last

-
-

(*it)[0].first

-
-

(*it).prefix().matched

-
-

(*it).prefix().first != (*it).prefix().second

-
-

(*it).suffix().first

-
-

(*it)[0].second

-
-

(*it).suffix().last

-
-

The end of the underlying sequence.

-
-

(*it).suffix().matched

-
-

(*it).suffix().first != (*it).suffix().second

-
-

(*it)[0].first

-
-

The start of the sequence of characters that matched the regular expression

-
-

(*it)[0].second

-
-

The end of the sequence of characters that matched the regular expression

-
-

(*it)[0].matched

-
-

true if a full match was found, and false if it was a - partial match (found as a result of the match_partial flag being - set).

-
-

(*it)[n].first

-
-

For all integers n < (*it).size(), the start of the sequence that matched - sub-expression n. Alternatively, if sub-expression n did not participate - in the match, then last.

-
-

(*it)[n].second

-
-

For all integers n < (*it).size(), the end of the sequence that matched - sub-expression n. Alternatively, if sub-expression n did not participate - in the match, then last.

-
-

(*it)[n].matched

-
-

For all integers n < (*it).size(), true if sub-expression n participated - in the match, false otherwise.

-
(*it).position(n)For all integers n < (*it).size(), then the - distance from the start of the underlying sequence to the start of - sub-expression match n.
-
-
-
-const value_type* operator->();
-
- -

Effects: returns &(*this).

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

Effects: moves the iterator to the next match in the - underlying sequence, or the end of sequence iterator if none if found. -  When the last match found matched a zero length string, then the - regex_iterator will find the next match as follows: if there exists a non-zero - length match that starts at the same location as the last one, then returns it, - otherwise starts looking for the next (possibly zero length) match from one - position to the right of the last match.

-

Throws: std::runtime_error if the complexity of - matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

- -

Returns: *this.

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

Effects: constructs a copy result of *this, - then calls ++(*this).

- -

Returns: result.

-

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 <map>
-#include <fstream>
-#include <iostream>
-#include <boost/regex.hpp>
-
-using namespace std;
-
-// purpose:
-// takes the contents of a file in the form of a string
-// and searches for all the C++ class definitions, storing
-// their locations in a map of strings/int's
-
-typedef std::map<std::string, std::string::difference_type, std::less<std::string> > map_type;
-
-const char* re = 
-   // possibly leading whitespace:   
-   "^[[:space:]]*" 
-   // possible template declaration:
-   "(template[[:space:]]*<[^;:{]+>[[:space:]]*)?"
-   // class or struct:
-   "(class|struct)[[:space:]]*" 
-   // leading declspec macros etc:
-   "("
-      "\\<\\w+\\>"
-      "("
-         "[[:blank:]]*\\([^)]*\\)"
-      ")?"
-      "[[:space:]]*"
-   ")*" 
-   // the class name
-   "(\\<\\w*\\>)[[:space:]]*" 
-   // template specialisation parameters
-   "(<[^;:{]+>)?[[:space:]]*"
-   // terminate in { or :
-   "(\\{|:[^;\\{()]*\\{)";
-
-
-boost::regex expression(re);
-map_type class_index;
-
-bool regex_callback(const boost::match_results<std::string::const_iterator>& what)
-{
-   // what[0] contains the whole string
-   // what[5] contains the class name.
-   // what[6] contains the template specialisation if any.
-   // add class name and position to map:
-   class_index[what[5].str() + what[6].str()] = what.position(5);
-   return true;
-}
-
-void load_file(std::string& s, std::istream& is)
-{
-   s.erase();
-   s.reserve(is.rdbuf()->in_avail());
-   char c;
-   while(is.get(c))
-   {
-      if(s.capacity() == s.size())
-         s.reserve(s.capacity() * 3);
-      s.append(1, c);
-   }
-}
-
-int main(int argc, const char** argv)
-{
-   std::string text;
-   for(int i = 1; i < argc; ++i)
-   {
-      cout << "Processing file " << argv[i] << endl;
-      std::ifstream fs(argv[i]);
-      load_file(text, fs);
-      // construct our iterators:
-      boost::regex_iterator<std::string::const_iterator> m1(text.begin(), text.end(), expression);
-      boost::regex_iterator<std::string::const_iterator> m2;
-      std::for_each(m1, m2, ®ex_callback);
-      // copy results:
-      cout << class_index.size() << " matches found" << endl;
-      map_type::iterator c, d;
-      c = class_index.begin();
-      d = class_index.end();
-      while(c != d)
-      {
-         cout << "class \"" << (*c).first << "\" found at index: " << (*c).second << endl;
-         ++c;
-      }
-      class_index.erase(class_index.begin(), class_index.end());
-   }
-   return 0;
-}
-
-
-

Revised - - 17 May 2003 -

-

© Copyright John Maddock 1998- - - 2003 -

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - diff --git a/doc/regex_match.html b/doc/regex_match.html deleted file mode 100644 index 309d33d4..00000000 --- a/doc/regex_match.html +++ /dev/null @@ -1,317 +0,0 @@ - - - - Boost.Regex: Algorithm regex_match - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Algorithm regex_match

-
-

Boost.Regex Index

-
-

-
-

-

Contents

-
-
Synopsis
Description
- Examples
-
-

Synopsis

-
#include <boost/regex.hpp> 
-

The algorithm regex _match determines whether a given regular expression - matches a given sequence denoted by a pair of bidirectional-iterators, the - algorithm is defined as follows, note that the result is true only if the - expression matches the whole of the input sequence, the main use of - this function is data input validation. -

template <class BidirectionalIterator, class Allocator, class charT,
-          class traits, class Allocator2>
-bool regex_match(BidirectionalIterator first, BidirectionalIterator last,
-                 match_results<BidirectionalIterator, Allocator>& m,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-                 
-template <class BidirectionalIterator, class charT, class traits, class Allocator2>
-bool regex_match(BidirectionalIterator first, BidirectionalIterator last,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-                 
-template <class charT, class Allocator, class traits, class Allocator2>
-bool regex_match(const charT* str, match_results<const charT*, Allocator>& m,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-                 
-template <class ST, class SA, class Allocator, class charT,
-          class traits, class Allocator2>
-bool regex_match(const basic_string<charT, ST, SA>& s,
-                 match_results<typename basic_string<charT, ST, SA>::const_iterator, Allocator>& m, 
-                 const basic_regex<charT, traits, Allocator2>& e, 
-                 match_flag_type flags = match_default);
-                 
-template <class charT, class traits, class Allocator2>
-bool regex_match(const charT* str,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-                 
-template <class ST, class SA, class charT, class traits, class Allocator2>
-bool regex_match(const basic_string<charT, ST, SA>& s,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-
-

Description

-
template <class BidirectionalIterator, class Allocator, class charT,
-          class traits, class Allocator2>
-bool regex_match(BidirectionalIterator first, BidirectionalIterator last,
-                 match_results<BidirectionalIterator, Allocator>& m,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-

Requires: Type BidirectionalIterator meets the requirements of a - Bidirectional Iterator (24.1.4).

-

Effects: Determines whether there is an exact match between the regular - expression e, and all of the character sequence [first, last), parameter - flags is used to control how the expression - is matched against the character sequence. Returns true if such a match - exists, false otherwise.

-

Throws: std::runtime_error if the complexity of matching the - expression against an N character string begins to exceed O(N2), or - if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

-

Postconditions: If the function returns false, then the effect on - parameter m is undefined, otherwise the effects on parameter m are - given in the table:

-

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Element -

-
-

Value -

-
-

m.size()

-
-

e.mark_count()

-
-

m.empty()

-
-

false

-
-

m.prefix().first

-
-

first

-
-

m.prefix().last

-
-

first

-
-

m.prefix().matched

-
-

false

-
-

m.suffix().first

-
-

last

-
-

m.suffix().last

-
-

last

-
-

m.suffix().matched

-
-

false

-
-

m[0].first

-
-

first

-
-

m[0].second

-
-

last

-
-

m[0].matched

-
-

true if a full match was found, and false if it was - a partial match (found as a result of the match_partial flag being - set).

-
-

m[n].first

-
-

For all integers n < m.size(), the start of the sequence that matched - sub-expression n. Alternatively, if sub-expression n did not participate - in the match, then last.

-
-

m[n].second

-
-

For all integers n < m.size(), the end of the sequence that matched - sub-expression n. Alternatively, if sub-expression n did not participate - in the match, then last.

-
-

m[n].matched

-
-

For all integers n < m.size(), true if sub-expression n participated - in the match, false otherwise.

-
-
-

-
-
 
-
template <class BidirectionalIterator, class charT, class traits, class Allocator2>
-bool regex_match(BidirectionalIterator first, BidirectionalIterator last,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-

Effects: Behaves "as if" by constructing an instance of - match_results<BidirectionalIterator> what, - and then returning the result of regex_match(first, last, what, e, flags).

-
template <class charT, class Allocator, class traits, class Allocator2>
-bool regex_match(const charT* str, match_results<const charT*, Allocator>& m,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-

Effects: Returns the result of regex_match(str, str + - char_traits<charT>::length(str), m, e, flags).

-
template <class ST, class SA, class Allocator, class charT,
-          class traits, class Allocator2>
-bool regex_match(const basic_string<charT, ST, SA>& s,
-                 match_results<typename basic_string<charT, ST, SA>::const_iterator, Allocator>& m, 
-                 const basic_regex<charT, traits, Allocator2>& e, 
-                 match_flag_type flags = match_default);
-

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

-
template <class charT, class traits, class Allocator2>
-bool regex_match(const charT* str,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-

Effects: Returns the result of regex_match(str, str + - char_traits<charT>::length(str), e, flags).

-
template <class ST, class SA, class charT, class traits, class Allocator2>
-bool regex_match(const basic_string<charT, ST, SA>& s,
-                 const basic_regex<charT, traits, Allocator2>& e,
-                 match_flag_type flags = match_default);
-

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 <boost/regex.hpp> 
-#include <string> 
-#include <iostream> 
-
-using namespace boost; 
-
-regex expression("([0-9]+)(\\-| |$)(.*)"); 
-
-// process_ftp: 
-// on success returns the ftp response code, and fills 
-// msg with the ftp response message. 
-int process_ftp(const char* response, std::string* msg) 
-{ 
-   cmatch what; 
-   if(regex_match(response, what, expression)) 
-   { 
-      // what[0] contains the whole string 
-      // what[1] contains the response code 
-      // what[2] contains the separator character 
-      // what[3] contains the text message. 
-      if(msg) 
-         msg->assign(what[3].first, what[3].second); 
-      return std::atoi(what[1].first); 
-   } 
-   // failure did not match 
-   if(msg) 
-      msg->erase(); 
-   return -1; 
-}
-      

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - diff --git a/doc/regex_merge.html b/doc/regex_merge.html deleted file mode 100644 index 00c35d76..00000000 --- a/doc/regex_merge.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - Boost.Regex: Algorithm regex_merge (deprecated) - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Algorithm regex_merge (deprecated)

-
-

Boost.Regex Index

-
-

-
-

-

Algorithm regex_merge has been renamed regex_replace, - existing code will continue to compile, but new code should use - regex_replace instead.

-

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/regex_replace.html b/doc/regex_replace.html deleted file mode 100644 index 8ff9764d..00000000 --- a/doc/regex_replace.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - Boost.Regex: Algorithm regex_replace - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Algorithm regex_replace

-
-

Boost.Regex Index

-
-

-
-

Contents

-
-
Synopsis
Description
- Examples
-

Synopsis

-
#include <boost/regex.hpp> 
-

The algorithm regex_replace searches through a string finding - all the matches to the regular expression: for each match it then calls - match_results::format to format the string and sends the result to the - output iterator. Sections of text that do not match are copied to the output - unchanged only if the flags parameter does not have the flag - format_no_copy set. If the flag format_first_only - is set then only the first occurrence is replaced rather than all - occurrences. 

template <class OutputIterator, class BidirectionalIterator, class traits,
-          class Allocator, class charT>
-OutputIterator regex_replace(OutputIterator out,
-                           BidirectionalIterator first,
-                           BidirectionalIterator last,
-                           const basic_regex<charT, traits, Allocator>& e,
-                           const basic_string<charT>& fmt,
-                           match_flag_type flags = match_default);
-
-template <class traits, class Allocator, class charT>
-basic_string<charT> regex_replace(const basic_string<charT>& s,
-                            const basic_regex<charT, traits, Allocator>& e,
-                            const basic_string<charT>& fmt,
-                            match_flag_type flags = match_default);
-
-
-

Description

-
template <class OutputIterator, class BidirectionalIterator, class traits,
-          class Allocator, class charT>
-OutputIterator regex_replace(OutputIterator out,
-                           BidirectionalIterator first,
-                           BidirectionalIterator last,
-                           const basic_regex<charT, traits, Allocator>& e,
-                           const basic_string<charT>& fmt,
-                           match_flag_type flags = match_default);
-

Effects: Finds all the non-overlapping matches m of type match_results<BidirectionalIterator> - that occur within the sequence [first, last). If no such matches are - found and !(flags & format_no_copy) then calls std::copy(first, - last, out). Otherwise, for each match found, if !(flags & - format_no_copy) calls std::copy(m.prefix().first, m.prefix().last, - out), and then calls m.format(out, fmt, flags). Finally - if !(flags & format_no_copy) calls std::copy(last_m.suffix().first, - last_m,suffix().last, out) where last_m is a copy of the - last match found. If flags & format_first_only is non-zero - then only the first match found is replaced.

-

Throws: std::runtime_error if the complexity of - matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

-

Returns: out. -

-
template <class traits, class Allocator, class charT>
-basic_string<charT> regex_replace(const basic_string<charT>& s,
-                            const basic_regex<charT, traits, Allocator>& e,
-                            const basic_string<charT>& fmt,
-                            match_flag_type flags = match_default);
-

Effects: Constructs an object basic_string<charT> result, - calls regex_replace(back_inserter(result), s.begin(), s.end(), e, fmt, - flags), and then returns result. -

Examples

-

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

-

-
#include <fstream>
-#include <sstream>
-#include <string>
-#include <iterator>
-#include <boost/regex.hpp>
-#include <fstream>
-#include <iostream>
-
-// purpose:
-// takes the contents of a file and transform to
-// syntax highlighted code in html format
-
-boost::regex e1, e2;
-extern const char* expression_text;
-extern const char* format_string;
-extern const char* pre_expression;
-extern const char* pre_format;
-extern const char* header_text;
-extern const char* footer_text;
-
-void load_file(std::string& s, std::istream& is)
-{
-   s.erase();
-   s.reserve(is.rdbuf()->in_avail());
-   char c;
-   while(is.get(c))
-   {
-      if(s.capacity() == s.size())
-         s.reserve(s.capacity() * 3);
-      s.append(1, c);
-   }
-}
-
-int main(int argc, const char** argv)
-{
-   try{
-   e1.assign(expression_text);
-   e2.assign(pre_expression);
-   for(int i = 1; i < argc; ++i)
-   {
-      std::cout << "Processing file " << argv[i] << std::endl;
-      std::ifstream fs(argv[i]);
-      std::string in;
-      load_file(in, fs);
-      std::string out_name(std::string(argv[i]) + std::string(".htm"));
-      std::ofstream os(out_name.c_str());
-      os << header_text;
-      // strip '<' and '>' first by outputting to a
-      // temporary string stream
-      std::ostringstream t(std::ios::out | std::ios::binary);
-      std::ostream_iterator<char, char> oi(t);
-      boost::regex_replace(oi, in.begin(), in.end(),
-      e2, pre_format, boost::match_default | boost::format_all);
-      // then output to final output stream
-      // adding syntax highlighting:
-      std::string s(t.str());
-      std::ostream_iterator<char, char> out(os);
-      boost::regex_replace(out, s.begin(), s.end(),
-      e1, format_string, boost::match_default | boost::format_all);
-      os << footer_text;
-   }
-   }
-   catch(...)
-   { return -1; }
-   return 0;
-}
-
-extern const char* pre_expression = "(<)|(>)|\\r";
-extern const char* pre_format = "(?1<)(?2>)";
-
-
-const char* expression_text = // preprocessor directives: index 1
-                              "(^[[:blank:]]*#(?:[^\\\\\\n]|\\\\[^\\n[:punct:][:word:]]*[\\n[:punct:][:word:]])*)|"
-                              // comment: index 2
-                              "(//[^\\n]*|/\\*.*?\\*/)|"
-                              // literals: index 3
-                              "\\<([+-]?(?:(?:0x[[:xdigit:]]+)|(?:(?:[[:digit:]]*\\.)?[[:digit:]]+(?:[eE][+-]?[[:digit:]]+)?))u?(?:(?:int(?:8|16|32|64))|L)?)\\>|"
-                              // string literals: index 4
-                              "('(?:[^\\\\']|\\\\.)*'|\"(?:[^\\\\\"]|\\\\.)*\")|"
-                              // keywords: index 5
-                              "\\<(__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)\\>"
-                              ;
-
-const char* format_string = "(?1<font color=\"#008040\">$&</font>)"
-                            "(?2<I><font color=\"#000080\">$&</font></I>)"
-                            "(?3<font color=\"#0000A0\">$&</font>)"
-                            "(?4<font color=\"#0000FF\">$&</font>)"
-                            "(?5<B>$&</B>)";
-
-const char* header_text = "<HTML>\n<HEAD>\n"
-                          "<TITLE>Auto-generated html formated source</TITLE>\n"
-                          "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=windows-1252\">\n"
-                          "</HEAD>\n"
-                          "<BODY LINK=\"#0000ff\" VLINK=\"#800080\" BGCOLOR=\"#ffffff\">\n"
-                          "<P> </P>\n<PRE>";
-
-const char* footer_text = "</PRE>\n</BODY>\n\n";
-      
-
-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - diff --git a/doc/regex_search.html b/doc/regex_search.html deleted file mode 100644 index 97850ba7..00000000 --- a/doc/regex_search.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - Boost.Regex: Algorithm regex_search - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Algorithm regex_search

-
-

Boost.Regex Index

-
-

-
-

Contents

-
-
Synopsis
Description
- Examples
-

Synopsis

-
#include <boost/regex.hpp> 
-

-

The algorithm regex_search will search a range denoted by a pair of - bidirectional-iterators for a given regular expression. The algorithm uses - various heuristics to reduce the search time by only checking for a match if a - match could conceivably start at that position. The algorithm is defined as - follows: -

template <class BidirectionalIterator, 
-          class Allocator, class charT,
-          class traits, class Allocator2>
-bool regex_search(BidirectionalIterator first, BidirectionalIterator last,
-                  match_results<BidirectionalIterator, Allocator>& m,
-                  const basic_regex<charT, traits, Allocator2>& e,
-                  match_flag_type flags = match_default);
-                  
-template <class ST, class SA, 
-          class Allocator, class charT,
-          class traits, class Allocator2> 
-bool regex_search(const basic_string<charT, ST, SA>& s, 
-                  match_results<
-                      typename basic_string<charT, ST,SA>::const_iterator, 
-                      Allocator>& m, 
-                  const basic_regex<charT, traits, Allocator2>& e, 
-                  match_flag_type flags = match_default); 
-          
-template<class charT, class Allocator, class traits, 
-         class Allocator2> 
-bool regex_search(const charT* str, 
-                  match_results<const charT*, Allocator>& m, 
-                  const basic_regex<charT, traits, Allocator2>& e,
-                  match_flag_type flags = match_default);
-                  
-template <class BidirectionalIterator, class Allocator,
-          class charT, class traits>                
-bool regex_search(BidirectionalIterator first, BidirectionalIterator last, 
-                  const basic_regex<charT, traits, Allocator>& e, 
-                  match_flag_type flags = match_default); 
-                  
-template <class charT, class Allocator, 
-          class traits> 
-bool regex_search(const charT* str, 
-                  const basic_regex<charT, traits, Allocator>& e, 
-                  match_flag_type flags = match_default); 
-                  
-template<class ST, class SA,
-         class Allocator, class charT, 
-         class traits>
-bool regex_search(const basic_string<charT, ST, SA>& s,
-                  const basic_regex<charT, traits, Allocator>& e,
-                  match_flag_type flags = match_default);
-
-

Description

-
template <class BidirectionalIterator, class Allocator, class charT,
-          class traits, class Allocator2>
-bool regex_search(BidirectionalIterator first, BidirectionalIterator last,
-                  match_results<BidirectionalIterator, Allocator>& m,
-                  const basic_regex<charT, traits, Allocator2>& e,
-                  match_flag_type flags = match_default);
-

Requires: Type BidirectionalIterator meets the requirements of a - Bidirectional Iterator (24.1.4).

-

Effects: Determines whether there is some sub-sequence within - [first,last) that matches the regular expression e, parameter flags - is used to control how the expression is matched against the character - sequence. Returns true if such a sequence exists, false otherwise.

-

Throws: std::runtime_error if the complexity of - matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

-

Postconditions: If the function returns false, then the effect on - parameter m is undefined, otherwise the effects on parameter m are - given in the table:

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Element

-
-

Value -

-
-

m.size()

-
-

e.mark_count()

-
-

m.empty()

-
-

false

-
-

m.prefix().first

-
-

first

-
-

m.prefix().last

-
-

m[0].first

-
-

m.prefix().matched

-
-

m.prefix().first != m.prefix().second

-
-

m.suffix().first

-
-

m[0].second

-
-

m.suffix().last

-
-

last

-
-

m.suffix().matched

-
-

m.suffix().first != m.suffix().second

-
-

m[0].first

-
-

The start of the sequence of characters that matched the regular expression

-
-

m[0].second

-
-

The end of the sequence of characters that matched the regular expression

-
-

m[0].matched

-
-

true if a full match was found, and false if it was - a partial match (found as a result of the match_partial flag being - set).

-
-

m[n].first

-
-

For all integers n < m.size(), the start of the sequence that matched - sub-expression n. Alternatively, if sub-expression n did not participate - in the match, then last.

-
-

m[n].second

-
-

For all integers n < m.size(), the end of the sequence that matched - sub-expression n. Alternatively, if sub-expression n did not participate - in the match, then last.

-
-

m[n].matched

-
-

For all integers n < m.size(), true if sub-expression n participated - in the match, false otherwise.

-
-
-
-
template <class charT, class Allocator, class traits, class Allocator2>
-bool regex_search(const charT* str, match_results<const charT*, Allocator>& m,
-                  const basic_regex<charT, traits, Allocator2>& e,
-                  match_flag_type flags = match_default);
-

Effects: Returns the result of regex_search(str, str + - char_traits<charT>::length(str), m, e, flags).

-
template <class ST, class SA, class Allocator, class charT,
-          class traits, class Allocator2>
-bool regex_search(const basic_string<charT, ST, SA>& s,
-                  match_results<typename basic_string<charT, ST, SA>::const_iterator, Allocator>& m,
-                  const basic_regex<charT, traits, Allocator2>& e,
-                  match_flag_type flags = match_default);
-

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

-
template <class iterator, class Allocator, class charT,
-          class traits>
-bool regex_search(iterator first, iterator last,
-                  const basic_regex<charT, traits, Allocator>& e,
-                  match_flag_type flags = match_default);
-

Effects: Behaves "as if" by constructing an instance of - match_results<BidirectionalIterator> what, - and then returning the result of regex_search(first, last, what, e, flags).

-
template <class charT, class Allocator, class traits>
-bool regex_search(const charT* str
-                  const basic_regex<charT, traits, Allocator>& e,
-                  match_flag_type flags = match_default);
-

Effects: Returns the result of regex_search(str, str + - char_traits<charT>::length(str), e, flags).

-
template <class ST, class SA, class Allocator, class charT,
-          class traits>
-bool regex_search(const basic_string<charT, ST, SA>& s,
-                  const basic_regex<charT, traits, Allocator>& e,
-                  match_flag_type flags = match_default);
-

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

Examples

-

The following example, - takes the contents of a file in the form of a string, and searches for all the - C++ class declarations in the file. The code will work regardless of the way - that std::string 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 <map> 
-#include <boost/regex.hpp> 
-
-// purpose: 
-// takes the contents of a file in the form of a string 
-// and searches for all the C++ class definitions, storing 
-// their locations in a map of strings/int's 
-typedef std::map<std::string, int, std::less<std::string> > map_type; 
-
-boost::regex expression("^(template[[:space:]]*<[^;:{]+>[[:space:]]*)?(class|struct)[[:space:]]*(\\<\\w+\\>([[:blank:]]*\\([^)]*\\))?[[:space:]]*)*(\\<\\w*\\>)[[:space:]]*(<[^;:{]+>[[:space:]]*)?(\\{|:[^;\\{()]*\\{)"); 
-
-void IndexClasses(map_type& m, const std::string& file) 
-{ 
-   std::string::const_iterator start, end; 
-   start = file.begin(); 
-   end = file.end(); 
-      boost::match_results<std::string::const_iterator> what; 
-   unsigned int flags = boost::match_default; 
-   while(regex_search(start, end, what, expression, flags)) 
-   { 
-      // what[0] contains the whole string 
-      // what[5] contains the class name. 
-      // what[6] contains the template specialisation if any. 
-      // add class name and position to map: 
-      m[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = 
-                what[5].first - file.begin(); 
-      // update search position: 
-      start = what[0].second; 
-      // update flags: 
-      flags |= boost::match_prev_avail; 
-      flags |= boost::match_not_bob; 
-   } 
-}
-     
-
-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - diff --git a/doc/regex_split.html b/doc/regex_split.html deleted file mode 100644 index e1eba954..00000000 --- a/doc/regex_split.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - Boost.Regex: Algorithm regex_split (deprecated) - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Algorithm regex_split (deprecated)

-
-

Boost.Regex Index

-
-

-
-

-

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

-

Code which uses regex_split will continue to compile, the following - documentation is taken from the previous boost.regex version:

-

Algorithm regex_split

-
#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, class Alloc2>
-std::size_t regex_split(OutputIterator out, 
-                        std::basic_string<charT, Traits1, Alloc1>& s, 
-                        const basic_regex<charT, Traits2, Alloc2>& e,
-                        unsigned flags,
-                        std::size_t max_split);
-
-template <class OutputIterator, class charT, class Traits1, class Alloc1, class Traits2, class Alloc2>
-std::size_t regex_split(OutputIterator out, 
-                        std::basic_string<charT, Traits1, Alloc1>& s, 
-                        const basic_regex<charT, Traits2, Alloc2>& e,
-                        unsigned flags = match_default);
-
-template <class OutputIterator, class charT, class Traits1, class Alloc1>
-std::size_t regex_split(OutputIterator out, 
-                        std::basic_string<charT, Traits1, Alloc1>& s);
-

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

-

Throws: std::runtime_error if the complexity of - matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

-

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

-
unsigned tokenise(std::list<std::string>& l, std::string& s)
-{
-   return boost::regex_split(std::back_inserter(l), s);
-}
-

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 <fstream>
-#include <iostream>
-#include <boost/regex.hpp>
-
-boost::regex e("<\\s*A\\s+[^>]*href\\s*=\\s*\"([^\"]*)\"",
-               boost::regbase::normal | boost::regbase::icase);
-
-void load_file(std::string& s, std::istream& is)
-{
-   s.erase();
-   //
-   // attempt to grow string buffer to match file size,
-   // this doesn't always work...
-   s.reserve(is.rdbuf()-&gtin_avail());
-   char c;
-   while(is.get(c))
-   {
-      // use logarithmic growth stategy, in case
-      // in_avail (above) returned zero:
-      if(s.capacity() == s.size())
-         s.reserve(s.capacity() * 3);
-      s.append(1, c);
-   }
-}
-
-
-int main(int argc, char** argv)
-{
-   std::string s;
-   std::list<std::string> l;
-
-   for(int i = 1; i < argc; ++i)
-   {
-      std::cout << "Findings URL's in " << argv[i] << ":" << std::endl;
-      s.erase();
-      std::ifstream is(argv[i]);
-      load_file(s, is);
-      boost::regex_split(std::back_inserter(l), s, e);
-      while(l.size())
-      {
-         s = *(l.begin());
-         l.pop_front();
-         std::cout << s << std::endl;
-      }
-   }
-   return 0;
-}
-
-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - diff --git a/doc/regex_token_iterator.html b/doc/regex_token_iterator.html deleted file mode 100644 index 03e2e64e..00000000 --- a/doc/regex_token_iterator.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - Boost.Regex: regex_token_iterator - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

regex_token_iterator

-
-

Boost.Regex Index

-
-

-
-

Contents

-
-
Synopsis
Description
- Examples
-

Synopsis

-

The template class regex_token_iterator is an iterator adapter; - that is to say it represents a new view of an existing iterator sequence, by - enumerating all the occurrences of a regular expression within that sequence, - and presenting one or more new strings for each match found. Each position - enumerated by the iterator is a string that represents what matched a - particular sub-expression within the regular expression. When class regex_token_iterator - is used to enumerate a single sub-expression with index -1, then the iterator - performs field splitting: that is to say it enumerates one string for each - section of the character container sequence that does not match the regular - expression specified.

-
-template <class BidirectionalIterator, 
-          class charT = iterator_traits<BidirectionalIterator>::value_type,
-          class traits = regex_traits<charT>,
-          class Allocator = allocator<charT> >
-class regex_token_iterator 
-{
-public:
-   typedef          basic_regex<charT, traits, Allocator>                   regex_type;
-   typedef          basic_string<charT>                                     value_type;
-   typedef typename iterator_traits<BidirectionalIterator>::difference_type difference_type;
-   typedef          const value_type*                                       pointer;
-   typedef          const value_type&                                       reference;
-   typedef          std::forward_iterator_tag                               iterator_category;
-   
-   regex_token_iterator();
-   regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, 
-                        int submatch = 0, match_flag_type m = match_default);
-   regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, 
-                        const std::vector<int>& submatches, match_flag_type m = match_default);
-   template <std::size_t N>
-   regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, 
-                        const int (&submatches)[N], match_flag_type m = match_default);
-   regex_token_iterator(const regex_token_iterator&);
-   regex_token_iterator& operator=(const regex_token_iterator&);
-   bool operator==(const regex_token_iterator&);
-   bool operator!=(const regex_token_iterator&);
-   const value_type& operator*();
-   const value_type* operator->();
-   regex_token_iterator& operator++();
-   regex_token_iterator operator++(int);
-};
-
-

Description

-
regex_token_iterator();
-

Effects: constructs an end of sequence iterator.

-
regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, 
-                     int submatch = 0, match_flag_type m = match_default);
-

Preconditions: !re.empty().

-

Effects: constructs a regex_token_iterator that will enumerate one - string for each regular expression match of the expression re found - within the sequence [a,b), using match flags m.  The - string enumerated is the sub-expression submatch for each match - found; if submatch is -1, then enumerates all the text sequences that - did not match the expression re (that is to performs field splitting).

-

Throws: std::runtime_error if the complexity of - matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

-
regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, 
-                     const std::vector<int>& submatches, match_flag_type m = match_default);
-

Preconditions: submatches.size() && !re.empty().

-

Effects: constructs a regex_token_iterator that will enumerate submatches.size() - strings for each regular expression match of the expression re found - within the sequence [a,b), using match flags m.  For - each match found one string will be enumerated for each sub-expression - index contained within submatches vector; if submatches[0] - is -1, then the first string enumerated for each match will be all of the text - from end of the last match to the start of the current match, in addition there - will be one extra string enumerated when no more matches can be found: from the - end of the last match found, to the end of the underlying sequence.

-

Throws: std::runtime_error if the complexity of - matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

-
template <std::size_t N>
-regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, 
-                     const int (&submatches)[R], match_flag_type m = match_default);
-

Preconditions: !re.empty().

-

Effects: constructs a regex_token_iterator that will - enumerate R strings for each regular expression match of the - expression re found within the sequence [a,b), using match - flags m.  For each match found one string will be - enumerated for each sub-expression index contained within the submatches - array; if submatches[0] is -1, then the first string enumerated - for each match will be all of the text from end of the last match to the start - of the current match, in addition there will be one extra string enumerated - when no more matches can be found: from the end of the last match found, to the - end of the underlying sequence.

-

Throws: std::runtime_error if the complexity of - matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

-
regex_token_iterator(const regex_token_iterator& that);
-

Effects: constructs a copy of that.

-

Postconditions: *this == that.

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

Effects: sets *this to be equal to that.

-

Postconditions: *this == that.

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

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

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

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

-
const value_type& operator*();
-

- Effects: returns the current string being enumerated.

-
const value_type* operator->();
-

- Effects: returns &(*this).

-
regex_token_iterator& operator++();
-

- Effects: Moves on to the next string to be enumerated.

-

Throws: std::runtime_error if the complexity of - matching the expression against an N character string begins to exceed O(N2), - or if the program runs out of stack space while matching the expression (if - Boost.regex is configured in recursive mode), - or if the matcher exhausts it's permitted memory allocation (if Boost.regex is - configured in non-recursive mode).

- -

- Returns: *this.

regex_token_iterator& operator++(int);
-

Effects: constructs a copy result of *this, - then calls ++(*this).

-

Returns: result. -

Examples

-

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

-
-#include <iostream>
-#include <boost/regex.hpp>
-
-using namespace std;
-
-int main(int argc)
-{
-   string s;
-   do{
-      if(argc == 1)
-      {
-         cout << "Enter text to split (or \"quit\" to exit): ";
-         getline(cin, s);
-         if(s == "quit") break;
-      }
-      else
-         s = "This is a string of tokens";
-
-      boost::regex re("\\s+");
-      boost::regex_token_iterator<std::string::const_iterator> i(s.begin(), s.end(), re, -1);
-      boost::regex_token_iterator<std::string::const_iterator> j;
-
-      unsigned count = 0;
-      while(i != j)
-      {
-         cout << *i++ << endl;
-         count++;
-      }
-      cout << "There were " << count << " tokens found." << endl;
-
-   }while(argc == 1);
-   return 0;
-}
-
-
-

The following example - takes a html file and outputs a list of all the linked files:

-
-#include <fstream>
-#include <iostream>
-#include <iterator>
-#include <boost/regex.hpp>
-
-boost::regex e("<\\s*A\\s+[^>]*href\\s*=\\s*\"([^\"]*)\"",
-               boost::regex::normal | boost::regbase::icase);
-
-void load_file(std::string& s, std::istream& is)
-{
-   s.erase();
-   //
-   // attempt to grow string buffer to match file size,
-   // this doesn't always work...
-   s.reserve(is.rdbuf()->in_avail());
-   char c;
-   while(is.get(c))
-   {
-      // use logarithmic growth stategy, in case
-      // in_avail (above) returned zero:
-      if(s.capacity() == s.size())
-         s.reserve(s.capacity() * 3);
-      s.append(1, c);
-   }
-}
-
-int main(int argc, char** argv)
-{
-   std::string s;
-   int i;
-   for(i = 1; i < argc; ++i)
-   {
-      std::cout << "Findings URL's in " << argv[i] << ":" << std::endl;
-      s.erase();
-      std::ifstream is(argv[i]);
-      load_file(s, is);
-      boost::regex_token_iterator<std::string::const_iterator>
-         i(s.begin(), s.end(), e, 1);
-      boost::regex_token_iterator<std::string::const_iterator> j;
-      while(i != j)
-      {
-         std::cout << *i++ << std::endl;
-      }
-   }
-   //
-   // alternative method:
-   // test the array-literal constructor, and split out the whole
-   // match as well as $1....
-   //
-   for(i = 1; i < argc; ++i)
-   {
-      std::cout << "Findings URL's in " << argv[i] << ":" << std::endl;
-      s.erase();
-      std::ifstream is(argv[i]);
-      load_file(s, is);
-      const int subs[] = {1, 0,};
-      boost::regex_token_iterator<std::string::const_iterator>
-         i(s.begin(), s.end(), e, subs);
-      boost::regex_token_iterator<std::string::const_iterator> j;
-      while(i != j)
-      {
-         std::cout << *i++ << std::endl;
-      }
-   }
-
-   return 0;
-}
-
-
-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - diff --git a/doc/regex_traits.html b/doc/regex_traits.html deleted file mode 100644 index a359e2e9..00000000 --- a/doc/regex_traits.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - Boost.Regex: class regex_traits - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

class regex_traits

-
-

Boost.Regex Index

-
-

-
-

-

Under construction.

-

The current boost.regex traits class design will be migrated to that specified - in the regular - expression standardization proposal. 

-

-


-

-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/standards.html b/doc/standards.html deleted file mode 100644 index 35a2e67e..00000000 --- a/doc/standards.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - Boost.Regex: Standards Conformance - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Standards Conformance

-
-

Boost.Regex Index

-
-

-
-

C++

-

Boost.regex is intended to conform to the - regular expression standardization proposal, which will appear in a - future C++ standard technical report (and hopefully in a future version of the - standard).  Currently there are some differences in how the regular - expression traits classes are defined, these will be fixed in a future release.

-

ECMAScript / JavaScript

-

All of the ECMAScript regular expression syntax features are supported, except - that:

-

Negated class escapes (\S, \D and \W) are not permitted inside character class - definitions ( [...] ).

-

The escape sequence \u matches any upper case character (the same as - [[:upper:]]) rather than a Unicode escape sequence; use \x{DDDD} for - Unicode escape sequences.

-

Perl

-

Almost all Perl features are supported, except for:

-

\N{name}  Use [[:name:]] instead.

-

\pP and \PP

-

(?imsx-imsx)

-

(?<=pattern)

-

(?<!pattern)

-

(?{code})

-

(??{code})

-

(?(condition)yes-pattern) and (?(condition)yes-pattern|no-pattern)

-

These embarrassments / limitations will be removed in due course, mainly - dependent upon user demand.

-

POSIX

-

All the POSIX basic and extended regular expression features are supported, - except that:

-

No character collating names are recognized except those specified in the POSIX - standard for the C locale, unless they are explicitly registered with the - traits class.

-

Character equivalence classes ( [[=a=]] etc) are probably buggy except on - Win32.  Implementing this feature requires knowledge of the format of the - string sort keys produced by the system; if you need this, and the default - implementation doesn't work on your platform, then you will need to supply a - custom traits class.

-
-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - - diff --git a/doc/sub_match.html b/doc/sub_match.html deleted file mode 100644 index 19b12c8d..00000000 --- a/doc/sub_match.html +++ /dev/null @@ -1,426 +0,0 @@ - - - - Boost.Regex: sub_match - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

sub_match

-
-

Boost.Regex Index

-
-

-
-

Synopsis

-

#include <boost/regex.hpp> -

-

Regular expressions are different from many simple pattern-matching algorithms - in that as well as finding an overall match they can also produce - sub-expression matches: each sub-expression being delimited in the pattern by a - pair of parenthesis (...). There has to be some method for reporting - sub-expression matches back to the user: this is achieved this by defining a - class match_results that acts as an - indexed collection of sub-expression matches, each sub-expression match being - contained in an object of type sub_match - . -

Objects of type sub_match may only obtained by subscripting an object - of type match_results - . -

When the marked sub-expression denoted by an object of type sub_match<> - participated in a regular expression match then member matched evaluates - to true, and members first and second denote the - range of characters [first,second) which formed that match. - Otherwise matched is false, and members first and second - contained undefined values.

-

If an object of type sub_match<> represents sub-expression 0 - - that is to say the whole match - then member matched is always - true, unless a partial match was obtained as a result of the flag match_partial - being passed to a regular expression algorithm, in which case member matched - is false, and members first and second represent the - character range that formed the partial match.

-
-namespace boost{
-      
-template <class BidirectionalIterator>
-class sub_match : public std::pair<BidirectionalIterator, BidirectionalIterator>
-{
-public:
-   typedef typename iterator_traits<BidirectionalIterator>::value_type       value_type;
-   typedef typename iterator_traits<BidirectionalIterator>::difference_type  difference_type;
-   typedef          BidirectionalIterator                                    iterator;
-
-   bool matched;
-
-   difference_type length()const;
-   operator basic_string<value_type>()const;
-   basic_string<value_type> str()const;
-
-   int compare(const sub_match& s)const;
-   int compare(const basic_string<value_type>& s)const;
-   int compare(const value_type* s)const;
-};
-
-template <class BidirectionalIterator>
-bool operator == (const sub_match<BidirectionalIterator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator>
-bool operator != (const sub_match<BidirectionalIterator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator>
-bool operator < (const sub_match<BidirectionalIterator>& lhs,
-                 const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator>
-bool operator <= (const sub_match<BidirectionalIterator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator>
-bool operator >= (const sub_match<BidirectionalIterator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator>
-bool operator > (const sub_match<BidirectionalIterator>& lhs,
-                 const sub_match<BidirectionalIterator>& rhs);
-
-
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator == (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator != (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator < (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& lhs,
-                 const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator > (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& lhs,
-                 const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator >= (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator <= (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
-
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator == (const sub_match<BidirectionalIterator>& lhs,
-                  const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator != (const sub_match<BidirectionalIterator>& lhs,
-                  const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator < (const sub_match<BidirectionalIterator>& lhs,
-                 const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator > (const sub_match<BidirectionalIterator>& lhs,
-                 const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator >= (const sub_match<BidirectionalIterator>& lhs,
-                  const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& rhs);
-template <class BidirectionalIterator, class traits, class Allocator> 
-bool operator <= (const sub_match<BidirectionalIterator>& lhs,
-                  const std::basic_string<iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>& rhs);
-
-template <class BidirectionalIterator> 
-bool operator == (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator != (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator < (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                 const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator > (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                 const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator >= (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator <= (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
-
-template <class BidirectionalIterator> 
-bool operator == (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
-template <class BidirectionalIterator> 
-bool operator != (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
-template <class BidirectionalIterator> 
-bool operator < (const sub_match<BidirectionalIterator>& lhs, 
-                 typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
-template <class BidirectionalIterator> 
-bool operator > (const sub_match<BidirectionalIterator>& lhs, 
-                 typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
-template <class BidirectionalIterator> 
-bool operator >= (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
-template <class BidirectionalIterator> 
-bool operator <= (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
-
-template <class BidirectionalIterator> 
-bool operator == (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator != (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator < (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                 const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator > (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                 const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator >= (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
-template <class BidirectionalIterator> 
-bool operator <= (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
-
-template <class BidirectionalIterator> 
-bool operator == (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
-template <class BidirectionalIterator> 
-bool operator != (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
-template <class BidirectionalIterator> 
-bool operator < (const sub_match<BidirectionalIterator>& lhs, 
-                 typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
-template <class BidirectionalIterator> 
-bool operator > (const sub_match<BidirectionalIterator>& lhs, 
-                 typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
-template <class BidirectionalIterator> 
-bool operator >= (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
-template <class BidirectionalIterator> 
-bool operator <= (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
-
-template <class charT, class traits, class BidirectionalIterator>
-basic_ostream<charT, traits>&
-   operator << (basic_ostream<charT, traits>& os,
-                const sub_match<BidirectionalIterator>& m);
-
-} // namespace boost
-

Description

-

- sub_match members

-
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;
-

A type that represents the difference between two iterators.

-
typedef iterator iterator_type;
-

The iterator type.

-
iterator first
-

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

-
iterator second
-

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

-
bool matched
-

A Boolean value denoting whether this sub-expression participated in the match.

-
static difference_type length();
- -

- Effects: returns (matched ? 0 : distance(first, second)).

operator basic_string<value_type>()const;
- -

- Effects: returns (matched ? basic_string<value_type>(first, - second) : basic_string<value_type>()).

basic_string<value_type> str()const;
- -

- Effects: returns (matched ? basic_string<value_type>(first, - second) : basic_string<value_type>()).

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

- Effects: returns str().compare(s.str()).

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

- Effects: returns str().compare(s).

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

- Effects: returns str().compare(s).

-

- sub_match non-member operators

-
template <class BidirectionalIterator>
-bool operator == (const sub_match<BidirectionalIterator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
- -

- Effects: returns lhs.compare(rhs) == 0.

template <class BidirectionalIterator>
-bool operator != (const sub_match<BidirectionalIterator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
- -

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

template <class BidirectionalIterator>
-bool operator < (const sub_match<BidirectionalIterator>& lhs,
-                 const sub_match<BidirectionalIterator>& rhs);
- -

- Effects: returns lhs.compare(rhs) < 0.

template <class BidirectionalIterator>
-bool operator <= (const sub_match<BidirectionalIterator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
- -

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

template <class BidirectionalIterator>
-bool operator >= (const sub_match<BidirectionalIterator>& lhs,
-                  const sub_match<BidirectionalIterator>& rhs);
- -

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

template <class BidirectionalIterator>
-bool operator > (const sub_match<BidirectionalIterator>& lhs,
-                 const sub_match<BidirectionalIterator>& rhs);
- -

- Effects: returns lhs.compare(rhs) > 0.

template <class BidirectionalIterator> 
-bool operator == (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs == rhs.str().

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

- Effects: returns lhs != rhs.str().

template <class BidirectionalIterator> 
-bool operator < (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                 const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs < rhs.str().

template <class BidirectionalIterator> 
-bool operator > (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                 const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs > rhs.str().

template <class BidirectionalIterator> 
-bool operator >= (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs >= rhs.str().

template <class BidirectionalIterator> 
-bool operator <= (typename iterator_traits<BidirectionalIterator>::value_type const* lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs <= rhs.str().

template <class BidirectionalIterator> 
-bool operator == (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
- -

- Effects: returns lhs.str() == rhs.

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

- Effects: returns lhs.str() != rhs.

template <class BidirectionalIterator> 
-bool operator < (const sub_match<BidirectionalIterator>& lhs, 
-                 typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
- -

- Effects: returns lhs.str() < rhs.

template <class BidirectionalIterator> 
-bool operator > (const sub_match<BidirectionalIterator>& lhs, 
-                 typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
- -

- Effects: returns lhs.str() > rhs.

template <class BidirectionalIterator> 
-bool operator >= (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
- -

- Effects: returns lhs.str() >= rhs.

template <class BidirectionalIterator> 
-bool operator <= (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const* rhs); 
- -

- Effects: returns lhs.str() <= rhs.

template <class BidirectionalIterator> 
-bool operator == (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs == rhs.str().

template <class BidirectionalIterator> 
-bool operator != (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs != rhs.str().

template <class BidirectionalIterator> 
-bool operator < (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                 const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs < rhs.str().

template <class BidirectionalIterator> 
-bool operator > (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                 const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs > rhs.str().

template <class BidirectionalIterator> 
-bool operator >= (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs >= rhs.str().

template <class BidirectionalIterator> 
-bool operator <= (typename iterator_traits<BidirectionalIterator>::value_type const& lhs, 
-                  const sub_match<BidirectionalIterator>& rhs); 
- -

- Effects: returns lhs <= rhs.str().

template <class BidirectionalIterator> 
-bool operator == (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
- -

- Effects: returns lhs.str() == rhs.

template <class BidirectionalIterator> 
-bool operator != (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
- -

- Effects: returns lhs.str() != rhs.

template <class BidirectionalIterator> 
-bool operator < (const sub_match<BidirectionalIterator>& lhs, 
-                 typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
- -

- Effects: returns lhs.str() < rhs.

template <class BidirectionalIterator> 
-bool operator > (const sub_match<BidirectionalIterator>& lhs, 
-                 typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
- -

- Effects: returns lhs.str() > rhs.

template <class BidirectionalIterator> 
-bool operator >= (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
- -

- Effects: returns lhs.str() >= rhs.

template <class BidirectionalIterator> 
-bool operator <= (const sub_match<BidirectionalIterator>& lhs, 
-                  typename iterator_traits<BidirectionalIterator>::value_type const& rhs); 
- -

- Effects: returns lhs.str() <= rhs.

template <class charT, class traits, class BidirectionalIterator>
-basic_ostream<charT, traits>&
-   operator << (basic_ostream<charT, traits>& os
-                const sub_match<BidirectionalIterator>& m);
- -

- Effects: returns (os << m.str()). -


-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - - diff --git a/doc/syntax.html b/doc/syntax.html deleted file mode 100644 index 3d39d9d2..00000000 --- a/doc/syntax.html +++ /dev/null @@ -1,773 +0,0 @@ - - - - Boost.Regex: Regular Expression Syntax - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Regular Expression Syntax

-
-

Boost.Regex Index

-
-

-
-

This section covers the regular expression syntax used by this library, this is - a programmers guide, the actual syntax presented to your program's users will - depend upon the flags used during expression compilation. -

-

Literals -

-

All characters are literals except: ".", "|", "*", "?", "+", "(", ")", "{", - "}", "[", "]", "^", "$" and "\". These characters are literals when preceded by - a "\". A literal is a character that matches itself, or matches the result of - traits_type::translate(), where traits_type is the traits template parameter to - class basic_regex.

-

Wildcard -

-

The dot character "." matches any single character except : when match_not_dot_null - is passed to the matching algorithms, the dot does not match a null character; - when match_not_dot_newline is passed to the matching algorithms, then - the dot does not match a newline character. -

-

Repeats -

-

A repeat is an expression that is repeated an arbitrary number of times. An - expression followed by "*" can be repeated any number of times including zero. - An expression followed by "+" can be repeated any number of times, but at least - once, if the expression is compiled with the flag regex_constants::bk_plus_qm - then "+" is an ordinary character and "\+" represents a repeat of once or more. - An expression followed by "?" may be repeated zero or one times only, if the - expression is compiled with the flag regex_constants::bk_plus_qm then "?" is an - ordinary character and "\?" represents the repeat zero or once operator. When - it is necessary to specify the minimum and maximum number of repeats - explicitly, the bounds operator "{}" may be used, thus "a{2}" is the letter "a" - repeated exactly twice, "a{2,4}" represents the letter "a" repeated between 2 - and 4 times, and "a{2,}" represents the letter "a" repeated at least twice with - no upper limit. Note that there must be no white-space inside the {}, and there - is no upper limit on the values of the lower and upper bounds. When the - expression is compiled with the flag regex_constants::bk_braces then "{" and - "}" are ordinary characters and "\{" and "\}" are used to delimit bounds - instead. All repeat expressions refer to the shortest possible previous - sub-expression: a single character; a character set, or a sub-expression - grouped with "()" for example. -

-

Examples: -

-

"ba*" will match all of "b", "ba", "baaa" etc. -

-

"ba+" will match "ba" or "baaaa" for example but not "b". -

-

"ba?" will match "b" or "ba". -

-

"ba{2,4}" will match "baa", "baaa" and "baaaa". -

-

Non-greedy repeats -

-

Whenever the "extended" regular expression syntax is in use (the default) then - non-greedy repeats are possible by appending a '?' after the repeat; a - non-greedy repeat is one which will match the shortest possible string. -

-

For example to match html tag pairs one could use something like: -

-

"<\s*tagname[^>]*>(.*?)<\s*/tagname\s*>" -

-

In this case $1 will contain the text between the tag pairs, and will be the - shortest possible matching string.  -

-

Parenthesis -

-

Parentheses serve two purposes, to group items together into a sub-expression, - and to mark what generated the match. For example the expression "(ab)*" would - match all of the string "ababab". The matching algorithms - regex_match and regex_search - each take an instance of match_results - that reports what caused the match, on exit from these functions the - match_results contains information both on what the whole expression - matched and on what each sub-expression matched. In the example above - match_results[1] would contain a pair of iterators denoting the final "ab" of - the matching string. It is permissible for sub-expressions to match null - strings. If a sub-expression takes no part in a match - for example if it is - part of an alternative that is not taken - then both of the iterators that are - returned for that sub-expression point to the end of the input string, and the matched - parameter for that sub-expression is false. Sub-expressions are indexed - from left to right starting from 1, sub-expression 0 is the whole expression. -

-

Non-Marking Parenthesis -

-

Sometimes you need to group sub-expressions with parenthesis, but don't want - the parenthesis to spit out another marked sub-expression, in this case a - non-marking parenthesis (?:expression) can be used. For example the following - expression creates no sub-expressions: -

-

"(?:abc)*"

-

Forward Lookahead Asserts  -

-

There are two forms of these; one for positive forward lookahead asserts, and - one for negative lookahead asserts:

-

"(?=abc)" matches zero characters only if they are followed by the expression - "abc".

-

"(?!abc)" matches zero characters only if they are not followed by the - expression "abc".

-

Independent sub-expressions

-

"(?>expression)" matches "expression" as an independent atom (the algorithm - will not backtrack into it if a failure occurs later in the expression).

-

Alternatives -

-

Alternatives occur when the expression can match either one sub-expression or - another, each alternative is separated by a "|", or a "\|" if the flag - regex_constants::bk_vbar is set, or by a newline character if the flag - regex_constants::newline_alt is set. Each alternative is the largest possible - previous sub-expression; this is the opposite behavior from repetition - operators. -

-

Examples: -

-

"a(b|c)" could match "ab" or "ac". -

-

"abc|def" could match "abc" or "def". -

-

Sets -

-

A set is a set of characters that can match any single character that is a - member of the set. Sets are delimited by "[" and "]" and can contain literals, - character ranges, character classes, collating elements and equivalence - classes. Set declarations that start with "^" contain the compliment of the - elements that follow. -

-

Examples: -

-

Character literals: -

-

"[abc]" will match either of "a", "b", or "c". -

-

"[^abc] will match any character other than "a", "b", or "c". -

-

Character ranges: -

-

"[a-z]" will match any character in the range "a" to "z". -

-

"[^A-Z]" will match any character other than those in the range "A" to "Z". -

-

Note that character ranges are highly locale dependent if the flag - regex_constants::collate is set: they match any character that collates between - the endpoints of the range, ranges will only behave according to ASCII rules - when the default "C" locale is in effect. For example if the library is - compiled with the Win32 localization model, then [a-z] will match the ASCII - characters a-z, and also 'A', 'B' etc, but not 'Z' which collates just after - 'z'. This locale specific behavior is disabled by default (in perl mode), and - forces ranges to collate according to ASCII character code. -

-

Character classes are denoted using the syntax "[:classname:]" within a set - declaration, for example "[[:space:]]" is the set of all whitespace characters. - Character classes are only available if the flag regex_constants::char_classes - is set. The available character classes are: -
-   -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 alnumAny alpha numeric character. 
 alphaAny alphabetical character a-z and A-Z. Other - characters may also be included depending upon the locale. 
 blankAny blank character, either a space or a tab. 
 cntrlAny control character. 
 digitAny digit 0-9. 
 graphAny graphical character. 
 lowerAny lower case character a-z. Other characters may - also be included depending upon the locale. 
 printAny printable character. 
 punctAny punctuation character. 
 spaceAny whitespace character. 
 upperAny upper case character A-Z. Other characters may - also be included depending upon the locale. 
 xdigitAny hexadecimal digit character, 0-9, a-f and A-F. 
 wordAny word character - all alphanumeric characters plus - the underscore. 
 UnicodeAny character whose code is greater than 255, this - applies to the wide character traits classes only. 
-

-

There are some shortcuts that can be used in place of the character classes, - provided the flag regex_constants::escape_in_lists is set then you can use: -

-

\w in place of [:word:] -

-

\s in place of [:space:] -

-

\d in place of [:digit:] -

-

\l in place of [:lower:] -

-

\u in place of [:upper:]  -

-

Collating elements take the general form [.tagname.] inside a set declaration, - where tagname is either a single character, or a name of a collating - element, for example [[.a.]] is equivalent to [a], and [[.comma.]] is - equivalent to [,]. The library supports all the standard POSIX collating - element names, and in addition the following digraphs: "ae", "ch", "ll", "ss", - "nj", "dz", "lj", each in lower, upper and title case variations. - Multi-character collating elements can result in the set matching more than one - character, for example [[.ae.]] would match two characters, but note that - [^[.ae.]] would only match one character.  -

-

- Equivalence classes take the general form[=tagname=] inside a set declaration, - where tagname is either a single character, or a name of a collating - element, and matches any character that is a member of the same primary - equivalence class as the collating element [.tagname.]. An equivalence class is - a set of characters that collate the same, a primary equivalence class is a set - of characters whose primary sort key are all the same (for example strings are - typically collated by character, then by accent, and then by case; the primary - sort key then relates to the character, the secondary to the accentation, and - the tertiary to the case). If there is no equivalence class corresponding to tagname - , then[=tagname=] is exactly the same as [.tagname.]. Unfortunately there is no - locale independent method of obtaining the primary sort key for a character, - except under Win32. For other operating systems the library will "guess" the - primary sort key from the full sort key (obtained from strxfrm), so - equivalence classes are probably best considered broken under any operating - system other than Win32.  -

-

To include a literal "-" in a set declaration then: make it the first character - after the opening "[" or "[^", the endpoint of a range, a collating element, or - if the flag regex_constants::escape_in_lists is set then precede with an escape - character as in "[\-]". To include a literal "[" or "]" or "^" in a set then - make them the endpoint of a range, a collating element, or precede with an - escape character if the flag regex_constants::escape_in_lists is set. -

-

Line anchors -

-

An anchor is something that matches the null string at the start or end of a - line: "^" matches the null string at the start of a line, "$" matches the null - string at the end of a line. -

-

Back references -

-

A back reference is a reference to a previous sub-expression that has already - been matched, the reference is to what the sub-expression matched, not to the - expression itself. A back reference consists of the escape character "\" - followed by a digit "1" to "9", "\1" refers to the first sub-expression, "\2" - to the second etc. For example the expression "(.*)\1" matches any string that - is repeated about its mid-point for example "abcabc" or "xyzxyz". A back - reference to a sub-expression that did not participate in any match, matches - the null string: NB this is different to some other regular expression - matchers. Back references are only available if the expression is compiled with - the flag regex_constants::bk_refs set. -

-

Characters by code -

-

This is an extension to the algorithm that is not available in other libraries, - it consists of the escape character followed by the digit "0" followed by the - octal character code. For example "\023" represents the character whose octal - code is 23. Where ambiguity could occur use parentheses to break the expression - up: "\0103" represents the character whose code is 103, "(\010)3 represents the - character 10 followed by "3". To match characters by their hexadecimal code, - use \x followed by a string of hexadecimal digits, optionally enclosed inside - {}, for example \xf0 or \x{aff}, notice the latter example is a Unicode - character.

-

Word operators -

-

The following operators are provided for compatibility with the GNU regular - expression library. -

-

"\w" matches any single character that is a member of the "word" character - class, this is identical to the expression "[[:word:]]". -

-

"\W" matches any single character that is not a member of the "word" character - class, this is identical to the expression "[^[:word:]]". -

-

"\<" matches the null string at the start of a word. -

-

"\>" matches the null string at the end of the word. -

-

"\b" matches the null string at either the start or the end of a word. -

-

"\B" matches a null string within a word. -

-

The start of the sequence passed to the matching algorithms is considered to be - a potential start of a word unless the flag match_not_bow is set. The end of - the sequence passed to the matching algorithms is considered to be a potential - end of a word unless the flag match_not_eow is set. -

-

Buffer operators -

-

The following operators are provided for compatibility with the GNU regular - expression library, and Perl regular expressions: -

-

"\`" matches the start of a buffer. -

-

"\A" matches the start of the buffer. -

-

"\'" matches the end of a buffer. -

-

"\z" matches the end of a buffer. -

-

"\Z" matches the end of a buffer, or possibly one or more new line characters - followed by the end of the buffer. -

-

A buffer is considered to consist of the whole sequence passed to the matching - algorithms, unless the flags match_not_bob or match_not_eob are set. -

-

Escape operator -

-

The escape character "\" has several meanings. -

-

Inside a set declaration the escape character is a normal character unless the - flag regex_constants::escape_in_lists is set in which case whatever follows the - escape is a literal character regardless of its normal meaning. -

-

The escape operator may introduce an operator for example: back references, or - a word operator. -

-

The escape operator may make the following character normal, for example "\*" - represents a literal "*" rather than the repeat operator. -

-

Single character escape sequences -

-

The following escape sequences are aliases for single characters: -
-   -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Escape sequence - Character code - Meaning -  
 \a - 0x07 - Bell character. -  
 \f - 0x0C - Form feed. -  
 \n - 0x0A - Newline character. -  
 \r - 0x0D - Carriage return. -  
 \t - 0x09 - Tab character. -  
 \v - 0x0B - Vertical tab. -  
 \e - 0x1B - ASCII Escape character. -  
 \0dd - 0dd - An octal character code, where dd is one or - more octal digits. -  
 \xXX - 0xXX - A hexadecimal character code, where XX is one or more - hexadecimal digits. -  
 \x{XX} - 0xXX - A hexadecimal character code, where XX is one or more - hexadecimal digits, optionally a Unicode character. -  
 \cZ - z-@ - An ASCII escape sequence control-Z, where Z is any - ASCII character greater than or equal to the character code for '@'. -  
-

-

Miscellaneous escape sequences: -

-

The following are provided mostly for perl compatibility, but note that there - are some differences in the meanings of \l \L \u and \U: -
-   -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 \w - Equivalent to [[:word:]]. -  
 \W - Equivalent to [^[:word:]]. -  
 \s - Equivalent to [[:space:]]. -  
 \S - Equivalent to [^[:space:]]. -  
 \d - Equivalent to [[:digit:]]. -  
 \D - Equivalent to [^[:digit:]]. -  
 \l - Equivalent to [[:lower:]]. -  
 \L - Equivalent to [^[:lower:]]. -  
 \u - Equivalent to [[:upper:]]. -  
 \U - Equivalent to [^[:upper:]]. -  
 \C - Any single character, equivalent to '.'. -  
 \X - Match any Unicode combining character sequence, for - example "a\x 0301" (a letter a with an acute). -  
 \Q - The begin quote operator, everything that follows is - treated as a literal character until a \E end quote operator is found. -  
 \E - The end quote operator, terminates a sequence begun - with \Q. -  
-

-

What gets matched? -

-

- When the expression is compiled as a Perl-compatible regex then the matching - algorithms will perform a depth first search on the state machine and report - the first match found.

-

- When the expression is compiled as a POSIX-compatible regex then the matching - algorithms will match the first possible matching string, if more than one - string starting at a given location can match then it matches the longest - possible string, unless the flag match_any is set, in which case the first - match encountered is returned. Use of the match_any option can reduce the time - taken to find the match - but is only useful if the user is less concerned - about what matched - for example it would not be suitable for search and - replace operations. In cases where their are multiple possible matches all - starting at the same location, and all of the same length, then the match - chosen is the one with the longest first sub-expression, if that is the same - for two or more matches, then the second sub-expression will be examined and so - on. -

- The following table examples illustrate the main differences between Perl and - POSIX regular expression matching rules: -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Expression

-
-

Text

-
-

POSIX leftmost longest match

-
-

ECMAScript depth first search match

-
-

a|ab

-
-

- xaby -

-
-

- "ab"

-

- "a"

-

- .*([[:alnum:]]+).*

-

- " abc def xyz "

-

$0 = " abc def xyz "
- $1 = "abc"

-
-

$0 = " abc def xyz "
- $1 = "z"

-
-

- .*(a|xayy)

-

- zzxayyzz

-

- "zzxayy"

-

"zzxa"

-
-

These differences between Perl matching rules, and POSIX matching rules, mean - that these two regular expression syntaxes differ not only in the features - offered, but also in the form that the state machine takes and/or the - algorithms used to traverse the state machine.

-
-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - - diff --git a/doc/syntax_option_type.html b/doc/syntax_option_type.html deleted file mode 100644 index 532d6386..00000000 --- a/doc/syntax_option_type.html +++ /dev/null @@ -1,332 +0,0 @@ - - - - Boost.Regex: syntax_option_type - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

syntax_option_type

-
-

Boost.Regex Index

-
-

-
-

Synopsis

-

Type syntax_option type is an implementation defined bitmask type that controls - how a regular expression string is to be interpreted.  For convenience - note that all the constants listed here, are also duplicated within the scope - of class template basic_regex.

-
namespace std{ namespace regex_constants{
-
-typedef bitmask_type syntax_option_type;
-// these flags are standardized:
-static const syntax_option_type normal;
-static const syntax_option_type icase;
-static const syntax_option_type nosubs;
-static const syntax_option_type optimize;
-static const syntax_option_type collate;
-static const syntax_option_type ECMAScript = normal;
-static const syntax_option_type JavaScript = normal;
-static const syntax_option_type JScript = normal;
-static const syntax_option_type basic;
-static const syntax_option_type extended;
-static const syntax_option_type awk;
-static const syntax_option_type grep;
-static const syntax_option_type egrep;
-static const syntax_option_type sed = basic;
-static const syntax_option_type perl;
// these are boost.regex specific:
static const syntax_option_type escape_in_lists;
static const syntax_option_type char_classes;
static const syntax_option_type intervals;
static const syntax_option_type limited_ops;
static const syntax_option_type newline_alt;
static const syntax_option_type bk_plus_qm;
static const syntax_option_type bk_braces;
static const syntax_option_type bk_parens;
static const syntax_option_type bk_refs;
static const syntax_option_type bk_vbar;
static const syntax_option_type use_except;
static const syntax_option_type failbit;
static const syntax_option_type literal;
static const syntax_option_type nocollate;
static const syntax_option_type perlex;
static const syntax_option_type emacs;
-} // namespace regex_constants -} // namespace std
-

Description

-

The type syntax_option_type is an implementation defined bitmask - type (17.3.2.1.2). Setting its elements has the effects listed in the table - below, a valid value of type syntax_option_type will always have - exactly one of the elements normal, basic, extended, awk, grep, egrep, sed - or perl set.

-

Note that for convenience all the constants listed here are duplicated within - the scope of class template basic_regex, so you can use any of:

-
boost::regex_constants::constant_name
-

or

-
boost::regex::constant_name
-

or

-
boost::wregex::constant_name
-

in an interchangeable manner.

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Element

-
-

Effect if set

-
-

normal

-
-

Specifies that the grammar recognized by the regular expression engine uses its - normal semantics: that is the same as that given in the ECMA-262, ECMAScript - Language Specification, Chapter 15 part 10, RegExp (Regular Expression) Objects - (FWD.1).

-

boost.regex also recognizes most perl-compatible extensions in this mode.

-
-

icase

-
-

Specifies that matching of regular expressions against a character container - sequence shall be performed without regard to case.

-
-

nosubs

-
-

Specifies that when a regular expression is matched against a character - container sequence, then no sub-expression matches are to be stored in the - supplied match_results structure.

-
-

optimize

-
-

Specifies that the regular expression engine should pay more attention to the - speed with which regular expressions are matched, and less to the speed with - which regular expression objects are constructed. Otherwise it has no - detectable effect on the program output.  This currently has no effect for - boost.regex.

-
-

collate

-
-

Specifies that character ranges of the form "[a-b]" should be locale sensitive.

-
-

ECMAScript

-
-

The same as normal.

-
-

JavaScript

-
-

The same as normal.

-
-

JScript

-
-

The same as normal.

-
-

basic

-
-

Specifies that the grammar recognized by the regular expression engine is the - same as that used by POSIX basic regular expressions in IEEE Std 1003.1-2001, - Portable Operating System Interface (POSIX ), Base Definitions and Headers, - Section 9, Regular Expressions (FWD.1). -

-
-

extended

-
-

Specifies that the grammar recognized by the regular expression engine is the - same as that used by POSIX extended regular expressions in IEEE Std - 1003.1-2001, Portable Operating System Interface (POSIX ), Base Definitions and - Headers, Section 9, Regular Expressions (FWD.1).

-
-

awk

-
-

Specifies that the grammar recognized by the regular expression engine is the - same as that used by POSIX utility awk in IEEE Std 1003.1-2001, Portable - Operating System Interface (POSIX ), Shells and Utilities, Section 4, awk - (FWD.1).

-

That is to say: the same as POSIX extended syntax, but with escape sequences in - character classes permitted.

-
-

grep

-
-

Specifies that the grammar recognized by the regular expression engine is the - same as that used by POSIX utility grep in IEEE Std 1003.1-2001, Portable - Operating System Interface (POSIX ), Shells and Utilities, Section 4, - Utilities, grep (FWD.1).

-

That is to say, the same as POSIX basic syntax, but with the newline character - acting as an alternation character in addition to "|".

-
-

egrep

-
-

Specifies that the grammar recognized by the regular expression engine is the - same as that used by POSIX utility grep when given the -E option in IEEE Std - 1003.1-2001, Portable Operating System Interface (POSIX ), Shells and - Utilities, Section 4, Utilities, grep (FWD.1).

-

That is to say, the same as POSIX extended syntax, but with the newline - character acting as an alternation character in addition to "|".

-
-

sed

-
-

The same as basic.

-
-

perl

-
-

The same as normal.

-
-

-

The following constants are specific to this particular regular expression - implementation and do not appear in the - regular expression standardization proposal:

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
regbase::escape_in_listsAllows the use of the escape "\" character in sets of - characters, for example [\]] represents the set of characters containing only - "]". If this flag is not set then "\" is an ordinary character inside sets.
regbase::char_classesWhen this bit is set, character classes [:classname:] - are allowed inside character set declarations, for example "[[:word:]]" - represents the set of all characters that belong to the character class "word".
regbase:: intervalsWhen this bit is set, repetition intervals are - allowed, for example "a{2,4}" represents a repeat of between 2 and 4 letter - a's.
regbase:: limited_opsWhen this bit is set all of "+", "?" and "|" are - ordinary characters in all situations.
regbase:: newline_altWhen this bit is set, then the newline character "\n" - has the same effect as the alternation operator "|".
regbase:: bk_plus_qmWhen this bit is set then "\+" represents the one or - more repetition operator and "\?" represents the zero or one repetition - operator. When this bit is not set then "+" and "?" are used instead.
regbase:: bk_bracesWhen this bit is set then "\{" and "\}" are used for - bounded repetitions and "{" and "}" are normal characters. This is the opposite - of default behavior.
regbase:: bk_parensWhen this bit is set then "\(" and "\)" are used to - group sub-expressions and "(" and ")" are ordinary characters, this is the - opposite of default behavior.
regbase:: bk_refsWhen this bit is set then back references are - allowed.
regbase:: bk_vbarWhen this bit is set then "\|" represents the - alternation operator and "|" is an ordinary character. This is the opposite of - default behavior.
regbase:: use_exceptWhen this bit is set then a bad_expression - exception will be thrown on error.  Use of this flag is deprecated - - basic_regex will always throw on error.
regbase:: failbitThis bit is set on error, if regbase::use_except is - not set, then this bit should be checked to see if a regular expression is - valid before usage.
regbase::literalAll characters in the string are treated as literals, - there are no special characters or escape sequences.
regbase::emacsProvides compatability with the emacs - editor, eqivalent to: bk_braces | bk_parens | bk_refs | bk_vbar.
-

-
-

Revised - - 17 May 2003 -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - - diff --git a/doc/thread_safety.html b/doc/thread_safety.html deleted file mode 100644 index eeda681d..00000000 --- a/doc/thread_safety.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - Boost.Regex: Thread Safety - - - - -

- - - - - - -
-

C++ Boost

-
-

Boost.Regex

-

Thread Safety

-
-

Boost.Regex Index

-
-

-
-

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

-

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

-

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

-

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

-

- There is also a requirement that there is only one thread executing prior to - the start of main().

-
-

Revised - - 17 May 2003 - -

-

© Copyright John Maddock 1998- 2003

-

Permission to use, copy, modify, distribute and sell this software - and its documentation for any purpose is hereby granted without fee, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting documentation. - Dr John Maddock makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty.

- - - diff --git a/doc/uarrow.gif b/doc/uarrow.gif deleted file mode 100644 index 6afd20c3857127c21fc9bcd52ec347e32c21578c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1666 zcmZ?wbhEHb)Me0S_|CwP5S3S3-SznXe?>*j_wTyvm7!+LipuF=EDz;>HaU#`S8h zGbFWQMU_0|jnYg*R~!4zoU;5Lr*b+kNLjFqO}~hCs-EvWIiqyb(4{u9n_SYiN0ser zo_b{M{x_V;vAo&^{Mxyq#wF4=oeHiqM6_c}V>j8vuGVp>F%O-V(SCB__7}X`>4L_U zVm6)9HjN6d6V!a?>4h#eja{wfQZZ%y0 zcBxI;Cfl@)`abn8dE3M44hNU*NNPV`GVOBRyc?a%?}et+Ma?OV1z ztZr|7`^k*Hb7j4o3a6defBuPS+ET~7&h+g3q~w&@bLM{g z{v)%b=KJ^W@87?F{`~p9d-twgyLRr}xnswU?cKX~>(;Gn*REZ+| zz|hB_12PztCmcBbGstqvcx+g3u$ey;0G87DHmwvOZbsa=mLSozov4QVirN zkYH*$(Ipxfv7$$*g>5oV5eFyJlXU-iJ*75&36GSIaY!gPakWlRX$xFzo8-`7pp?lY znV<6SW%6gfo)61`o?wS!MoswK)ayS4bmo_)pa{hw_vEcTxM zPDanKulTRm%EV*qzc;dPkof=bLaW;>i<48e&;Q%IfLkeak%MEWvmvi+)u$)tnah)3 zzYobUlt|ZDsp2B;lOu4zr|;?Xi81Aljx7>18v}w8=dCnx5x37caI~QDN1{wB=fsDu zys-rjSlMMb6pskc%4B2mG~_!tncsDW+KG_rFW=`ov1BY|m#=3r>d5VUbL<2|ufd}y zN(W?>L__VgzDUVA*Qs(Sw#pQ7C?(vR=Ao3Rl+=-VrMi-oT@Uca~Kt?WUK2AMe@GvcE{Cd?3LKD+Sc5{|74 z97Oz04zdV)C~!SoA`+l@KtO%#7iQtykpJx0QyQw=S@@C{Bm{XmvjpCgs&PoWyynza z@uT9&9F9kLS>?oz@Jp^ZI4$|G+;eeJr9BJYY?{Avi<7`&Kf{hFC9km6PN_VMY=XP) zNx5#;y81nfPvKKUYHVPNAq&@R!H??_wKsmy<&~@n@K7`k-1@Aaqm`jm%<+RYi=e9D zj7f$i_#F_GNyn$i)?1(nYpwDZ(GJJ{0WJvobi zo9%_7!m6+A3JI)9KcCK6Z~8WwZ_~3MkMqrz&zGy7qPKj`1lHGq4R j5{XCdyxsBG&w8Q7<)tgD4zTO*shVAswMUtek--`O>qI)6 diff --git a/doc/vc71-performance.html b/doc/vc71-performance.html deleted file mode 100644 index 2478065d..00000000 --- a/doc/vc71-performance.html +++ /dev/null @@ -1,705 +0,0 @@ - - - - Regular Expression Performance Comparison (Visual Studio.NET 2003) - - - - - - - -

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.  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.

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

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
Twain19.7
- (0.541s)
85.5
- (2.35s)
3.09
- (0.0851s)
3.09
- (0.0851s)
131
- (3.6s)
1
- (0.0275s)
Huck[[:alpha:]]+11
- (0.55s)
93.4
- (4.68s)
3.4
- (0.17s)
3.35
- (0.168s)
124
- (6.19s)
1
- (0.0501s)
[[:alpha:]]+ing11.3
- (6.82s)
21.3
- (12.8s)
1.83
- (1.1s)
1
- (0.601s)
6.47
- (3.89s)
4.75
- (2.85s)
^[^ ]*?Twain5.75
- (1.15s)
17.1
- (3.43s)
1
- (0.2s)
1.3
- (0.26s)
NA3.8
- (0.761s)
Tom|Sawyer|Huckleberry|Finn28.5
- (3.1s)
77.2
- (8.4s)
2.3
- (0.251s)
1
- (0.109s)
191
- (20.8s)
1.77
- (0.193s)
(Tom|Sawyer|Huckleberry|Finn).{0,30}river|river.{0,30}(Tom|Sawyer|Huckleberry|Finn)16.2
- (4.14s)
49
- (12.5s)
1.65
- (0.42s)
1
- (0.255s)
NA2.43
- (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
Twain9.49
- (0.00274s)
40.7
- (0.0117s)
1.54
- (0.000445s)
1.56
- (0.00045s)
13.5
- (0.00391s)
1
- (0.000289s)
Huck[[:alpha:]]+14.3
- (0.0027s)
62.3
- (0.0117s)
2.26
- (0.000425s)
2.29
- (0.000431s)
1.27
- (0.000239s)
1
- (0.000188s)
[[:alpha:]]+ing7.34
- (0.0178s)
13.7
- (0.0331s)
1
- (0.00243s)
1.02
- (0.00246s)
7.36
- (0.0178s)
5.87
- (0.0142s)
^[^ ]*?Twain8.34
- (0.00579s)
24.8
- (0.0172s)
1.52
- (0.00105s)
1
- (0.000694s)
NA2.81
- (0.00195s)
Tom|Sawyer|Huckleberry|Finn12.9
- (0.00781s)
35.1
- (0.0213s)
1.67
- (0.00102s)
1
- (0.000606s)
81.5
- (0.0494s)
1.94
- (0.00117s)
(Tom|Sawyer|Huckleberry|Finn).{0,30}river|river.{0,30}(Tom|Sawyer|Huckleberry|Finn)15.6
- (0.0106s)
46.6
- (0.0319s)
2.72
- (0.00186s)
1
- (0.000684s)
311
- (0.213s)
1.72
- (0.00117s)
-
-
-

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:]]*)?(\{|:[^;\{()]*\{)8.88
- (0.000792s)
46.4
- (0.00414s)
1.19
- (0.000106s)
1
- (8.92e-005s)
688
- (0.0614s)
3.23
- (0.000288s)
(^[ - ]*#(?:[^\\\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.00571s)
5.31
- (0.0303s)
2.47
- (0.0141s)
1.92
- (0.011s)
NA3.29
- (0.0188s)
^[ ]*#[ ]*include[ ]+("[^"]+"|<[^>]+>)5.78
- (0.00172s)
26.3
- (0.00783s)
1.12
- (0.000333s)
1
- (0.000298s)
128
- (0.0382s)
1.74
- (0.000518s)
^[ ]*#[ ]*include[ ]+("boost/[^"]+"|<boost/[^>]+>)10.2
- (0.00305s)
28.4
- (0.00845s)
1.12
- (0.000333s)
1
- (0.000298s)
155
- (0.0463s)
1.74
- (0.000519s)
-
-

-

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|dave11
- (0.00297s)
34.3
- (0.00922s)
1.78
- (0.000479s)
1
- (0.000269s)
55.2
- (0.0149s)
1.85
- (0.000499s)
<p>.*?</p>5.38
- (0.00145s)
21.8
- (0.00587s)
1.02
- (0.000274s)
1
- (0.000269s)
NA1.05
- (0.000283s)
<a[^>]+href=("[^"]*"|[^[:space:]]+)[^>]*>4.51
- (0.00207s)
12.6
- (0.00579s)
1.34
- (0.000616s)
1
- (0.000459s)
343
- (0.158s)
1.09
- (0.000499s)
<h[12345678][^>]*>.*?</h[12345678]>7.39
- (0.00143s)
29.6
- (0.00571s)
1.87
- (0.000362s)
1
- (0.000193s)
NA1.27
- (0.000245s)
<img[^>]+src=("[^"]*"|[^[:space:]]+)[^>]*>6.73
- (0.00145s)
27.3
- (0.00587s)
1.2
- (0.000259s)
1.32
- (0.000283s)
148
- (0.0319s)
1
- (0.000215s)
<font[^>]+face=("[^"]*"|[^[:space:]]+)[^>]*>.*?</font>6.93
- (0.00153s)
27
- (0.00595s)
1.22
- (0.000269s)
1.31
- (0.000289s)
NA1
- (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.31
- (2.2e-007s)
1.94
- (3.25e-007s)
1.26
- (2.1e-007s)
1.24
- (2.08e-007s)
3.03
- (5.06e-007s)
1
- (1.67e-007s)
^([0-9]+)(\-| |$)(.*)$100- this is a line of ftp response which contains a message string1.52
- (6.88e-007s)
2.28
- (1.03e-006s)
1.5
- (6.78e-007s)
1.5
- (6.78e-007s)
329
- (0.000149s)
1
- (4.53e-007s)
([[:digit:]]{4}[- ]){3}[[:digit:]]{3,4}1234-5678-1234-4562.04
- (1.03e-006s)
2.83
- (1.43e-006s)
2.12
- (1.07e-006s)
2.04
- (1.03e-006s)
30.8
- (1.56e-005s)
1
- (5.05e-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_maddock@compuserve.com1.48
- (1.78e-006s)
2.1
- (2.52e-006s)
1.35
- (1.62e-006s)
1.32
- (1.59e-006s)
165
- (0.000198s)
1
- (1.2e-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.28
- (1.41e-006s)
1.9
- (2.1e-006s)
1.42
- (1.57e-006s)
1.38
- (1.53e-006s)
107
- (0.000119s)
1
- (1.11e-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.29
- (1.43e-006s)
1.9
- (2.1e-006s)
1.42
- (1.57e-006s)
1.38
- (1.53e-006s)
119
- (0.000132s)
1
- (1.11e-006s)
^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$EH10 2QQ1.26
- (4.63e-007s)
1.77
- (6.49e-007s)
1.3
- (4.77e-007s)
1.2
- (4.4e-007s)
9.15
- (3.36e-006s)
1
- (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.06
- (4.73e-007s)
1.59
- (7.07e-007s)
1.05
- (4.68e-007s)
1
- (4.44e-007s)
12.9
- (5.73e-006s)
1.63
- (7.26e-007s)
^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$SW1 1ZZ1.26
- (9.17e-007s)
1.84
- (1.34e-006s)
1.28
- (9.26e-007s)
1.21
- (8.78e-007s)
8.42
- (6.11e-006s)
1
- (7.26e-007s)
^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$4/1/20011.57
- (9.73e-007s)
2.28
- (1.41e-006s)
1.25
- (7.73e-007s)
1.26
- (7.83e-007s)
11.2
- (6.95e-006s)
1
- (6.21e-007s)
^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$12/12/20011.52
- (9.56e-007s)
2.06
- (1.3e-006s)
1.29
- (8.12e-007s)
1.24
- (7.83e-007s)
12.4
- (7.8e-006s)
1
- (6.3e-007s)
^[-+]?[[:digit:]]*\.?[[:digit:]]*$1232.11
- (7.35e-007s)
3.18
- (1.11e-006s)
2.5
- (8.7e-007s)
2.44
- (8.5e-007s)
5.26
- (1.83e-006s)
1
- (3.49e-007s)
^[-+]?[[:digit:]]*\.?[[:digit:]]*$+3.141591.31
- (4.96e-007s)
1.92
- (7.26e-007s)
1.26
- (4.77e-007s)
1.2
- (4.53e-007s)
9.71
- (3.66e-006s)
1
- (3.77e-007s)
^[-+]?[[:digit:]]*\.?[[:digit:]]*$-3.141591.32
- (4.97e-007s)
1.92
- (7.26e-007s)
1.24
- (4.67e-007s)
1.2
- (4.53e-007s)
9.7
- (3.66e-006s)
1
- (3.78e-007s)
-
-
-
-

Copyright John Maddock April 2003, all rights reserved.

- - diff --git a/example/Jamfile b/example/Jamfile deleted file mode 100644 index f84c6ca8..00000000 --- a/example/Jamfile +++ /dev/null @@ -1,56 +0,0 @@ -# copyright John Maddock 2003 - -subproject libs/regex/example ; - -# bring in the rules for testing -SEARCH on testing.jam = $(BOOST_BUILD_PATH) ; -include testing.jam ; - -rule regex-test-run ( sources + : input * ) -{ - return [ - run - # sources - $(sources) - - # dependencies - ../build/boost_regex - : # additional args - $(input) - : # test-files - : # requirements - ../../../ - BOOST_REGEX_NO_LIB=1 - BOOST_REGEX_STATIC_LINK=1 - multi - : # test name - ] ; -} - -test-suite regex-examples : - -[ regex-test-run timer/regex_timer.cpp : $(BOOST_ROOT)/libs/regex/example/timer/input_script.txt ] -[ regex-test-run jgrep/jgrep.cpp jgrep/main.cpp : -n boost/ $(BOOST_ROOT)/boost/regex.hpp ] -[ regex-test-run snippets/credit_card_example.cpp ] -[ regex-test-run snippets/partial_regex_grep.cpp : $(BOOST_ROOT)/libs/regex/index.htm ] -[ regex-test-run snippets/partial_regex_match.cpp : 1234-5678-8765-4 ] -[ regex-test-run snippets/regex_grep_example_1.cpp : $(BOOST_ROOT)/boost/rational.hpp ] -[ regex-test-run snippets/regex_grep_example_2.cpp : $(BOOST_ROOT)/boost/rational.hpp ] -[ regex-test-run snippets/regex_grep_example_3.cpp : $(BOOST_ROOT)/boost/rational.hpp ] -[ regex-test-run snippets/regex_grep_example_4.cpp : $(BOOST_ROOT)/boost/rational.hpp ] -[ regex-test-run snippets/regex_match_example.cpp : -auto ] -[ regex-test-run snippets/regex_merge_example.cpp : $(BOOST_ROOT)/boost/rational.hpp ] -[ regex-test-run snippets/regex_replace_example.cpp : $(BOOST_ROOT)/boost/rational.hpp ] -[ regex-test-run snippets/regex_search_example.cpp : $(BOOST_ROOT)/boost/rational.hpp ] -[ regex-test-run snippets/regex_split_example_1.cpp : -auto ] -[ regex-test-run snippets/regex_split_example_2.cpp : $(BOOST_ROOT)/libs/regex/doc/index.html ] -[ regex-test-run snippets/regex_token_iterator_eg_1.cpp : -auto ] -[ regex-test-run snippets/regex_token_iterator_eg_2.cpp : $(BOOST_ROOT)/libs/regex/doc/index.html ] -[ regex-test-run snippets/regex_iterator_example.cpp : $(BOOST_ROOT)/boost/rational.hpp ] - -; - - - - - diff --git a/example/iso8859_1_regex_traits/iso8859_1_regex_traits.cpp b/example/iso8859_1_regex_traits/iso8859_1_regex_traits.cpp deleted file mode 100644 index 4566b734..00000000 --- a/example/iso8859_1_regex_traits/iso8859_1_regex_traits.cpp +++ /dev/null @@ -1,318 +0,0 @@ -/* - * (C) Copyright Christain Engstrom 2001. - * Permission to copy, use, modify, sell and distribute this software - * is granted provided this copyright notice appears in all copies. - * This software is provided "as is" without express or implied - * warranty, and with no claim as to its suitability for any purpose. - */ - -#include "iso8859_1_regex_traits.hpp" - -bool iso8859_1_regex_traits::is_class(char c, boost::uint_fast32_t f) const -{ - static const boost::uint_fast32_t cntrl = base::char_class_cntrl; - static const boost::uint_fast32_t space = base::char_class_space; - static const boost::uint_fast32_t blank = base::char_class_blank; - static const boost::uint_fast32_t digit = base::char_class_digit; - static const boost::uint_fast32_t xdigit = base::char_class_xdigit; - static const boost::uint_fast32_t underscore = base::char_class_underscore; - static const boost::uint_fast32_t punct = base::char_class_punct; - static const boost::uint_fast32_t upper = base::char_class_upper | - base::char_class_alpha; - static const boost::uint_fast32_t lower = base::char_class_lower | - base::char_class_alpha; - - - static const boost::uint_fast32_t flag_table[UCHAR_MAX + 1] = { -// Hex Oct Dec Char - cntrl , // 0 0 0 - cntrl , // 1 1 1 - cntrl , // 2 2 2 - cntrl , // 3 3 3 - cntrl , // 4 4 4 - cntrl , // 5 5 5 - cntrl , // 6 6 6 - cntrl , // 7 7 7 - cntrl , // 8 10 8 - cntrl | space | blank , // 9 11 9 - cntrl | space , // a 12 10 - cntrl | space , // b 13 11 - cntrl | space , // c 14 12 - cntrl | space , // d 15 13 - cntrl , // e 16 14 - cntrl , // f 17 15 - cntrl , // 10 20 16 - cntrl , // 11 21 17 - cntrl , // 12 22 18 - cntrl , // 13 23 19 - cntrl , // 14 24 20 - cntrl , // 15 25 21 - cntrl , // 16 26 22 - cntrl , // 17 27 23 - cntrl , // 18 30 24 - cntrl , // 19 31 25 - cntrl , // 1a 32 26 - cntrl , // 1b 33 27 - cntrl , // 1c 34 28 - cntrl , // 1d 35 29 - cntrl , // 1e 36 30 - cntrl , // 1f 37 31 - space | blank , // 20 40 32 | Space - punct , // 21 41 33 ! - punct , // 22 42 34 " - punct , // 23 43 35 # - punct , // 24 44 36 $ - punct , // 25 45 37 % - punct , // 26 46 38 & - punct , // 27 47 39 ' - punct , // 28 50 40 ( - punct , // 29 51 41 ) - punct , // 2a 52 42 * - punct , // 2b 53 43 + - punct , // 2c 54 44 - punct , // 2d 55 45 - - punct , // 2e 56 46 . - punct , // 2f 57 47 / - digit | xdigit , // 30 60 48 0 - digit | xdigit , // 31 61 49 1 - digit | xdigit , // 32 62 50 2 - digit | xdigit , // 33 63 51 3 - digit | xdigit , // 34 64 52 4 - digit | xdigit , // 35 65 53 5 - digit | xdigit , // 36 66 54 6 - digit | xdigit , // 37 67 55 7 - digit | xdigit , // 38 70 56 8 - digit | xdigit , // 39 71 57 9 - punct , // 3a 72 58 : - punct , // 3b 73 59 ; - punct , // 3c 74 60 < - punct , // 3d 75 61 = - punct , // 3e 76 62 > - punct , // 3f 77 63 ? - punct , // 40 100 64 @ - upper | xdigit , // 41 101 65 A - upper | xdigit , // 42 102 66 B - upper | xdigit , // 43 103 67 C - upper | xdigit , // 44 104 68 D - upper | xdigit , // 45 105 69 E - upper | xdigit , // 46 106 70 F - upper , // 47 107 71 G - upper , // 48 110 72 H - upper , // 49 111 73 I - upper , // 4a 112 74 J - upper , // 4b 113 75 K - upper , // 4c 114 76 L - upper , // 4d 115 77 M - upper , // 4e 116 78 N - upper , // 4f 117 79 O - upper , // 50 120 80 P - upper , // 51 121 81 Q - upper , // 52 122 82 R - upper , // 53 123 83 S - upper , // 54 124 84 T - upper , // 55 125 85 U - upper , // 56 126 86 V - upper , // 57 127 87 W - upper , // 58 130 88 X - upper , // 59 131 89 Y - upper , // 5a 132 90 Z - punct , // 5b 133 91 [ | Left square bracket - punct , // 5c 134 92 \ | Backslash - punct , // 5d 135 93 ] | Right square bracket - punct , // 5e 136 94 ^ | Circumflex - punct | underscore , // 5f 137 95 _ | Underscore - punct , // 60 140 96 ` - lower | xdigit , // 61 141 97 a - lower | xdigit , // 62 142 98 b - lower | xdigit , // 63 143 99 c - lower | xdigit , // 64 144 100 d - lower | xdigit , // 65 145 101 e - lower | xdigit , // 66 146 102 f - lower , // 67 147 103 g - lower , // 68 150 104 h - lower , // 69 151 105 i - lower , // 6a 152 106 j - lower , // 6b 153 107 k - lower , // 6c 154 108 l - lower , // 6d 155 109 m - lower , // 6e 156 110 n - lower , // 6f 157 111 o - lower , // 70 160 112 p - lower , // 71 161 113 q - lower , // 72 162 114 r - lower , // 73 163 115 s - lower , // 74 164 116 t - lower , // 75 165 117 u - lower , // 76 166 118 v - lower , // 77 167 119 w - lower , // 78 170 120 x - lower , // 79 171 121 y - lower , // 7a 172 122 z - punct , // 7b 173 123 { - punct , // 7c 174 124 | - punct , // 7d 175 125 } - punct , // 7e 176 126 ~ - cntrl , // 7f 177 127 - cntrl , // 80 200 128 - cntrl , // 81 201 129 - cntrl , // 82 202 130 - cntrl , // 83 203 131 - cntrl , // 84 204 132 - cntrl , // 85 205 133 - cntrl , // 86 206 134 - cntrl , // 87 207 135 - cntrl , // 88 210 136 - cntrl , // 89 211 137 - cntrl , // 8a 212 138 - cntrl , // 8b 213 139 - cntrl , // 8c 214 140 - cntrl , // 8d 215 141 - cntrl , // 8e 216 142 - cntrl , // 8f 217 143 - cntrl , // 90 220 144 - cntrl , // 91 221 145 - cntrl , // 92 222 146 - cntrl , // 93 223 147 - cntrl , // 94 224 148 - cntrl , // 95 225 149 - cntrl , // 96 226 150 - cntrl , // 97 227 151 - cntrl , // 98 230 152 - cntrl , // 99 231 153 - cntrl , // 9a 232 154 - cntrl , // 9b 233 155 - cntrl , // 9c 234 156 - cntrl , // 9d 235 157 - cntrl , // 9e 236 158 - cntrl , // 9f 237 159 - punct , // a0 240 160   | Non-breaking space - punct , // a1 241 161 ¡ | Inverted exclamation mark - punct , // a2 242 162 ¢ | Cent sign - punct , // a3 243 163 £ | Pound sign - punct , // a4 244 164 ¤ | Currency sign - punct , // a5 245 165 ¥ | Yen sign - punct , // a6 246 166 ¦ | Broken bar - punct , // a7 247 167 § | Section sign - punct , // a8 250 168 ¨ | Diaeresis - punct , // a9 251 169 © | Copyright sign - punct , // aa 252 170 ª | Feminine ordinal indicator - punct , // ab 253 171 « | Left-pointing double angle - punct , // ac 254 172 ¬ | Not sign - punct , // ad 255 173 ­ | Soft hyphen - punct , // ae 256 174 ® | Registered trademark sign - punct , // af 257 175 ¯ | Macron - punct , // b0 260 176 ° | Degree sign - punct , // b1 261 177 ± | Plus-minus sign - punct , // b2 262 178 ² | Superscript two - punct , // b3 263 179 ³ | Superscript three - punct , // b4 264 180 ´ | Acute accent - punct , // b5 265 181 µ | Micro sign - punct , // b6 266 182 ¶ | Pilcrow sign - punct , // b7 267 183 · | Middle dot - punct , // b8 270 184 ¸ | Cedilla - punct , // b9 271 185 ¹ | Superscript one - punct , // ba 272 186 º | Masculine ordinal indicator - punct , // bb 273 187 » | Right-pointing double angle - punct , // bc 274 188 ¼ | Fraction one quarter - punct , // bd 275 189 ½ | Fraction one half - punct , // be 276 190 ¾ | Fraction three quarters - punct , // bf 277 191 ¿ | Inverted question mark - upper , // c0 300 192 À | "A" with grave accent - upper , // c1 301 193 Á | "A" with acute accent - upper , // c2 302 194 Â | "A" with circumflex - upper , // c3 303 195 Ã | "A" with tilde - upper , // c4 304 196 Ä | "A" with diaeresis - upper , // c5 305 197 Å | "A" with ring above - upper , // c6 306 198 Æ | "AE" ligature - upper , // c7 307 199 Ç | "C" with cedilla - upper , // c8 310 200 È | "E" with grave accent - upper , // c9 311 201 É | "E" with acute accent - upper , // ca 312 202 Ê | "E" with circumflex - upper , // cb 313 203 Ë | "E" with diaeresis - upper , // cc 314 204 Ì | "I" with grave accent - upper , // cd 315 205 Í | "I" with acute accent - upper , // ce 316 206 Î | "I" with circumflex - upper , // cf 317 207 Ï | "I" with diaeresis - upper , // d0 320 208 Ð | Upper Icelandic D (Eth) - upper , // d1 321 209 Ñ | "N" with tilde - upper , // d2 322 210 Ò | "O" with grave accent - upper , // d3 323 211 Ó | "O" with acute accent - upper , // d4 324 212 Ô | "O" with circumflex - upper , // d5 325 213 Õ | "O" with tilde - upper , // d6 326 214 Ö | "O" with diaeresis - punct , // d7 327 215 × | Multiplication sign - upper , // d8 330 216 Ø | "O" with stroke - upper , // d9 331 217 Ù | "U" with grave accent - upper , // da 332 218 Ú | "U" with acute accent - upper , // db 333 219 Û | "U" with circumflex - upper , // dc 334 220 Ü | "U" with diaeresis - upper , // dd 335 221 Ý | "Y" with acute accent - upper , // de 336 222 Þ | Upper Icelandic T (Thorn) - lower , // df 337 223 ß | German sharp s - lower , // e0 340 224 à | "a" with grave accent - lower , // e1 341 225 á | "a" with acute accent - lower , // e2 342 226 â | "a" with circumflex - lower , // e3 343 227 ã | "a" with tilde - lower , // e4 344 228 ä | "a" with diaeresis - lower , // e5 345 229 å | "a" with ring above - lower , // e6 346 230 æ | Latin small ligature ae - lower , // e7 347 231 ç | "c" with cedilla - lower , // e8 350 232 è | "e" with grave accent - lower , // e9 351 233 é | "e" with acute accent - lower , // ea 352 234 ê | "e" with circumflex - lower , // eb 353 235 ë | "e" with diaeresis - lower , // ec 354 236 ì | "i" with grave accent - lower , // ed 355 237 í | "i" with acute accent - lower , // ee 356 238 î | "i" with circumflex - lower , // ef 357 239 ï | "i" with diaeresis - lower , // f0 360 240 ð | Lower Icelandic d (eth) - lower , // f1 361 241 ñ | "n" with tilde - lower , // f2 362 242 ò | "o" with grave accent - lower , // f3 363 243 ó | "o" with acute accent - lower , // f4 364 244 ô | "o" with circumflex - lower , // f5 365 245 õ | "o" with tilde - lower , // f6 366 246 ö | "o" with diaeresis - punct , // f7 367 247 ÷ | Division sign - lower , // f8 370 248 ø | "o" with oblique bar - lower , // f9 371 249 ù | "u" with grave accent - lower , // fa 372 250 ú | "u" with acute accent - lower , // fb 373 251 û | "u" with circumflex - lower , // fc 374 252 ü | "u" with diaeresis - lower , // fd 375 253 ý | "y" with acute accent - lower , // fe 376 254 þ | Lower Icelandic t (thorn) - lower // ff 377 255 ÿ | "y" with diaeresis - }; - - return (flag_table[unsigned char(c)] & f) != 0; -} - - -//============================================================================ -char iso8859_1_regex_traits::translate(char c, bool icase) const -{ -//---------------------------------------------------------------------------- -// "ABCDEFGHIJKLMNOPQRSTUVWXYZ" -> "abcdefghijklmnopqrstuvwxyz" -// "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ" -> "àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ" -//---------------------------------------------------------------------------- - static const char lower_case_map[UCHAR_MAX + 1] = { - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111, - 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95, - 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111, - 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127, - 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, - 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, - 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, - 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, - 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, - 240,241,242,243,244,245,246,215,248,249,250,251,252,253,254,223, - 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, - 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 -}; - - return icase ? lower_case_map[unsigned char(c)] : c; -} - diff --git a/example/iso8859_1_regex_traits/iso8859_1_regex_traits.hpp b/example/iso8859_1_regex_traits/iso8859_1_regex_traits.hpp deleted file mode 100644 index d4a39f74..00000000 --- a/example/iso8859_1_regex_traits/iso8859_1_regex_traits.hpp +++ /dev/null @@ -1,25 +0,0 @@ -/* - * (C) Copyright Christain Engstrom 2001. - * Permission to copy, use, modify, sell and distribute this software - * is granted provided this copyright notice appears in all copies. - * This software is provided "as is" without express or implied - * warranty, and with no claim as to its suitability for any purpose. - */ - -#ifndef BOOST_ISO8859_1_REGEX_TRAITS_HPP -#define BOOST_ISO8859_1_REGEX_TRAITS_HPP - -class iso8859_1_regex_traits : public boost::c_regex_traits { -private: - typedef boost::c_regex_traits base; -public: - iso8859_1_regex_traits() {} - ~iso8859_1_regex_traits() {} - - bool is_class(char c, boost::uint_fast32_t f) const; - char translate(char c, bool icase) const; -}; - -#endif - - diff --git a/example/iso8859_1_regex_traits/readme.txt b/example/iso8859_1_regex_traits/readme.txt deleted file mode 100644 index b08bb249..00000000 --- a/example/iso8859_1_regex_traits/readme.txt +++ /dev/null @@ -1,49 +0,0 @@ -I have written a class iso8859_1_regex_traits, which I enclose. Any -comments will be very welcome. - -The class is derived from boost::c_regex_traits, and just redefines -the member function is_class so that it will handle the character classes -for all the 8 bit characters in the ISO8859-1 (Latin 1) alphabet. The -enclosed file iso8859_1.txt lists the character classes for all the 256 -characters. - -For the 7 bit ASCII characters up to octal 177, the character classes are -identical to the ones returned by boost::c_regex_traits and -boost::w32_regex_traits. (I have only tried this under Windows.) - -For the characters above octal 177, iso8859_1_regex_traits differs from -boost::w32_regex_traits in the following ways: - -1) The characters between octal 200 and octal 237 all belong to the -character class cntrl only, whereas most of them belong to print graph punct -in Windows. This reflects a true difference between the ISO8859-1 and -Windows character sets, so it should be pretty uncontroversial. - -2) The superscript digits ¹²³ (octal 271, 262 and 263) belong to print graph -punct only in iso8859_1_regex_traits. In w32_regex_traits these characters -are defined to belong to digit as well, which automatically makes them -members of alnum and word too. I consider this to be a mistake made by -those who defined the Windows locale, as I can see few, if any, uses for a -character class defined in this manner, and the definition precludes the use -of the digit character class for many normal and useful purposes, such as -checking if a string contains an integer number. (Please note that this -criticism is directed towards Microsoft itself rather than towards the regex -package, since this definition is a part of Visual C++.) - -3) The non-breaking space character (octal 240) belongs to print graph punct -in iso8859_1_regex_traits. In w32_regex_traits it is instead defined to -belong print blank space, i.e.: it is defined in exactly the same way as the -ordinary octal 40 space character. Again I consider this to be a mistake in -the Windows locale, that renders the space character class fairly useless -for any applications where non-breaking spaces might occur. After all, the -whole point in having both ordinary and non-breaking spaces in the character -set is that programs should be able to treat them differently, but with the -Windows locale, this is not possible. - -As stated above I look forward to any comments, both relating to the -implementation as such and to the choices I have made in the definition of -the character classes. - -Christian Engström - - diff --git a/example/jgrep/bc55.mak b/example/jgrep/bc55.mak deleted file mode 100644 index c5c0e322..00000000 --- a/example/jgrep/bc55.mak +++ /dev/null @@ -1,51 +0,0 @@ - -# very basic makefile for jgrep.exe -# -# Borland C++ tools -# -# BCROOT defines the root directory of your bc builder install -# -!ifndef BCROOT -BCROOT=$(MAKEDIR)\.. -!endif - -BCC32 = $(BCROOT)\bin\Bcc32.exe -LIBPATH=..\..\build\bcb5 - -IDE_LinkFLAGS32 = -L$(BCROOT)\LIB -LINKOPTS= -ap -Tpe -x -COMPOPTS= -O2 -tWM- -Vx -Ve -DSTRICT; -I$(BCROOT)\include;../../../../; -D_NO_VCL - - - -jgrep.exe : jgrep.obj main.obj - $(BCC32) $(COMPOPTS) -e$@ -L$(LIBPATH) main.obj jgrep.obj - -jgrep.obj : jgrep.cpp - $(BCC32) -c @&&| - $(COMPOPTS) -o$@ jgrep.cpp -| - -main.obj : main.cpp - $(BCC32) -c @&&| - $(COMPOPTS) -o$@ main.cpp -| - - - - - - - - - - - - - - - - - - - diff --git a/example/jgrep/bcb4.mak b/example/jgrep/bcb4.mak deleted file mode 100644 index d39af753..00000000 --- a/example/jgrep/bcb4.mak +++ /dev/null @@ -1,51 +0,0 @@ - -# very basic makefile for jgrep.exe -# -# Borland C++ tools -# -# BCROOT defines the root directory of your bc builder install -# -!ifndef BCROOT -BCROOT=$(MAKEDIR)\.. -!endif - -BCC32 = $(BCROOT)\bin\Bcc32.exe -LIBPATH="..\..\build\bcb4" - -IDE_LinkFLAGS32 = -L$(BCROOT)\LIB -LINKOPTS= -ap -Tpe -x -COMPOPTS= -O2 -tWM- -Vx -Ve -DSTRICT; -I$(BCROOT)\include;../../../../; -D_NO_VCL - - - -jgrep.exe : jgrep.obj main.obj - $(BCC32) @&&| -$(COMPOPTS) -e$@ -L$(LIBPATH) main.obj jgrep.obj -| - -jgrep.obj : jgrep.cpp - $(BCC32) -c @&&| - $(COMPOPTS) -o$@ jgrep.cpp -| - -main.obj : main.cpp - $(BCC32) -c @&&| - $(COMPOPTS) -o$@ main.cpp -| - - - - - - - - - - - - - - - - - diff --git a/example/jgrep/bcb5.mak b/example/jgrep/bcb5.mak deleted file mode 100644 index 1e1a15e9..00000000 --- a/example/jgrep/bcb5.mak +++ /dev/null @@ -1,50 +0,0 @@ - -# very basic makefile for jgrep.exe -# -# Borland C++ tools -# -# BCROOT defines the root directory of your bc builder install -# -!ifndef BCROOT -BCROOT=$(MAKEDIR)\.. -!endif - -BCC32 = $(BCROOT)\bin\Bcc32.exe -LIBPATH=../../build/bcb5 - -IDE_LinkFLAGS32 = -L$(BCROOT)\LIB -LINKOPTS= -ap -Tpe -x -COMPOPTS= -O2 -tWM- -Vx -Ve -DSTRICT; -I$(BCROOT)\include;../../../../; -D_NO_VCL - - - -jgrep.exe : jgrep.obj main.obj - $(BCC32) $(COMPOPTS) -e$@ -L..\..\build\bcb5 main.obj jgrep.obj - -jgrep.obj : jgrep.cpp - $(BCC32) -c @&&| - $(COMPOPTS) -o$@ jgrep.cpp -| - -main.obj : main.cpp - $(BCC32) -c @&&| - $(COMPOPTS) -o$@ main.cpp -| - - - - - - - - - - - - - - - - - - diff --git a/example/jgrep/gcc.mak b/example/jgrep/gcc.mak deleted file mode 100644 index efe068a4..00000000 --- a/example/jgrep/gcc.mak +++ /dev/null @@ -1,32 +0,0 @@ - -# very basic makefile for jgrep -# -# GNU compiler g++ -# -CXX= $(INCLUDES) -O2 -I../../../../ -I./ $(CXXFLAGS) $(LDFLAGS) - -jgrep : jgrep.cpp main.cpp - g++ -ojgrep $(CXX) jgrep.cpp main.cpp -L../../build/gcc -lboost_regex $(LIBS) - -debug : jgrep.cpp main.cpp - g++ -ojgrep -I../../../../ -I./ -g jgrep.cpp main.cpp -L../../build/gcc -lboost_regex_debug $(LIBS) - - - - - - - - - - - - - - - - - - - - diff --git a/example/jgrep/jgrep.cpp b/example/jgrep/jgrep.cpp deleted file mode 100644 index 4e4caad2..00000000 --- a/example/jgrep/jgrep.cpp +++ /dev/null @@ -1,157 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * FILE jgrep.cpp - * VERSION see - */ - -#include -#include -#include -#ifdef JM_OLD_IOSTREAM -#include -#else -#include -using std::cout; -using std::cin; -using std::cerr; -using std::endl; -#endif -#ifdef __BORLANDC__ -# pragma hrdstop -#endif - -#ifdef BOOST_REGEX_V3 -#include -#else -#include -#endif - -#include "jgrep.h" - - -// -// class ogrep_predicate -// outputs the results of regex_grep to screen: -template -class ogrep_predicate -{ - unsigned int& lines; - const char* filename; - unsigned int last_line; - iterator end_of_storage, last_line_start; -public: - ogrep_predicate(unsigned int& i, const char* p, iterator start, iterator end) : lines(i), filename(p), last_line(-1), end_of_storage(end), last_line_start(start) {} - ogrep_predicate(const ogrep_predicate& o) : lines(o.lines), filename(o.filename), last_line(o.last_line), end_of_storage(o.end_of_storage), last_line_start(o.last_line_start) {} - bool operator () (const boost::match_results& i); -}; - -// ideally we'd ignor the allocator type and use a template member function -// to deel with the allocator type passed to regex_grep, unfortunately most -// compilers don't support this feature yet, so we'll have to be sure that -// the allocator passed to instances of this class match that used in our -// regular expression classes. - -template -bool ogrep_predicate::operator()(const boost::match_results& i) -{ - // if we haven't printed the filename yet, then do it now: - if(last_line == (unsigned int)-1) - { - cout << "File " << filename << ":" << endl; - last_line = 0; - } - // calculate which line we are on, by adding the number of newlines - // we've skipped in the last search: - int current_line = last_line + std::count(last_line_start, end_of_storage, '\n'); - // if we haven't already printed this line out, then do it now: - if(last_line != current_line) - { - ++lines; - last_line = current_line; - if(count_only == 0) - { - if(show_lines) - cout << current_line << "\t"; - const char* nls = "\n"; - iterator ptr = std::find_end(last_line_start, i[0].first, nls, nls+1); - ++ptr; - iterator ptr2 = ptr; - while((ptr2 != end_of_storage) && (*ptr2 != '\n'))++ptr2; - while(ptr != ptr2) - { - cout.put(*ptr); - ++ptr; - } - cout << endl; - } - } - // set the last line seen to the start of the current match: - last_line_start = i[0].first; - return true; -} - -using namespace boost; - -void process_grep(const char* file) -{ - try{ - mapfile f(file); - unsigned int count = 0; - ogrep_predicate::allocator_type> oi(count, file, f.begin(), f.end()); - if(files_only) - { - bool ok; - boost::match_results m; - ok = regex_search(f.begin(), f.end(), m, e, match_not_dot_newline | match_not_dot_null); - if(ok) - cout << "File " << file << endl; - } - else - { - regex_grep(oi, f.begin(), f.end(), e, match_not_dot_newline | match_not_dot_null); - if(count) - { - if(verbose || count_only) - { - cout << count << " lines match" << endl; - return; - } - } - else if(verbose) - { - cout << "File " << file << "(" << f.size() << "bytes):" << endl << "0 lines match" << endl; - } - } - } - catch(const std::exception& e) - { - std::cerr << std::endl << e.what() << std::endl; - } - catch(...) - { - } -} - - - - - - - - - - diff --git a/example/jgrep/jgrep.h b/example/jgrep/jgrep.h deleted file mode 100644 index 2efc3b4e..00000000 --- a/example/jgrep/jgrep.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * - * Copyright (c) 1998-2000 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * FILE jgrep.h - * VERSION see - */ - -#ifndef _JGREP_H -#define _JGREP_H - -#include - -// case sensitive reg_expression determines our allocator type: -typedef boost::reg_expression re_type; -typedef re_type::allocator_type allocator_type; - -// now declare static (global) data, including an allocator -// instance which we'll pass to all instances that require an allocator. - -extern allocator_type a; - -extern re_type e; - -// flags for output: - -extern bool use_case; -extern bool show_lines; -extern bool count_only; -extern bool files_only; -extern bool recurse; -extern bool regularexs; -extern bool words_only; -extern bool verbose; - -void process_grep(const char* file); - -#endif - - - diff --git a/example/jgrep/main.cpp b/example/jgrep/main.cpp deleted file mode 100644 index 9fc8b697..00000000 --- a/example/jgrep/main.cpp +++ /dev/null @@ -1,295 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * FILE main.cpp - * VERSION see - */ - - -#include -#include -#ifdef JM_OLD_IOSTREAM -#include -#else -#include -using std::cout; -using std::cin; -using std::cerr; -using std::endl; -#endif -#ifdef __BORLANDC__ -# pragma hrdstop -#endif - -#ifdef BOOST_REGEX_V3 -#include -#else -#include -#endif -#include "jgrep.h" - -#ifndef JM_ALGO_INCLUDED -// HP and SGI STL's use instead -// this will have been pulled in by -// for std::distance -#include -#endif - -allocator_type a; - -re_type e(a); -//rei_type ei(a); - -// flags for output: - -bool use_case = true; -bool show_lines = false; -bool count_only = false; -bool files_only = false; -bool recurse = false; -bool regularexs = true; -bool words_only = false; -bool verbose = false; - - -void usage() -{ - cout << -"jgrep version 0.95\n" -"usage: jgrep [-options] expression file [files...]\n" -"\n" -"options can be one of the following:\n" -"\n" -"-c prints a count of the number of matching lines only\n" -"-d recurses through subdirectories for matching files\n" -"-i causes case to be ignored when matching\n" -"-l lists the files which contain a match only\n" -"-n displays the line numbers of matches\n" -"-r- causes the expression to be interpreted as a literal string and not\n" -" as a regular expression\n" -"-w searches for matches that are whole words only\n" -"-z verbose mode\n" -"\n" -"expression: a regular expression, or a literal string if -r- is specified\n" -"\n" -"files: one or more files to search, the names can contain the wildcard\n" -" characters ? and *\n" << endl; - -} - -void parse_switch(const char* flag) -{ - ++flag; - while(*flag) - { - switch(*flag) - { - case '-': - switch(*(flag-1)) - { - case 'c': - count_only = false; - break; - case 'd': - recurse = false; - break; - case 'i': - use_case = false; - break; - case 'l': - files_only = false; - break; - case 'n': - show_lines = false; - break; - case 'r': - regularexs = false; - break; - case 'w': - words_only = false; - break; - case 'z': - verbose = false; - break; - default: - cout << "Undefined option -"; - cout.put(*flag); - cout << endl; - } - // turn off prev character: - break; - case 'c': - count_only = true; - break; - case 'd': - recurse = true; - break; - case 'i': - use_case = false; - break; - case 'l': - files_only = true; - break; - case 'n': - show_lines = true; - break; - case 'r': - regularexs = true; - break; - case 'w': - words_only = true; - break; - case 'z': - verbose = true; - break; - case '?': - usage(); - exit(0); - case '+': - break; - default: - cout << "Undefined option -"; - cout.put(*flag); - cout << endl; - } - ++flag; - } -} - -using namespace boost; - -void HandleFile(const char* wild) -{ - using namespace boost; - jm_trace("Handling file " << wild); - file_iterator end; - file_iterator start(wild); - - if(recurse) - { - // go through sub directories: - char buf[MAX_PATH]; - std::strcpy(buf, start.root()); - int rootlen = strlen(buf); - if(*buf == 0) - { - std::strcpy(buf, "."); - std::strcat(buf, directory_iterator::separator()); - std::strcat(buf, "*"); - } - else - { - std::strcat(buf, directory_iterator::separator()); - std::strcat(buf, "*"); - } - jm_trace("Enumerating directories: " << buf); - directory_iterator dstart(buf); - directory_iterator dend; - - // now get the file mask bit of "wild": - const char* ptr = wild + rootlen; - if(*ptr) ++ptr; - jm_trace("File mask part is: " << ptr); - - while(dstart != dend) - { - std::sprintf(buf, "%s%s%s", dstart.path(), directory_iterator::separator(), ptr); - HandleFile(buf); - ++dstart; - } - } - std::for_each(start, end, process_grep); -} - -int done = 0; - -void HandleArg(const char* arg) -{ - using namespace boost; - jm_trace("Handling argument: " << arg); - if(*arg == '-') - { - parse_switch(arg); - return; - } - if(done == 0) - { - // parse regular expression - if(regularexs) - { - if(words_only == 0) - { - e.set_expression(arg, use_case ? regex::normal : regbase::normal | regbase::icase); - //ei.set_expression(arg); - } - else - { - char* buf = new char[std::strlen(arg) + 8]; - std::sprintf(buf, "\\<%s\\>", arg); - e.set_expression(buf, use_case ? regex::normal : regbase::normal | regbase::icase); - //ei.set_expression(buf); - delete[] buf; - } - } - else - { - // we need to convert text to literal: - int len2 = std::strlen(arg); - int len = len2 * 5 + 6; - char buf[8]; - char* buf2 = new char[len]; - *buf2 = 0; - if(words_only) - std::strcpy(buf2, "\\<"); - for(int j = 0; j < len2; ++j) - { - std::sprintf(buf, "\\0%o", int(arg[j])); - std::strcat(buf2, buf); - } - if(words_only) - std::strcat(buf2, "\\>"); - e.set_expression(buf2, use_case ? regex::normal : regbase::normal | regbase::icase); - //ei.set_expression(buf2); - delete[] buf2; - } - done = 1; - return; - } - // if we get to here we have one or more file names to process: - ++done; - HandleFile(arg); -} - -int main(int argc, char * argv[]) -{ - for(int i = 1; i < argc; ++i) - HandleArg(argv[i]); - if(done < 2) - usage(); - return 0; -} - - - - - - - - - - - - diff --git a/example/jgrep/vc6-stlport.mak b/example/jgrep/vc6-stlport.mak deleted file mode 100644 index a5152cf5..00000000 --- a/example/jgrep/vc6-stlport.mak +++ /dev/null @@ -1,18 +0,0 @@ - -# -# very simple makefile for Visual C++ 6 + STLPort 4 -# - -jgrep.exe: main.cpp jgrep.cpp jgrep.h - cl -GX -GR /Oityb1 /GF /Gy -MT -I..\..\..\..\ jgrep.cpp main.cpp /link /LIBPATH:..\..\build\vc6-stlport user32.lib - - - - - - - - - - - diff --git a/example/jgrep/vc6.mak b/example/jgrep/vc6.mak deleted file mode 100644 index a3baadd4..00000000 --- a/example/jgrep/vc6.mak +++ /dev/null @@ -1,18 +0,0 @@ - -# -# very simple makefile for Visual C++ 6 -# - -jgrep.exe: main.cpp jgrep.cpp jgrep.h - cl -GX -GR /Oityb1 /GF /Gy -I..\..\..\..\ jgrep.cpp main.cpp /link /LIBPATH:..\..\build\vc6 - - - - - - - - - - - diff --git a/example/snippets/credit_card_example.cpp b/example/snippets/credit_card_example.cpp deleted file mode 100644 index 7a59a99a..00000000 --- a/example/snippets/credit_card_example.cpp +++ /dev/null @@ -1,70 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE credit_card_example.cpp - * VERSION see - * DESCRIPTION: Credit card number formatting code. - */ - -#include -#include - -bool validate_card_format(const std::string& s) -{ - static const boost::regex e("(\\d{4}[- ]){3}\\d{4}"); - return boost::regex_match(s, e); -} - -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"); - -std::string machine_readable_card_number(const std::string& s) -{ - return boost::regex_replace(s, e, machine_format, boost::match_default | boost::format_sed); -} - -std::string human_readable_card_number(const std::string& s) -{ - return boost::regex_replace(s, e, human_format, boost::match_default | boost::format_sed); -} - -#include -using namespace std; - -int main() -{ - string s[4] = { "0000111122223333", "0000 1111 2222 3333", - "0000-1111-2222-3333", "000-1111-2222-3333", }; - int i; - for(i = 0; i < 4; ++i) - { - cout << "validate_card_format(\"" << s[i] << "\") returned " << validate_card_format(s[i]) << endl; - } - for(i = 0; i < 4; ++i) - { - cout << "machine_readable_card_number(\"" << s[i] << "\") returned " << machine_readable_card_number(s[i]) << endl; - } - for(i = 0; i < 4; ++i) - { - cout << "human_readable_card_number(\"" << s[i] << "\") returned " << human_readable_card_number(s[i]) << endl; - } - return 0; -} - - - diff --git a/example/snippets/partial_regex_grep.cpp b/example/snippets/partial_regex_grep.cpp deleted file mode 100644 index b5173ec3..00000000 --- a/example/snippets/partial_regex_grep.cpp +++ /dev/null @@ -1,106 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE partial_regex_grep.cpp - * VERSION see - * DESCRIPTION: Search example using partial matches. - */ - -#include -#include -#include -#include -#include - -// match some kind of html tag: -boost::regex e("<[^>]*>"); -// count how many: -unsigned int tags = 0; -// saved position of partial match: -const char* next_pos = 0; - -bool grep_callback(const boost::match_results& m) -{ - if(m[0].matched == false) - { - // save position and return: - next_pos = m[0].first; - } - else - ++tags; - return true; -} - -void search(std::istream& is) -{ - char buf[4096]; - next_pos = buf + sizeof(buf); - bool have_more = true; - while(have_more) - { - // how much do we copy forward from last try: - unsigned leftover = (buf + sizeof(buf)) - next_pos; - // and how much is left to fill: - unsigned size = next_pos - buf; - // copy forward whatever we have left: - memmove(buf, next_pos, leftover); - // fill the rest from the stream: - is.read(buf + leftover, size); - unsigned read = is.gcount(); - // check to see if we've run out of text: - have_more = read == size; - // reset next_pos: - next_pos = buf + sizeof(buf); - // and then grep: - boost::regex_grep(grep_callback, - static_cast(buf), - static_cast(buf + read + leftover), - e, - boost::match_default | boost::match_partial); - } -} - -int main(int argc, char* argv[]) -{ - if(argc > 1) - { - for(int i = 1; i < argc; ++i) - { - std::ifstream fs(argv[i]); - if(fs.bad()) continue; - search(fs); - } - } - else - { - std::string one(""); - std::string what; - while(what.size() < 10000) - { - what.append(one); - what.append(13, ' '); - } - std::stringstream ss; - ss.str(what); - search(ss); - } - std::cout << "total tag count was " << tags << std::endl; - return 0; -} - - - diff --git a/example/snippets/partial_regex_match.cpp b/example/snippets/partial_regex_match.cpp deleted file mode 100644 index f10d7e02..00000000 --- a/example/snippets/partial_regex_match.cpp +++ /dev/null @@ -1,72 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE partial_regex_match.cpp - * VERSION see - * DESCRIPTION: regex_match example using partial matches. - */ - -#include -#include -#include - -boost::regex e("(\\d{3,4})[- ]?(\\d{4})[- ]?(\\d{4})[- ]?(\\d{4})"); - -bool is_possible_card_number(const std::string& input) -{ - // - // return false for partial match, true for full match, or throw for - // impossible match based on what we have so far... - boost::match_results what; - if(0 == boost::regex_match(input, what, e, boost::match_default | boost::match_partial)) - { - // the input so far could not possibly be valid so reject it: - throw std::runtime_error("Invalid data entered - this could not possibly be a valid card number"); - } - // OK so far so good, but have we finished? - if(what[0].matched) - { - // excellent, we have a result: - return true; - } - // what we have so far is only a partial match... - return false; -} - -int main(int argc, char* argv[]) -{ - try{ - std::string input; - if(argc > 1) - input = argv[1]; - else - std::cin >> input; - if(is_possible_card_number(input)) - { - std::cout << "Matched OK..." << std::endl; - } - else - std::cout << "Got a partial match..." << std::endl; - } - catch(const std::exception& e) - { - std::cout << e.what() << std::endl; - } - return 0; -} - - diff --git a/example/snippets/regex_grep_example_1.cpp b/example/snippets/regex_grep_example_1.cpp deleted file mode 100644 index 46438e09..00000000 --- a/example/snippets/regex_grep_example_1.cpp +++ /dev/null @@ -1,130 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_grep_example_1.cpp - * VERSION see - * DESCRIPTION: regex_grep example 1: searches a cpp file for class definitions. - */ - -#include -#include -#include - -// purpose: -// takes the contents of a file in the form of a string -// and searches for all the C++ class definitions, storing -// their locations in a map of strings/int's - -typedef std::map > map_type; - -const char* re = - // possibly leading whitespace: - "^[[:space:]]*" - // possible template declaration: - "(template[[:space:]]*<[^;:{]+>[[:space:]]*)?" - // class or struct: - "(class|struct)[[:space:]]*" - // leading declspec macros etc: - "(" - "\\<\\w+\\>" - "(" - "[[:blank:]]*\\([^)]*\\)" - ")?" - "[[:space:]]*" - ")*" - // the class name - "(\\<\\w*\\>)[[:space:]]*" - // template specialisation parameters - "(<[^;:{]+>)?[[:space:]]*" - // terminate in { or : - "(\\{|:[^;\\{()]*\\{)"; - -boost::regex expression(re); - -class IndexClassesPred -{ - map_type& m; - std::string::const_iterator base; -public: - IndexClassesPred(map_type& a, std::string::const_iterator b) : m(a), base(b) {} - bool operator()(const boost::match_results& what) - { - // what[0] contains the whole string - // what[5] contains the class name. - // what[6] contains the template specialisation if any. - // add class name and position to map: - m[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = - what[5].first - base; - return true; - } -}; - -void IndexClasses(map_type& m, const std::string& file) -{ - std::string::const_iterator start, end; - start = file.begin(); - end = file.end(); - boost::regex_grep(IndexClassesPred(m, start), start, end, expression); -} - - -#include -#include - -using namespace std; - -void load_file(std::string& s, std::istream& is) -{ - s.erase(); - s.reserve(is.rdbuf()->in_avail()); - char c; - while(is.get(c)) - { - if(s.capacity() == s.size()) - s.reserve(s.capacity() * 3); - s.append(1, c); - } -} - -int main(int argc, const char** argv) -{ - std::string text; - for(int i = 1; i < argc; ++i) - { - cout << "Processing file " << argv[i] << endl; - map_type m; - std::ifstream fs(argv[i]); - load_file(text, fs); - IndexClasses(m, text); - cout << m.size() << " matches found" << endl; - map_type::iterator c, d; - c = m.begin(); - d = m.end(); - while(c != d) - { - cout << "class \"" << (*c).first << "\" found at index: " << (*c).second << endl; - ++c; - } - } - return 0; -} - - - - - - diff --git a/example/snippets/regex_grep_example_2.cpp b/example/snippets/regex_grep_example_2.cpp deleted file mode 100644 index 3045e094..00000000 --- a/example/snippets/regex_grep_example_2.cpp +++ /dev/null @@ -1,123 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_grep_example_2.cpp - * VERSION see - * DESCRIPTION: regex_grep example 2: searches a cpp file for class definitions, - * using a global callback function. - */ - -#include -#include -#include - -// purpose: -// takes the contents of a file in the form of a string -// and searches for all the C++ class definitions, storing -// their locations in a map of strings/int's - -typedef std::map > map_type; - -const char* re = - // possibly leading whitespace: - "^[[:space:]]*" - // possible template declaration: - "(template[[:space:]]*<[^;:{]+>[[:space:]]*)?" - // class or struct: - "(class|struct)[[:space:]]*" - // leading declspec macros etc: - "(" - "\\<\\w+\\>" - "(" - "[[:blank:]]*\\([^)]*\\)" - ")?" - "[[:space:]]*" - ")*" - // the class name - "(\\<\\w*\\>)[[:space:]]*" - // template specialisation parameters - "(<[^;:{]+>)?[[:space:]]*" - // terminate in { or : - "(\\{|:[^;\\{()]*\\{)"; - - -boost::regex expression(re); -map_type class_index; -std::string::const_iterator base; - -bool grep_callback(const boost::match_results& what) -{ - // what[0] contains the whole string - // what[5] contains the class name. - // what[6] contains the template specialisation if any. - // add class name and position to map: - class_index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = - what[5].first - base; - return true; -} - -void IndexClasses(const std::string& file) -{ - std::string::const_iterator start, end; - start = file.begin(); - end = file.end(); - base = start; - boost::regex_grep(grep_callback, start, end, expression); -} - -#include -#include - -using namespace std; - -void load_file(std::string& s, std::istream& is) -{ - s.erase(); - s.reserve(is.rdbuf()->in_avail()); - char c; - while(is.get(c)) - { - if(s.capacity() == s.size()) - s.reserve(s.capacity() * 3); - s.append(1, c); - } -} - -int main(int argc, const char** argv) -{ - std::string text; - for(int i = 1; i < argc; ++i) - { - cout << "Processing file " << argv[i] << endl; - std::ifstream fs(argv[i]); - load_file(text, fs); - IndexClasses(text); - cout << class_index.size() << " matches found" << endl; - map_type::iterator c, d; - c = class_index.begin(); - d = class_index.end(); - while(c != d) - { - cout << "class \"" << (*c).first << "\" found at index: " << (*c).second << endl; - ++c; - } - class_index.erase(class_index.begin(), class_index.end()); - } - return 0; -} - - diff --git a/example/snippets/regex_grep_example_3.cpp b/example/snippets/regex_grep_example_3.cpp deleted file mode 100644 index 8a7a80d6..00000000 --- a/example/snippets/regex_grep_example_3.cpp +++ /dev/null @@ -1,140 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_grep_example_3.cpp - * VERSION see - * DESCRIPTION: regex_grep example 3: searches a cpp file for class definitions, - * using a bound member function callback. - */ - -#include -#include -#include -#include - -// purpose: -// takes the contents of a file in the form of a string -// and searches for all the C++ class definitions, storing -// their locations in a map of strings/int's - -typedef std::map > map_type; - -const char* re = - // possibly leading whitespace: - "^[[:space:]]*" - // possible template declaration: - "(template[[:space:]]*<[^;:{]+>[[:space:]]*)?" - // class or struct: - "(class|struct)[[:space:]]*" - // leading declspec macros etc: - "(" - "\\<\\w+\\>" - "(" - "[[:blank:]]*\\([^)]*\\)" - ")?" - "[[:space:]]*" - ")*" - // the class name - "(\\<\\w*\\>)[[:space:]]*" - // template specialisation parameters - "(<[^;:{]+>)?[[:space:]]*" - // terminate in { or : - "(\\{|:[^;\\{()]*\\{)"; - - -class class_index -{ - boost::regex expression; - map_type index; - std::string::const_iterator base; - - bool grep_callback(boost::match_results what); -public: - map_type& get_map() { return index; } - void IndexClasses(const std::string& file); - class_index() - : expression(re) {} -}; - -bool class_index::grep_callback(boost::match_results what) -{ - // what[0] contains the whole string - // what[5] contains the class name. - // what[6] contains the template specialisation if any. - // add class name and position to map: - index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = - what[5].first - base; - return true; -} - -void class_index::IndexClasses(const std::string& file) -{ - std::string::const_iterator start, end; - start = file.begin(); - end = file.end(); - base = start; - boost::regex_grep(std::bind1st(std::mem_fun(&class_index::grep_callback), this), - start, - end, - expression); -} - - -#include -#include - -using namespace std; - -void load_file(std::string& s, std::istream& is) -{ - s.erase(); - s.reserve(is.rdbuf()->in_avail()); - char c; - while(is.get(c)) - { - if(s.capacity() == s.size()) - s.reserve(s.capacity() * 3); - s.append(1, c); - } -} - -int main(int argc, const char** argv) -{ - std::string text; - for(int i = 1; i < argc; ++i) - { - cout << "Processing file " << argv[i] << endl; - std::ifstream fs(argv[i]); - load_file(text, fs); - class_index idx; - idx.IndexClasses(text); - cout << idx.get_map().size() << " matches found" << endl; - map_type::iterator c, d; - c = idx.get_map().begin(); - d = idx.get_map().end(); - while(c != d) - { - cout << "class \"" << (*c).first << "\" found at index: " << (*c).second << endl; - ++c; - } - } - return 0; -} - - - - diff --git a/example/snippets/regex_grep_example_4.cpp b/example/snippets/regex_grep_example_4.cpp deleted file mode 100644 index 98711851..00000000 --- a/example/snippets/regex_grep_example_4.cpp +++ /dev/null @@ -1,156 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_grep_example_4.cpp - * VERSION see - * DESCRIPTION: regex_grep example 4: searches a cpp file for class definitions, - * using a C++ Builder closure as a callback. - */ - -#ifdef __BORLANDC__ - -#include -#include -#include -#include - -// purpose: -// takes the contents of a file in the form of a string -// and searches for all the C++ class definitions, storing -// their locations in a map of strings/int's - -typedef std::map > map_type; - -const char* re = - // possibly leading whitespace: - "^[[:space:]]*" - // possible template declaration: - "(template[[:space:]]*<[^;:{]+>[[:space:]]*)?" - // class or struct: - "(class|struct)[[:space:]]*" - // leading declspec macros etc: - "(" - "\\<\\w+\\>" - "(" - "[[:blank:]]*\\([^)]*\\)" - ")?" - "[[:space:]]*" - ")*" - // the class name - "(\\<\\w*\\>)[[:space:]]*" - // template specialisation parameters - "(<[^;:{]+>)?[[:space:]]*" - // terminate in { or : - "(\\{|:[^;\\{()]*\\{)"; - - -class class_index -{ - boost::regex expression; - map_type index; - std::string::const_iterator base; - typedef boost::match_results arg_type; - - bool grep_callback(const boost::match_results& what); -public: - map_type& get_map() { return index; } - typedef bool (__closure* grep_callback_type)(const arg_type&); - void IndexClasses(const std::string& file); - class_index() - : index(), - expression(re) - {} -}; - -bool class_index::grep_callback(const boost::match_results& what) -{ - // what[0] contains the whole string - // what[5] contains the class name. - // what[6] contains the template specialisation if any. - // add class name and position to map: - index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = - what[5].first - base; - return true; -} - -void class_index::IndexClasses(const std::string& file) -{ - std::string::const_iterator start, end; - start = file.begin(); - end = file.end(); - base = start; - class_index::grep_callback_type cl = &(this->grep_callback); - boost::regex_grep(cl, - start, - end, - expression); -} - - -#include -#include - -using namespace std; - -void load_file(std::string& s, std::istream& is) -{ - s.erase(); - s.reserve(is.rdbuf()->in_avail()); - char c; - while(is.get(c)) - { - if(s.capacity() == s.size()) - s.reserve(s.capacity() * 3); - s.append(1, c); - } -} - -int main(int argc, const char** argv) -{ - std::string text; - for(int i = 1; i < argc; ++i) - { - cout << "Processing file " << argv[i] << endl; - std::ifstream fs(argv[i]); - load_file(text, fs); - class_index i; - i.IndexClasses(text); - cout << i.get_map().size() << " matches found" << endl; - map_type::iterator c, d; - c = i.get_map().begin(); - d = i.get_map().end(); - while(c != d) - { - cout << "class \"" << (*c).first << "\" found at index: " << (*c).second << endl; - ++c; - } - } - return 0; -} - -#else // __BORLANDC__ - -int main() -{ - return 0; -} - - -#endif - - - diff --git a/example/snippets/regex_iterator_example.cpp b/example/snippets/regex_iterator_example.cpp deleted file mode 100644 index 6ec3d85e..00000000 --- a/example/snippets/regex_iterator_example.cpp +++ /dev/null @@ -1,115 +0,0 @@ -/* - * - * Copyright (c) 2003 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_iterator_example_2.cpp - * VERSION see - * DESCRIPTION: regex_iterator example 2: searches a cpp file for class definitions, - * using global data. - */ - -#include -#include -#include -#include -#include - -using namespace std; - -// purpose: -// takes the contents of a file in the form of a string -// and searches for all the C++ class definitions, storing -// their locations in a map of strings/int's - -typedef std::map > map_type; - -const char* re = - // possibly leading whitespace: - "^[[:space:]]*" - // possible template declaration: - "(template[[:space:]]*<[^;:{]+>[[:space:]]*)?" - // class or struct: - "(class|struct)[[:space:]]*" - // leading declspec macros etc: - "(" - "\\<\\w+\\>" - "(" - "[[:blank:]]*\\([^)]*\\)" - ")?" - "[[:space:]]*" - ")*" - // the class name - "(\\<\\w*\\>)[[:space:]]*" - // template specialisation parameters - "(<[^;:{]+>)?[[:space:]]*" - // terminate in { or : - "(\\{|:[^;\\{()]*\\{)"; - - -boost::regex expression(re); -map_type class_index; - -bool regex_callback(const boost::match_results& what) -{ - // what[0] contains the whole string - // what[5] contains the class name. - // what[6] contains the template specialisation if any. - // add class name and position to map: - class_index[what[5].str() + what[6].str()] = what.position(5); - return true; -} - -void load_file(std::string& s, std::istream& is) -{ - s.erase(); - s.reserve(is.rdbuf()->in_avail()); - char c; - while(is.get(c)) - { - if(s.capacity() == s.size()) - s.reserve(s.capacity() * 3); - s.append(1, c); - } -} - -int main(int argc, const char** argv) -{ - std::string text; - for(int i = 1; i < argc; ++i) - { - cout << "Processing file " << argv[i] << endl; - std::ifstream fs(argv[i]); - load_file(text, fs); - // construct our iterators: - boost::regex_iterator m1(text.begin(), text.end(), expression); - boost::regex_iterator m2; - std::for_each(m1, m2, ®ex_callback); - // copy results: - cout << class_index.size() << " matches found" << endl; - map_type::iterator c, d; - c = class_index.begin(); - d = class_index.end(); - while(c != d) - { - cout << "class \"" << (*c).first << "\" found at index: " << (*c).second << endl; - ++c; - } - class_index.erase(class_index.begin(), class_index.end()); - } - return 0; -} - - diff --git a/example/snippets/regex_match_example.cpp b/example/snippets/regex_match_example.cpp deleted file mode 100644 index e6e21277..00000000 --- a/example/snippets/regex_match_example.cpp +++ /dev/null @@ -1,106 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_match_example.cpp - * VERSION see - * DESCRIPTION: ftp based regex_match example. - */ - -#include -#include -#include -#include - -using namespace std; -using namespace boost; - -regex expression("^([0-9]+)(\\-| |$)(.*)$"); - -// process_ftp: -// on success returns the ftp response code, and fills -// msg with the ftp response message. -int process_ftp(const char* response, std::string* msg) -{ - cmatch what; - if(regex_match(response, what, expression)) - { - // what[0] contains the whole string - // what[1] contains the response code - // what[2] contains the separator character - // what[3] contains the text message. - if(msg) - msg->assign(what[3].first, what[3].second); - return atoi(what[1].first); - } - // failure did not match - if(msg) - msg->erase(); - return -1; -} - -#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && (__BORLANDC__ == 0x550)) -// -// problem with std::getline under MSVC6sp3 -istream& getline(istream& is, std::string& s) -{ - s.erase(); - char c = is.get(); - while(c != '\n') - { - s.append(1, c); - c = is.get(); - } - return is; -} -#endif - -int main(int argc) -{ - std::string in, out; - do - { - if(argc == 1) - { - cout << "enter test string" << endl; - getline(cin, in); - if(in == "quit") - break; - } - else - in = "100 this is an ftp message text"; - int result; - result = process_ftp(in.c_str(), &out); - if(result != -1) - { - cout << "Match found:" << endl; - cout << "Response code: " << result << endl; - cout << "Message text: " << out << endl; - } - else - { - cout << "Match not found" << endl; - } - cout << endl; - } while(argc == 1); - return 0; -} - - - - - - diff --git a/example/snippets/regex_merge_example.cpp b/example/snippets/regex_merge_example.cpp deleted file mode 100644 index 7741b444..00000000 --- a/example/snippets/regex_merge_example.cpp +++ /dev/null @@ -1,137 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_merge_example.cpp - * VERSION see - * DESCRIPTION: regex_merge example: - * converts a C++ file to syntax highlighted HTML. - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -// purpose: -// takes the contents of a file and transform to -// syntax highlighted code in html format - -boost::regex e1, e2; -extern const char* expression_text; -extern const char* format_string; -extern const char* pre_expression; -extern const char* pre_format; -extern const char* header_text; -extern const char* footer_text; - -void load_file(std::string& s, std::istream& is) -{ - s.erase(); - s.reserve(is.rdbuf()->in_avail()); - char c; - while(is.get(c)) - { - if(s.capacity() == s.size()) - s.reserve(s.capacity() * 3); - s.append(1, c); - } -} - -int main(int argc, const char** argv) -{ - try{ - e1.assign(expression_text); - e2.assign(pre_expression); - for(int i = 1; i < argc; ++i) - { - std::cout << "Processing file " << argv[i] << std::endl; - std::ifstream fs(argv[i]); - std::string in; - load_file(in, fs); - std::string out_name = std::string(argv[i]) + std::string(".htm"); - std::ofstream os(out_name.c_str()); - os << header_text; - // strip '<' and '>' first by outputting to a - // temporary string stream - std::ostringstream t(std::ios::out | std::ios::binary); - std::ostream_iterator oi(t); - boost::regex_merge(oi, in.begin(), in.end(), e2, pre_format, boost::match_default | boost::format_all); - // then output to final output stream - // adding syntax highlighting: - std::string s(t.str()); - std::ostream_iterator out(os); - boost::regex_merge(out, s.begin(), s.end(), e1, format_string, boost::match_default | boost::format_all); - os << footer_text; - } - } - catch(...) - { return -1; } - return 0; -} - -extern const char* pre_expression = "(<)|(>)|\\r"; -extern const char* pre_format = "(?1<)(?2>)"; - - -const char* expression_text = // preprocessor directives: index 1 - "(^[[:blank:]]*#(?:[^\\\\\\n]|\\\\[^\\n[:punct:][:word:]]*[\\n[:punct:][:word:]])*)|" - // comment: index 2 - "(//[^\\n]*|/\\*.*?\\*/)|" - // literals: index 3 - "\\<([+-]?(?:(?:0x[[:xdigit:]]+)|(?:(?:[[:digit:]]*\\.)?[[:digit:]]+(?:[eE][+-]?[[:digit:]]+)?))u?(?:(?:int(?:8|16|32|64))|L)?)\\>|" - // string literals: index 4 - "('(?:[^\\\\']|\\\\.)*'|\"(?:[^\\\\\"]|\\\\.)*\")|" - // keywords: index 5 - "\\<(__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)\\>" - ; - -const char* format_string = "(?1$&)" - "(?2$&)" - "(?3$&)" - "(?4$&)" - "(?5$&)"; - -const char* header_text = "\n\n" - "Auto-generated html formated source\n" - "\n" - "\n" - "\n" - "

\n
";
-
-const char* footer_text = "
\n\n\n"; - - - - - - - - - - diff --git a/example/snippets/regex_replace_example.cpp b/example/snippets/regex_replace_example.cpp deleted file mode 100644 index b00345ff..00000000 --- a/example/snippets/regex_replace_example.cpp +++ /dev/null @@ -1,138 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_replace_example.cpp - * VERSION see - * DESCRIPTION: regex_replace example: - * converts a C++ file to syntax highlighted HTML. - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -// purpose: -// takes the contents of a file and transform to -// syntax highlighted code in html format - -boost::regex e1, e2; -extern const char* expression_text; -extern const char* format_string; -extern const char* pre_expression; -extern const char* pre_format; -extern const char* header_text; -extern const char* footer_text; - -void load_file(std::string& s, std::istream& is) -{ - s.erase(); - s.reserve(is.rdbuf()->in_avail()); - char c; - while(is.get(c)) - { - if(s.capacity() == s.size()) - s.reserve(s.capacity() * 3); - s.append(1, c); - } -} - -int main(int argc, const char** argv) -{ - try{ - e1.assign(expression_text); - e2.assign(pre_expression); - for(int i = 1; i < argc; ++i) - { - std::cout << "Processing file " << argv[i] << std::endl; - std::ifstream fs(argv[i]); - std::string in; - load_file(in, fs); - std::string out_name = std::string(argv[i]) + std::string(".htm"); - std::ofstream os(out_name.c_str()); - os << header_text; - // strip '<' and '>' first by outputting to a - // temporary string stream - std::ostringstream t(std::ios::out | std::ios::binary); - std::ostream_iterator oi(t); - boost::regex_replace(oi, in.begin(), in.end(), e2, pre_format, boost::match_default | boost::format_all); - // then output to final output stream - // adding syntax highlighting: - std::string s(t.str()); - std::ostream_iterator out(os); - boost::regex_replace(out, s.begin(), s.end(), e1, format_string, boost::match_default | boost::format_all); - os << footer_text; - } - } - catch(...) - { return -1; } - return 0; -} - -extern const char* pre_expression = "(<)|(>)|\\r"; -extern const char* pre_format = "(?1<)(?2>)"; - - -const char* expression_text = // preprocessor directives: index 1 - "(^[[:blank:]]*#(?:[^\\\\\\n]|\\\\[^\\n[:punct:][:word:]]*[\\n[:punct:][:word:]])*)|" - // comment: index 2 - "(//[^\\n]*|/\\*.*?\\*/)|" - // literals: index 3 - "\\<([+-]?(?:(?:0x[[:xdigit:]]+)|(?:(?:[[:digit:]]*\\.)?[[:digit:]]+(?:[eE][+-]?[[:digit:]]+)?))u?(?:(?:int(?:8|16|32|64))|L)?)\\>|" - // string literals: index 4 - "('(?:[^\\\\']|\\\\.)*'|\"(?:[^\\\\\"]|\\\\.)*\")|" - // keywords: index 5 - "\\<(__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)\\>" - ; - -const char* format_string = "(?1$&)" - "(?2$&)" - "(?3$&)" - "(?4$&)" - "(?5$&)"; - -const char* header_text = "\n\n" - "Auto-generated html formated source\n" - "\n" - "\n" - "\n" - "

\n
";
-
-const char* footer_text = "
\n\n\n"; - - - - - - - - - - - diff --git a/example/snippets/regex_search_example.cpp b/example/snippets/regex_search_example.cpp deleted file mode 100644 index dea9bb5a..00000000 --- a/example/snippets/regex_search_example.cpp +++ /dev/null @@ -1,130 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_search_example.cpp - * VERSION see - * DESCRIPTION: regex_search example: searches a cpp file for class definitions. - */ - -#include -#include -#include - -// purpose: -// takes the contents of a file in the form of a string -// and searches for all the C++ class definitions, storing -// their locations in a map of strings/int's - -typedef std::map > map_type; - -const char* re = - // possibly leading whitespace: - "^[[:space:]]*" - // possible template declaration: - "(template[[:space:]]*<[^;:{]+>[[:space:]]*)?" - // class or struct: - "(class|struct)[[:space:]]*" - // leading declspec macros etc: - "(" - "\\<\\w+\\>" - "(" - "[[:blank:]]*\\([^)]*\\)" - ")?" - "[[:space:]]*" - ")*" - // the class name - "(\\<\\w*\\>)[[:space:]]*" - // template specialisation parameters - "(<[^;:{]+>)?[[:space:]]*" - // terminate in { or : - "(\\{|:[^;\\{()]*\\{)"; - - -boost::regex expression(re); - -void IndexClasses(map_type& m, const std::string& file) -{ - std::string::const_iterator start, end; - start = file.begin(); - end = file.end(); - boost::match_results what; - boost::match_flag_type flags = boost::match_default; - while(boost::regex_search(start, end, what, expression, flags)) - { - // what[0] contains the whole string - // what[5] contains the class name. - // what[6] contains the template specialisation if any. - // add class name and position to map: - m[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = - what[5].first - file.begin(); - // update search position: - start = what[0].second; - // update flags: - flags |= boost::match_prev_avail; - flags |= boost::match_not_bob; - } -} - - -#include -#include - -using namespace std; - -void load_file(std::string& s, std::istream& is) -{ - s.erase(); - s.reserve(is.rdbuf()->in_avail()); - char c; - while(is.get(c)) - { - if(s.capacity() == s.size()) - s.reserve(s.capacity() * 3); - s.append(1, c); - } -} - -int main(int argc, const char** argv) -{ - std::string text; - for(int i = 1; i < argc; ++i) - { - cout << "Processing file " << argv[i] << endl; - map_type m; - std::ifstream fs(argv[i]); - load_file(text, fs); - IndexClasses(m, text); - cout << m.size() << " matches found" << endl; - map_type::iterator c, d; - c = m.begin(); - d = m.end(); - while(c != d) - { - cout << "class \"" << (*c).first << "\" found at index: " << (*c).second << endl; - ++c; - } - } - return 0; -} - - - - - - - - diff --git a/example/snippets/regex_split_example_1.cpp b/example/snippets/regex_split_example_1.cpp deleted file mode 100644 index 9288f5a9..00000000 --- a/example/snippets/regex_split_example_1.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_split_example_1.cpp - * VERSION see - * DESCRIPTION: regex_split example: split a string into tokens. - */ - - -#include -#include - - -unsigned tokenise(std::list& l, std::string& s) -{ - return boost::regex_split(std::back_inserter(l), s); -} - -#include -using namespace std; - - -#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && (__BORLANDC__ == 0x550)) -// -// problem with std::getline under MSVC6sp3 -istream& getline(istream& is, std::string& s) -{ - s.erase(); - char c = is.get(); - while(c != '\n') - { - s.append(1, c); - c = is.get(); - } - return is; -} -#endif - - -int main(int argc) -{ - string s; - list l; - do{ - if(argc == 1) - { - cout << "Enter text to split (or \"quit\" to exit): "; - getline(cin, s); - if(s == "quit") break; - } - else - s = "This is a string of tokens"; - unsigned result = tokenise(l, s); - cout << result << " tokens found" << endl; - cout << "The remaining text is: \"" << s << "\"" << endl; - while(l.size()) - { - s = *(l.begin()); - l.pop_front(); - cout << s << endl; - } - }while(argc == 1); - return 0; -} - diff --git a/example/snippets/regex_split_example_2.cpp b/example/snippets/regex_split_example_2.cpp deleted file mode 100644 index 9d237d38..00000000 --- a/example/snippets/regex_split_example_2.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_split_example_2.cpp - * VERSION see - * DESCRIPTION: regex_split example: spit out linked URL's. - */ - - -#include -#include -#include -#include -#include - -boost::regex e("<\\s*A\\s+[^>]*href\\s*=\\s*\"([^\"]*)\"", - boost::regex::normal | boost::regbase::icase); - -void load_file(std::string& s, std::istream& is) -{ - s.erase(); - // - // attempt to grow string buffer to match file size, - // this doesn't always work... - s.reserve(is.rdbuf()->in_avail()); - char c; - while(is.get(c)) - { - // use logarithmic growth stategy, in case - // in_avail (above) returned zero: - if(s.capacity() == s.size()) - s.reserve(s.capacity() * 3); - s.append(1, c); - } -} - -int main(int argc, char** argv) -{ - std::string s; - std::list l; - int i; - for(i = 1; i < argc; ++i) - { - std::cout << "Findings URL's in " << argv[i] << ":" << std::endl; - s.erase(); - std::ifstream is(argv[i]); - load_file(s, is); - boost::regex_split(std::back_inserter(l), s, e); - while(l.size()) - { - s = *(l.begin()); - l.pop_front(); - std::cout << s << std::endl; - } - } - // - // alternative method: - // split one match at a time and output direct to - // cout via ostream_iterator.... - // - for(i = 1; i < argc; ++i) - { - std::cout << "Findings URL's in " << argv[i] << ":" << std::endl; - s.erase(); - std::ifstream is(argv[i]); - load_file(s, is); - while(boost::regex_split(std::ostream_iterator(std::cout), s, e, boost::match_default, 1)) std::cout << std::endl; - } - - return 0; -} - - diff --git a/example/snippets/regex_token_iterator_eg_1.cpp b/example/snippets/regex_token_iterator_eg_1.cpp deleted file mode 100644 index 8ba8dcb5..00000000 --- a/example/snippets/regex_token_iterator_eg_1.cpp +++ /dev/null @@ -1,75 +0,0 @@ -/* - * - * Copyright (c) 12003 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_token_iterator_example_1.cpp - * VERSION see - * DESCRIPTION: regex_token_iterator example: split a string into tokens. - */ - - -#include - -#include -using namespace std; - - -#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && (__BORLANDC__ == 0x550)) -// -// problem with std::getline under MSVC6sp3 -istream& getline(istream& is, std::string& s) -{ - s.erase(); - char c = is.get(); - while(c != '\n') - { - s.append(1, c); - c = is.get(); - } - return is; -} -#endif - - -int main(int argc) -{ - string s; - do{ - if(argc == 1) - { - cout << "Enter text to split (or \"quit\" to exit): "; - getline(cin, s); - if(s == "quit") break; - } - else - s = "This is a string of tokens"; - - boost::regex re("\\s+"); - boost::regex_token_iterator i(s.begin(), s.end(), re, -1); - boost::regex_token_iterator j; - - unsigned count = 0; - while(i != j) - { - cout << *i++ << endl; - count++; - } - cout << "There were " << count << " tokens found." << endl; - - }while(argc == 1); - return 0; -} - diff --git a/example/snippets/regex_token_iterator_eg_2.cpp b/example/snippets/regex_token_iterator_eg_2.cpp deleted file mode 100644 index 71b2188b..00000000 --- a/example/snippets/regex_token_iterator_eg_2.cpp +++ /dev/null @@ -1,92 +0,0 @@ -/* - * - * Copyright (c) 2003 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_token_iterator_example_2.cpp - * VERSION see - * DESCRIPTION: regex_token_iterator example: spit out linked URL's. - */ - - -#include -#include -#include -#include - -boost::regex e("<\\s*A\\s+[^>]*href\\s*=\\s*\"([^\"]*)\"", - boost::regex::normal | boost::regbase::icase); - -void load_file(std::string& s, std::istream& is) -{ - s.erase(); - // - // attempt to grow string buffer to match file size, - // this doesn't always work... - s.reserve(is.rdbuf()->in_avail()); - char c; - while(is.get(c)) - { - // use logarithmic growth stategy, in case - // in_avail (above) returned zero: - if(s.capacity() == s.size()) - s.reserve(s.capacity() * 3); - s.append(1, c); - } -} - -int main(int argc, char** argv) -{ - std::string s; - int i; - for(i = 1; i < argc; ++i) - { - std::cout << "Findings URL's in " << argv[i] << ":" << std::endl; - s.erase(); - std::ifstream is(argv[i]); - load_file(s, is); - boost::regex_token_iterator - i(s.begin(), s.end(), e, 1); - boost::regex_token_iterator j; - while(i != j) - { - std::cout << *i++ << std::endl; - } - } - // - // alternative method: - // test the array-literal constructor, and split out the whole - // match as well as $1.... - // - for(i = 1; i < argc; ++i) - { - std::cout << "Findings URL's in " << argv[i] << ":" << std::endl; - s.erase(); - std::ifstream is(argv[i]); - load_file(s, is); - const int subs[] = {1, 0,}; - boost::regex_token_iterator - i(s.begin(), s.end(), e, subs); - boost::regex_token_iterator j; - while(i != j) - { - std::cout << *i++ << std::endl; - } - } - - return 0; -} - - diff --git a/example/timer/bc55.mak b/example/timer/bc55.mak deleted file mode 100644 index 0e18c578..00000000 --- a/example/timer/bc55.mak +++ /dev/null @@ -1,46 +0,0 @@ - -# very basic makefile for timer.exe -# -# Borland C++ tools -# -# BCROOT defines the root directory of your bc builder install -# - -!ifndef BCROOT -BCROOT=$(MAKEDIR)\.. -!endif - -BCC32 = $(BCROOT)\bin\Bcc32.exe - -IDE_LinkFLAGS32 = -L$(BCROOT)\LIB -COMPOPTS= -O2 -tWC -tWM- -Vx -Ve -D_NO_VCL; -I../../../../; -L..\..\build\bcb5 - - -timer.exe : regex_timer.cpp - $(BCC32) @&&| - $(COMPOPTS) -e$@ regex_timer.cpp -| - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/timer/bcb4.mak b/example/timer/bcb4.mak deleted file mode 100644 index 2102ecd8..00000000 --- a/example/timer/bcb4.mak +++ /dev/null @@ -1,46 +0,0 @@ - -# very basic makefile for timer.exe -# -# Borland C++ tools -# -# BCROOT defines the root directory of your bc builder install -# - -!ifndef BCROOT -BCROOT=$(MAKEDIR)\.. -!endif - -BCC32 = $(BCROOT)\bin\Bcc32.exe - -IDE_LinkFLAGS32 = -L$(BCROOT)\LIB -COMPOPTS= -O2 -tWC -tWM- -Vx -Ve -D_NO_VCL; -I../../../../; -L..\..\build\bcb4 - - -timer.exe : regex_timer.cpp - $(BCC32) @&&| - $(COMPOPTS) -e$@ regex_timer.cpp -| - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/timer/bcb5.mak b/example/timer/bcb5.mak deleted file mode 100644 index 0e18c578..00000000 --- a/example/timer/bcb5.mak +++ /dev/null @@ -1,46 +0,0 @@ - -# very basic makefile for timer.exe -# -# Borland C++ tools -# -# BCROOT defines the root directory of your bc builder install -# - -!ifndef BCROOT -BCROOT=$(MAKEDIR)\.. -!endif - -BCC32 = $(BCROOT)\bin\Bcc32.exe - -IDE_LinkFLAGS32 = -L$(BCROOT)\LIB -COMPOPTS= -O2 -tWC -tWM- -Vx -Ve -D_NO_VCL; -I../../../../; -L..\..\build\bcb5 - - -timer.exe : regex_timer.cpp - $(BCC32) @&&| - $(COMPOPTS) -e$@ regex_timer.cpp -| - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/timer/gcc.mak b/example/timer/gcc.mak deleted file mode 100644 index 5db67b7c..00000000 --- a/example/timer/gcc.mak +++ /dev/null @@ -1,33 +0,0 @@ - -# very basic makefile for timer.exe -# -# GNU compiler GCC -# -CXX= $(INCLUDES) -I../../../../ -I./ $(CXXFLAGS) - -timer : regex_timer.cpp - g++ $(CXX) -O2 -o timer regex_timer.cpp -L../../build/gcc $(LDFLAGS) -lboost_regex $(LIBS) - -debug : regex_timer.cpp timer.cpp - g++ $(CXX) -g -o timer regex_timer.cpp -L../../build/gcc $(LDFLAGS) -lboost_regex_debug $(LIBS) - - - - - - - - - - - - - - - - - - - - - diff --git a/example/timer/input_script.txt b/example/timer/input_script.txt deleted file mode 100644 index 0c068787..00000000 --- a/example/timer/input_script.txt +++ /dev/null @@ -1,7 +0,0 @@ -abc -aaaaaaaaaaabcccccccc -quit -^([0-9]+)(\-| |$)(.*)$ -100- this is a line of ftp response which contains a message string -quit -quit diff --git a/example/timer/regex_timer.cpp b/example/timer/regex_timer.cpp deleted file mode 100644 index 7d43ddc0..00000000 --- a/example/timer/regex_timer.cpp +++ /dev/null @@ -1,380 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - -#include -#include -#include -#include - -#ifdef BOOST_RE_OLD_IOSTREAM -#include -#include -#else -#include -#include -using std::cout; -using std::cin; -using std::cerr; -using std::istream; -using std::ostream; -using std::endl; -using std::ifstream; -using std::streambuf; -using std::getline; -#endif - -#include -#include -#include -#include - -#if defined(_MSC_VER) && (_MSC_VER <= 1300) -// maybe no Koenig lookup, use using declaration instead: -using namespace boost; -#endif - -#ifndef BOOST_NO_WREGEX -ostream& operator << (ostream& os, const std::wstring& s) -{ - std::wstring::const_iterator i, j; - i = s.begin(); - j = s.end(); - while(i != j) - { - os.put(*i); - ++i; - } - return os; -} -#endif - -template -class string_out_iterator -#ifndef BOOST_NO_STD_ITERATOR - : public std::iterator -#endif // ndef BOOST_NO_STD_ITERATOR -{ -#ifdef BOOST_NO_STD_ITERATOR - typedef std::output_iterator_tag iterator_category; - typedef void value_type; - typedef void difference_type; - typedef void pointer; - typedef void reference; -#endif // BOOST_NO_STD_ITERATOR - - S* out; -public: - string_out_iterator(S& s) : out(&s) {} - string_out_iterator& operator++() { return *this; } - string_out_iterator& operator++(int) { return *this; } - string_out_iterator& operator*() { return *this; } - string_out_iterator& operator=(typename S::value_type v) - { - out->append(1, v); - return *this; - } -}; - -namespace boost{ -#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && (__BORLANDC__ == 0x550)) || defined(__SGI_STL_PORT) -// -// problem with std::getline under MSVC6sp3 -// and C++ Builder 5.5, is this really that hard? -istream& getline(istream& is, std::string& s) -{ - s.erase(); - char c = is.get(); - while(c != '\n') - { - s.append(1, c); - c = is.get(); - } - return is; -} -#elif defined(__CYGWIN__) -istream& getline(istream& is, std::string& s) -{ - std::getline(is, s); - if(s.size() && (s[s.size() -1] == '\r')) - s.erase(s.size() - 1); - return is; -} -#else -using std::getline; -#endif -} - - -int main(int argc, char**argv) -{ - ifstream ifs; - streambuf* pbuf = 0; - if(argc == 2) - { - ifs.open(argv[1]); - if(ifs.bad()) - { - cout << "Bad filename: " << argv[1] << endl; - return -1; - } - pbuf = cin.rdbuf(ifs.rdbuf()); - } - - boost::regex ex; - boost::match_results sm; -#ifndef BOOST_NO_WREGEX - std::wstring ws1, ws2; - boost::wregex wex; - boost::match_results wsm; -#endif - boost::match_results::iterator> dm; - std::string s1, s2, ts; - std::deque ds; - boost::regex_t r; - boost::scoped_array matches; - std::size_t nsubs; - boost::timer t; - double tim; - bool result; - int iters = 100; - double wait_time = std::min(t.elapsed_min() * 1000, 1.0); - - while(true) - { - cout << "Enter expression (or \"quit\" to exit): "; - boost::getline(cin, s1); - if(argc == 2) - cout << endl << s1 << endl; - if(s1 == "quit") - break; -#ifndef BOOST_NO_WREGEX - ws1.erase(); - std::copy(s1.begin(), s1.end(), string_out_iterator(ws1)); -#endif - try{ - ex.assign(s1); -#ifndef BOOST_NO_WREGEX - wex.assign(ws1); -#endif - } - catch(std::exception& e) - { - cout << "Error in expression: \"" << e.what() << "\"" << endl; - continue; - } - int code = regcomp(&r, s1.c_str(), boost::REG_PERL); - if(code != 0) - { - char buf[256]; - regerror(code, &r, buf, 256); - cout << "regcomp error: \"" << buf << "\"" << endl; - continue; - } - nsubs = r.re_nsub + 1; - matches.reset(new boost::regmatch_t[nsubs]); - - while(true) - { - cout << "Enter string to search (or \"quit\" to exit): "; - boost::getline(cin, s2); - if(argc == 2) - cout << endl << s2 << endl; - if(s2 == "quit") - break; - -#ifndef BOOST_NO_WREGEX - ws2.erase(); - std::copy(s2.begin(), s2.end(), string_out_iterator(ws2)); -#endif - ds.erase(ds.begin(), ds.end()); - std::copy(s2.begin(), s2.end(), std::back_inserter(ds)); - - int i; - iters = 10; - tim = 1.1; - -#if defined(_WIN32) && defined(BOOST_REGEX_USE_WIN32_LOCALE) - MSG msg; - PeekMessage(&msg, 0, 0, 0, 0); - Sleep(0); -#endif - - // cache load: - regex_search(s2, sm, ex); - - // measure time interval for reg_expression - do{ - iters *= (tim > 0.001) ? (1.1/tim) : 100; - t.restart(); - for(i =0; i < iters; ++i) - { - result = regex_search(s2, sm, ex); - } - tim = t.elapsed(); - }while(tim < wait_time); - - cout << "regex time: " << (tim * 1000000 / iters) << "us" << endl; - if(result) - { - for(i = 0; i < sm.size(); ++i) - { - ts = sm[i]; - cout << "\tmatch " << i << ": \""; - cout << ts; - cout << "\" (matched=" << sm[i].matched << ")" << endl; - } - cout << "\tmatch $`: \""; - cout << std::string(sm[-1]); - cout << "\" (matched=" << sm[-1].matched << ")" << endl; - cout << "\tmatch $': \""; - cout << std::string(sm[-2]); - cout << "\" (matched=" << sm[-2].matched << ")" << endl << endl; - } - -#ifndef BOOST_NO_WREGEX - // measure time interval for boost::wregex - iters = 10; - tim = 1.1; - // cache load: - regex_search(ws2, wsm, wex); - do{ - iters *= (tim > 0.001) ? (1.1/tim) : 100; - t.restart(); - for(i = 0; i < iters; ++i) - { - result = regex_search(ws2, wsm, wex); - } - tim = t.elapsed(); - }while(tim < wait_time); - cout << "wregex time: " << (tim * 1000000 / iters) << "us" << endl; - if(result) - { - std::wstring tw; - for(i = 0; i < wsm.size(); ++i) - { - tw.erase(); - std::copy(wsm[i].first, wsm[i].second, string_out_iterator(tw)); - cout << "\tmatch " << i << ": \"" << tw; - cout << "\" (matched=" << sm[i].matched << ")" << endl; - } - cout << "\tmatch $`: \""; - tw.erase(); - std::copy(wsm[-1].first, wsm[-1].second, string_out_iterator(tw)); - cout << tw; - cout << "\" (matched=" << sm[-1].matched << ")" << endl; - cout << "\tmatch $': \""; - tw.erase(); - std::copy(wsm[-2].first, wsm[-2].second, string_out_iterator(tw)); - cout << tw; - cout << "\" (matched=" << sm[-2].matched << ")" << endl << endl; - } -#endif - - // measure time interval for reg_expression using a deque - iters = 10; - tim = 1.1; - // cache load: - regex_search(ds.begin(), ds.end(), dm, ex); - do{ - iters *= (tim > 0.001) ? (1.1/tim) : 100; - t.restart(); - for(i = 0; i < iters; ++i) - { - result = regex_search(ds.begin(), ds.end(), dm, ex); - } - tim = t.elapsed(); - }while(tim < wait_time); - cout << "regex time (search over std::deque): " << (tim * 1000000 / iters) << "us" << endl; - - if(result) - { - for(i = 0; i < dm.size(); ++i) - { - ts.erase(); - std::copy(dm[i].first, dm[i].second, string_out_iterator(ts)); - cout << "\tmatch " << i << ": \"" << ts; - cout << "\" (matched=" << sm[i].matched << ")" << endl; - } - cout << "\tmatch $`: \""; - ts.erase(); - std::copy(dm[-1].first, dm[-1].second, string_out_iterator(ts)); - cout << ts; - cout << "\" (matched=" << sm[-1].matched << ")" << endl; - cout << "\tmatch $': \""; - ts.erase(); - std::copy(dm[-2].first, dm[-2].second, string_out_iterator(ts)); - cout << ts; - cout << "\" (matched=" << sm[-2].matched << ")" << endl << endl; - } - - // measure time interval for POSIX matcher: - iters = 10; - tim = 1.1; - // cache load: - regexec(&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); - } - tim = t.elapsed(); - }while(tim < wait_time); - cout << "POSIX regexec time: " << (tim * 1000000 / iters) << "us" << endl; - - if(result == 0) - { - for(i = 0; i < nsubs; ++i) - { - if(matches[i].rm_so >= 0) - { - ts.assign(s2.begin() + matches[i].rm_so, s2.begin() + matches[i].rm_eo); - cout << "\tmatch " << i << ": \"" << ts << "\" (matched=" << (matches[i].rm_so != -1) << ")"<< endl; - } - else - cout << "\tmatch " << i << ": \"\" (matched=" << (matches[i].rm_so != -1) << ")" << endl; // no match - } - cout << "\tmatch $`: \""; - ts.erase(); - ts.assign(s2.begin(), s2.begin() + matches[0].rm_so); - cout << ts; - cout << "\" (matched=" << (matches[0].rm_so != 0) << ")" << endl; - cout << "\tmatch $': \""; - ts.erase(); - ts.assign(s2.begin() + matches[0].rm_eo, s2.end()); - cout << ts; - cout << "\" (matched=" << (matches[0].rm_eo != s2.size()) << ")" << endl << endl; - } - } - regfree(&r); - } - - if(pbuf) - cin.rdbuf(pbuf); - - return 0; -} - - - - - - - - - - - diff --git a/example/timer/vc6-stlport.mak b/example/timer/vc6-stlport.mak deleted file mode 100644 index 2b229904..00000000 --- a/example/timer/vc6-stlport.mak +++ /dev/null @@ -1,34 +0,0 @@ -# -# very basic VC6 makefile for timer -# -CXX=cl -CXXFLAGS=/Oityb1 /GF /Gy -MT -GX -DSTRICT -I../../../../ -I./ -LIBS=/link /LIBPATH:..\..\build\vc6-stlport kernel32.lib user32.lib -EXE=.exe -OBJ=.obj - -LIBDEP= ../../../../boost/regex/detail/regex_options.hpp ../../../../boost/regex/detail/regex_config.hpp - -regex_timer$(EXE) : regex_timer$(OBJ) - $(CXX) -o timer$(EXE) regex_timer$(OBJ) $(LIBS) - -regex_timer$(OBJ) : regex_timer.cpp $(LIBDEP) - $(CXX) -c $(CXXFLAGS) regex_timer.cpp - -timer$(OBJ) : ../../../timer/timer.cpp $(LIBDEP) - $(CXX) -c $(CXXFLAGS) ../../../timer/timer.cpp - - - - - - - - - - - - - - - diff --git a/example/timer/vc6.mak b/example/timer/vc6.mak deleted file mode 100644 index 7ef568f5..00000000 --- a/example/timer/vc6.mak +++ /dev/null @@ -1,34 +0,0 @@ -# -# very basic VC6 makefile for timer -# -CXX=cl -CXXFLAGS=/Oityb1 /GF /Gy -GX -DSTRICT -I../../../../ -I./ -LIBS=/link /LIBPATH:..\..\build\vc6 -EXE=.exe -OBJ=.obj - -LIBDEP= ../../../../boost/regex/detail/regex_options.hpp ../../../../boost/regex/detail/regex_config.hpp - -regex_timer$(EXE) : regex_timer$(OBJ) - $(CXX) -o timer$(EXE) regex_timer$(OBJ) $(LIBS) - -regex_timer$(OBJ) : regex_timer.cpp $(LIBDEP) - $(CXX) -c $(CXXFLAGS) regex_timer.cpp - -timer$(OBJ) : ../../../timer/timer.cpp $(LIBDEP) - $(CXX) -c $(CXXFLAGS) ../../../timer/timer.cpp - - - - - - - - - - - - - - - diff --git a/include/boost/regex/config.hpp b/include/boost/regex/config.hpp deleted file mode 100644 index 0b80fafc..00000000 --- a/include/boost/regex/config.hpp +++ /dev/null @@ -1,559 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE config.hpp - * VERSION see - * DESCRIPTION: regex extended config setup. - */ - -#ifndef BOOST_REGEX_CONFIG_HPP -#define BOOST_REGEX_CONFIG_HPP -// -// Borland C++ Fix/error check -// this has to go *before* we include any std lib headers: -// -#if defined(__BORLANDC__) -# include -#endif - -/***************************************************************************** - * - * Include all the headers we need here: - * - ****************************************************************************/ - -#ifdef __cplusplus - -# ifndef BOOST_REGEX_USER_CONFIG -# define BOOST_REGEX_USER_CONFIG -# endif - -# include BOOST_REGEX_USER_CONFIG - -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -#else - // - // C build, - // don't include because that may - // do C++ specific things in future... - // -# include -# include -# ifdef _MSC_VER -# define BOOST_MSVC _MSC_VER -# endif -#endif - -/***************************************************************************** - * - * Boilerplate regex config options: - * - ****************************************************************************/ - -/* Obsolete macro, use BOOST_VERSION instead: */ -#define BOOST_RE_VERSION 320 - -// fix: -#if defined(_UNICODE) && !defined(UNICODE) -#define UNICODE -#endif - -// -// If there isn't good enough wide character support then there will -// be no wide character regular expressions: -// -#if (defined(BOOST_NO_CWCHAR) || defined(BOOST_NO_CWCTYPE) || defined(BOOST_NO_STD_WSTRING)) -# if !defined(BOOST_NO_WREGEX) -# define BOOST_NO_WREGEX -# endif -#else -# if defined(__sgi) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) - // STLPort on IRIX is misconfigured: does not compile - // as a temporary fix include instead and prevent inclusion - // of STLPort version of -# include -# define __STLPORT_CWCTYPE -# define _STLP_CWCTYPE -# endif - -#ifdef __cplusplus -# include -#endif - -#endif - -// -// If Win32 support has been disabled for boost in general, then -// it is for regex in particular: -// -#ifdef BOOST_DISABLE_WIN32 -# define BOOST_REGEX_NO_W32 -#endif - -// some versions of gcc can't merge template instances: -#if defined(__CYGWIN__) -# define BOOST_REGEX_NO_TEMPLATE_SWITCH_MERGE -#endif - -// fix problems with bool as a macro, -// this probably doesn't affect any current compilers: -#if defined(bool) || defined(true) || defined(false) -# define BOOST_REGEX_NO_BOOL -#endif - -// We don't make our templates external if the compiler -// can't handle it: -#if (defined(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS) || defined(__HP_aCC) || defined(__MWERKS__) || defined(__COMO__) || defined(BOOST_INTEL))\ - && !defined(BOOST_MSVC) && !defined(__BORLANDC__) -# define BOOST_REGEX_NO_EXTERNAL_TEMPLATES -#endif - -// disable our own file-iterators and mapfiles if we can't -// support them: -#if !defined(BOOST_HAS_DIRENT_H) && !(defined(_WIN32) && !defined(BOOST_REGEX_NO_W32)) -# define BOOST_REGEX_NO_FILEITER -#endif - -#ifdef __cplusplus -#ifndef MB_CUR_MAX -// yuk! -// better make a conservative guess! -#define MB_CUR_MAX 10 -#endif - -namespace boost{ namespace re_detail{ -#ifdef BOOST_NO_STD_DISTANCE -template -std::ptrdiff_t distance(const T& x, const T& y) -{ return y - x; } -#else -using std::distance; -#endif -}} - - -#ifdef BOOST_REGEX_NO_BOOL -# define BOOST_REGEX_MAKE_BOOL(x) static_cast((x) ? true : false) -#else -# ifdef BOOST_MSVC - // warning suppression with VC6: -# pragma warning(disable: 4800) -# endif -# define BOOST_REGEX_MAKE_BOOL(x) static_cast(x) -#endif -#endif // __cplusplus - -// backwards compatibitity: -#if defined(BOOST_RE_NO_LIB) -# define BOOST_REGEX_NO_LIB -#endif - -#if defined(__GNUC__) && (defined(_WIN32) || defined(__CYGWIN__)) -// gcc on win32 has problems merging switch statements in templates: -# define BOOST_REGEX_NO_TEMPLATE_SWITCH_MERGE -// gcc on win32 has problems if you include -// (sporadically generates bad code). -# define BOOST_REGEX_USE_C_LOCALE -# define BOOST_REGEX_NO_W32 -#endif - - -/***************************************************************************** - * - * Set up dll import/export options: - * - ****************************************************************************/ - -// backwards compatibility: -#ifdef BOOST_RE_STATIC_LIB -# define BOOST_REGEX_STATIC_LINK -#endif - -#if defined(BOOST_MSVC) && defined(_DLL) -# define BOOST_REGEX_HAS_DLL_RUNTIME -#endif - -#if defined(__BORLANDC__) && defined(_RTLDLL) -# define BOOST_REGEX_HAS_DLL_RUNTIME -#endif - -#if defined(__ICL) && defined(_DLL) -# define BOOST_REGEX_HAS_DLL_RUNTIME -#endif - -#if defined(BOOST_REGEX_HAS_DLL_RUNTIME) && !defined(BOOST_REGEX_STATIC_LINK) -# if defined(BOOST_REGEX_SOURCE) -# define BOOST_REGEX_DECL __declspec(dllexport) -# define BOOST_REGEX_BUILD_DLL -# else -# define BOOST_REGEX_DECL __declspec(dllimport) -# endif -#endif - -#ifndef BOOST_REGEX_DECL -# define BOOST_REGEX_DECL -#endif - -#if (defined(BOOST_MSVC) || defined(__BORLANDC__)) && !defined(BOOST_REGEX_NO_LIB) && !defined(BOOST_REGEX_SOURCE) -# include -#endif - -/***************************************************************************** - * - * Set up function call type: - * - ****************************************************************************/ - -#if defined(BOOST_MSVC) || defined(__ICL) -# if defined(_DEBUG) -# define BOOST_REGEX_CALL __cdecl -# else -# define BOOST_REGEX_CALL __fastcall -# endif -# define BOOST_REGEX_CCALL __stdcall -#endif - -#if defined(__BORLANDC__) -# define BOOST_REGEX_CALL __fastcall -# define BOOST_REGEX_CCALL __stdcall -#endif - -#ifndef BOOST_REGEX_CALL -# define BOOST_REGEX_CALL -#endif -#ifndef BOOST_REGEX_CCALL -#define BOOST_REGEX_CCALL -#endif - -/***************************************************************************** - * - * Set up localisation model: - * - ****************************************************************************/ - -// backwards compatibility: -#ifdef BOOST_RE_LOCALE_C -# define BOOST_REGEX_USE_C_LOCALE -#endif - -#ifdef BOOST_RE_LOCALE_CPP -# define BOOST_REGEX_USE_CPP_LOCALE -#endif - -// Win32 defaults to native Win32 locale: -#if defined(_WIN32) && !defined(BOOST_REGEX_USE_WIN32_LOCALE) && !defined(BOOST_REGEX_USE_C_LOCALE) && !defined(BOOST_REGEX_USE_CPP_LOCALE) && !defined(BOOST_REGEX_NO_W32) -# define BOOST_REGEX_USE_WIN32_LOCALE -#endif -// otherwise use C locale: -#if !defined(BOOST_REGEX_USE_WIN32_LOCALE) && !defined(BOOST_REGEX_USE_C_LOCALE) && !defined(BOOST_REGEX_USE_CPP_LOCALE) -# define BOOST_REGEX_USE_C_LOCALE -#endif - -#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32) -# include -#endif - -#ifdef MAXPATH -# define BOOST_REGEX_MAX_PATH MAXPATH -#elif defined(MAX_PATH) -# define BOOST_REGEX_MAX_PATH MAX_PATH -#elif defined(FILENAME_MAX) -# define BOOST_REGEX_MAX_PATH FILENAME_MAX -#else -# define BOOST_REGEX_MAX_PATH 200 -#endif - -#ifndef BOOST_REGEX_MAX_STATE_COUNT -# define BOOST_REGEX_MAX_STATE_COUNT 100000000 -#endif - - -/***************************************************************************** - * - * Error Handling for exception free compilers: - * - ****************************************************************************/ - -#ifdef BOOST_NO_EXCEPTIONS -// -// If there are no exceptions then we must report critical-errors -// the only way we know how; by terminating. -// -# define BOOST_REGEX_NOEH_ASSERT(x)\ -if(0 == (x))\ -{\ - std::string s("Error: critical regex++ failure in: ");\ - s.append(#x);\ - std::runtime_error e(s);\ - boost::throw_exception(e);\ -} -#else -// -// With exceptions then error handling is taken care of and -// there is no need for these checks: -// -# define BOOST_REGEX_NOEH_ASSERT(x) -#endif - -/***************************************************************************** - * - * Debugging / tracing support: - * - ****************************************************************************/ - -#if defined(BOOST_REGEX_DEBUG) && defined(__cplusplus) - -# include -using std::cout; -using std::cin; -using std::cerr; -using std::endl; -using std::hex; -using std::dec; - -# ifndef jm_assert -# define jm_assert(x) assert(x) -# endif -# ifndef jm_trace -# define jm_trace(x) cerr << x << endl; -# endif -# ifndef jm_instrument -# define jm_instrument jm_trace(__FILE__<<"#"<<__LINE__) -# endif - -namespace boost{ - namespace re_detail{ -class debug_guard -{ -public: - char g1[32]; - const char* pc; - char* pnc; - const char* file; - int line; - char g2[32]; - debug_guard(const char* f, int l, const char* p1 = 0, char* p2 = 0); - ~debug_guard(); -}; - -# define BOOST_RE_GUARD_STACK boost::re_detail::debug_guard sg(__FILE__, __LINE__); -# define BOOST_RE_GUARD_GLOBAL(x) const char g1##x[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, }; char g2##x[32]; boost::debug_guard g3##x(__FILE__, __LINE__, g1##x, g2##x); - - } // namespace re_detail -} // namespace boost - -#else - -# define jm_assert(x) -# define jm_trace(x) -# define BOOST_RE_GUARD_STACK -# define BOOST_RE_GUARD_GLOBAL(x) -# ifndef jm_instrument -# define jm_instrument -# endif -#endif - -/***************************************************************************** - * - * Stack protection under MS Windows: - * - ****************************************************************************/ - -#if !defined(BOOST_REGEX_NO_W32) && !defined(BOOST_REGEX_V3) -# if(defined(_WIN32) || defined(_WIN64) || defined(_WINCE)) && !defined(__GNUC__) -# define BOOST_REGEX_HAS_MS_STACK_GUARD -# endif -#elif defined(BOOST_REGEX_HAS_MS_STACK_GUARD) -# undef BOOST_REGEX_HAS_MS_STACK_GUARD -#endif - -#if defined(__cplusplus) && defined(BOOST_REGEX_HAS_MS_STACK_GUARD) - -namespace boost{ -namespace re_detail{ - -BOOST_REGEX_DECL void BOOST_REGEX_CALL reset_stack_guard_page(); - -} -} - -#endif - - -/***************************************************************************** - * - * Error handling: - * - ****************************************************************************/ - -#if defined(__cplusplus) - -namespace boost{ -namespace re_detail{ - -BOOST_REGEX_DECL void BOOST_REGEX_CALL raise_regex_exception(const std::string& s); - -template -void raise_error(const traits& t, unsigned code) -{ - (void)t; // warning suppression - raise_regex_exception(t.error_string(code)); -} - -} -} - -#endif - -/***************************************************************************** - * - * Algorithm selection and configuration: - * - ****************************************************************************/ - -#if !defined(BOOST_REGEX_RECURSIVE) && !defined(BOOST_REGEX_NON_RECURSIVE) -# if defined(BOOST_REGEX_HAS_MS_STACK_GUARD) && !defined(_STLP_DEBUG) && !defined(__STL_DEBUG) -# define BOOST_REGEX_RECURSIVE -# else -# define BOOST_REGEX_NON_RECURSIVE -# endif -#endif - -#ifdef BOOST_REGEX_NON_RECURSIVE -# ifdef BOOST_REGEX_RECURSIVE -# error "Can't set both BOOST_REGEX_RECURSIVE and BOOST_REGEX_NON_RECURSIVE" -# endif -# ifndef BOOST_REGEX_BLOCKSIZE -# define BOOST_REGEX_BLOCKSIZE 4096 -# endif -# if BOOST_REGEX_BLOCKSIZE < 512 -# error "BOOST_REGEX_BLOCKSIZE must be at least 512" -# endif -# ifndef BOOST_REGEX_MAX_BLOCKS -# define BOOST_REGEX_MAX_BLOCKS 1024 -# endif -# ifdef BOOST_REGEX_HAS_MS_STACK_GUARD -# undef BOOST_REGEX_HAS_MS_STACK_GUARD -# endif -# ifndef BOOST_REGEX_MAX_CACHE_BLOCKS -# define BOOST_REGEX_MAX_CACHE_BLOCKS 16 -# endif -#endif - - -/***************************************************************************** - * - * Fix broken compilers that wrongly #define some symbols: - * - ****************************************************************************/ - -#ifdef __cplusplus - -// the following may be defined as macros; this is -// incompatable with std::something syntax, we have -// no choice but to undef them? - -#ifdef sprintf -#undef sprintf -#endif -#ifdef swprintf -#undef swprintf -#endif -#endif - -/***************************************************************************** - * - * Fix broken broken namespace support: - * - ****************************************************************************/ - -#if defined(BOOST_NO_STDC_NAMESPACE) && defined(__cplusplus) - -namespace std{ - using ::ptrdiff_t; - using ::size_t; - using ::sprintf; - using ::abs; - using ::setlocale; -# ifndef BOOST_NO_WREGEX -# ifndef BOOST_NO_SWPRINTF - using ::swprintf; -# endif - using ::wcstombs; - using ::mbstowcs; -# if !defined(BOOST_NO_STD_LOCALE) && !defined (__STL_NO_NATIVE_MBSTATE_T) && !defined(_STLP_NO_NATIVE_MBSTATE_T) - using ::mbstate_t; -# endif -# endif // BOOST_NO_WREGEX - using ::fseek; - using ::fread; - using ::ftell; - using ::fopen; - using ::fclose; - using ::FILE; -#ifdef BOOST_NO_EXCEPTIONS - using ::fprintf; - using ::abort; -#endif -} - -#endif - -/***************************************************************************** - * - * helper functions pointer_construct/pointer_destroy: - * - ****************************************************************************/ - -#ifdef __cplusplus -namespace boost{ namespace re_detail{ - -#ifdef BOOST_MSVC -#pragma warning (push) -#pragma warning (disable : 4100) -#endif - -template -inline void pointer_destroy(T* p) -{ p->~T(); (void)p; } - -#ifdef BOOST_MSVC -#pragma warning (pop) -#endif - -template -inline void pointer_construct(T* p, const T& t) -{ new (p) T(t); } - -}} // namespaces -#endif - -#endif - diff --git a/include/boost/regex/config/borland.hpp b/include/boost/regex/config/borland.hpp deleted file mode 100644 index c87e6b47..00000000 --- a/include/boost/regex/config/borland.hpp +++ /dev/null @@ -1,64 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE boost/regex/config/borland.hpp - * VERSION see - * DESCRIPTION: regex borland-specific config setup. - */ - - -#if defined(__BORLANDC__) -# if (__BORLANDC__ == 0x550) || (__BORLANDC__ == 0x551) - // problems with std::basic_string and dll RTL: -# if defined(_RTLDLL) && defined(_RWSTD_COMPILE_INSTANTIATE) -# ifdef BOOST_REGEX_BUILD_DLL -# error _RWSTD_COMPILE_INSTANTIATE must not be defined when building regex++ as a DLL -# else -# pragma message("Defining _RWSTD_COMPILE_INSTANTIATE when linking to the DLL version of the RTL may produce memory corruption problems in std::basic_string, as a result of separate versions of basic_string's static data in the RTL and you're exe/dll: be warned!!") -# endif -# endif -# ifndef _RTLDLL - // this is harmless for a staic link: -# define _RWSTD_COMPILE_INSTANTIATE -# endif -# endif -# if (__BORLANDC__ <= 0x540) && !defined(BOOST_REGEX_NO_LIB) && !defined(_NO_VCL) - // C++ Builder 4 and earlier, we can't tell whether we should be using - // the VCL runtime or not, do a static link instead: -# define BOOST_REGEX_STATIC_LINK -# endif - // - // VCL support: - // if we're building a console app then there can't be any VCL (can there?) -# if !defined(__CONSOLE__) && !defined(_NO_VCL) -# define BOOST_REGEX_USE_VCL -# endif - // - // if this isn't Win32 then don't automatically select link - // libraries: - // -# ifndef _Windows -# ifndef BOOST_REGEX_NO_LIB -# define BOOST_REGEX_NO_LIB -# endif -# ifndef BOOST_REGEX_STATIC_LINK -# define BOOST_REGEX_STATIC_LINK -# endif -# endif - -#endif - diff --git a/include/boost/regex/config/cstring.hpp b/include/boost/regex/config/cstring.hpp deleted file mode 100644 index 316f0b8c..00000000 --- a/include/boost/regex/config/cstring.hpp +++ /dev/null @@ -1,229 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE boost/regex/config/cstring.hpp - * VERSION see - * DESCRIPTION: regex narrow character string fixes. - */ - -#ifndef BOOST_REGEX_CONFIG_CSTRING_HPP -#define BOOST_REGEX_CONFIG_CSTRING_HPP - -#include -#include -#ifdef __KCC -#include -#endif -#include - -namespace std{ - -#ifndef BOOST_NO_STDC_NAMESPACE -extern "C"{ -#endif - -// Any function that is a macro is converted into an inline function: -#ifdef memcmp -inline int (memcmp)(const void * p1, const void * p2, size_t s) -{ return memcmp(p1, p2, s); } -#undef memcmp -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::memcmp; -#endif - -#ifdef memcpy -inline void *(memcpy)(void * p1, const void *p2, size_t s) -{ return memcpy(p1, p2, s); } -#undef memcpy -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::memcpy; -#endif - -#ifdef memmove -inline void *(memmove)(void *, const void *, size_t) -{ return memmove(p1,p2,s); } -#undef memmove -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::memmove; -#endif - -#ifdef memset -inline void *(memset)(void *p, int a, size_t b) -{ return memset(p,a,b); } -#undef memset -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::memset; -#endif - -#ifdef strcat -inline char *(strcat)(char *p1, const char *p2) -{ return strcat(p1,p2); } -#undef strcat -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::strcat; -#endif - -#ifdef strcmp -inline int (strcmp)(const char *p1, const char *p2) -{ return strcmp(p1,p2); } -#undef strcmp -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::strcmp; -#endif - -#ifdef strcoll -inline int (strcoll)(const char *p1, const char *p2) -{ return strcoll(p1,p2); } -#undef strcoll -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::strcoll; -#endif - -#ifdef strcpy -inline char *(strcpy)(char *p1, const char *p2) -{ return strcpy(p1,p2); } -#undef strcpy -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::strcpy; -#endif - -#ifdef strlen -inline size_t (strlen)(const char *p) -{ return strlen(p); } -#undef strlen -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::strlen; -#endif - -#ifdef strxfrm -inline size_t (strxfrm)(char *p1, const char *p2, size_t s) -{ return strxfrm(p1,p2,s); } -#undef strxfrm -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::strxfrm; -#endif - -#ifdef isalnum -inline int (isalnum)(int i) -{ return isalnum(i); } -#undef isalnum -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::isalnum; -#endif - -#ifdef isalpha -inline int (isalpha)(int i) -{ return isalpha(i); } -#undef isalpha -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::isalpha; -#endif - -#ifdef iscntrl -inline int (iscntrl)(int i) -{ return iscntrl(i); } -#undef iscntrl -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iscntrl; -#endif - -#ifdef isdigit -inline int (isdigit)(int i) -{ return isdigit(i); } -#undef isdigit -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::isdigit; -#endif - -#ifdef isgraph -inline int (isgraph)(int i) -{ return isgraph(i); } -#undef isgraph -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::isgraph; -#endif - -#ifdef islower -inline int (islower)(int i) -{ return islower(i); } -#undef islower -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::islower; -#endif - -#ifdef isprint -inline int (isprint)(int i) -{ return isprint(i); } -#undef isprint -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::isprint; -#endif - -#ifdef ispunct -inline int (ispunct)(int i) -{ return ispunct(i); } -#undef ispunct -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::ispunct; -#endif - -#ifdef isspace -inline int (isspace)(int i) -{ return isspace(i); } -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::isspace; -#endif - -#ifdef isupper -inline int (isupper)(int i) -{ return isupper(i); } -#undef isupper -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::isupper; -#endif - -#ifdef isxdigit -inline int (isxdigit)(int i) -{ return isxdigit(i); } -#undef isxdigit -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::isxdigit; -#endif - -#ifdef tolower -inline int (tolower)(int i) -{ return tolower(i); } -#undef tolower -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::tolower; -#endif - -#ifdef toupper -inline int (toupper)(int i) -{ return toupper(i); } -#undef toupper -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::toupper; -#endif - -#ifndef BOOST_NO_STDC_NAMESPACE -} // extern "C" -#endif - -} // namespace std - -#endif diff --git a/include/boost/regex/config/cwchar.hpp b/include/boost/regex/config/cwchar.hpp deleted file mode 100644 index 0403a252..00000000 --- a/include/boost/regex/config/cwchar.hpp +++ /dev/null @@ -1,187 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE boost/regex/config/cwchar.hpp - * VERSION see - * DESCRIPTION: regex wide character string fixes. - */ - -#ifndef BOOST_REGEX_CONFIG_CWCHAR_HPP -#define BOOST_REGEX_CONFIG_CWCHAR_HPP - -#include -#include -#include - -namespace std{ - -#ifndef BOOST_NO_STDC_NAMESPACE -extern "C"{ -#endif - -#ifdef iswalnum -inline int (iswalnum)(wint_t i) -{ return iswalnum(i); } -#undef iswalnum -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswalnum; -#endif - -#ifdef iswalpha -inline int (iswalpha)(wint_t i) -{ return iswalpha(i); } -#undef iswalpha -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswalpha; -#endif - -#ifdef iswcntrl -inline int (iswcntrl)(wint_t i) -{ return iswcntrl(i); } -#undef iswcntrl -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswcntrl; -#endif - -#ifdef iswdigit -inline int (iswdigit)(wint_t i) -{ return iswdigit(i); } -#undef iswdigit -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswdigit; -#endif - -#ifdef iswgraph -inline int (iswgraph)(wint_t i) -{ return iswgraph(i); } -#undef iswgraph -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswgraph; -#endif - -#ifdef iswlower -inline int (iswlower)(wint_t i) -{ return iswlower(i); } -#undef iswlower -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswlower; -#endif - -#ifdef iswprint -inline int (iswprint)(wint_t i) -{ return iswprint(i); } -#undef iswprint -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswprint; -#endif - -#ifdef iswpunct -inline int (iswpunct)(wint_t i) -{ return iswpunct(i); } -#undef iswpunct -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswpunct; -#endif - -#ifdef iswspace -inline int (iswspace)(wint_t i) -{ return iswspace(i); } -#undef iswspace -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswspace; -#endif - -#ifdef iswupper -inline int (iswupper)(wint_t i) -{ return iswupper(i); } -#undef iswupper -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswupper; -#endif - -#ifdef iswxdigit -inline int (iswxdigit)(wint_t i) -{ return iswxdigit(i); } -#undef iswxdigit -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::iswxdigit; -#endif - -#ifdef towlower -inline wint_t (towlower)(wint_t i) -{ return towlower(i); } -#undef towlower -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::towlower; -#endif - -#ifdef towupper -inline wint_t (towupper)(wint_t i) -{ return towupper(i); } -#undef towupper -#elif defined(BOOST_NO_STDC_NAMESPACE) -using :: towupper; -#endif - -#ifdef wcscmp -inline int (wcscmp)(const wchar_t *p1, const wchar_t *p2) -{ return wcscmp(p1,p2); } -#undef wcscmp -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::wcscmp; -#endif - -#ifdef wcscoll -inline int (wcscoll)(const wchar_t *p1, const wchar_t *p2) -{ return wcscoll(p1,p2); } -#undef wcscoll -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::wcscoll; -#endif - -#ifdef wcscpy -inline wchar_t *(wcscpy)(wchar_t *p1, const wchar_t *p2) -{ return wcscpy(p1,p2); } -#undef wcscpy -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::wcscpy; -#endif - -#ifdef wcslen -inline size_t (wcslen)(const wchar_t *p) -{ return wcslen(p); } -#undef wcslen -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::wcslen; -#endif - -#ifdef wcsxfrm -size_t wcsxfrm(wchar_t *p1, const wchar_t *p2, size_t s) -{ return wcsxfrm(p1,p2,s); } -#undef wcsxfrm -#elif defined(BOOST_NO_STDC_NAMESPACE) -using ::wcsxfrm; -#endif - - -#ifndef BOOST_NO_STDC_NAMESPACE -} // extern "C" -#endif - -} // namespace std - -#endif diff --git a/include/boost/regex/config/regex_library_include.hpp b/include/boost/regex/config/regex_library_include.hpp deleted file mode 100644 index c76a7e3b..00000000 --- a/include/boost/regex/config/regex_library_include.hpp +++ /dev/null @@ -1,205 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_libary_include.hpp - * VERSION see - * DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers. - * Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -/************************************************************************* - -Libraries for Borland and Microsoft compilers are automatically -selected here, the name of the lib is selected according to the following -formula: - -BOOST_LIB_PREFIX - + BOOST_LIB_NAME - + "_" - + BOOST_LIB_TOOLSET - + "_" - + BOOST_LIB_THREAD_OPT - + BOOST_LIB_RT_OPT - + BOOST_LIB_DEBUG_OPT - -These are defined as: - -BOOST_LIB_PREFIX: "lib" for static libraries otherwise "". - -BOOST_LIB_NAME: The base name of the lib (boost_regex). - -BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc). - -BOOST_LIB_THREAD_OPT: "s" for single thread builds, - "m" for multithread builds. - -BOOST_LIB_RT_OPT: "s" for static runtime, - "d" for dynamic runtime. - -BOOST_LIB_DEBUG_OPT: nothing for release builds, - "d" for debug builds, - "dd" for debug-diagnostic builds (_STLP_DEBUG). - -***************************************************************************/ - -#if !defined(BOOST_REGEX_LIBRARY_INCLUDE_HPP) && !defined(BOOST_REGEX_NO_LIB) -#define BOOST_REGEX_LIBRARY_INCLUDE_HPP - -#define BOOST_LIB_NAME "boost_regex" - -// -// select toolset: -// -#if defined(BOOST_MSVC) && (BOOST_MSVC == 1200) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) - - // vc6-stlport: -# define BOOST_LIB_TOOLSET "vc6-stlport" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1200) - - // vc6: -# define BOOST_LIB_TOOLSET "vc6" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) - - // vc6-stlport: -# define BOOST_LIB_TOOLSET "vc7-stlport" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300) - - // vc7: -# define BOOST_LIB_TOOLSET "vc7" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1310) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) - - // vc71-stlport: -# define BOOST_LIB_TOOLSET "vc71-stlport" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1310) - - // vc71: -# define BOOST_LIB_TOOLSET "vc71" - -#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) - - // CBuilder 6: -# define BOOST_LIB_TOOLSET "bcb6" - -#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550) - - // CBuilder 6: -# define BOOST_LIB_TOOLSET "bcb5" - -#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x540) - - // CBuilder 6: -# define BOOST_LIB_TOOLSET "bcb4" - -#endif - -// -// select thread opt: -// -#if defined(_MT) || defined(__MT__) -# define BOOST_LIB_THREAD_OPT "m" -#else -# define BOOST_LIB_THREAD_OPT "s" -#endif - -// -// select runtime opt: -// -#if defined(_DLL) || defined(_RTLDLL) -# define BOOST_LIB_RT_OPT "d" -#else -# define BOOST_LIB_RT_OPT "s" -#endif - -// -// select linkage opt: -// -#if defined(BOOST_REGEX_STATIC_LINK) && defined(BOOST_REGEX_DYN_LINK) -# undef BOOST_REGEX_STATIC_LINK -#endif -#if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_REGEX_DYN_LINK) -# define BOOST_LIB_PREFIX -#else -# define BOOST_LIB_PREFIX "lib" -#endif - -// -// select debug opt: -// -#if defined(BOOST_MSVC) && defined(_DEBUG) && (defined(_STLP_DEBUG) || defined(__STL_DEBUG)) -# define BOOST_LIB_DEBUG_OPT "dd" -#elif defined(BOOST_MSVC) && defined(_DEBUG) -# define BOOST_LIB_DEBUG_OPT "d" -#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (defined(_STLP_DEBUG) || defined(__STL_DEBUG)) -# define BOOST_LIB_DEBUG_OPT "dd" -#else -# define BOOST_LIB_DEBUG_OPT -#endif - -// -// now include the lib: -// -#if defined(BOOST_LIB_NAME) \ - && defined(BOOST_LIB_PREFIX) \ - && defined(BOOST_LIB_TOOLSET) \ - && defined(BOOST_LIB_THREAD_OPT) \ - && defined(BOOST_LIB_RT_OPT) \ - && defined(BOOST_LIB_DEBUG_OPT) - -# pragma comment(lib, BOOST_LIB_PREFIX BOOST_LIB_NAME "_" BOOST_LIB_TOOLSET "_" BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_DEBUG_OPT ".lib") -//# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_LIB_NAME "_" BOOST_LIB_TOOLSET "_" BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_DEBUG_OPT ".lib") - -#endif - -// -// finally undef any macros we may have set: -// -#if defined(BOOST_LIB_NAME) -# undef BOOST_LIB_NAME -#endif -#if defined(BOOST_LIB_TOOLSET) -# undef BOOST_LIB_TOOLSET -#endif -#if defined(BOOST_LIB_THREAD_OPT) -# undef BOOST_LIB_THREAD_OPT -#endif -#if defined(BOOST_LIB_RT_OPT) -# undef BOOST_LIB_RT_OPT -#endif -#if defined(BOOST_LIB_LINK_OPT) -# undef BOOST_LIB_LINK_OPT -#endif -#if defined(BOOST_LIB_DEBUG_OPT) -# undef BOOST_LIB_DEBUG_OPT -#endif - - -#endif // BOOST_REGEX_LIBRARY_INCLUDE_HPP - - - - - - - - - diff --git a/include/boost/regex/pattern_except.hpp b/include/boost/regex/pattern_except.hpp deleted file mode 100644 index 9fdad69c..00000000 --- a/include/boost/regex/pattern_except.hpp +++ /dev/null @@ -1,66 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE pattern_except.hpp - * VERSION see - * DESCRIPTION: Declares pattern-matching exception classes. - */ - -#ifndef BOOST_RE_PAT_EXCEPT_HPP -#define BOOST_RE_PAT_EXCEPT_HPP - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif - -namespace boost{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -#endif - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable : 4275) -#endif -class BOOST_REGEX_DECL bad_pattern : public std::runtime_error -{ -public: - explicit bad_pattern(const std::string& s) : std::runtime_error(s){}; - ~bad_pattern() throw(); -}; -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -class BOOST_REGEX_DECL bad_expression : public bad_pattern -{ -public: - explicit bad_expression(const std::string& s) : bad_pattern(s) {} - ~bad_expression() throw(); -}; - - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace boost - -#endif - - diff --git a/include/boost/regex/regex_traits.hpp b/include/boost/regex/regex_traits.hpp deleted file mode 100644 index 09f9cc66..00000000 --- a/include/boost/regex/regex_traits.hpp +++ /dev/null @@ -1,44 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_traits.hpp - * VERSION see - * DESCRIPTION: Declares regular expression traits classes. - */ - -#ifndef BOOST_REGEX_TRAITS_HPP -#define BOOST_REGEX_TRAITS_HPP - -#ifndef BOOST_REGEX_CONFIG_HPP -# include -#endif - -#ifdef BOOST_REGEX_V3 -# ifndef BOOST_REGEX_TRAITS_HPP_INCLUDED -# include -# endif -#else -# ifndef BOOST_REGEX_TRAITS_HPP_INCLUDED -# include -# endif -#endif - -#endif // include - - - - diff --git a/include/boost/regex/src.cpp b/include/boost/regex/src.cpp deleted file mode 100644 index 4e4f6b2a..00000000 --- a/include/boost/regex/src.cpp +++ /dev/null @@ -1,58 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE src.cpp - * VERSION see - * DESCRIPTION: Includes all the regex source files, include this - * file only if you need to build the regex library - * as a single file. You must include this file - * before any other regex header. - * - * CAUTION: THIS FILE IS DEPRICATED AND WILL CAUSE - * UNNECESSARY CODE BLOAT. - */ - -#if (!defined(BOOST_REGEX_NO_LIB) || !defined(BOOST_REGEX_NO_EXTERNAL_TEMPLATES)) && defined(BOOST_REGEX_CONFIG_HPP) -#error too late you have already included a regex header - make sure that you include this header before any other boost header -#endif - -#define BOOST_REGEX_NO_LIB -#define BOOST_REGEX_STATIC_LINK -#define BOOST_REGEX_NO_EXTERNAL_TEMPLATES - -#include - -// -// include library source files: -// -#ifdef BOOST_REGEX_USE_WIN32_LOCALE -#include "libs/regex/src/w32_regex_traits.cpp" -#elif defined(BOOST_REGEX_USE_C_LOCALE) -#include "libs/regex/src/c_regex_traits.cpp" -#else -#include "libs/regex/src/cpp_regex_traits.cpp" -#endif -#include "libs/regex/src/c_regex_traits_common.cpp" -#include "libs/regex/src/cregex.cpp" -#include "libs/regex/src/fileiter.cpp" -#include "libs/regex/src/posix_api.cpp" -#include "libs/regex/src/wide_posix_api.cpp" -#include "libs/regex/src/regex.cpp" -#include "libs/regex/src/regex_debug.cpp" -#include "libs/regex/src/regex_synch.cpp" - - diff --git a/include/boost/regex/user.hpp b/include/boost/regex/user.hpp deleted file mode 100644 index 8141e10b..00000000 --- a/include/boost/regex/user.hpp +++ /dev/null @@ -1,84 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE user.hpp - * VERSION see - * DESCRIPTION: User settable options. - */ - -// define if you want the regex library to use the C locale -// even on Win32: -// #define BOOST_REGEX_USE_C_LOCALE - -// define this is you want the regex library to use the C++ -// locale: -// #define BOOST_REGEX_USE_CPP_LOCALE - -// define this if you want to dynamically link to regex, -// if the runtime library is also a dll (Probably Win32 specific): -// #define BOOST_REGEX_DYN_LINK - -// define this if you don't want the lib to automatically -// select its link libraries: -// #define BOOST_REGEX_NO_LIB - -// define this if templates with switch statements cause problems: -// #define BOOST_REGEX_NO_TEMPLATE_SWITCH_MERGE - -// define this to disable Win32 support when available: -// #define BOOST_REGEX_NO_W32 - -// define this if bool is not a real type: -// #define BOOST_REGEX_NO_BOOL - -// define this if no template instances are to be placed in -// the library rather than users object files: -// #define BOOST_REGEX_NO_EXTERNAL_TEMPLATES - -// define this if the forward declarations in regex_fwd.hpp -// cause more problems than they are worth: -// #define BOOST_REGEX_NO_FWD - -// define this if your compiler can't cope with the new -// version 4 regex code. -// #define BOOST_REGEX_V3 - -// define this if your compiler supports MS Windows structured -// exception handling. -// #define BOOST_REGEX_HAS_MS_STACK_GUARD - -// define this if you want to use the recursive algorithm -// even if BOOST_REGEX_HAS_MS_STACK_GUARD is not defined. -// #define BOOST_REGEX_RECURSIVE - -// define this if you want to use the non-recursive -// algorithm, even if the recursive version would be the default. -// #define BOOST_REGEX_NON_RECURSIVE - -// define this if you want to set the size of the memory blocks -// used by the non-recursive algorithm. -// #define BOOST_REGEX_BLOCKSIZE 4096 - -// define this if you want to set the maximum number of memory blocks -// used by the non-recursive algorithm. -// #define BOOST_REGEX_MAX_BLOCKS 1024 - -// define this if you want to set the maximum number of memory blocks -// cached by the non-recursive algorithm: Normally this is 16, but can be -// higher if you have multiple threads all using boost.regex, or lower -// if you don't want boost.regex to cache memory. -// #define BOOST_REGEX_MAX_CACHE_BLOCKS 16 diff --git a/include/boost/regex/v3/cregex.hpp b/include/boost/regex/v3/cregex.hpp deleted file mode 100644 index fdae77d9..00000000 --- a/include/boost/regex/v3/cregex.hpp +++ /dev/null @@ -1,317 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE cregex.cpp - * VERSION see - * DESCRIPTION: Declares POSIX API functions - * + boost::RegEx high level wrapper. - */ - -#ifndef BOOST_RE_CREGEX_HPP_INCLUDED -#define BOOST_RE_CREGEX_HPP_INCLUDED - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -#endif - -/* include these defs only for POSIX compatablity */ -#ifdef __cplusplus -namespace boost{ -extern "C" { -#endif - -#if defined(__cplusplus) && !defined(BOOST_NO_STDC_NAMESPACE) -typedef std::ptrdiff_t regoff_t; -typedef std::size_t regsize_t; -#else -typedef ptrdiff_t regoff_t; -typedef size_t regsize_t; -#endif - -typedef struct -{ - unsigned int re_magic; - unsigned int re_nsub; /* number of parenthesized subexpressions */ - const char* re_endp; /* end pointer for REG_PEND */ - void* guts; /* none of your business :-) */ - unsigned int eflags; /* none of your business :-) */ -} regex_tA; - -#ifndef BOOST_NO_WREGEX -typedef struct -{ - unsigned int re_magic; - unsigned int re_nsub; /* number of parenthesized subexpressions */ - const wchar_t* re_endp; /* end pointer for REG_PEND */ - void* guts; /* none of your business :-) */ - unsigned int eflags; /* none of your business :-) */ -} regex_tW; -#endif - -typedef struct -{ - regoff_t rm_so; /* start of match */ - regoff_t rm_eo; /* end of match */ -} regmatch_t; - -/* regcomp() flags */ -typedef enum{ - REG_BASIC = 0000, - REG_EXTENDED = 0001, - REG_ICASE = 0002, - REG_NOSUB = 0004, - REG_NEWLINE = 0010, - REG_NOSPEC = 0020, - REG_PEND = 0040, - REG_DUMP = 0200, - REG_NOCOLLATE = 0400, - REG_ESCAPE_IN_LISTS = 01000, - REG_NEWLINE_ALT = 02000, - - REG_PERL = REG_EXTENDED | REG_NOCOLLATE | REG_ESCAPE_IN_LISTS, - REG_AWK = REG_EXTENDED | REG_ESCAPE_IN_LISTS, - REG_GREP = REG_BASIC | REG_NEWLINE_ALT, - REG_EGREP = REG_EXTENDED | REG_NEWLINE_ALT, - - REG_ASSERT = 15, - REG_INVARG = 16, - REG_ATOI = 255, /* convert name to number (!) */ - REG_ITOA = 0400 /* convert number to name (!) */ -} reg_comp_flags; - -/* regexec() flags */ -typedef enum{ - REG_NOTBOL = 00001, - REG_NOTEOL = 00002, - REG_STARTEND = 00004 -} reg_exec_flags; - -BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA*, const char*, int); -BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int, const regex_tA*, char*, regsize_t); -BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecA(const regex_tA*, const char*, regsize_t, regmatch_t*, int); -BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeA(regex_tA*); - -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW*, const wchar_t*, int); -BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int, const regex_tW*, wchar_t*, regsize_t); -BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecW(const regex_tW*, const wchar_t*, regsize_t, regmatch_t*, int); -BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeW(regex_tW*); -#endif - -#ifdef UNICODE -#define regcomp regcompW -#define regerror regerrorW -#define regexec regexecW -#define regfree regfreeW -#define regex_t regex_tW -#else -#define regcomp regcompA -#define regerror regerrorA -#define regexec regexecA -#define regfree regfreeA -#define regex_t regex_tA -#endif - -/* regerror() flags */ -typedef enum -{ - REG_NOERROR = 0, /* Success. */ - REG_NOMATCH = 1, /* Didn't find a match (for regexec). */ - - /* POSIX regcomp return error codes. (In the order listed in the - standard.) */ - REG_BADPAT = 2, /* Invalid pattern. */ - REG_ECOLLATE = 3, /* Undefined collating element. */ - REG_ECTYPE = 4, /* Invalid character class name. */ - REG_EESCAPE = 5, /* Trailing backslash. */ - REG_ESUBREG = 6, /* Invalid back reference. */ - REG_EBRACK = 7, /* Unmatched left bracket. */ - REG_EPAREN = 8, /* Parenthesis imbalance. */ - REG_EBRACE = 9, /* Unmatched \{. */ - REG_BADBR = 10, /* Invalid contents of \{\}. */ - REG_ERANGE = 11, /* Invalid range end. */ - REG_ESPACE = 12, /* Ran out of memory. */ - REG_BADRPT = 13, /* No preceding re for repetition op. */ - REG_EEND = 14, /* unexpected end of expression */ - REG_ESIZE = 15, /* expression too big */ - REG_ERPAREN = 16, /* unmatched right parenthesis */ - REG_EMPTY = 17, /* empty expression */ - REG_E_MEMORY = REG_ESIZE, /* out of memory */ - REG_E_UNKNOWN = 18 /* unknown error */ -} reg_errcode_t; - -enum match_flags -{ - match_default = 0, - match_not_bol = 1, // first is not start of line - match_not_eol = match_not_bol << 1, // last is not end of line - match_not_bob = match_not_eol << 1, // first is not start of buffer - match_not_eob = match_not_bob << 1, // last is not end of buffer - match_not_bow = match_not_eob << 1, // first is not start of word - match_not_eow = match_not_bow << 1, // last is not end of word - match_not_dot_newline = match_not_eow << 1, // \n is not matched by '.' - match_not_dot_null = match_not_dot_newline << 1, // '\0' is not matched by '.' - match_prev_avail = match_not_dot_null << 1, // *--first is a valid expression - match_init = match_prev_avail << 1, // internal use - match_any = match_init << 1, // don't care what we match - match_not_null = match_any << 1, // string can't be null - match_continuous = match_not_null << 1, // each grep match must continue from - // uninterupted from the previous one - match_partial = match_continuous << 1, // find partial matches - - match_stop = match_partial << 1, // stop after first match (grep) - match_all = match_stop << 1, // must find the whole of input even if match_any is set - match_max = match_all -}; - -typedef unsigned long match_flag_type; - -#ifdef __cplusplus -} // extern "C" -} // namespace -#endif - - -#ifdef __BORLANDC__ - #if __BORLANDC__ > 0x520 - #pragma option pop - #endif -#endif - - -// -// C++ high level wrapper goes here: -// -#if defined(__cplusplus) -#include -#include -namespace boost{ - -#ifdef __BORLANDC__ - #if __BORLANDC__ == 0x530 - #pragma option push -a4 -b - #elif __BORLANDC__ > 0x530 - #pragma option push -a8 -b - #endif -#endif - -class RegEx; - -namespace re_detail{ - -class RegExData; -struct pred1; -struct pred2; -struct pred3; -struct pred4; - -} // namespace re_detail - -#if defined(BOOST_MSVC) || defined(__BORLANDC__) -typedef bool (__cdecl *GrepCallback)(const RegEx& expression); -typedef bool (__cdecl *GrepFileCallback)(const char* file, const RegEx& expression); -typedef bool (__cdecl *FindFilesCallback)(const char* file); -#else -typedef bool (*GrepCallback)(const RegEx& expression); -typedef bool (*GrepFileCallback)(const char* file, const RegEx& expression); -typedef bool (*FindFilesCallback)(const char* file); -#endif - -class BOOST_REGEX_DECL RegEx -{ -private: - re_detail::RegExData* pdata; -public: - RegEx(); - RegEx(const RegEx& o); - ~RegEx(); - explicit RegEx(const char* c, bool icase = false); - explicit RegEx(const std::string& s, bool icase = false); - RegEx& operator=(const RegEx& o); - RegEx& operator=(const char* p); - RegEx& operator=(const std::string& s){ return this->operator=(s.c_str()); } - unsigned int SetExpression(const char* p, bool icase = false); - unsigned int SetExpression(const std::string& s, bool icase = false){ return SetExpression(s.c_str(), icase); } - std::string Expression()const; - unsigned int error_code()const; - // - // now matching operators: - // - bool Match(const char* p, match_flag_type flags = match_default); - bool Match(const std::string& s, match_flag_type flags = match_default) { return Match(s.c_str(), flags); } - bool Search(const char* p, match_flag_type flags = match_default); - bool Search(const std::string& s, match_flag_type flags = match_default) { return Search(s.c_str(), flags); } - unsigned int Grep(GrepCallback cb, const char* p, match_flag_type flags = match_default); - unsigned int Grep(GrepCallback cb, const std::string& s, match_flag_type flags = match_default) { return Grep(cb, s.c_str(), flags); } - unsigned int Grep(std::vector& v, const char* p, match_flag_type flags = match_default); - unsigned int Grep(std::vector& v, const std::string& s, match_flag_type flags = match_default) { return Grep(v, s.c_str(), flags); } - unsigned int Grep(std::vector& v, const char* p, match_flag_type flags = match_default); - unsigned int Grep(std::vector& v, const std::string& s, match_flag_type flags = match_default) { return Grep(v, s.c_str(), flags); } -#ifndef BOOST_REGEX_NO_FILEITER - unsigned int GrepFiles(GrepFileCallback cb, const char* files, bool recurse = false, match_flag_type flags = match_default); - unsigned int GrepFiles(GrepFileCallback cb, const std::string& files, bool recurse = false, match_flag_type flags = match_default) { return GrepFiles(cb, files.c_str(), recurse, flags); } - unsigned int FindFiles(FindFilesCallback cb, const char* files, bool recurse = false, match_flag_type flags = match_default); - unsigned int FindFiles(FindFilesCallback cb, const std::string& files, bool recurse = false, match_flag_type flags = match_default) { return FindFiles(cb, files.c_str(), recurse, flags); } -#endif - - std::string Merge(const std::string& in, const std::string& fmt, - bool copy = true, match_flag_type flags = match_default); - std::string Merge(const char* in, const char* fmt, - bool copy = true, match_flag_type flags = match_default); - - std::size_t Split(std::vector& v, std::string& s, match_flag_type flags = match_default, unsigned max_count = ~0); - // - // now operators for returning what matched in more detail: - // - std::size_t Position(int i = 0)const; - std::size_t Length(int i = 0)const; - bool Matched(int i = 0)const; - unsigned int Line()const; - unsigned int Marks()const; - std::string What(int i = 0)const; - std::string operator[](int i)const { return What(i); } - - static const unsigned int npos; - - friend struct re_detail::pred1; - friend struct re_detail::pred2; - friend struct re_detail::pred3; - friend struct re_detail::pred4; -}; - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace boost - -#endif - -#endif // include guard - - - - - - - - - diff --git a/include/boost/regex/v3/fileiter.hpp b/include/boost/regex/v3/fileiter.hpp deleted file mode 100644 index eaf18ba2..00000000 --- a/include/boost/regex/v3/fileiter.hpp +++ /dev/null @@ -1,456 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE fileiter.hpp - * VERSION see - * DESCRIPTION: Declares various platform independent file and - * directory iterators, plus binary file input in - * the form of class map_file. - */ - -#ifndef BOOST_RE_FILEITER_HPP_INCLUDED -#define BOOST_RE_FILEITER_HPP_INCLUDED - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif - -#ifndef BOOST_REGEX_NO_FILEITER - -#if (defined(__CYGWIN__) || defined(__CYGWIN32__)) && !defined(BOOST_REGEX_NO_W32) -#error "Sorry, can't mix with STL code and gcc compiler: if you ran configure, try again with configure --disable-ms-windows" -#define BOOST_REGEX_FI_WIN32_MAP -#define BOOST_REGEX_FI_POSIX_DIR -#elif (defined(__WIN32__) || defined(_WIN32) || defined(WIN32)) && !defined(BOOST_REGEX_NO_W32) -#define BOOST_REGEX_FI_WIN32_MAP -#define BOOST_REGEX_FI_WIN32_DIR -#else -#define BOOST_REGEX_FI_POSIX_MAP -#define BOOST_REGEX_FI_POSIX_DIR -#endif - -#if defined(BOOST_REGEX_FI_WIN32_MAP)||defined(BOOST_REGEX_FI_WIN32_DIR) -#include -#endif - -#if defined(BOOST_REGEX_FI_WIN32_DIR) - -namespace boost{ - namespace re_detail{ - -typedef WIN32_FIND_DATAA _fi_find_data; -typedef HANDLE _fi_find_handle; - - } // namespace re_detail - -} // namespace boost - -#define _fi_invalid_handle INVALID_HANDLE_VALUE -#define _fi_dir FILE_ATTRIBUTE_DIRECTORY - -#elif defined(BOOST_REGEX_FI_POSIX_DIR) - -#include -#include -#include -#include -#include -#include - -#if defined(__SUNPRO_CC) -using std::list; -#endif - -#ifndef MAX_PATH -#define MAX_PATH 256 -#endif - -namespace boost{ - namespace re_detail{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -#endif - -struct _fi_find_data -{ - unsigned dwFileAttributes; - char cFileName[MAX_PATH]; -}; - -struct _fi_priv_data; - -typedef _fi_priv_data* _fi_find_handle; -#define _fi_invalid_handle 0 -#define _fi_dir 1 - -_fi_find_handle _fi_FindFirstFile(const char* lpFileName, _fi_find_data* lpFindFileData); -bool _fi_FindNextFile(_fi_find_handle hFindFile, _fi_find_data* lpFindFileData); -bool _fi_FindClose(_fi_find_handle hFindFile); - -#ifdef __BORLANDC__ - #if __BORLANDC__ > 0x520 - #pragma option pop - #endif -#endif - - } // namespace re_detail -} // namespace boost - -#ifdef FindFirstFile - #undef FindFirstFile -#endif -#ifdef FindNextFile - #undef FindNextFile -#endif -#ifdef FindClose - #undef FindClose -#endif - -#define FindFirstFileA _fi_FindFirstFile -#define FindNextFileA _fi_FindNextFile -#define FindClose _fi_FindClose - -#endif - -namespace boost{ - namespace re_detail{ - -#ifdef __BORLANDC__ - #if __BORLANDC__ == 0x530 - #pragma option push -a4 -b - #elif __BORLANDC__ > 0x530 - #pragma option push -a8 -b - #endif -#endif - -#ifdef BOOST_REGEX_FI_WIN32_MAP // win32 mapfile - -class BOOST_REGEX_DECL mapfile -{ - HANDLE hfile; - HANDLE hmap; - const char* _first; - const char* _last; -public: - - typedef const char* iterator; - - mapfile(){ hfile = hmap = 0; _first = _last = 0; } - mapfile(const char* file){ hfile = hmap = 0; _first = _last = 0; open(file); } - ~mapfile(){ close(); } - void open(const char* file); - void close(); - const char* begin(){ return _first; } - const char* end(){ return _last; } - size_t size(){ return _last - _first; } - bool valid(){ return (hfile != 0) && (hfile != INVALID_HANDLE_VALUE); } -}; - - -#else - -class BOOST_REGEX_DECL mapfile_iterator; - -class BOOST_REGEX_DECL mapfile -{ - typedef char* pointer; - std::FILE* hfile; - long int _size; - pointer* _first; - pointer* _last; - mutable std::list condemed; - enum sizes - { - buf_size = 4096 - }; - void lock(pointer* node)const; - void unlock(pointer* node)const; -public: - - typedef mapfile_iterator iterator; - - mapfile(){ hfile = 0; _size = 0; _first = _last = 0; } - mapfile(const char* file){ hfile = 0; _size = 0; _first = _last = 0; open(file); } - ~mapfile(){ close(); } - void open(const char* file); - void close(); - iterator begin()const; - iterator end()const; - unsigned long size()const{ return _size; } - bool valid()const{ return hfile != 0; } - friend class mapfile_iterator; -}; - -class BOOST_REGEX_DECL mapfile_iterator -#if !defined(BOOST_NO_STD_ITERATOR) || defined(BOOST_MSVC_STD_ITERATOR) -: public std::iterator -#endif -{ - typedef mapfile::pointer internal_pointer; - internal_pointer* node; - const mapfile* file; - unsigned long offset; - long position()const - { - return file ? ((node - file->_first) * mapfile::buf_size + offset) : 0; - } - void position(long pos) - { - if(file) - { - node = file->_first + (pos / mapfile::buf_size); - offset = pos % mapfile::buf_size; - } - } -public: - typedef std::ptrdiff_t difference_type; - typedef char value_type; - typedef const char* pointer; - typedef const char& reference; - typedef std::random_access_iterator_tag iterator_category; - - mapfile_iterator() { node = 0; file = 0; offset = 0; } - mapfile_iterator(const mapfile* f, long position) - { - file = f; - node = f->_first + position / mapfile::buf_size; - offset = position % mapfile::buf_size; - if(file) - file->lock(node); - } - mapfile_iterator(const mapfile_iterator& i) - { - file = i.file; - node = i.node; - offset = i.offset; - if(file) - file->lock(node); - } - ~mapfile_iterator() - { - if(file && node) - file->unlock(node); - } - mapfile_iterator& operator = (const mapfile_iterator& i); - char operator* ()const - { - assert(node >= file->_first); - assert(node < file->_last); - return file ? *(*node + sizeof(int) + offset) : char(0); - } - char operator[] (long off)const - { - mapfile_iterator tmp(*this); - tmp += off; - return *tmp; - } - mapfile_iterator& operator++ (); - mapfile_iterator operator++ (int); - mapfile_iterator& operator-- (); - mapfile_iterator operator-- (int); - - mapfile_iterator& operator += (long off) - { - position(position() + off); - return *this; - } - mapfile_iterator& operator -= (long off) - { - position(position() - off); - return *this; - } - - friend inline bool operator==(const mapfile_iterator& i, const mapfile_iterator& j) - { - return (i.file == j.file) && (i.node == j.node) && (i.offset == j.offset); - } - - friend inline bool operator!=(const mapfile_iterator& i, const mapfile_iterator& j) - { - return !(i == j); - } - - friend inline bool operator<(const mapfile_iterator& i, const mapfile_iterator& j) - { - return i.position() < j.position(); - } - friend inline bool operator>(const mapfile_iterator& i, const mapfile_iterator& j) - { - return i.position() > j.position(); - } - friend inline bool operator<=(const mapfile_iterator& i, const mapfile_iterator& j) - { - return i.position() <= j.position(); - } - friend inline bool operator>=(const mapfile_iterator& i, const mapfile_iterator& j) - { - return i.position() >= j.position(); - } - - friend mapfile_iterator operator + (const mapfile_iterator& i, long off); - friend mapfile_iterator operator + (long off, const mapfile_iterator& i) - { - mapfile_iterator tmp(i); - return tmp += off; - } - friend mapfile_iterator operator - (const mapfile_iterator& i, long off); - friend inline long operator - (const mapfile_iterator& i, const mapfile_iterator& j) - { - return i.position() - j.position(); - } -}; - -#endif - -// _fi_sep determines the directory separator, either '\\' or '/' -BOOST_REGEX_DECL extern const char* _fi_sep; - -struct file_iterator_ref -{ - _fi_find_handle hf; - _fi_find_data _data; - long count; -}; - - -class BOOST_REGEX_DECL file_iterator -{ - char* _root; - char* _path; - char* ptr; - file_iterator_ref* ref; - -public: - typedef std::ptrdiff_t difference_type; - typedef const char* value_type; - typedef const char** pointer; - typedef const char*& reference; - typedef std::input_iterator_tag iterator_category; - - file_iterator(); - file_iterator(const char* wild); - ~file_iterator(); - file_iterator(const file_iterator&); - file_iterator& operator=(const file_iterator&); - const char* root()const { return _root; } - const char* path()const { return _path; } - const char* name()const { return ptr; } - _fi_find_data* data() { return &(ref->_data); } - void next(); - file_iterator& operator++() { next(); return *this; } - file_iterator operator++(int); - const char* operator*() { return path(); } - - friend inline bool operator == (const file_iterator& f1, const file_iterator& f2) - { - return ((f1.ref->hf == _fi_invalid_handle) && (f2.ref->hf == _fi_invalid_handle)); - } - - friend inline bool operator != (const file_iterator& f1, const file_iterator& f2) - { - return !(f1 == f2); - } - -}; - -// dwa 9/13/00 - suppress unused parameter warning -inline bool operator < (const file_iterator&, const file_iterator&) -{ - return false; -} - - -class BOOST_REGEX_DECL directory_iterator -{ - char* _root; - char* _path; - char* ptr; - file_iterator_ref* ref; - -public: - typedef std::ptrdiff_t difference_type; - typedef const char* value_type; - typedef const char** pointer; - typedef const char*& reference; - typedef std::input_iterator_tag iterator_category; - - directory_iterator(); - directory_iterator(const char* wild); - ~directory_iterator(); - directory_iterator(const directory_iterator& other); - directory_iterator& operator=(const directory_iterator& other); - - const char* root()const { return _root; } - const char* path()const { return _path; } - const char* name()const { return ptr; } - _fi_find_data* data() { return &(ref->_data); } - void next(); - directory_iterator& operator++() { next(); return *this; } - directory_iterator operator++(int); - const char* operator*() { return path(); } - - static const char* separator() { return _fi_sep; } - - friend inline bool operator == (const directory_iterator& f1, const directory_iterator& f2) - { - return ((f1.ref->hf == _fi_invalid_handle) && (f2.ref->hf == _fi_invalid_handle)); - } - - - friend inline bool operator != (const directory_iterator& f1, const directory_iterator& f2) - { - return !(f1 == f2); - } - - }; - -inline bool operator < (const directory_iterator&, const directory_iterator&) -{ - return false; -} - -#ifdef __BORLANDC__ - #pragma option pop -#endif - - -} // namespace re_detail -using boost::re_detail::directory_iterator; -using boost::re_detail::file_iterator; -using boost::re_detail::mapfile; -} // namespace boost - -#endif // BOOST_REGEX_NO_FILEITER -#endif // BOOST_RE_FILEITER_HPP - - - - - - - - - - - - - - - - - diff --git a/include/boost/regex/v3/instances.hpp b/include/boost/regex/v3/instances.hpp deleted file mode 100644 index aa283a16..00000000 --- a/include/boost/regex/v3/instances.hpp +++ /dev/null @@ -1,168 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE instances.cpp - * VERSION see - * DESCRIPTION: Defines those template instances that are placed in the - * library rather than in the users object files. - */ - -// -// note no include guard, we may include this multiple times: -// -#ifndef BOOST_REGEX_NO_EXTERNAL_TEMPLATES - -namespace boost{ - -// -// this header can be included multiple times, each time with -// a different character type, BOOST_REGEX_CHAR_T must be defined -// first: -// -#ifndef BOOST_REGEX_CHAR_T -# error "BOOST_REGEX_CHAR_T not defined" -#endif - -// -// what follows is compiler specific: -// - -#ifdef __BORLANDC__ - -#pragma option push -a8 -b -Vx -Ve -pc - -# ifndef BOOST_REGEX_INSTANTIATE -# pragma option push -Jgx -# endif - -template class BOOST_REGEX_DECL reg_expression< BOOST_REGEX_CHAR_T >; -template class BOOST_REGEX_DECL re_detail::match_results_base; -template class BOOST_REGEX_DECL re_detail::match_results_base::const_iterator>; -template class BOOST_REGEX_DECL match_results; -template class BOOST_REGEX_DECL match_results::const_iterator>; - - -# ifndef BOOST_REGEX_INSTANTIATE -# pragma option pop -# endif - -#pragma option pop - -#elif defined(BOOST_MSVC) - -# ifndef BOOST_REGEX_INSTANTIATE -# define template extern template -# endif - -#pragma warning(push) -#pragma warning(disable : 4251 4231 4660) - -//template class BOOST_REGEX_DECL regex_traits< BOOST_REGEX_CHAR_T >; -template class BOOST_REGEX_DECL reg_expression< BOOST_REGEX_CHAR_T >; -template class BOOST_REGEX_DECL re_detail::match_results_base::type)>; -template class BOOST_REGEX_DECL re_detail::match_results_base::const_iterator, BOOST_DEFAULT_ALLOCATOR(re_detail::def_alloc_param_traits::const_iterator>::type)>; -template class BOOST_REGEX_DECL match_results::type)>; -template class BOOST_REGEX_DECL match_results::const_iterator, BOOST_DEFAULT_ALLOCATOR(re_detail::def_alloc_param_traits::const_iterator>::type)>; - - -#pragma warning(pop) - -# ifdef template -# undef template -# endif - -#elif !defined(BOOST_REGEX_HAS_DLL_RUNTIME) - -// -// for each [member] function declare a full specialisation of that -// [member] function, then instantiate it in one translation unit. -// This is not guarenteed to work according to the standard, but in -// practice it should work for all compilers (unless they use a realy -// perverse name mangling convention). Unfortunately this approach -// does *not* work for Win32 style import/export, because that can -// alter the class layout. -// - -# ifndef BOOST_REGEX_INSTANTIATE -# define template template<> -# endif - -template reg_expression::reg_expression(const BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)&); -template reg_expression::reg_expression(const BOOST_REGEX_CHAR_T* p, reg_expression::flag_type f, const BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)& a); -template reg_expression::reg_expression(const BOOST_REGEX_CHAR_T* p, size_type len, reg_expression::flag_type f, const BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)&); -template reg_expression::reg_expression(const reg_expression&); -template reg_expression::~reg_expression(); -template reg_expression& BOOST_REGEX_CALL reg_expression::operator=(const reg_expression&); -template BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T) BOOST_REGEX_CALL reg_expression::get_allocator()const; -template bool BOOST_REGEX_CALL reg_expression::operator==(const reg_expression&)const; -template bool BOOST_REGEX_CALL reg_expression::operator<(const reg_expression&)const; -template BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T) BOOST_REGEX_CALL reg_expression::allocator()const; -template unsigned int BOOST_REGEX_CALL reg_expression::set_expression(const BOOST_REGEX_CHAR_T* p, const BOOST_REGEX_CHAR_T* end, reg_expression::flag_type f); -template void BOOST_REGEX_CALL reg_expression::compile_maps(); -template void BOOST_REGEX_CALL reg_expression::compile_map(re_detail::re_syntax_base* node, unsigned char* _map, unsigned int* pnull, unsigned char mask, re_detail::re_syntax_base* terminal)const; -template bool BOOST_REGEX_CALL reg_expression::probe_start(re_detail::re_syntax_base* node, BOOST_REGEX_CHAR_T c, re_detail::re_syntax_base* terminal)const; -template bool BOOST_REGEX_CALL reg_expression::probe_start_null(re_detail::re_syntax_base* node, re_detail::re_syntax_base* terminal)const; -template void BOOST_REGEX_CALL reg_expression::fixup_apply(re_detail::re_syntax_base* b, unsigned cbraces); -template void BOOST_REGEX_CALL reg_expression::move_offsets(re_detail::re_syntax_base* j, unsigned size); -template re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::compile_set(const BOOST_REGEX_CHAR_T*& first, const BOOST_REGEX_CHAR_T* last); -template re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::compile_set_aux(re_detail::jstack::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& singles, re_detail::jstack::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& ranges, re_detail::jstack& classes, re_detail::jstack::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& equivalents, bool isnot, const re_detail::_narrow_type&); -template re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::compile_set_aux(re_detail::jstack::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& singles, re_detail::jstack::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& ranges, re_detail::jstack& classes, re_detail::jstack::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& equivalents, bool isnot, const re_detail::_wide_type&); -template re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::compile_set_simple(re_detail::re_syntax_base* dat, unsigned long cls, bool isnot); -template unsigned int BOOST_REGEX_CALL reg_expression::parse_inner_set(const BOOST_REGEX_CHAR_T*& first, const BOOST_REGEX_CHAR_T* last); -template re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::add_simple(re_detail::re_syntax_base* dat, re_detail::syntax_element_type type, unsigned int size); -template re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::add_literal(re_detail::re_syntax_base* dat, BOOST_REGEX_CHAR_T c); -template BOOST_REGEX_CHAR_T BOOST_REGEX_CALL reg_expression::parse_escape(const BOOST_REGEX_CHAR_T*& first, const BOOST_REGEX_CHAR_T* last); -template void BOOST_REGEX_CALL reg_expression::parse_range(const BOOST_REGEX_CHAR_T*& first, const BOOST_REGEX_CHAR_T* last, unsigned& min, unsigned& max); -template bool BOOST_REGEX_CALL reg_expression::skip_space(const BOOST_REGEX_CHAR_T*& first, const BOOST_REGEX_CHAR_T* last); -template unsigned int BOOST_REGEX_CALL reg_expression::probe_restart(re_detail::re_syntax_base* dat); -template unsigned int BOOST_REGEX_CALL reg_expression::fixup_leading_rep(re_detail::re_syntax_base* dat, re_detail::re_syntax_base* end); -template void BOOST_REGEX_CALL reg_expression::fail(unsigned int err); - -namespace re_detail{ - -#define iterator const BOOST_REGEX_CHAR_T* -#define Allocator match_results_base::alloc_type -#define size_type match_results_base::size_type - -template void BOOST_REGEX_CALL match_results_base::set_first(iterator i); -template void BOOST_REGEX_CALL match_results_base::set_first(iterator i, std::size_t pos); -template match_results_base::match_results_base(const Allocator& a); -template Allocator BOOST_REGEX_CALL match_results_base::allocator()const; -template void BOOST_REGEX_CALL match_results_base::m_free(); -template bool match_results_base::operator==(const match_results_base& that)const; -template void BOOST_REGEX_CALL match_results_base::set_size(size_type n); -template void BOOST_REGEX_CALL match_results_base::set_size(size_type n, iterator i, iterator j); -template void BOOST_REGEX_CALL match_results_base::cow(); - -#undef iterator -#undef Allocator -#undef size_type - -} // namespace re_detail - -# ifdef template -# undef template -# endif - -#endif - -} // namespace boost - -#endif // BOOST_REGEX_NO_EXTERNAL_TEMPLATES - - - diff --git a/include/boost/regex/v3/regex.hpp b/include/boost/regex/v3/regex.hpp deleted file mode 100644 index db7f8609..00000000 --- a/include/boost/regex/v3/regex.hpp +++ /dev/null @@ -1,1636 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex.cpp - * VERSION see - * DESCRIPTION: Declares boost::reg_expression<> and associated - * functions and classes. This header is the main - * entry point for the template regex code. - */ - - -/* start with C compatibility API */ - -#ifndef BOOST_RE_REGEX_HPP_INCLUDED -#define BOOST_RE_REGEX_HPP_INCLUDED - -#ifndef BOOST_RE_CREGEX_HPP -#include -#endif - -#ifdef __cplusplus - -// what follows is all C++ don't include in C builds!! - -#ifdef BOOST_REGEX_DEBUG -# include -#endif - -#include -#include -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif -#ifndef BOOST_REGEX_FWD_HPP -#include -#endif -#ifndef BOOST_REGEX_STACK_HPP -#include -#endif -#ifndef BOOST_REGEX_RAW_BUFFER_HPP -#include -#endif -#ifndef BOOST_REGEX_KMP_HPP -#include -#endif -#ifndef BOOST_RE_PAT_EXCEPT_HPP -#include -#endif -#ifndef BOOST_REGEX_TRAITS_HPP -#include -#endif -#include -#include - - -namespace boost{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -w-8027 -#endif - -namespace re_detail{ - -struct re_set_long; -struct re_syntax_base; - -} // namespace re_detail - -namespace deprecated{ -// -// class char_regex_traits_i -// provides case insensitive traits classes (deprecated): -template -class char_regex_traits_i : public regex_traits {}; - -template<> -class char_regex_traits_i : public regex_traits -{ -public: - typedef char char_type; - typedef unsigned char uchar_type; - typedef unsigned int size_type; - typedef regex_traits base_type; - - char BOOST_REGEX_CALL translate(char c, bool)const - { - return static_cast*>(this)->translate(c, true); - } -}; - -#ifndef BOOST_NO_WREGEX -template<> -class char_regex_traits_i : public regex_traits -{ -public: - typedef wchar_t char_type; - typedef unsigned short uchar_type; - typedef unsigned int size_type; - typedef regex_traits base_type; - - wchar_t BOOST_REGEX_CALL translate(wchar_t c, bool)const - { - return static_cast*>(this)->translate(c, true); - } - boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const wchar_t* first, const wchar_t* last)const - { - boost::uint_fast32_t result = static_cast*>(this)->lookup_classname(first, last); - if((result & base_type::char_class_upper) == base_type::char_class_upper) - result |= base_type::char_class_alpha; - return result; - } -}; -#endif -} // namespace deprecated - - -namespace re_detail{ - -enum mask_type -{ - mask_take = 1, - mask_skip = 2, - mask_any = mask_skip | mask_take, - mask_all = mask_any -}; - -struct _narrow_type{}; -struct _wide_type{}; - -template -class is_byte; - -template<> -class is_byte -{ -public: - typedef _narrow_type width_type; -}; - -template<> -class is_byte -{ -public: - typedef _narrow_type width_type; -}; - -template<> -class is_byte -{ -public: - typedef _narrow_type width_type; -}; - -template -class is_byte -{ -public: - typedef _wide_type width_type; -}; - - -// -// compiled structures -// -// the following defs describe the format of the compiled string -// - -// -// enum syntax_element_type -// describes the type of a record -enum syntax_element_type -{ - syntax_element_startmark = 0, - syntax_element_endmark = syntax_element_startmark + 1, - syntax_element_literal = syntax_element_endmark + 1, - syntax_element_start_line = syntax_element_literal + 1, - syntax_element_end_line = syntax_element_start_line + 1, - syntax_element_wild = syntax_element_end_line + 1, - syntax_element_match = syntax_element_wild + 1, - syntax_element_word_boundary = syntax_element_match + 1, - syntax_element_within_word = syntax_element_word_boundary + 1, - syntax_element_word_start = syntax_element_within_word + 1, - syntax_element_word_end = syntax_element_word_start + 1, - syntax_element_buffer_start = syntax_element_word_end + 1, - syntax_element_buffer_end = syntax_element_buffer_start + 1, - syntax_element_backref = syntax_element_buffer_end + 1, - syntax_element_long_set = syntax_element_backref + 1, - syntax_element_set = syntax_element_long_set + 1, - syntax_element_jump = syntax_element_set + 1, - syntax_element_alt = syntax_element_jump + 1, - syntax_element_rep = syntax_element_alt + 1, - syntax_element_combining = syntax_element_rep + 1, - syntax_element_soft_buffer_end = syntax_element_combining + 1, - syntax_element_restart_continue = syntax_element_soft_buffer_end + 1 -}; - -#ifdef BOOST_REGEX_DEBUG -// dwa 09/26/00 - This is needed to suppress warnings about an ambiguous conversion -std::ostream& operator<<(std::ostream&, syntax_element_type); -#endif - -union offset_type -{ - re_syntax_base* p; - std::size_t i; -}; - -// -// struct re_syntax_base -// base class for all syntax types: -struct re_syntax_base -{ - syntax_element_type type; - offset_type next; - unsigned int can_be_null; -}; - -// -// struct re_brace -// marks start or end of (...) -struct re_brace : public re_syntax_base -{ - int index; -}; - -// -// struct re_literal -// marks a literal string and -// is followed by an array of charT[length]: -struct re_literal : public re_syntax_base -{ - unsigned int length; -}; - -// -// struct re_long_set -// provides data for sets [...] containing -// wide characters -struct re_set_long : public re_syntax_base -{ - unsigned int csingles, cranges, cequivalents; - boost::uint_fast32_t cclasses; - bool isnot; -}; - -// -// struct re_set -// provides a map of bools for sets containing -// narrow, single byte characters. -struct re_set : public re_syntax_base -{ - unsigned char _map[256]; -}; - -// -// struct re_jump -// provides alternative next destination -struct re_jump : public re_syntax_base -{ - offset_type alt; - unsigned char _map[256]; -}; - -// -// struct re_repeat -// provides repeat expressions -struct re_repeat : public re_jump -{ - unsigned min, max; - int id; - bool leading; - bool greedy; - bool singleton; -}; - - -// -// enum re_jump_size_type -// provides compiled size of re_jump -// allowing for trailing alignment -// provide this so we know how many -// bytes to insert -enum re_jump_size_type -{ - re_jump_size = (sizeof(re_jump) + padding_mask) & ~(padding_mask), - re_repeater_size = (sizeof(re_repeat) + padding_mask) & ~(padding_mask) -}; - -} // namespace re_detail - -// -// class basic_regex -// handles error codes and flags - -class BOOST_REGEX_DECL regbase -{ -public: - enum flag_type_ - { - escape_in_lists = 1, // '\' special inside [...] - char_classes = escape_in_lists << 1, // [[:CLASS:]] allowed - intervals = char_classes << 1, // {x,y} allowed - limited_ops = intervals << 1, // all of + ? and | are normal characters - newline_alt = limited_ops << 1, // \n is the same as | - bk_plus_qm = newline_alt << 1, // uses \+ and \? - bk_braces = bk_plus_qm << 1, // uses \{ and \} - bk_parens = bk_braces << 1, // uses \( and \) - bk_refs = bk_parens << 1, // \d allowed - bk_vbar = bk_refs << 1, // uses \| - - use_except = bk_vbar << 1, // exception on error - failbit = use_except << 1, // error flag - literal = failbit << 1, // all characters are literals - icase = literal << 1, // characters are matched regardless of case - nocollate = icase << 1, // don't use locale specific collation - - basic = char_classes | intervals | limited_ops | bk_braces | bk_parens | bk_refs, - extended = char_classes | intervals | bk_refs, - normal = escape_in_lists | char_classes | intervals | bk_refs | nocollate, - emacs = bk_braces | bk_parens | bk_refs | bk_vbar, - awk = extended | escape_in_lists, - grep = basic | newline_alt, - egrep = extended | newline_alt, - sed = basic, - perl = normal - }; - typedef unsigned int flag_type; - - enum restart_info - { - restart_any = 0, - restart_word = 1, - restart_line = 2, - restart_buf = 3, - restart_continue = 4, - restart_lit = 5, - restart_fixed_lit = 6 - }; - - flag_type BOOST_REGEX_CALL flags()const - { - return _flags; - } - - regbase(); - regbase(const regbase& b); -protected: - flag_type _flags; -}; - -// -// some forward declarations: -namespace re_detail{ -template -class _priv_match_data; - -#if defined(BOOST_NO_STD_ITERATOR_TRAITS) || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - -template -struct regex_iterator_traits -{ - typedef typename T::iterator_category iterator_category; - typedef typename T::value_type value_type; -#if !defined(BOOST_NO_STD_ITERATOR) - typedef typename T::difference_type difference_type; - typedef typename T::pointer pointer; - typedef typename T::reference reference; -#else - typedef std::ptrdiff_t difference_type; - typedef value_type* pointer; - typedef value_type& reference; -#endif -}; - -template -struct pointer_iterator_traits -{ - typedef std::ptrdiff_t difference_type; - typedef T value_type; - typedef T* pointer; - typedef T& reference; - typedef std::random_access_iterator_tag iterator_category; -}; -template -struct const_pointer_iterator_traits -{ - typedef std::ptrdiff_t difference_type; - typedef T value_type; - typedef const T* pointer; - typedef const T& reference; - typedef std::random_access_iterator_tag iterator_category; -}; - -template<> -struct regex_iterator_traits : pointer_iterator_traits{}; -template<> -struct regex_iterator_traits : const_pointer_iterator_traits{}; -template<> -struct regex_iterator_traits : pointer_iterator_traits{}; -template<> -struct regex_iterator_traits : const_pointer_iterator_traits{}; - -#if defined(__SGI_STL_PORT) && defined(__STL_DEBUG) -template<> -struct regex_iterator_traits : pointer_iterator_traits{}; -template<> -struct regex_iterator_traits : const_pointer_iterator_traits{}; -#ifndef BOOST_NO_STD_WSTRING -template<> -struct regex_iterator_traits : pointer_iterator_traits{}; -template<> -struct regex_iterator_traits : const_pointer_iterator_traits{}; -#endif // BOOST_NO_WSTRING -#endif // stport - -#else - -template -struct regex_iterator_traits : public std::iterator_traits {}; - -#endif - -template -struct def_alloc_param_traits -{ - typedef typename regex_iterator_traits::value_type const_value_type; - typedef typename remove_cv::type type; -}; -template <> -struct def_alloc_param_traits -{ - typedef char type; -}; -template <> -struct def_alloc_param_traits -{ - typedef wchar_t type; -}; - -} - -template ::type) > -#else -BOOST_DEFAULT_ALLOCATOR(re_detail::def_alloc_param_traits::type) > -#endif -class match_results; - -// -// class reg_expression -// represents the compiled -// regular expression: -// - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable : 4251 4231 4660) -#endif - -#ifdef BOOST_REGEX_NO_FWD -template , class Allocator = BOOST_DEFAULT_ALLOCATOR(charT) > -#else -template -#endif -class reg_expression : public regbase -{ -public: - typedef typename traits::size_type traits_size_type; - typedef typename traits::uchar_type traits_uchar_type; - typedef typename traits::string_type traits_string_type; - // typedefs: - typedef charT char_type; - typedef traits traits_type; - - // locale_type - // placeholder for actual locale type used by the - // traits class to localise *this. - typedef typename traits::locale_type locale_type; - // value_type - typedef charT value_type; - // reference, const_reference - typedef charT& reference; - typedef const charT& const_reference; - // iterator, const_iterator - typedef const charT* const_iterator; - typedef const_iterator iterator; - // difference_type - typedef typename Allocator::difference_type difference_type; - // size_type - typedef typename Allocator::size_type size_type; - // allocator_type - typedef Allocator allocator_type; - typedef Allocator alloc_type; - // flag_type - typedef regbase::flag_type flag_type; - -public: - explicit reg_expression(const Allocator& a = Allocator()); - explicit reg_expression(const charT* p, flag_type f = regbase::normal, const Allocator& a = Allocator()); - reg_expression(const charT* p1, const charT* p2, flag_type f = regbase::normal, const Allocator& a = Allocator()); - reg_expression(const charT* p, size_type len, flag_type f, const Allocator& a = Allocator()); - reg_expression(const reg_expression&); - ~reg_expression(); - reg_expression& BOOST_REGEX_CALL operator=(const reg_expression&); - reg_expression& BOOST_REGEX_CALL operator=(const charT* ptr) - { - set_expression(ptr, regbase::normal | regbase::use_except); - return *this; - } - - // - // assign: - reg_expression& assign(const reg_expression& that) - { return *this = that; } - reg_expression& assign(const charT* ptr, flag_type f = regbase::normal) - { - set_expression(ptr, f | regbase::use_except); - return *this; - } - - reg_expression& assign(const charT* first, - const charT* last, - flag_type f = regbase::normal) - { - set_expression(first, last, f | regbase::use_except); - return *this; - } -#if !defined(BOOST_NO_MEMBER_TEMPLATES) && !(defined(__IBMCPP__) && (__IBMCPP__ <= 502)) - - template - unsigned int BOOST_REGEX_CALL set_expression(const std::basic_string& p, flag_type f = regbase::normal) - { return set_expression(p.data(), p.data() + p.size(), f); } - - template - explicit reg_expression(const std::basic_string& p, flag_type f = regbase::normal, const Allocator& a = Allocator()) - : data(a), pkmp(0), error_code_(REG_EMPTY), _expression(0) { set_expression(p, f | regbase::use_except); } - - template - reg_expression(I first, I last, flag_type f = regbase::normal, const Allocator& al = Allocator()) - : data(al), pkmp(0), error_code_(REG_EMPTY), _expression(0) - { - size_type len = last-first; - scoped_array a(new charT[len]); - std::copy(first, last, a.get()); - set_expression(a.get(), a.get() + len, f | regbase::use_except); - } - - template - reg_expression& BOOST_REGEX_CALL operator=(const std::basic_string& p) - { - set_expression(p.c_str(), p.c_str() + p.size(), regbase::normal | regbase::use_except); - return *this; - } - - template - reg_expression& BOOST_REGEX_CALL assign( - const std::basic_string& s, - flag_type f = regbase::normal) - { - set_expression(s.c_str(), s.c_str() + s.size(), f | regbase::use_except); - return *this; - } - - template - reg_expression& BOOST_REGEX_CALL assign(fwd_iterator first, - fwd_iterator last, - flag_type f = regbase::normal) - { - size_type len = last-first; - scoped_array a(new charT[len]); - std::copy(first, last, a.get()); - set_expression(a.get(), a.get() + len, f | regbase::use_except); - return *this; - } -#else - unsigned int BOOST_REGEX_CALL set_expression(const std::basic_string& p, flag_type f = regbase::normal) - { return set_expression(p.data(), p.data() + p.size(), f | regbase::use_except); } - - reg_expression(const std::basic_string& p, flag_type f = regbase::normal, const Allocator& a = Allocator()) - : data(a), pkmp(0) { set_expression(p, f | regbase::use_except); } - - reg_expression& BOOST_REGEX_CALL operator=(const std::basic_string& p) - { - set_expression(p.c_str(), p.c_str() + p.size(), regbase::normal | regbase::use_except); - return *this; - } - - reg_expression& BOOST_REGEX_CALL assign( - const std::basic_string& s, - flag_type f = regbase::normal) - { - set_expression(s.c_str(), s.c_str() + s.size(), f | regbase::use_except); - return *this; - } - -#endif - - - // - // allocator access: - Allocator BOOST_REGEX_CALL get_allocator()const; - // - // locale: - locale_type BOOST_REGEX_CALL imbue(locale_type l){ return traits_inst.imbue(l); } - locale_type BOOST_REGEX_CALL getloc()const{ return traits_inst.getloc(); } - // - // flags: - flag_type BOOST_REGEX_CALL getflags()const - { return flags(); } - // - // str: - std::basic_string BOOST_REGEX_CALL str()const - { - std::basic_string result; - if(this->error_code() == 0) - result = std::basic_string(_expression, _expression_len); - return result; - } - // - // begin, end: - const_iterator BOOST_REGEX_CALL begin()const - { return (this->error_code() ? 0 : _expression); } - const_iterator BOOST_REGEX_CALL end()const - { return (this->error_code() ? 0 : _expression + _expression_len); } - // - // swap: - void BOOST_REGEX_CALL swap(reg_expression&)throw(); - // - // size: - size_type BOOST_REGEX_CALL size()const - { return (this->error_code() ? 0 : _expression_len); } - // - // max_size: - size_type BOOST_REGEX_CALL max_size()const - { return UINT_MAX; } - // - // empty: - bool BOOST_REGEX_CALL empty()const - { return 0 != this->error_code(); } - - unsigned BOOST_REGEX_CALL mark_count()const { return (this->error_code() ? 0 : marks); } - bool BOOST_REGEX_CALL operator==(const reg_expression&)const; - bool BOOST_REGEX_CALL operator<(const reg_expression&)const; - // - // The following are deprecated as public interfaces - // but are available for compatibility with earlier versions. - allocator_type BOOST_REGEX_CALL allocator()const; - const charT* BOOST_REGEX_CALL expression()const { return (this->error_code() ? 0 : _expression); } - unsigned int BOOST_REGEX_CALL set_expression(const charT* p, const charT* end, flag_type f = regbase::normal); - unsigned int BOOST_REGEX_CALL set_expression(const charT* p, flag_type f = regbase::normal) { return set_expression(p, p + traits_type::length(p), f); } - // - // this should be private but template friends don't work: - const traits_type& get_traits()const { return traits_inst; } - unsigned int BOOST_REGEX_CALL error_code()const - { - return error_code_; - } - -private: - traits_type traits_inst; - re_detail::raw_storage data; - unsigned _restart_type; - unsigned marks; - int repeats; - unsigned char* startmap; - std::size_t _expression_len; - std::size_t _leading_len; - const charT* _leading_string; - std::size_t _leading_string_len; - re_detail::kmp_info* pkmp; - unsigned error_code_; - charT* _expression; - - void BOOST_REGEX_CALL compile_maps(); - void BOOST_REGEX_CALL compile_map(re_detail::re_syntax_base* node, unsigned char* _map, unsigned int* pnull, unsigned char mask, re_detail::re_syntax_base* terminal = 0)const; - bool BOOST_REGEX_CALL probe_start(re_detail::re_syntax_base* node, charT c, re_detail::re_syntax_base* terminal)const; - bool BOOST_REGEX_CALL probe_start_null(re_detail::re_syntax_base* node, re_detail::re_syntax_base* terminal)const; - void BOOST_REGEX_CALL fixup_apply(re_detail::re_syntax_base* b, unsigned cbraces); - void BOOST_REGEX_CALL move_offsets(re_detail::re_syntax_base* j, unsigned size); - re_detail::re_syntax_base* BOOST_REGEX_CALL compile_set(const charT*& first, const charT* last); - re_detail::re_syntax_base* BOOST_REGEX_CALL compile_set_aux(re_detail::jstack& singles, re_detail::jstack& ranges, re_detail::jstack& classes, re_detail::jstack& equivalents, bool isnot, const re_detail::_narrow_type&); - re_detail::re_syntax_base* BOOST_REGEX_CALL compile_set_aux(re_detail::jstack& singles, re_detail::jstack& ranges, re_detail::jstack& classes, re_detail::jstack& equivalents, bool isnot, const re_detail::_wide_type&); - re_detail::re_syntax_base* BOOST_REGEX_CALL compile_set_simple(re_detail::re_syntax_base* dat, unsigned long cls, bool isnot = false); - unsigned int BOOST_REGEX_CALL parse_inner_set(const charT*& first, const charT* last); - - re_detail::re_syntax_base* BOOST_REGEX_CALL add_simple(re_detail::re_syntax_base* dat, re_detail::syntax_element_type type, unsigned int size = sizeof(re_detail::re_syntax_base)); - re_detail::re_syntax_base* BOOST_REGEX_CALL add_literal(re_detail::re_syntax_base* dat, charT c); - charT BOOST_REGEX_CALL parse_escape(const charT*& first, const charT* last); - void BOOST_REGEX_CALL parse_range(const charT*& first, const charT* last, unsigned& min, unsigned& max); - bool BOOST_REGEX_CALL skip_space(const charT*& first, const charT* last); - unsigned int BOOST_REGEX_CALL probe_restart(re_detail::re_syntax_base* dat); - unsigned int BOOST_REGEX_CALL fixup_leading_rep(re_detail::re_syntax_base* dat, re_detail::re_syntax_base* end); - void BOOST_REGEX_CALL fail(unsigned int err); - -protected: - static int BOOST_REGEX_CALL repeat_count(const reg_expression& e) - { return e.repeats; } - static unsigned int BOOST_REGEX_CALL restart_type(const reg_expression& e) - { return e._restart_type; } - static const re_detail::re_syntax_base* BOOST_REGEX_CALL first(const reg_expression& e) - { return (const re_detail::re_syntax_base*)e.data.data(); } - static const unsigned char* BOOST_REGEX_CALL get_map(const reg_expression& e) - { return e.startmap; } - static std::size_t BOOST_REGEX_CALL leading_length(const reg_expression& e) - { return e._leading_len; } - static const re_detail::kmp_info* get_kmp(const reg_expression& e) - { return e.pkmp; } - static bool BOOST_REGEX_CALL can_start(charT c, const unsigned char* _map, unsigned char mask, const re_detail::_wide_type&); - static bool BOOST_REGEX_CALL can_start(charT c, const unsigned char* _map, unsigned char mask, const re_detail::_narrow_type&); -}; - -#ifdef BOOST_MSVC -#pragma warning (pop) -#endif - -template -inline void BOOST_REGEX_CALL reg_expression::swap(reg_expression& that)throw() -{ - // this is not as efficient as it should be, - // however swapping traits classes is problematic - // so just use 'brute force' method for now: - reg_expression e(that); - that = *this; - *this = e; -} - - -// -// class match_results and match_results_base -// handles what matched where - -template -struct sub_match -{ - typedef typename re_detail::regex_iterator_traits::value_type value_type; -#if defined(BOOST_NO_STD_ITERATOR_TRAITS) || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - typedef std::ptrdiff_t difference_type; -#else - typedef typename re_detail::regex_iterator_traits::difference_type difference_type; -#endif - typedef iterator iterator_type; - - iterator first; - iterator second; - bool matched; - - operator std::basic_string ()const - { - std::basic_string result; - std::size_t len = boost::re_detail::distance((iterator)first, (iterator)second); - result.reserve(len); - iterator i = first; - while(i != second) - { - result.append(1, *i); - ++i; - } - return result; - } - #ifdef BOOST_OLD_REGEX_H - // - // the following are deprecated, do not use!! - // - operator int()const; - operator unsigned int()const; - operator short()const - { - return (short)(int)(*this); - } - operator unsigned short()const - { - return (unsigned short)(unsigned int)(*this); - } - #endif - sub_match() { matched = false; } - sub_match(iterator i) : first(i), second(i), matched(false) {} - - bool operator==(const sub_match& that)const - { - return (first == that.first) && (second == that.second) && (matched == that.matched); - } - bool BOOST_REGEX_CALL operator !=(const sub_match& that)const - { return !(*this == that); } - - difference_type BOOST_REGEX_CALL length()const - { - difference_type n = boost::re_detail::distance((iterator)first, (iterator)second); - return n; - } -}; - -#ifdef BOOST_OLD_REGEX_H -namespace re_detail{ -template -int do_toi(iterator i, iterator j, char c, int radix) -{ - std::string s(i, j); - char* p; - int result = std::strtol(s.c_str(), &p, radix); -#ifndef BOOST_NO_EXCEPTIONS - if(*p)throw bad_pattern("Bad sub-expression"); -#endif - BOOST_REGEX_NOEH_ASSERT(0 == *p) - return result; -} - -// -// helper: -template -int do_toi(I& i, I j, charT c) -{ - int result = 0; - while((i != j) && (isdigit(*i))) - { - result = result*10 + (*i - '0'); - ++i; - } - return result; -} -} - - -template -sub_match::operator int()const -{ - iterator i = first; - iterator j = second; -#ifndef BOOST_NO_EXCEPTIONS - if(i == j)throw bad_pattern("Bad sub-expression"); -#endif - BOOST_REGEX_NOEH_ASSERT(i != j) - int neg = 1; - if((i != j) && (*i == '-')) - { - neg = -1; - ++i; - } - neg *= re_detail::do_toi(i, j, *i); -#ifndef BOOST_NO_EXCEPTIONS - if(i != j)throw bad_pattern("Bad sub-expression"); -#endif - BOOST_REGEX_NOEH_ASSERT(i == j) - return neg; -} -template -sub_match::operator unsigned int()const -{ - iterator i = first; - iterator j = second; -#ifndef BOOST_NO_EXCEPTIONS - if(i == j) - throw bad_pattern("Bad sub-expression"); -#endif - BOOST_REGEX_NOEH_ASSERT(i != j) - return re_detail::do_toi(i, j, *first); -} -#endif - -namespace re_detail{ - -template ::type) > -class match_results_base -{ -public: - typedef Allocator alloc_type; - typedef typename boost::detail::rebind_allocator::type iterator_alloc; - typedef typename iterator_alloc::size_type size_type; -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_STD_ITERATOR_TRAITS) - typedef typename std::iterator_traits::difference_type difference_type; - typedef typename std::iterator_traits::value_type char_type; -#else - typedef std::ptrdiff_t difference_type; - typedef typename re_detail::regex_iterator_traits::value_type char_type; -#endif - typedef sub_match value_type; - typedef iterator iterator_type; - -protected: - typedef typename boost::detail::rebind_allocator::type c_alloc; - - struct c_reference : public c_alloc - { - std::size_t cmatches; - unsigned count; - sub_match head, tail, null; - unsigned int lines; - iterator line_pos, base; - c_reference(const Allocator& a) - : c_alloc(a), cmatches(0), count(0), lines(0) { } - - bool operator==(const c_reference& that)const - { - return (cmatches == that.cmatches) && - (count == that.count) && - (head == that.head) && - (tail == that.tail) && - (lines == that.lines) && - (base == that.base); - } - bool operator!=(const c_reference& that)const - { return !(*this == that); } - }; - - c_reference* ref; - - void BOOST_REGEX_CALL cow(); - - // protected contructor for derived class... - match_results_base(bool){} - void BOOST_REGEX_CALL m_free(); - -public: - - match_results_base(const Allocator& a = Allocator()); - - match_results_base(const match_results_base& m) - { - ref = m.ref; - ++(ref->count); - } - - match_results_base& BOOST_REGEX_CALL operator=(const match_results_base& m); - - ~match_results_base() - { - m_free(); - } - - size_type BOOST_REGEX_CALL size()const - { - //return (*this)[0].matched ? ref->cmatches : 0; - return ref->cmatches; - } - - const sub_match& BOOST_REGEX_CALL operator[](int n) const - { - if((n >= 0) && ((unsigned int)n < ref->cmatches)) - return *(sub_match*)((char*)ref + sizeof(c_reference) + sizeof(sub_match)*n); - return (n == -1) ? ref->head : (n == -2) ? ref->tail : ref->null; - } - - Allocator BOOST_REGEX_CALL allocator()const; - - difference_type BOOST_REGEX_CALL length(unsigned int sub = 0)const - { - jm_assert(ref->cmatches); - const sub_match& m = (*this)[sub]; - if(m.matched == false) - return 0; - difference_type n = boost::re_detail::distance((iterator)m.first, (iterator)m.second); - return n; - } - - std::basic_string str(int i)const - { - return static_cast >((*this)[i]); - } - - unsigned int BOOST_REGEX_CALL line()const - { - return ref->lines; - } - - difference_type BOOST_REGEX_CALL position(unsigned int sub = 0)const - { - jm_assert(ref->cmatches); - const sub_match& s = (*this)[sub]; - if(s.matched == false) - return -1; - difference_type n = boost::re_detail::distance((iterator)(ref->base), (iterator)(s.first)); - return n; - } - - iterator BOOST_REGEX_CALL line_start()const - { - return ref->line_pos; - } - - void swap(match_results_base& that) - { - c_reference* t = that.ref; - that.ref = ref; - ref = t; - } - - bool operator==(const match_results_base& that)const; - bool operator<(const match_results_base& that)const - { return position() < that.position(); } - - friend class match_results; - - void BOOST_REGEX_CALL set_size(size_type n); - void BOOST_REGEX_CALL set_size(size_type n, iterator i, iterator j); - void BOOST_REGEX_CALL maybe_assign(const match_results_base& m); - void BOOST_REGEX_CALL init_fail(iterator i, iterator j); - - void BOOST_REGEX_CALL set_first(iterator i); - void BOOST_REGEX_CALL set_first(iterator i, std::size_t pos); - - void BOOST_REGEX_CALL set_second(iterator i) - { - cow(); - ((sub_match*)(ref+1))->second = i; - ((sub_match*)(ref+1))->matched = true; - ref->tail.first = i; - ref->tail.matched = (ref->tail.first == ref->tail.second) ? false : true; - } - - void BOOST_REGEX_CALL set_second(iterator i, std::size_t pos, bool m = true) - { - cow(); - ((sub_match*)((char*)ref + sizeof(c_reference) + sizeof(sub_match) * pos))->second = i; - ((sub_match*)((char*)ref + sizeof(c_reference) + sizeof(sub_match) * pos))->matched = m; - if(pos == 0) - { - ref->tail.first = i; - ref->tail.matched = (ref->tail.first == ref->tail.second) ? false : true; - } - } - - void BOOST_REGEX_CALL set_line(unsigned int i, iterator pos) - { - ref->lines = i; - ref->line_pos = pos; - } - - void BOOST_REGEX_CALL set_base(iterator pos) - { - ref->base = pos; - } -}; - -template -void BOOST_REGEX_CALL match_results_base::set_first(iterator i) -{ - cow(); - ref->head.second = i; - ref->head.matched = (ref->head.first == ref->head.second) ? false : true; - sub_match* p1 = (sub_match*)(ref+1); - sub_match* p2 = p1 + ref->cmatches; - p1->first = i; - p1->matched = false; - ++p1; - while(p1 != p2) - { - p1->matched = false; - p1->first = ref->tail.second; - p1->second = ref->tail.second; - ++p1; - } -} - -template -void BOOST_REGEX_CALL match_results_base::set_first(iterator i, std::size_t pos) -{ - cow(); - ((sub_match*)((char*)ref + sizeof(c_reference) + sizeof(sub_match) * pos))->first = i; - if(pos == 0) - { - ref->head.second = i; - ref->head.matched = (ref->head.first == ref->head.second) ? false : true; - sub_match* p1 = (sub_match*)(ref+1); - sub_match* p2 = p1 + ref->cmatches; - p1->first = i; - p1->matched = false; - ++p1; - while(p1 != p2) - { - p1->matched = false; - p1->first = ref->tail.second; - p1->second = ref->tail.second; - ++p1; - } - } -} - - -template -match_results_base::match_results_base(const Allocator& a) -{ - ref = (c_reference*)c_alloc(a).allocate(sizeof(sub_match) + sizeof(c_reference)); - BOOST_REGEX_NOEH_ASSERT(ref) -#ifndef BOOST_NO_EXCEPTIONS - try - { -#endif - new (ref) c_reference(a); - ref->cmatches = 1; - ref->count = 1; - // construct the sub_match: -#ifndef BOOST_NO_EXCEPTIONS - try - { -#endif - new ((sub_match*)(ref+1)) sub_match(); -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - ::boost::re_detail::pointer_destroy(ref); - throw; - } - } - catch(...) - { - c_alloc(a).deallocate((char*)(void*)ref, sizeof(sub_match) + sizeof(c_reference)); - throw; - } -#endif -} - -template -Allocator BOOST_REGEX_CALL match_results_base::allocator()const -{ - return *((c_alloc*)ref); -} - -template -inline match_results_base& BOOST_REGEX_CALL match_results_base::operator=(const match_results_base& m) -{ - if(ref != m.ref) - { - m_free(); - ref = m.ref; - ++(ref->count); - } - return *this; -} - - -template -void BOOST_REGEX_CALL match_results_base::m_free() -{ - if(--(ref->count) == 0) - { - c_alloc a(*ref); - sub_match* p1, *p2; - p1 = (sub_match*)(ref+1); - p2 = p1 + ref->cmatches; - while(p1 != p2) - { - ::boost::re_detail::pointer_destroy(p1); - ++p1; - } - ::boost::re_detail::pointer_destroy(ref); - a.deallocate((char*)(void*)ref, sizeof(sub_match) * ref->cmatches + sizeof(c_reference)); - } -} - -template -bool match_results_base::operator==(const match_results_base& that)const -{ - if(*ref != *(that.ref)) - return false; - const sub_match* p1 = (sub_match*)(ref+1); - const sub_match* p2 = p1 + ref->cmatches; - const sub_match* p3 = (sub_match*)(that.ref+1); - while(p1 != p2) - { - if(*p1 != *p3) - return false; - ++p1; - ++p3; - } - return true; -} - -template -void BOOST_REGEX_CALL match_results_base::set_size(size_type n) -{ - if(ref->cmatches != n) - { - c_reference* newref = (c_reference*)ref->allocate(sizeof(sub_match) * n + sizeof(c_reference)); - BOOST_REGEX_NOEH_ASSERT(newref) -#ifndef BOOST_NO_EXCEPTIONS - try - { -#endif - new (newref) c_reference(*ref); - newref->count = 1; - newref->cmatches = n; - sub_match* p1, *p2; - p1 = (sub_match*)(newref+1); - p2 = p1 + newref->cmatches; -#ifndef BOOST_NO_EXCEPTIONS - try - { -#endif - while(p1 != p2) - { - new (p1) sub_match(); - ++p1; - } - m_free(); -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - p2 = (sub_match*)(newref+1); - while(p2 != p1) - { - ::boost::re_detail::pointer_destroy(p2); - ++p2; - } - ::boost::re_detail::pointer_destroy(ref); - throw; - } -#endif - ref = newref; -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - ref->deallocate((char*)(void*)newref, sizeof(sub_match) * n + sizeof(c_reference)); - throw; - } -#endif - } -} - -template -void BOOST_REGEX_CALL match_results_base::set_size(size_type n, iterator i, iterator j) -{ - if(ref->cmatches != n) - { - c_reference* newref = (c_reference*)ref->allocate(sizeof(sub_match) * n + sizeof(c_reference)); - BOOST_REGEX_NOEH_ASSERT(newref) -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - new (newref) c_reference(*ref); - newref->count = 1; - newref->cmatches = n; - sub_match* p1 = (sub_match*)(newref+1); - sub_match* p2 = p1 + newref->cmatches; -#ifndef BOOST_NO_EXCEPTIONS - try - { -#endif - while(p1 != p2) - { - new (p1) sub_match(j); - ++p1; - } - m_free(); -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - p2 = (sub_match*)(newref+1); - while(p2 != p1) - { - ::boost::re_detail::pointer_destroy(p2); - ++p2; - } - ::boost::re_detail::pointer_destroy(ref); - throw; - } -#endif - ref = newref; -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - ref->deallocate((char*)(void*)newref, sizeof(sub_match) * n + sizeof(c_reference)); - throw; - } -#endif - } - else - { - cow(); - // set iterators to be i, matched to false: - sub_match* p1, *p2; - p1 = (sub_match*)(ref+1); - p2 = p1 + ref->cmatches; - while(p1 != p2) - { - p1->first = j; - p1->second = j; - p1->matched = false; - ++p1; - } - } - ref->head.first = i; - ref->tail.second = j; - ref->head.matched = ref->tail.matched = true; - ref->null.first = ref->null.second = j; - ref->null.matched = false; -} - -template -inline void BOOST_REGEX_CALL match_results_base::init_fail(iterator i, iterator j) -{ - set_size(ref->cmatches, i, j); -} - -template -void BOOST_REGEX_CALL match_results_base::maybe_assign(const match_results_base& m) -{ - sub_match* p1, *p2; - p1 = (sub_match*)(ref+1); - p2 = (sub_match*)(m.ref+1); - iterator base = (*this)[-1].first; - std::size_t len1 = 0; - std::size_t len2 = 0; - std::size_t base1 = 0; - std::size_t base2 = 0; - std::size_t i; - for(i = 0; i < ref->cmatches; ++i) - { - // - // leftmost takes priority over longest: - base1 = boost::re_detail::distance(base, p1->first); - base2 = boost::re_detail::distance(base, p2->first); - if(base1 < base2) return; - if(base2 < base1) break; - - len1 = boost::re_detail::distance(p1->first, p1->second); - len2 = boost::re_detail::distance(p2->first, p2->second); - if((len1 != len2) || ((p1->matched == false) && (p2->matched == true))) - break; - if((p1->matched == true) && (p2->matched == false)) - return; - ++p1; - ++p2; - } - if(i == ref->cmatches) - return; - if(base2 < base1) - *this = m; - else if((len2 > len1) || ((p1->matched == false) && (p2->matched == true)) ) - *this = m; -} - -template -void BOOST_REGEX_CALL match_results_base::cow() -{ - if(ref->count > 1) - { - c_reference* newref = (c_reference*)ref->allocate(sizeof(sub_match) * ref->cmatches + sizeof(c_reference)); - BOOST_REGEX_NOEH_ASSERT(newref) -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - new (newref) c_reference(*ref); - newref->count = 1; - sub_match* p1 = (sub_match*)(newref+1); - sub_match* p2 = p1 + newref->cmatches; - sub_match* p3 = (sub_match*)(ref+1); -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - while(p1 != p2) - { - new (p1) sub_match(*p3); - ++p1; - ++p3; - } -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - p2 = (sub_match*)(newref+1); - while(p2 != p1) - { - ::boost::re_detail::pointer_destroy(p2); - ++p2; - } - ::boost::re_detail::pointer_destroy(ref); - throw; - } -#endif - --(ref->count); - ref = newref; -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - ref->deallocate((char*)(void*)newref, sizeof(sub_match) * ref->cmatches + sizeof(c_reference)); - throw; - } -#endif - } -} - -} // namespace re_detail - -// -// class match_results -// encapsulates match_results_base, does a deep copy rather than -// reference counting to ensure thread safety when copying -// other match_results instances - -template -class match_results : public re_detail::match_results_base -{ - typedef re_detail::match_results_base base_type; -public: - - typedef typename base_type::alloc_type alloc_type; - typedef typename base_type::size_type size_type; - typedef typename base_type::char_type char_type; - typedef typename base_type::value_type value_type; - typedef typename base_type::difference_type difference_type; - typedef typename base_type::iterator_type iterator_type; - - explicit match_results(const Allocator& a = Allocator()) - : re_detail::match_results_base(a){} - - match_results(const re_detail::match_results_base& m) - : re_detail::match_results_base(m){} - - match_results& operator=(const re_detail::match_results_base& m) - { - // shallow copy - base_type::operator=(m); - return *this; - } - - match_results(const match_results& m); - match_results& operator=(const match_results& m); - // - // the following function definitions should *not* be required, except - // when this class is used as a template inside another template definition, - // in which members of the base class are not visible to the calling code. - // As a workaround we define simple forwarding functions: - // - size_type size()const - { return static_cast(this)->size(); } - - const sub_match& operator[](int n) const - { return (*static_cast(this))[n]; } - - Allocator allocator()const - { return static_cast(this)->allocator(); } - - difference_type length(int sub = 0)const - { return static_cast(this)->length(sub); } - - difference_type position(unsigned int sub = 0)const - { return static_cast(this)->position(sub); } - - unsigned int line()const - { return static_cast(this)->line(); } - - iterator line_start()const - { return static_cast(this)->line_start(); } - - std::basic_string str(int sub = 0)const - { return static_cast(this)->str(sub); } - - void swap(match_results& that) - { static_cast(this)->swap(that); } - - bool operator==(const match_results& that)const - { return static_cast(*this) == static_cast(that); } - - bool operator<(const match_results& that) const - { return position() < that.position(); } -}; - -template -match_results::match_results(const match_results& m) - : re_detail::match_results_base(false) -{ - this->ref = - reinterpret_cast::c_reference *> - (m.ref->allocate(sizeof(sub_match) * m.ref->cmatches + - sizeof(typename re_detail::match_results_base::c_reference))); - BOOST_REGEX_NOEH_ASSERT(this->ref) -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - new (this->ref) typename re_detail::match_results_base::c_reference(*m.ref); - this->ref->count = 1; - sub_match* p1 = (sub_match*)(this->ref+1); - sub_match* p2 = p1 + this->ref->cmatches; - sub_match* p3 = (sub_match*)(m.ref+1); -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - while(p1 != p2) - { - new (p1) sub_match(*p3); - ++p1; - ++p3; - } -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - p2 = (sub_match*)(this->ref+1); - while(p2 != p1) - { - re_detail::pointer_destroy(p2); - ++p2; - } - re_detail::pointer_destroy(this->ref); - throw; - } - } - catch(...) - { - m.ref->deallocate((char*)(void*)this->ref, sizeof(sub_match) * m.ref->cmatches + sizeof(typename re_detail::match_results_base::c_reference)); - throw; - } -#endif -} - -template -match_results& match_results::operator=(const match_results& m) -{ - match_results t(m); - this->swap(t); - return *this; -} - -namespace re_detail{ -template -iterator BOOST_REGEX_CALL re_is_set_member(iterator next, - iterator last, - const re_set_long* set_, - const reg_expression& e); -} // namepsace re_detail - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace boost - -#ifndef BOOST_REGEX_COMPILE_HPP -#include -#endif - -// -// template instances: -// -#define BOOST_REGEX_CHAR_T char -#ifdef BOOST_REGEX_NARROW_INSTANTIATE -# define BOOST_REGEX_INSTANTIATE -#endif -#include -#undef BOOST_REGEX_CHAR_T -#ifdef BOOST_REGEX_INSTANTIATE -# undef BOOST_REGEX_INSTANTIATE -#endif - -#ifndef BOOST_NO_WREGEX -#define BOOST_REGEX_CHAR_T wchar_t -#ifdef BOOST_REGEX_WIDE_INSTANTIATE -# define BOOST_REGEX_INSTANTIATE -#endif -#include -#undef BOOST_REGEX_CHAR_T -#ifdef BOOST_REGEX_INSTANTIATE -# undef BOOST_REGEX_INSTANTIATE -#endif -#endif - - -namespace boost{ -#ifdef BOOST_REGEX_NO_FWD -typedef reg_expression, BOOST_DEFAULT_ALLOCATOR(char)> regex; -#ifndef BOOST_NO_WREGEX -typedef reg_expression, BOOST_DEFAULT_ALLOCATOR(wchar_t)> wregex; -#endif -#endif - -typedef match_results cmatch; -typedef match_results smatch; -#ifndef BOOST_NO_WREGEX -typedef match_results wcmatch; -typedef match_results wsmatch; -#endif - -} // namespace boost -#ifndef BOOST_REGEX_MATCH_HPP -#include -#endif -#ifndef BOOST_REGEX_FORMAT_HPP -#include -#endif -#ifndef BOOST_REGEX_SPLIT_HPP -#include -#endif - -#endif // __cplusplus - -#endif // include - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/include/boost/regex/v3/regex_compile.hpp b/include/boost/regex/v3/regex_compile.hpp deleted file mode 100644 index 82c410b1..00000000 --- a/include/boost/regex/v3/regex_compile.hpp +++ /dev/null @@ -1,2123 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_compile.hpp - * VERSION see - * DESCRIPTION: Declares reg_expression<> member functions. This is - * an internal header file, do not include directly. - */ - -#ifndef BOOST_REGEX_COMPILE_HPP -#define BOOST_REGEX_COMPILE_HPP - -namespace boost{ -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -w-8004 -#endif - namespace re_detail{ - - -template -struct kmp_translator -{ - typedef typename traits::char_type char_type; - bool icase; - const traits* pt; - kmp_translator(bool c, traits* p) : icase(c), pt(p) {} - char_type operator()(char_type c) - { - return pt->translate(c, icase); - } -}; - - -template -bool BOOST_REGEX_CALL re_maybe_set_member(charT c, - const re_set_long* set_, - const reg_expression& e) -{ - const charT* p = reinterpret_cast(set_+1); - bool icase = e.flags() & regbase::icase; - charT col = e.get_traits().translate(c, icase); - for(unsigned int i = 0; i < set_->csingles; ++i) - { - if(col == *p) - return set_->isnot ? false : true; - - while(*p)++p; - ++p; // skip null - } - return set_->isnot ? true : false; -} - -} // namespace re_detail - - -template -inline bool BOOST_REGEX_CALL reg_expression::can_start(charT c, const unsigned char* _map, unsigned char mask, const re_detail::_wide_type&) -{ - if((traits_size_type)(traits_uchar_type)c >= 256) - return true; - return BOOST_REGEX_MAKE_BOOL(_map[(traits_uchar_type)c] & mask); -} - -template -inline bool BOOST_REGEX_CALL reg_expression::can_start(charT c, const unsigned char* _map, unsigned char mask, const re_detail::_narrow_type&) -{ - return BOOST_REGEX_MAKE_BOOL(_map[(traits_uchar_type)c] & mask); -} - -template -reg_expression::reg_expression(const Allocator& a) - : regbase(), data(a), pkmp(0), error_code_(REG_EMPTY), _expression(0) -{ -} - -template -reg_expression::reg_expression(const charT* p, flag_type f, const Allocator& a) - : data(a), pkmp(0), error_code_(REG_EMPTY), _expression(0) -{ - set_expression(p, f | regbase::use_except); -} - -template -reg_expression::reg_expression(const charT* p1, const charT* p2, flag_type f, const Allocator& a) - : data(a), pkmp(0), error_code_(REG_EMPTY), _expression(0) -{ - set_expression(p1, p2, f | regbase::use_except); -} - -template -reg_expression::reg_expression(const charT* p, size_type len, flag_type f, const Allocator& a) - : data(a), pkmp(0), error_code_(REG_EMPTY), _expression(0) -{ - set_expression(p, p + len, f | regbase::use_except); -} - -template -reg_expression::reg_expression(const reg_expression& e) - : regbase(e), data(e.allocator()), pkmp(0), error_code_(REG_EMPTY), _expression(0) -{ - // - // we do a deep copy only if e is a valid expression, otherwise fail. - // - if(e.error_code() == 0) - { - const charT* pe = e.expression(); - set_expression(pe, pe + e._expression_len, e.flags() | regbase::use_except); - } - else - { - _flags = e.flags() & ~(regbase::use_except); - fail(e.error_code()); - } -} - -template -reg_expression::~reg_expression() -{ - if(pkmp) - re_detail::kmp_free(pkmp, data.allocator()); -} - -template -reg_expression& BOOST_REGEX_CALL reg_expression::operator=(const reg_expression& e) -{ - // - // we do a deep copy only if e is a valid expression, otherwise fail. - // - if(this == &e) return *this; - _flags = use_except; - fail(e.error_code()); - if(error_code() == 0) - set_expression(e._expression, e._expression + e._expression_len, e.flags() | regbase::use_except); - return *this; -} - -template -inline bool BOOST_REGEX_CALL reg_expression::operator==(const reg_expression& e)const -{ - return (_flags == e.flags()) - && (_expression_len == e._expression_len) - && (std::memcmp(_expression, e._expression, _expression_len * sizeof(charT)) == 0); -} - -template -bool BOOST_REGEX_CALL reg_expression::operator<(const reg_expression& e)const -{ - // - // we can't offer a diffinitive ordering, but we can be consistant: - if(_flags != e.flags()) return _flags < e.flags(); - if(_expression_len != e._expression_len) return _expression_len < e._expression_len; - return std::memcmp(expression(), e.expression(), _expression_len); -} - -template -Allocator BOOST_REGEX_CALL reg_expression::allocator()const -{ - return data.allocator(); -} - -template -Allocator BOOST_REGEX_CALL reg_expression::get_allocator()const -{ - return data.allocator(); -} - -template -unsigned int BOOST_REGEX_CALL reg_expression::parse_inner_set(const charT*& first, const charT* last) -{ - // - // we have an inner [...] construct - // - jm_assert(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*first) == traits_type::syntax_open_set); - const charT* base = first; - while( (first != last) - && (traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*first) != traits_type::syntax_close_set) ) - ++first; - if(first == last) - return 0; - ++first; - if((first-base) < 5) - return 0; - if(*(base+1) != *(first-2)) - return 0; - unsigned int result = traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*(base+1)); - if((result == traits_type::syntax_colon) && ((first-base) == 5)) - { - return traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*(base+2)); - } - return ((result == traits_type::syntax_colon) || (result == traits_type::syntax_dot) || (result == traits_type::syntax_equal)) ? result : 0; -} - - -template -bool BOOST_REGEX_CALL reg_expression::skip_space(const charT*& first, const charT* last) -{ - // - // returns true if we get to last: - // - while((first != last) && (traits_inst.is_class(*first, traits_type::char_class_space) == true)) - { - ++first; - } - return first == last; -} - -template -void BOOST_REGEX_CALL reg_expression::parse_range(const charT*& ptr, const charT* end, unsigned& min, unsigned& max) -{ - // - // we have {x} or {x,} or {x,y} NB no spaces inside braces - // anything else is illegal - // On input ptr points to "{" - // - ++ptr; - if(skip_space(ptr, end)) - { - fail(REG_EBRACE); - return; - } - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*ptr) != traits_type::syntax_digit) - { - fail(REG_BADBR); - return; - } - min = traits_inst.toi(ptr, end, 10); - if(skip_space(ptr, end)) - { - fail(REG_EBRACE); - return; - } - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*ptr) == traits_type::syntax_comma) - { - //we have a second interval: - ++ptr; - if(skip_space(ptr, end)) - { - fail(REG_EBRACE); - return; - } - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*ptr) == traits_type::syntax_digit) - max = traits_inst.toi(ptr, end, 10); - else - max = (unsigned)-1; - } - else - max = min; - - // validate input: - if(skip_space(ptr, end)) - { - fail(REG_EBRACE); - return; - } - if(max < min) - { - fail(REG_ERANGE); - return; - } - if(_flags & bk_braces) - { - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*ptr) != traits_type::syntax_slash) - { - fail(REG_BADBR); - return; - } - else - { - // back\ is OK now check the } - ++ptr; - if((ptr == end) || (traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*ptr) != traits_type::syntax_close_brace)) - { - fail(REG_BADBR); - return; - } - } - } - else if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*ptr) != traits_type::syntax_close_brace) - { - fail(REG_BADBR); - return; - } -} - -template -charT BOOST_REGEX_CALL reg_expression::parse_escape(const charT*& first, const charT* last) -{ - charT c(*first); - traits_size_type c_unsigned = (traits_size_type)(traits_uchar_type)*first; - // this is only used for the switch(), but cannot be folded in - // due to a bug in Comeau 4.2.44beta3 - traits_size_type syntax = traits_inst.syntax_type(c_unsigned); - switch(syntax) - { - case traits_type::syntax_a: - c = '\a'; - ++first; - break; - case traits_type::syntax_f: - c = '\f'; - ++first; - break; - case traits_type::syntax_n: - c = '\n'; - ++first; - break; - case traits_type::syntax_r: - c = '\r'; - ++first; - break; - case traits_type::syntax_t: - c = '\t'; - ++first; - break; - case traits_type::syntax_v: - c = '\v'; - ++first; - break; - case traits_type::syntax_x: - ++first; - if(first == last) - { - fail(REG_EESCAPE); - break; - } - // maybe have \x{ddd} - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*first)) == traits_type::syntax_open_brace) - { - ++first; - if(first == last) - { - fail(REG_EESCAPE); - break; - } - if(traits_inst.is_class(*first, traits_type::char_class_xdigit) == false) - { - fail(REG_BADBR); - break; - } - c = (charT)traits_inst.toi(first, last, -16); - if((first == last) || (traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*first)) != traits_type::syntax_close_brace)) - { - fail(REG_BADBR); - } - ++first; - break; - } - else - { - if(traits_inst.is_class(*first, traits_type::char_class_xdigit) == false) - { - fail(REG_BADBR); - break; - } - c = (charT)traits_inst.toi(first, last, -16); - } - break; - case traits_type::syntax_c: - ++first; - if(first == last) - { - fail(REG_EESCAPE); - break; - } - if(((traits_uchar_type)(*first) < (traits_uchar_type)'@') - || ((traits_uchar_type)(*first) > (traits_uchar_type)127) ) - { - fail(REG_EESCAPE); - return (charT)0; - } - c = (charT)((traits_uchar_type)(*first) - (traits_uchar_type)'@'); - ++first; - break; - case traits_type::syntax_e: - c = (charT)27; - ++first; - break; - case traits_type::syntax_digit: - c = (charT)traits_inst.toi(first, last, -8); - break; - default: - //c = *first; - ++first; - } - return c; -} - -template -void BOOST_REGEX_CALL reg_expression::compile_maps() -{ - re_detail::re_syntax_base* record = static_cast(data.data()); - // always compile the first _map: - std::memset(startmap, 0, 256); - record->can_be_null = 0; - compile_map(record, startmap, 0, re_detail::mask_all); - - while(record->type != re_detail::syntax_element_match) - { - if((record->type == re_detail::syntax_element_alt) || (record->type == re_detail::syntax_element_rep)) - { - std::memset(&(static_cast(record)->_map), 0, 256); - record->can_be_null = 0; - compile_map(record->next.p, static_cast(record)->_map, &(record->can_be_null), re_detail::mask_take, static_cast(record)->alt.p); - compile_map(static_cast(record)->alt.p, static_cast(record)->_map, &(record->can_be_null), re_detail::mask_skip); - if(record->type == re_detail::syntax_element_rep) - { - re_detail::re_repeat* rep = static_cast(record); - // set whether this is a singleton repeat or not: - if(rep->next.p->next.p->next.p == rep->alt.p) - { - rep->singleton = true; - } - else - rep->singleton = false; - } - } - else - { - record->can_be_null = 0; - compile_map(record, 0, &(record->can_be_null), re_detail::mask_all); - } - record = record->next.p; - } - record->can_be_null = re_detail::mask_all; -} - -template -bool BOOST_REGEX_CALL reg_expression::probe_start( - re_detail::re_syntax_base* node, charT cc, re_detail::re_syntax_base* terminal) const -{ - unsigned int c; - - switch(node->type) - { - case re_detail::syntax_element_startmark: - if(static_cast(node)->index == -1) - { - return probe_start(node->next.p->next.p, cc, terminal) - && probe_start(static_cast(node->next.p)->alt.p, cc, terminal); - } - // fall through: - case re_detail::syntax_element_endmark: - case re_detail::syntax_element_start_line: - case re_detail::syntax_element_word_boundary: - case re_detail::syntax_element_buffer_start: - case re_detail::syntax_element_restart_continue: - // doesn't tell us anything about the next character, so: - return probe_start(node->next.p, cc, terminal); - case re_detail::syntax_element_literal: - // only the first character of the literal can match: - // note these have already been translated: - if(*reinterpret_cast(static_cast(node)+1) == traits_inst.translate(cc, (_flags & regbase::icase))) - return true; - return false; - case re_detail::syntax_element_end_line: - // next character (if there is one!) must be a newline: - if(traits_inst.is_separator(traits_inst.translate(cc, (_flags & regbase::icase)))) - return true; - return false; - case re_detail::syntax_element_wild: - return true; - case re_detail::syntax_element_match: - return true; - case re_detail::syntax_element_within_word: - case re_detail::syntax_element_word_start: - return traits_inst.is_class(traits_inst.translate(cc, (_flags & regbase::icase)), traits_type::char_class_word); - case re_detail::syntax_element_word_end: - // what follows must not be a word character, - return traits_inst.is_class(traits_inst.translate(cc, (_flags & regbase::icase)), traits_type::char_class_word) ? false : true; - case re_detail::syntax_element_buffer_end: - // we can be null, nothing must follow, - // NB we assume that this is followed by - // re_detail::syntax_element_match, if its not then we can - // never match anything anyway!! - return false; - case re_detail::syntax_element_soft_buffer_end: - // we can be null, only newlines must follow, - // NB we assume that this is followed by - // re_detail::syntax_element_match, if its not then we can - // never match anything anyway!! - return traits_inst.is_separator(traits_inst.translate(cc, (_flags & regbase::icase))); - case re_detail::syntax_element_backref: - // there's no easy way to determine this - // which is not to say it can't be done! - // for now: - return true; - case re_detail::syntax_element_long_set: - // we can not be null, - // we need to add already translated values in the set - // to values in the _map - return re_detail::re_maybe_set_member(cc, static_cast(node), *this) || (re_detail::re_is_set_member(static_cast(&cc), static_cast(&cc+1), static_cast(node), *this) != &cc); - case re_detail::syntax_element_set: - // set all the elements that are set in corresponding set: - c = (traits_size_type)(traits_uchar_type)traits_inst.translate(cc, (_flags & regbase::icase)); - return static_cast(node)->_map[c] != 0; - case re_detail::syntax_element_jump: - if(static_cast(node)->alt.p < node) - { - // backwards jump, - // caused only by end of repeat section, we'll treat this - // the same as a match, because the sub-expression has matched. - if(node->next.p == terminal) - return true; // null repeat - we can always take this - else - { - // - // take the jump, add in fix for the fact that if the - // repeat that we're jumping to has non-zero minimum count - // then we need to add in the possiblity that we could still - // skip that repeat. - re_detail::re_syntax_base* next = static_cast(node)->alt.p; - bool b = probe_start(next, cc, terminal); - if((next->type == re_detail::syntax_element_rep) && (static_cast(next)->min != 0)) - { - b = b || probe_start(static_cast(next)->alt.p, cc, terminal); - } - return b; - } - } - else - // take the jump and compile: - return probe_start(static_cast(node)->alt.p, cc, terminal); - case re_detail::syntax_element_alt: - // we need to take the OR of the two alternatives: - return probe_start(static_cast(node)->alt.p, cc, terminal) || probe_start(node->next.p, cc, terminal); - case re_detail::syntax_element_rep: - // we need to take the OR of the two alternatives - if(static_cast(node)->min == 0) - return probe_start(node->next.p, cc, static_cast(node)->alt.p) || probe_start(static_cast(node)->alt.p, cc, terminal); - else - return probe_start(node->next.p, cc, static_cast(node)->alt.p); - case re_detail::syntax_element_combining: - return !traits_inst.is_combining(traits_inst.translate(cc, (_flags & regbase::icase))); - } - return false; -} - -template -bool BOOST_REGEX_CALL reg_expression::probe_start_null(re_detail::re_syntax_base* node, re_detail::re_syntax_base* terminal)const -{ - switch(node->type) - { - case re_detail::syntax_element_startmark: - case re_detail::syntax_element_endmark: - case re_detail::syntax_element_start_line: - case re_detail::syntax_element_word_boundary: - case re_detail::syntax_element_buffer_start: - case re_detail::syntax_element_restart_continue: - case re_detail::syntax_element_end_line: - case re_detail::syntax_element_word_end: - // doesn't tell us anything about the next character, so: - return probe_start_null(node->next.p, terminal); - case re_detail::syntax_element_match: - case re_detail::syntax_element_buffer_end: - case re_detail::syntax_element_soft_buffer_end: - case re_detail::syntax_element_backref: - return true; - case re_detail::syntax_element_jump: - if(static_cast(node)->alt.p < node) - { - // backwards jump, - // caused only by end of repeat section, we'll treat this - // the same as a match, because the sub-expression has matched. - // this is only caused by NULL repeats as in "(a*)*" or "(\<)*" - // these are really nonsensence and make the matching code much - // harder, it would be nice to get rid of them altogether. - if(node->next.p == terminal) - return true; - else - return probe_start_null(static_cast(node)->alt.p, terminal); - } - else - // take the jump and compile: - return probe_start_null(static_cast(node)->alt.p, terminal); - case re_detail::syntax_element_alt: - // we need to take the OR of the two alternatives: - return probe_start_null(static_cast(node)->alt.p, terminal) || probe_start_null(node->next.p, terminal); - case re_detail::syntax_element_rep: - // only need to consider skipping the repeat: - return probe_start_null(static_cast(node)->alt.p, terminal); - default: - break; - } - return false; -} - -template -void BOOST_REGEX_CALL reg_expression::compile_map( - re_detail::re_syntax_base* node, unsigned char* _map, - unsigned int* pnull, unsigned char mask, re_detail::re_syntax_base* terminal)const -{ - if(_map) - { - for(unsigned int i = 0; i < 256; ++i) - { - if(probe_start(node, (charT)i, terminal)) - _map[i] |= mask; - } - } - if(pnull && probe_start_null(node, terminal)) - *pnull |= mask; -} - -template -void BOOST_REGEX_CALL reg_expression::move_offsets(re_detail::re_syntax_base* j, unsigned size) -{ -# ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable: 4127) -#endif - // move all offsets starting with j->link forward by size - // called after an insert: - j = reinterpret_cast(reinterpret_cast(data.data()) + j->next.i); - while(true) - { - switch(j->type) - { - case re_detail::syntax_element_rep: - static_cast(j)->alt.i += size; - j->next.i += size; - break; - case re_detail::syntax_element_jump: - case re_detail::syntax_element_alt: - static_cast(j)->alt.i += size; - j->next.i += size; - break; - default: - j->next.i += size; - break; - } - if(j->next.i == size) - break; - j = reinterpret_cast(reinterpret_cast(data.data()) + j->next.i); - } -# ifdef BOOST_MSVC -# pragma warning(pop) -#endif -} - -template -re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::compile_set_simple(re_detail::re_syntax_base* dat, unsigned long cls, bool isnot) -{ - typedef typename re_detail::is_byte::width_type width_type; - re_detail::jstack singles(64, data.allocator()); - re_detail::jstack ranges(64, data.allocator()); - re_detail::jstack classes(64, data.allocator()); - re_detail::jstack equivalents(64, data.allocator()); - classes.push(cls); - if(dat) - { - data.align(); - dat->next.i = data.size(); - } - return compile_set_aux(singles, ranges, classes, equivalents, isnot, width_type()); -} - -template -re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::compile_set(const charT*& first, const charT* last) -{ - re_detail::jstack singles(64, data.allocator()); - re_detail::jstack ranges(64, data.allocator()); - re_detail::jstack classes(64, data.allocator()); - re_detail::jstack equivalents(64, data.allocator()); - bool has_digraphs = false; - jm_assert(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*first) == traits_type::syntax_open_set); - ++first; - bool started = false; - bool done = false; - bool isnot = false; - - enum last_type - { - last_single, - last_none, - last_dash - }; - - unsigned l = last_none; - traits_string_type s; - - while((first != last) && !done) - { - traits_size_type c = (traits_size_type)(traits_uchar_type)*first; - // this is only used for the switch(), but cannot be folded in - // due to a bug in Comeau 4.2.44beta3 - traits_size_type syntax = traits_inst.syntax_type(c); - switch(syntax) - { - case traits_type::syntax_caret: - if(!started && !isnot) - { - isnot = true; - } - else - { - s = (charT)c; - goto char_set_literal; - } - break; - case traits_type::syntax_open_set: - { - if((_flags & char_classes) == 0) - { - s = (charT)c; - goto char_set_literal; - } - // check to see if we really have a class: - const charT* base = first; - // this is only used for the switch(), but cannot be folded in - // due to a bug in Comeau 4.2.44beta3 - unsigned int inner_set = parse_inner_set(first, last); - switch(inner_set) - { - case traits_type::syntax_colon: - { - if(l == last_dash) - { - fail(REG_ERANGE); - return 0; - } - boost::uint_fast32_t id = traits_inst.lookup_classname(base+2, first-2); - if(_flags & regbase::icase) - { - if((id == traits_type::char_class_upper) || (id == traits_type::char_class_lower)) - { - id = traits_type::char_class_alpha; - } - } - if(id == 0) - { - fail(REG_ECTYPE); - return 0; - } - classes.push(id); - started = true; - l = last_none; - } - break; - case traits_type::syntax_dot: - // - // we have a collating element [.collating-name.] - // - if(traits_inst.lookup_collatename(s, base+2, first-2)) - { - --first; - if(s.size() > 1) - has_digraphs = true; - if(s.size())goto char_set_literal; - } - fail(REG_ECOLLATE); - return 0; - case traits_type::syntax_equal: - // - // we have an equivalence class [=collating-name=] - // - if(traits_inst.lookup_collatename(s, base+2, first-2)) - { - std::size_t len = s.size(); - if(len) - { - unsigned i = 0; - while(i < len) - { - s[i] = traits_inst.translate(s[i], (_flags & regbase::icase)); - ++i; - } - traits_string_type s2; - traits_inst.transform_primary(s2, s); - equivalents.push(s2); - started = true; - l = last_none; - break; - } - } - fail(REG_ECOLLATE); - return 0; - case traits_type::syntax_left_word: - if((started == false) && (traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*first) == traits_type::syntax_close_set)) - { - ++first; - return add_simple(0, re_detail::syntax_element_word_start); - } - fail(REG_EBRACK); - return 0; - case traits_type::syntax_right_word: - if((started == false) && (traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*first) == traits_type::syntax_close_set)) - { - ++first; - return add_simple(0, re_detail::syntax_element_word_end); - } - fail(REG_EBRACK); - return 0; - default: - if(started == false) - { - unsigned int t = traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*(base+1)); - if((t != traits_type::syntax_colon) && (t != traits_type::syntax_dot) && (t != traits_type::syntax_equal)) - { - first = base; - s = (charT)c; - goto char_set_literal; - } - } - fail(REG_EBRACK); - return 0; - } - if(first == last) - { - fail(REG_EBRACK); - return 0; - } - continue; - } - case traits_type::syntax_close_set: - if(started == false) - { - s = (charT)c; - goto char_set_literal; - } - done = true; - break; - case traits_type::syntax_dash: - if(!started) - { - s = (charT)c; - goto char_set_literal; - } - ++first; - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*first) == traits_type::syntax_close_set) - { - --first; - s = (charT)c; - goto char_set_literal; - } - if((singles.empty() == true) || (l != last_single)) - { - fail(REG_ERANGE); - return 0; - } - ranges.push(singles.peek()); - if(singles.peek().size() <= 1) // leave digraphs and ligatures in place - singles.pop(); - l = last_dash; - continue; - case traits_type::syntax_slash: - if(_flags & regbase::escape_in_lists) - { - ++first; - if(first == last) - continue; - traits_size_type c = (traits_size_type)(traits_uchar_type)*first; - // this is only used for the switch(), but cannot be folded in - // due to a bug in Comeau 4.2.44beta3 - traits_size_type syntax = traits_inst.syntax_type(c); - switch(syntax) - { - case traits_type::syntax_w: - if(l == last_dash) - { - fail(REG_ERANGE); - return 0; - } - classes.push(traits_type::char_class_word); - started = true; - l = last_none; - ++first; - continue; - case traits_type::syntax_d: - if(l == last_dash) - { - fail(REG_ERANGE); - return 0; - } - classes.push(traits_type::char_class_digit); - started = true; - l = last_none; - ++first; - continue; - case traits_type::syntax_s: - if(l == last_dash) - { - fail(REG_ERANGE); - return 0; - } - classes.push(traits_type::char_class_space); - started = true; - l = last_none; - ++first; - continue; - case traits_type::syntax_l: - if(l == last_dash) - { - fail(REG_ERANGE); - return 0; - } - classes.push(traits_type::char_class_lower); - started = true; - l = last_none; - ++first; - continue; - case traits_type::syntax_u: - if(l == last_dash) - { - fail(REG_ERANGE); - return 0; - } - classes.push(traits_type::char_class_upper); - started = true; - l = last_none; - ++first; - continue; - case traits_type::syntax_W: - case traits_type::syntax_D: - case traits_type::syntax_S: - case traits_type::syntax_U: - case traits_type::syntax_L: - fail(REG_EESCAPE); - return 0; - default: - c = parse_escape(first, last); - --first; - s = (charT)c; - goto char_set_literal; - } - } - else - { - s = (charT)c; - goto char_set_literal; - } - default: - s = (charT)c; - char_set_literal: - unsigned i = 0; - // get string length to stop us going past the end of string (DWA) - std::size_t len = s.size(); - while(i < len) - { - s[i] = traits_inst.translate(s[i], (_flags & regbase::icase)); - ++i; - } - started = true; - if(l == last_dash) - { - ranges.push(s); - l = last_none; - if(s.size() > 1) // add ligatures to singles list as well - singles.push(s); - } - else - { - singles.push(s); - l = last_single; - } - } - ++first; - } - if(!done) - return 0; - - typedef typename re_detail::is_byte::width_type width_type; - - re_detail::re_syntax_base* result; - if(has_digraphs) - result = compile_set_aux(singles, ranges, classes, equivalents, isnot, re_detail::_wide_type()); - else - result = compile_set_aux(singles, ranges, classes, equivalents, isnot, width_type()); - #ifdef __BORLANDC__ - // delayed throw: - if((result == 0) && (_flags & regbase::use_except)) - fail(error_code()); - #endif - return result; -} - -template -re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::compile_set_aux(re_detail::jstack& singles, re_detail::jstack& ranges, re_detail::jstack& classes, re_detail::jstack& equivalents, bool isnot, const re_detail::_wide_type&) -{ - size_type base = data.size(); - data.extend(sizeof(re_detail::re_set_long)); - unsigned int csingles = 0; - unsigned int cranges = 0; - boost::uint_fast32_t cclasses = 0; - unsigned int cequivalents = 0; - bool nocollate_state = flags() & regbase::nocollate; - - while(singles.empty() == false) - { - ++csingles; - const traits_string_type& s = singles.peek(); - std::size_t len = (s.size() + 1) * sizeof(charT); - std::memcpy(reinterpret_cast(data.extend(len)), s.c_str(), len); - singles.pop(); - } - while(ranges.empty() == false) - { - traits_string_type c1, c2; - if(nocollate_state) - c1 = ranges.peek(); - else - traits_inst.transform(c1, ranges.peek()); - ranges.pop(); - if(nocollate_state) - c2 = ranges.peek(); - else - traits_inst.transform(c2, ranges.peek()); - ranges.pop(); - if(c1 < c2) - { - // for some reason bc5 crashes when throwing exceptions - // from here - probably an EH-compiler bug, but hard to - // be sure... - // delay throw to later: - #ifdef __BORLANDC__ - boost::uint_fast32_t f = _flags; - _flags &= ~regbase::use_except; - #endif - fail(REG_ERANGE); - #ifdef __BORLANDC__ - _flags = f; - #endif - return 0; - } - ++cranges; - std::size_t len = (re_detail::re_strlen(c1.c_str()) + 1) * sizeof(charT); - std::memcpy(data.extend(len), c1.c_str(), len); - len = (re_detail::re_strlen(c2.c_str()) + 1) * sizeof(charT); - std::memcpy(data.extend(len), c2.c_str(), len); - } - while(classes.empty() == false) - { - cclasses |= classes.peek(); - classes.pop(); - } - while(equivalents.empty() == false) - { - ++cequivalents; - const traits_string_type& s = equivalents.peek(); - std::size_t len = (re_detail::re_strlen(s.c_str()) + 1) * sizeof(charT); - std::memcpy(reinterpret_cast(data.extend(len)), s.c_str(), len); - equivalents.pop(); - } - - re_detail::re_set_long* dat = reinterpret_cast(reinterpret_cast(data.data()) + base); - dat->type = re_detail::syntax_element_long_set; - dat->csingles = csingles; - dat->cranges = cranges; - dat->cclasses = cclasses; - dat->cequivalents = cequivalents; - dat->isnot = isnot; - dat->next.i = 0; - return dat; -} - -template -re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::compile_set_aux(re_detail::jstack& singles, re_detail::jstack& ranges, re_detail::jstack& classes, re_detail::jstack& equivalents, bool isnot, const re_detail::_narrow_type&) -{ - re_detail::re_set* dat = reinterpret_cast(data.extend(sizeof(re_detail::re_set))); - std::memset(dat, 0, sizeof(re_detail::re_set)); - - while(singles.empty() == false) - { - dat->_map[(traits_size_type)(traits_uchar_type)*(singles.peek().c_str())] = re_detail::mask_all; - singles.pop(); - } - while(ranges.empty() == false) - { - traits_string_type c1, c2, c3, c4; - - if(flags() & regbase::nocollate) - c1 = ranges.peek(); - else - traits_inst.transform(c1, ranges.peek()); - ranges.pop(); - if(flags() & regbase::nocollate) - c2 = ranges.peek(); - else - traits_inst.transform(c2, ranges.peek()); - ranges.pop(); - - if(c1 < c2) - { - // for some reason bc5 crashes when throwing exceptions - // from here - probably an EH-compiler bug, but hard to - // be sure... - // delay throw to later: - #ifdef __BORLANDC__ - boost::uint_fast32_t f = _flags; - _flags &= ~regbase::use_except; - #endif - fail(REG_ERANGE); - #ifdef __BORLANDC__ - _flags = f; - #endif - return 0; - } - for(unsigned int i = 0; i < 256; ++i) - { - c4 = (charT)i; - if(flags() & regbase::nocollate) - c3 = c4; - else - traits_inst.transform(c3, c4); - if((c3 <= c1) && (c3 >= c2)) - dat->_map[i] = re_detail::mask_all; - } - } - while(equivalents.empty() == false) - { - traits_string_type c1, c2; - for(unsigned int i = 0; i < 256; ++i) - { - c2 = (charT)i; - traits_inst.transform_primary(c1, c2); - if(c1 == equivalents.peek()) - dat->_map[i] = re_detail::mask_all; - } - equivalents.pop(); - } - - boost::uint_fast32_t flags = 0; - while(classes.empty() == false) - { - flags |= classes.peek(); - classes.pop(); - } - if(flags) - { - for(unsigned int i = 0; i < 256; ++i) - { - if(traits_inst.is_class(charT(i), flags)) - dat->_map[(traits_uchar_type)traits_inst.translate((charT)i, (_flags & regbase::icase))] = re_detail::mask_all; - } - } - - if(isnot) - { - for(unsigned int i = 0; i < 256; ++i) - { - dat->_map[i] = !dat->_map[i]; - } - } - - dat->type = re_detail::syntax_element_set; - dat->next.i = 0; - return dat; -} - -#ifndef __CODEGUARD__ -// this must not be inline when Borland's codeguard support is turned -// on, otherwise we _will_ get surious codeguard errors... -inline -#endif - re_detail::re_syntax_base* add_offset(void* base, std::ptrdiff_t off) -{ - return reinterpret_cast(reinterpret_cast(base) + off); -} - - -template -void BOOST_REGEX_CALL reg_expression::fixup_apply(re_detail::re_syntax_base* b, unsigned cbraces) -{ - typedef typename boost::detail::rebind_allocator::type b_alloc; - - register unsigned char* base = reinterpret_cast(b); - register re_detail::re_syntax_base* ptr = b; - bool* pb = 0; - b_alloc a(data.allocator()); -#ifndef BOOST_NO_EXCEPTIONS - try - { -#endif - pb = a.allocate(cbraces); - BOOST_REGEX_NOEH_ASSERT(pb) - for(unsigned i = 0; i < cbraces; ++i) - pb[i] = false; - - repeats = 0; - - while(ptr->next.i) - { - switch(ptr->type) - { - case re_detail::syntax_element_rep: - jm_assert(data.size() > static_cast(ptr)->alt.i); - static_cast(ptr)->alt.p = add_offset(base, static_cast(ptr)->alt.i); -#ifdef BOOST_REGEX_DEBUG - if((re_detail::padding_mask & reinterpret_cast(static_cast(ptr)->alt.p)) && (static_cast(ptr)->alt.p != b)) - { - jm_trace("padding mis-aligment in repeat jump to object type: " << static_cast(ptr)->alt.p->type) - //jm_assert(0 == (padding_mask & (int)((re_detail::re_jump*)ptr)->alt.p)); - } -#endif - static_cast(ptr)->id = repeats; - ++repeats; - goto rebase; - case re_detail::syntax_element_jump: - case re_detail::syntax_element_alt: - jm_assert(data.size() > static_cast(ptr)->alt.i); - static_cast(ptr)->alt.p = add_offset(base, static_cast(ptr)->alt.i); -#ifdef BOOST_REGEX_DEBUG - if((re_detail::padding_mask & reinterpret_cast(static_cast(ptr)->alt.p) && (static_cast(ptr)->alt.p != b))) - { - jm_trace("padding mis-aligment in alternation jump to object type: " << static_cast(ptr)->alt.p->type) - //jm_assert(0 == (padding_mask & (int)((re_detail::re_jump*)ptr)->alt.p)); - } -#endif - goto rebase; - case re_detail::syntax_element_backref: - if((static_cast(ptr)->index >= (int)cbraces) || (pb[static_cast(ptr)->index] == false) ) - { - fail(REG_ESUBREG); - a.deallocate(pb, cbraces); - return; - } - goto rebase; - case re_detail::syntax_element_endmark: - if(static_cast(ptr)->index > 0) - pb[static_cast(ptr)->index] = true; - goto rebase; - default: - rebase: - jm_assert(data.size() > ptr->next.i); - ptr->next.p = add_offset(base, ptr->next.i); -#ifdef BOOST_REGEX_DEBUG - if((re_detail::padding_mask & (int)(ptr->next.p)) && (static_cast(ptr)->alt.p != b)) - { - jm_trace("padding mis-alignment in next record of type " << ptr->next.p->type) - jm_assert(0 == (re_detail::padding_mask & (int)(ptr->next.p))); - } -#endif - ptr = ptr->next.p; - } - } - a.deallocate(pb, cbraces); - pb = 0; -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - if(pb) - a.deallocate(pb, cbraces); - throw; - } -#endif -} - - -template -unsigned int BOOST_REGEX_CALL reg_expression::set_expression(const charT* p, const charT* end, flag_type f) -{ -# ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable: 4127) -#endif -#ifdef __OpenBSD__ - // strxfrm not working on OpenBSD?? - f |= regbase::nocollate; -#endif - - if(p == expression()) - { - traits_string_type s(p, end); - return set_expression(s.c_str(), s.c_str() + s.size(), f); - } - typedef typename traits_type::sentry sentry_t; - sentry_t sent(traits_inst); - if(sent){ - - const charT* base = p; - data.clear(); - _flags = f; - fail(REG_NOERROR); // clear any error - - if(p >= end) - { - fail(REG_EMPTY); - return error_code(); - } - - const charT* ptr = p; - marks = 0; - re_detail::jstack mark(64, data.allocator()); - re_detail::jstack markid(64, data.allocator()); - std::size_t last_mark_popped = 0; - register traits_size_type c; - register re_detail::re_syntax_base* dat; - - unsigned rep_min = 0; - unsigned rep_max = 0; - - // - // set up header: - // - ++marks; - dat = 0; - - if(_flags & regbase::literal) - { - while(ptr != end) - { - dat = add_literal(dat, traits_inst.translate(*ptr, (_flags & regbase::icase))); - ++ptr; - } - } - - while (ptr < end) - { - c = (traits_size_type)(traits_uchar_type)*ptr; - // this is only used for the switch(), but cannot be folded in - // due to a bug in Comeau 4.2.44beta3 - traits_size_type syntax = traits_inst.syntax_type(c); - switch(syntax) - { - case traits_type::syntax_open_bracket: - if(_flags & bk_parens) - { - dat = add_literal(dat, (charT)c); - ++ptr; - continue; - } - open_bracked_jump: - // extend: - dat = add_simple(dat, re_detail::syntax_element_startmark, sizeof(re_detail::re_brace)); - markid.push(marks); - static_cast(dat)->index = marks++; - mark.push(data.index(dat)); - ++ptr; - // - // check for perl like (?...) extention syntax - c = (traits_size_type)(traits_uchar_type)*ptr; - if(((_flags & bk_parens) == 0) && (traits_type::syntax_question == traits_inst.syntax_type(c))) - { - ++ptr; - c = (traits_size_type)(traits_uchar_type)*ptr; - // this is only used for the switch(), but cannot be folded in - // due to a bug in Comeau 4.2.44beta3 - traits_size_type syntax = traits_inst.syntax_type(c); - switch(syntax) - { - case traits_type::syntax_colon: - static_cast(dat)->index = 0; - --marks; - markid.pop(); - markid.push(0); - ++ptr; - continue; - case traits_type::syntax_equal: - static_cast(dat)->index = -1; - markid.pop(); - markid.push(-1); - common_forward_assert: - --marks; - ++ptr; - // extend: - dat = add_simple(dat, re_detail::syntax_element_jump, re_detail::re_jump_size); - data.align(); - // - // we don't know what value to put here yet, - // use an arbitrarily large value for now - // and check it later: - static_cast(dat)->alt.i = INT_MAX/2; - mark.push(data.size() - re_detail::re_jump_size); - continue; - case traits_type::syntax_not: - static_cast(dat)->index = -2; - markid.pop(); - markid.push(-2); - goto common_forward_assert; - case traits_type::syntax_hash: - // comment just skip it: - static_cast(dat)->index = 0; - --marks; - markid.pop(); - mark.pop(); - do{ - ++ptr; - c = (traits_size_type)(traits_uchar_type)*ptr; - }while(traits_type::syntax_close_bracket != traits_inst.syntax_type(c)); - ++ptr; - continue; - default: - // - // error, return to standard parsing and let that handle the error: - --ptr; - continue; - } - } - break; - case traits_type::syntax_close_bracket: - if(_flags & bk_parens) - { - dat = add_literal(dat, (charT)c); - ++ptr; - continue; - } - - close_bracked_jump: - if(dat) - { - data.align(); - dat->next.i = data.size(); - } - - if(mark.empty()) - { - fail(REG_EPAREN); - return error_code(); - } - // see if we have an empty alternative: - if(mark.peek() == data.index(dat) ) - { - re_detail::re_syntax_base* para = reinterpret_cast(reinterpret_cast(data.data()) + mark.peek()); - if(para->type == re_detail::syntax_element_jump) - { - fail(REG_EMPTY); - return error_code(); - } - } - - // pop any pushed alternatives and set the target end destination: - dat = reinterpret_cast(reinterpret_cast(data.data()) + mark.peek()); - while(dat->type == re_detail::syntax_element_jump) - { - static_cast(dat)->alt.i = data.size(); - mark.pop(); - if(mark.empty()) - { - fail(REG_EPAREN); - return error_code(); - } - dat = reinterpret_cast(reinterpret_cast(data.data()) + mark.peek()); - } - - dat = add_simple(0, re_detail::syntax_element_endmark, sizeof(re_detail::re_brace)); - static_cast(dat)->index = markid.peek(); - markid.pop(); - last_mark_popped = mark.peek(); - mark.pop(); - ++ptr; - break; - case traits_type::syntax_char: - dat = add_literal(dat, (charT)c); - ++ptr; - break; - case traits_type::syntax_slash: - { - if(++ptr == end) - { - fail(REG_EESCAPE); - return error_code(); - } - c = (traits_size_type)(traits_uchar_type)*ptr; - // this is only used for the switch(), but cannot be folded in - // due to a bug in Comeau 4.2.44beta3 - traits_size_type syntax = traits_inst.syntax_type(c); - switch(syntax) - { - case traits_type::syntax_open_bracket: - if(_flags & bk_parens) - goto open_bracked_jump; - break; - case traits_type::syntax_close_bracket: - if(_flags & bk_parens) - goto close_bracked_jump; - break; - case traits_type::syntax_plus: - if((_flags & bk_plus_qm) && ((_flags & limited_ops) == 0)) - { - rep_min = 1; - rep_max = (unsigned)-1; - goto repeat_jump; - } - break; - case traits_type::syntax_question: - if((_flags & bk_plus_qm) && ((_flags & limited_ops) == 0)) - { - rep_min = 0; - rep_max = 1; - goto repeat_jump; - } - break; - case traits_type::syntax_or: - if(((_flags & bk_vbar) == 0) || (_flags & limited_ops)) - break; - goto alt_string_jump; - case traits_type::syntax_open_brace: - if( ((_flags & bk_braces) == 0) || ((_flags & intervals) == 0)) - break; - - // we have {x} or {x,} or {x,y}: - parse_range(ptr, end, rep_min, rep_max); - goto repeat_jump; - - case traits_type::syntax_digit: - if(_flags & bk_refs) - { - // update previous: - int i = traits_inst.toi((charT)c); - if(i == 0) - { - // we can have \025 which means take char whose - // code is 25 (octal), so parse string: - c = traits_inst.toi(ptr, end, -8); - --ptr; - break; - } - dat = add_simple(dat, re_detail::syntax_element_backref, sizeof(re_detail::re_brace)); - static_cast(dat)->index = i; - ++ptr; - continue; - } - break; - case traits_type::syntax_b: // re_detail::syntax_element_word_boundary - dat = add_simple(dat, re_detail::syntax_element_word_boundary); - ++ptr; - continue; - case traits_type::syntax_B: - dat = add_simple(dat, re_detail::syntax_element_within_word); - ++ptr; - continue; - case traits_type::syntax_left_word: - dat = add_simple(dat, re_detail::syntax_element_word_start); - ++ptr; - continue; - case traits_type::syntax_right_word: - dat = add_simple(dat, re_detail::syntax_element_word_end); - ++ptr; - continue; - case traits_type::syntax_w: //re_detail::syntax_element_word_char - dat = compile_set_simple(dat, traits_type::char_class_word); - ++ptr; - continue; - case traits_type::syntax_W: - dat = compile_set_simple(dat, traits_type::char_class_word, true); - ++ptr; - continue; - case traits_type::syntax_d: //re_detail::syntax_element_word_char - dat = compile_set_simple(dat, traits_type::char_class_digit); - ++ptr; - continue; - case traits_type::syntax_D: - dat = compile_set_simple(dat, traits_type::char_class_digit, true); - ++ptr; - continue; - case traits_type::syntax_s: //re_detail::syntax_element_word_char - dat = compile_set_simple(dat, traits_type::char_class_space); - ++ptr; - continue; - case traits_type::syntax_S: - dat = compile_set_simple(dat, traits_type::char_class_space, true); - ++ptr; - continue; - case traits_type::syntax_l: //re_detail::syntax_element_word_char - dat = compile_set_simple(dat, traits_type::char_class_lower); - ++ptr; - continue; - case traits_type::syntax_L: - dat = compile_set_simple(dat, traits_type::char_class_lower, true); - ++ptr; - continue; - case traits_type::syntax_u: //re_detail::syntax_element_word_char - dat = compile_set_simple(dat, traits_type::char_class_upper); - ++ptr; - continue; - case traits_type::syntax_U: - dat = compile_set_simple(dat, traits_type::char_class_upper, true); - ++ptr; - continue; - case traits_type::syntax_Q: - ++ptr; - while(true) - { - if(ptr == end) - { - fail(REG_EESCAPE); - return error_code(); - } - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*ptr) == traits_type::syntax_slash) - { - ++ptr; - if((ptr != end) && (traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*ptr) == traits_type::syntax_E)) - break; - else - { - dat = add_literal(dat, *(ptr-1)); - continue; - } - } - dat = add_literal(dat, *ptr); - ++ptr; - } - ++ptr; - continue; - case traits_type::syntax_C: - dat = add_simple(dat, re_detail::syntax_element_wild); - ++ptr; - continue; - case traits_type::syntax_X: - dat = add_simple(dat, re_detail::syntax_element_combining); - ++ptr; - continue; - case traits_type::syntax_Z: - dat = add_simple(dat, re_detail::syntax_element_soft_buffer_end); - ++ptr; - continue; - case traits_type::syntax_G: - dat = add_simple(dat, re_detail::syntax_element_restart_continue); - ++ptr; - continue; - case traits_type::syntax_start_buffer: - dat = add_simple(dat, re_detail::syntax_element_buffer_start); - ++ptr; - continue; - case traits_type::syntax_end_buffer: - dat = add_simple(dat, re_detail::syntax_element_buffer_end); - ++ptr; - continue; - default: - c = (traits_size_type)(traits_uchar_type)parse_escape(ptr, end); - dat = add_literal(dat, (charT)c); - continue; - } - dat = add_literal(dat, (charT)c); - ++ptr; - break; - } - case traits_type::syntax_dollar: - dat = add_simple(dat, re_detail::syntax_element_end_line, sizeof(re_detail::re_syntax_base)); - ++ptr; - continue; - case traits_type::syntax_caret: - dat = add_simple(dat, re_detail::syntax_element_start_line, sizeof(re_detail::re_syntax_base)); - ++ptr; - continue; - case traits_type::syntax_dot: - dat = add_simple(dat, re_detail::syntax_element_wild, sizeof(re_detail::re_syntax_base)); - ++ptr; - continue; - case traits_type::syntax_star: - rep_min = 0; - rep_max = (unsigned)-1; - - repeat_jump: - { - std::ptrdiff_t offset; - if(dat == 0) - { - fail(REG_BADRPT); - return error_code(); - } - switch(dat->type) - { - case re_detail::syntax_element_endmark: - offset = last_mark_popped; - break; - case re_detail::syntax_element_literal: - if(static_cast(dat)->length > 1) - { - // update previous: - charT lit = *reinterpret_cast(reinterpret_cast(dat) + sizeof(re_detail::re_literal) + ((static_cast(dat)->length-1)*sizeof(charT))); - --static_cast(dat)->length; - dat = add_simple(dat, re_detail::syntax_element_literal, sizeof(re_detail::re_literal) + sizeof(charT)); - static_cast(dat)->length = 1; - *reinterpret_cast(static_cast(dat)+1) = lit; - } - offset = reinterpret_cast(dat) - reinterpret_cast(data.data()); - break; - case re_detail::syntax_element_backref: - case re_detail::syntax_element_long_set: - case re_detail::syntax_element_set: - case re_detail::syntax_element_wild: - case re_detail::syntax_element_combining: - // we're repeating a single item: - offset = reinterpret_cast(dat) - reinterpret_cast(data.data()); - break; - default: - fail(REG_BADRPT); - return error_code(); - } - data.align(); - dat->next.i = data.size(); - //unsigned pos = (char*)dat - (char*)data.data(); - - // add the trailing jump: - dat = add_simple(dat, re_detail::syntax_element_jump, re_detail::re_jump_size); - static_cast(dat)->alt.i = 0; - - // now insert the leading repeater: - dat = static_cast(data.insert(offset, re_detail::re_repeater_size)); - dat->next.i = (reinterpret_cast(dat) - reinterpret_cast(data.data())) + re_detail::re_repeater_size; - dat->type = re_detail::syntax_element_rep; - static_cast(dat)->alt.i = data.size(); - static_cast(dat)->min = rep_min; - static_cast(dat)->max = rep_max; - static_cast(dat)->leading = false; - static_cast(dat)->greedy = true; - move_offsets(dat, re_detail::re_repeater_size); - ++ptr; - // - // now check to see if we have a non-greedy repeat: - if((ptr != end) && (_flags & (limited_ops | bk_plus_qm | bk_braces)) == 0) - { - c = (traits_size_type)(traits_uchar_type)*ptr; - if(traits_type::syntax_question == traits_inst.syntax_type(c)) - { - // OK repeat is non-greedy: - static_cast(dat)->greedy = false; - ++ptr; - } - } - dat = reinterpret_cast(reinterpret_cast(data.data()) + data.size() - re_detail::re_jump_size); - static_cast(dat)->alt.i = offset; - continue; - } - case traits_type::syntax_plus: - if(_flags & (bk_plus_qm | limited_ops)) - { - dat = add_literal(dat, (charT)c); - ++ptr; - continue; - } - rep_min = 1; - rep_max = (unsigned)-1; - goto repeat_jump; - case traits_type::syntax_question: - if(_flags & (bk_plus_qm | limited_ops)) - { - dat = add_literal(dat, (charT)c); - ++ptr; - continue; - } - rep_min = 0; - rep_max = 1; - goto repeat_jump; - case traits_type::syntax_open_set: - // update previous: - if(dat) - { - data.align(); - dat->next.i = data.size(); - } - // extend: - dat = compile_set(ptr, end); - if(dat == 0) - { - if((_flags & regbase::failbit) == 0) - fail(REG_EBRACK); - return error_code(); - } - break; - case traits_type::syntax_or: - { - if(_flags & (bk_vbar | limited_ops)) - { - dat = add_literal(dat, (charT)c); - ++ptr; - continue; - } - - alt_string_jump: - - // update previous: - if(dat == 0) - { - // start of pattern can't have empty "|" - fail(REG_EMPTY); - return error_code(); - } - // see if we have an empty alternative: - if(mark.empty() == false) - if(mark.peek() == data.index(dat)) - { - fail(REG_EMPTY); - return error_code(); - } - // extend: - dat = add_simple(dat, re_detail::syntax_element_jump, re_detail::re_jump_size); - data.align(); - // - // we don't know what value to put here yet, - // use an arbitrarily large value for now - // and check it later (TODO!) - static_cast(dat)->alt.i = INT_MAX/2; - - // now work out where to insert: - std::size_t offset = 0; - if(mark.empty() == false) - { - // we have a '(' or '|' to go back to: - offset = mark.peek(); - re_detail::re_syntax_base* base = reinterpret_cast(reinterpret_cast(data.data()) + offset); - offset = base->next.i; - } - re_detail::re_jump* j = static_cast(data.insert(offset, re_detail::re_jump_size)); - j->type = re_detail::syntax_element_alt; - j->next.i = offset + re_detail::re_jump_size; - j->alt.i = data.size(); - move_offsets(j, re_detail::re_jump_size); - dat = reinterpret_cast(reinterpret_cast(data.data()) + data.size() - re_detail::re_jump_size); - mark.push(data.size() - re_detail::re_jump_size); - ++ptr; - break; - } - case traits_type::syntax_open_brace: - if((_flags & bk_braces) || ((_flags & intervals) == 0)) - { - dat = add_literal(dat, (charT)c); - ++ptr; - continue; - } - // we have {x} or {x,} or {x,y}: - parse_range(ptr, end, rep_min, rep_max); - goto repeat_jump; - case traits_type::syntax_newline: - if(_flags & newline_alt) - goto alt_string_jump; - dat = add_literal(dat, (charT)c); - ++ptr; - continue; - case traits_type::syntax_close_brace: - if(_flags & bk_braces) - { - dat = add_literal(dat, (charT)c); - ++ptr; - continue; - } - fail(REG_BADPAT); - return error_code(); - default: - dat = add_literal(dat, (charT)c); - ++ptr; - break; - } // switch - } // while - - // - // update previous: - if(dat) - { - data.align(); - dat->next.i = data.size(); - } - - // see if we have an empty alternative: - if(mark.empty() == false) - if(mark.peek() == data.index(dat) ) - { - re_detail::re_syntax_base* para = reinterpret_cast(reinterpret_cast(data.data()) + mark.peek()); - if(para->type == re_detail::syntax_element_jump) - { - fail(REG_EMPTY); - return error_code(); - } - } - // - // set up tail: - // - if(mark.empty() == false) - { - // pop any pushed alternatives and set the target end destination: - dat = reinterpret_cast(reinterpret_cast(data.data()) + mark.peek()); - while(dat->type == re_detail::syntax_element_jump) - { - static_cast(dat)->alt.i = data.size(); - mark.pop(); - if(mark.empty() == true) - break; - dat = reinterpret_cast(reinterpret_cast(data.data()) + mark.peek()); - } - } - - dat = static_cast(data.extend(sizeof(re_detail::re_syntax_base))); - dat->type = re_detail::syntax_element_match; - dat->next.i = 0; - - if(mark.empty() == false) - { - fail(REG_EPAREN); - return error_code(); - } - - // - // allocate space for start _map: - startmap = reinterpret_cast(data.extend(256 + ((end - base + 1) * sizeof(charT)))); - // - // and copy the expression we just compiled: - _expression = reinterpret_cast(reinterpret_cast(startmap) + 256); - _expression_len = end - base; - std::memcpy(_expression, base, _expression_len * sizeof(charT)); - *(_expression + _expression_len) = charT(0); - - // - // now we need to apply fixups to the array - // so that we can use pointers and not indexes - fixup_apply(static_cast(data.data()), marks); - - // check for error during fixup: - if(_flags & regbase::failbit) - return error_code(); - - // - // finally compile the maps so that we can make intelligent choices - // whenever we encounter an alternative: - compile_maps(); - if(pkmp) - { - re_detail::kmp_free(pkmp, data.allocator()); - pkmp = 0; - } - re_detail::re_syntax_base* sbase = static_cast(data.data()); - _restart_type = probe_restart(sbase); - _leading_len = fixup_leading_rep(sbase, 0); - if((sbase->type == re_detail::syntax_element_literal) && (sbase->next.p->type == re_detail::syntax_element_match)) - { - _restart_type = restart_fixed_lit; - if(0 == pkmp) - { - charT* p1 = reinterpret_cast(reinterpret_cast(sbase) + sizeof(re_detail::re_literal)); - charT* p2 = p1 + static_cast(sbase)->length; - pkmp = re_detail::kmp_compile(p1, p2, charT(), re_detail::kmp_translator(_flags®base::icase, &traits_inst), data.allocator()); - } - } - return error_code(); - - } // sentry - return REG_EMPTY; - -# ifdef BOOST_MSVC -# pragma warning(pop) -#endif - -} - -template -re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::add_simple(re_detail::re_syntax_base* dat, re_detail::syntax_element_type type, unsigned int size) -{ - if(dat) - { - data.align(); - dat->next.i = data.size(); - } - if(size < sizeof(re_detail::re_syntax_base)) - size = sizeof(re_detail::re_syntax_base); - dat = static_cast(data.extend(size)); - dat->type = type; - dat->next.i = 0; - return dat; -} - -template -re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::add_literal(re_detail::re_syntax_base* dat, charT c) -{ - if(dat && (dat->type == re_detail::syntax_element_literal)) - { - // add another charT to the list: - std::ptrdiff_t pos = reinterpret_cast(dat) - reinterpret_cast(data.data()); - *reinterpret_cast(data.extend(sizeof(charT))) = traits_inst.translate(c, (_flags & regbase::icase)); - dat = reinterpret_cast(reinterpret_cast(data.data()) + pos); - ++(static_cast(dat)->length); - } - else - { - // extend: - dat = add_simple(dat, re_detail::syntax_element_literal, sizeof(re_detail::re_literal) + sizeof(charT)); - static_cast(dat)->length = 1; - *reinterpret_cast(reinterpret_cast(dat)+1) = traits_inst.translate(c, (_flags & regbase::icase)); - } - return dat; -} - -template -unsigned int BOOST_REGEX_CALL reg_expression::probe_restart(re_detail::re_syntax_base* dat) -{ - switch(dat->type) - { - case re_detail::syntax_element_startmark: - case re_detail::syntax_element_endmark: - if(static_cast(dat)->index == -2) - return regbase::restart_any; - return probe_restart(dat->next.p); - case re_detail::syntax_element_start_line: - return regbase::restart_line; - case re_detail::syntax_element_word_start: - return regbase::restart_word; - case re_detail::syntax_element_buffer_start: - return regbase::restart_buf; - case re_detail::syntax_element_restart_continue: - return regbase::restart_continue; - default: - return regbase::restart_any; - } -} - -template -unsigned int BOOST_REGEX_CALL reg_expression::fixup_leading_rep(re_detail::re_syntax_base* dat, re_detail::re_syntax_base* end) -{ - unsigned int len = 0; - bool leading_lit = end ? false : true; - while(dat != end) - { - switch(dat->type) - { - case re_detail::syntax_element_literal: - len += static_cast(dat)->length; - if((leading_lit) && (static_cast(dat)->length > 2)) - { - // we can do a literal search for the leading literal string - // using Knuth-Morris-Pratt (or whatever), and only then check for - // matches. We need a decent length string though to make it - // worth while. - _leading_string = reinterpret_cast(reinterpret_cast(dat) + sizeof(re_detail::re_literal)); - _leading_string_len = static_cast(dat)->length; - _restart_type = restart_lit; - leading_lit = false; - const charT* p1 = _leading_string; - const charT* p2 = _leading_string + _leading_string_len; - pkmp = re_detail::kmp_compile(p1, p2, charT(), re_detail::kmp_translator(_flags®base::icase, &traits_inst), data.allocator()); - } - leading_lit = false; - break; - case re_detail::syntax_element_wild: - ++len; - leading_lit = false; - break; - case re_detail::syntax_element_match: - return len; - case re_detail::syntax_element_backref: - //case re_detail::syntax_element_jump: - case re_detail::syntax_element_alt: - case re_detail::syntax_element_combining: - return 0; - case re_detail::syntax_element_long_set: - { - // we need to verify that there are no multi-character - // collating elements inside the repeat: - const charT* p = reinterpret_cast(reinterpret_cast(dat) + sizeof(re_detail::re_set_long)); - unsigned int csingles = static_cast(dat)->csingles; - for(unsigned int i = 0; i < csingles; ++i) - { - if(re_detail::re_strlen(p) > 1) - return 0; - while(*p)++p; - ++p; - } - ++len; - leading_lit = false; - break; - } - case re_detail::syntax_element_set: - ++len; - leading_lit = false; - break; - case re_detail::syntax_element_rep: - if((len == 0) && (1 == fixup_leading_rep(dat->next.p, static_cast(dat)->alt.p) )) - { - static_cast(dat)->leading = leading_lit; - return len; - } - return len; - case re_detail::syntax_element_startmark: - if(static_cast(dat)->index == -2) - return 0; - // fall through: - default: - break; - } - dat = dat->next.p; - } - return len; -} - -template -void BOOST_REGEX_CALL reg_expression::fail(unsigned int err) -{ - error_code_ = err; - if(err) - { - _flags |= regbase::failbit; -#ifndef BOOST_NO_EXCEPTIONS - if(_flags & regbase::use_except) - { - throw bad_expression(traits_inst.error_string(err)); - } -#endif - } - else - _flags &= ~regbase::failbit; -} - - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace boost - - -#endif // BOOST_REGEX_COMPILE_HPP - - - - - - - - - - diff --git a/include/boost/regex/v3/regex_cstring.hpp b/include/boost/regex/v3/regex_cstring.hpp deleted file mode 100644 index 99495024..00000000 --- a/include/boost/regex/v3/regex_cstring.hpp +++ /dev/null @@ -1,134 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_cstring.hpp - * VERSION see - * DESCRIPTION: This is an internal header file, do not include directly. - * String support and helper functions, for regular - * expression library. - */ - -#ifndef BOOST_REGEX_CSTRING_HPP -#define BOOST_REGEX_CSTRING_HPP - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif - -#include - -namespace boost{ - namespace re_detail{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -#endif - -// -// start by defining some template function aliases for C API functions: -// - -template -std::size_t BOOST_REGEX_CALL re_strlen(const charT *s) -{ - std::size_t len = 0; - while(*s) - { - ++s; - ++len; - } - return len; -} - -inline std::size_t BOOST_REGEX_CALL re_strlen(const char *s) -{ - return std::strlen(s); -} - -#ifndef BOOST_NO_WREGEX - -inline std::size_t BOOST_REGEX_CALL re_strlen(const wchar_t *s) -{ - return std::wcslen(s); -} - -#endif - -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL void BOOST_REGEX_CALL re_transform(std::basic_string& out, const std::basic_string& in); -#endif -BOOST_REGEX_DECL void BOOST_REGEX_CALL re_transform(std::string& out, const std::string& in); - -template -void BOOST_REGEX_CALL re_trunc_primary(std::basic_string& s) -{ - for(unsigned int i = 0; i < s.size(); ++i) - { - if(s[i] <= 1) - { - s.erase(i); - break; - } - } -} - -inline char* BOOST_REGEX_CALL re_strcpy(char *s1, const char *s2) -{ - #if defined(__BORLANDC__) && defined(strcpy) - return ::strcpy(s1, s2); - #else - return std::strcpy(s1, s2); - #endif -} - -#ifndef BOOST_NO_WREGEX - -inline wchar_t* BOOST_REGEX_CALL re_strcpy(wchar_t *s1, const wchar_t *s2) -{ - return std::wcscpy(s1, s2); -} - -#endif - - -template -charT* BOOST_REGEX_CALL re_strdup(const charT* p) -{ - charT* buf = new charT[re_strlen(p) + 1]; - re_strcpy(buf, p); - return buf; -} - -template -inline void BOOST_REGEX_CALL re_strfree(charT* p) -{ - delete[] p; -} - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace re_detail -} // namespace boost - -#endif // BOOST_REGEX_CSTRING_HPP - - - - - diff --git a/include/boost/regex/v3/regex_format.hpp b/include/boost/regex/v3/regex_format.hpp deleted file mode 100644 index 5201a489..00000000 --- a/include/boost/regex/v3/regex_format.hpp +++ /dev/null @@ -1,579 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_format.hpp - * VERSION see - * DESCRIPTION: Provides formatting output routines for search and replace - * operations. Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -#ifndef BOOST_REGEX_FORMAT_HPP -#define BOOST_REGEX_FORMAT_HPP - - -namespace boost{ - -enum format_flags_t{ - format_all = 0, // enable all extentions to sytax - format_sed = match_max << 1, // sed style replacement. - format_perl = format_sed << 1, // perl style replacement. - format_no_copy = format_perl << 1, // don't copy non-matching segments. - format_first_only = format_no_copy << 1, // Only replace first occurance. - format_is_if = format_first_only << 1 // internal use only. -}; - -namespace re_detail{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -w-8037 -#endif - -template -O BOOST_REGEX_CALL re_copy_out(O out, I first, I last) -{ - while(first != last) - { - *out = *first; - ++out; - ++first; - } - return out; -} - -template -void BOOST_REGEX_CALL re_skip_format(const charT*& fmt, const traits_type& traits_inst) -{ - // dwa 9/13/00 - suppress incorrect unused parameter warning for MSVC - (void)traits_inst; - - typedef typename traits_type::size_type traits_size_type; - typedef typename traits_type::uchar_type traits_uchar_type; - typedef typename traits_type::string_type traits_string_type; - - unsigned int parens = 0; - unsigned int c; - while(*fmt) - { - c = traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt)); - if((c == traits_type::syntax_colon) && (parens == 0)) - { - ++fmt; - return; - } - else if(c == traits_type::syntax_close_bracket) - { - if(parens == 0) - { - ++fmt; - return; - } - --parens; - } - else if(c == traits_type::syntax_open_bracket) - ++parens; - else if(c == traits_type::syntax_slash) - { - ++fmt; - if(*fmt == 0) - return; - } - ++fmt; - } -} - -#ifdef BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN - -// -// ugly hack for buggy output iterators - -template -inline void oi_assign(T* p, T v) -{ - ::boost::re_detail::pointer_destroy(p); - pointer_construct(p, v); -} - -#else - -template -inline void oi_assign(T* p, T v) -{ - // - // if you get a compile time error in here then you either - // need to rewrite your output iterator to make it assignable - // (as is required by the standard), or define - // BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN to use the ugly hack above - *p = v; -} - -#endif - - -#if defined(BOOST_REGEX_NO_TEMPLATE_SWITCH_MERGE) -// -// Ugly ugly hack, -// template don't merge if they contain switch statements so declare these -// templates in unnamed namespace (ie with internal linkage), each translation -// unit then gets its own local copy, it works seemlessly but bloats the app. -namespace{ -#endif - -// -// algorithm reg_format: -// takes the result of a match and a format string -// and merges them to produce a new string which -// is sent to an OutputIterator, -// _reg_format_aux does the actual work: -// -template -OutputIterator BOOST_REGEX_CALL _reg_format_aux(OutputIterator out, - const match_results& m, - const charT*& fmt, - unsigned flags, const traits_type& traits_inst) -{ - const charT* fmt_end = fmt; - while(*fmt_end) ++ fmt_end; - - typedef typename traits_type::size_type traits_size_type; - typedef typename traits_type::uchar_type traits_uchar_type; - typedef typename traits_type::string_type traits_string_type; - - while(*fmt) - { - switch(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt))) - { - case traits_type::syntax_dollar: - if(flags & format_sed) - { - // no perl style replacement, - // $ is an ordinary character: - goto default_opt; - } - ++fmt; - if(*fmt == 0) // oops trailing $ - { - --fmt; - *out = *fmt; - ++out; - return out; - } - switch(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt))) - { - case traits_type::syntax_start_buffer: - oi_assign(&out, re_copy_out(out, Iterator(m[-1].first), Iterator(m[-1].second))); - ++fmt; - continue; - case traits_type::syntax_end_buffer: - oi_assign(&out, re_copy_out(out, Iterator(m[-2].first), Iterator(m[-2].second))); - ++fmt; - continue; - case traits_type::syntax_digit: - { -expand_sub: - unsigned int index = traits_inst.toi(fmt, fmt_end, 10); - oi_assign(&out, re_copy_out(out, Iterator(m[index].first), Iterator(m[index].second))); - continue; - } - } - // anything else: - if(*fmt == '&') - { - oi_assign(&out, re_copy_out(out, Iterator(m[0].first), Iterator(m[0].second))); - ++fmt; - } - else - { - // probably an error, treat as a literal '$' - --fmt; - *out = *fmt; - ++out; - ++fmt; - } - continue; - case traits_type::syntax_slash: - { - // escape sequence: - ++fmt; - charT c(*fmt); - if(*fmt == 0) - { - --fmt; - *out = *fmt; - ++out; - ++fmt; - return out; - } - switch(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt))) - { - case traits_type::syntax_a: - c = '\a'; - ++fmt; - break; - case traits_type::syntax_f: - c = '\f'; - ++fmt; - break; - case traits_type::syntax_n: - c = '\n'; - ++fmt; - break; - case traits_type::syntax_r: - c = '\r'; - ++fmt; - break; - case traits_type::syntax_t: - c = '\t'; - ++fmt; - break; - case traits_type::syntax_v: - c = '\v'; - ++fmt; - break; - case traits_type::syntax_x: - ++fmt; - if(fmt == fmt_end) - { - *out = *--fmt; - ++out; - return out; - } - // maybe have \x{ddd} - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt)) == traits_type::syntax_open_brace) - { - ++fmt; - if(fmt == fmt_end) - { - fmt -= 2; - *out = *fmt; - ++out; - ++fmt; - continue; - } - if(traits_inst.is_class(*fmt, traits_type::char_class_xdigit) == false) - { - fmt -= 2; - *out = *fmt; - ++out; - ++fmt; - continue; - } - c = (charT)traits_inst.toi(fmt, fmt_end, -16); - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt)) != traits_type::syntax_close_brace) - { - while(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt)) != traits_type::syntax_slash) - --fmt; - ++fmt; - *out = *fmt; - ++out; - ++fmt; - continue; - } - ++fmt; - break; - } - else - { - if(traits_inst.is_class(*fmt, traits_type::char_class_xdigit) == false) - { - --fmt; - *out = *fmt; - ++out; - ++fmt; - continue; - } - c = (charT)traits_inst.toi(fmt, fmt_end, -16); - } - break; - case traits_type::syntax_c: - ++fmt; - if(fmt == fmt_end) - { - --fmt; - *out = *fmt; - ++out; - return out; - } - if(((typename traits_type::uchar_type)(*fmt) < (typename traits_type::uchar_type)'@') - || ((typename traits_type::uchar_type)(*fmt) > (typename traits_type::uchar_type)127) ) - { - --fmt; - *out = *fmt; - ++out; - ++fmt; - break; - } - c = (charT)((typename traits_type::uchar_type)(*fmt) - (typename traits_type::uchar_type)'@'); - ++fmt; - break; - case traits_type::syntax_e: - c = (charT)27; - ++fmt; - break; - case traits_type::syntax_digit: - if(flags & format_sed) - goto expand_sub; - else - c = (charT)traits_inst.toi(fmt, fmt_end, -8); - break; - default: - //c = *fmt; - ++fmt; - } - *out = c; - ++out; - continue; - } - case traits_type::syntax_open_bracket: - if(flags & (format_sed|format_perl)) - { - *out = *fmt; - ++out; - ++fmt; - continue; - } - else - { - ++fmt; // recurse - oi_assign(&out, _reg_format_aux(out, m, fmt, flags, traits_inst)); - continue; - } - case traits_type::syntax_close_bracket: - if(flags & (format_sed|format_perl)) - { - *out = *fmt; - ++out; - ++fmt; - continue; - } - else - { - ++fmt; // return from recursion - return out; - } - case traits_type::syntax_colon: - if(flags & format_is_if) - { - ++fmt; - return out; - } - *out = *fmt; - ++out; - ++fmt; - continue; - case traits_type::syntax_question: - { - if(flags & (format_sed|format_perl)) - { - *out = *fmt; - ++out; - ++fmt; - continue; - } - else - { - ++fmt; - if(*fmt == 0) - { - --fmt; - *out = *fmt; - ++out; - ++fmt; - return out; - } - unsigned int id = traits_inst.toi(fmt, fmt_end, 10); - if(m[id].matched) - { - oi_assign(&out, _reg_format_aux(out, m, fmt, flags | format_is_if, traits_inst)); - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*(fmt-1))) == traits_type::syntax_colon) - re_skip_format(fmt, traits_inst); - } - else - { - re_skip_format(fmt, traits_inst); - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*(fmt-1))) == traits_type::syntax_colon) - oi_assign(&out, _reg_format_aux(out, m, fmt, flags | format_is_if, traits_inst)); - } - return out; - } - } - default: -default_opt: - if((flags & format_sed) && (*fmt == '&')) - { - oi_assign(&out, re_copy_out(out, Iterator(m[0].first), Iterator(m[0].second))); - ++fmt; - continue; - } - *out = *fmt; - ++out; - ++fmt; - } - } - - return out; -} - -#if defined(BOOST_REGEX_NO_TEMPLATE_SWITCH_MERGE) -} // namespace -#endif - -template -class string_out_iterator -{ - S* out; -public: - string_out_iterator(S& s) : out(&s) {} - string_out_iterator& operator++() { return *this; } - string_out_iterator& operator++(int) { return *this; } - string_out_iterator& operator*() { return *this; } - string_out_iterator& operator=(typename S::value_type v) - { - out->append(1, v); - return *this; - } -}; - -template -class merge_out_predicate -{ - OutputIterator* out; - Iterator* last; - const charT* fmt; - unsigned flags; - const traits_type* pt; - -public: - merge_out_predicate(OutputIterator& o, Iterator& pi, const charT* f, unsigned format_flags, const traits_type& p) - : out(&o), last(&pi), fmt(f), flags(format_flags), pt(&p){} - - ~merge_out_predicate() {} - bool BOOST_REGEX_CALL operator()(const boost::match_results& m) - { - const charT* f = fmt; - if(0 == (flags & format_no_copy)) - oi_assign(out, re_copy_out(*out, Iterator(m[-1].first), Iterator(m[-1].second))); - oi_assign(out, _reg_format_aux(*out, m, f, flags, *pt)); - *last = m[-2].first; - return flags & format_first_only ? false : true; - } -}; - -} // namespace re_detail - -template -OutputIterator regex_format(OutputIterator out, - const match_results& m, - const charT* fmt, - unsigned flags = 0 - ) -{ - regex_traits t; - return re_detail::_reg_format_aux(out, m, fmt, flags, t); -} - -template -OutputIterator regex_format(OutputIterator out, - const match_results& m, - const std::basic_string& fmt, - unsigned flags = 0 - ) -{ - regex_traits t; - const charT* start = fmt.c_str(); - return re_detail::_reg_format_aux(out, m, start, flags, t); -} - -template -std::basic_string regex_format(const match_results& m, const charT* fmt, unsigned flags = 0) -{ - std::basic_string result; - re_detail::string_out_iterator > i(result); - regex_format(i, m, fmt, flags); - return result; -} - -template -std::basic_string regex_format(const match_results& m, const std::basic_string& fmt, unsigned flags = 0) -{ - std::basic_string result; - re_detail::string_out_iterator > i(result); - regex_format(i, m, fmt.c_str(), flags); - return result; -} - -template -OutputIterator regex_merge(OutputIterator out, - Iterator first, - Iterator last, - const reg_expression& e, - const charT* fmt, - unsigned int flags = match_default) -{ - Iterator l = first; - re_detail::merge_out_predicate oi(out, l, fmt, flags, e.get_traits()); - regex_grep(oi, first, last, e, flags); - return (flags & format_no_copy) ? out : re_detail::re_copy_out(out, l, last); -} - -template -inline OutputIterator regex_merge(OutputIterator out, - Iterator first, - Iterator last, - const reg_expression& e, - const std::basic_string& fmt, - unsigned int flags = match_default) -{ - return regex_merge(out, first, last, e, fmt.c_str(), flags); -} - -template -std::basic_string regex_merge(const std::basic_string& s, - const reg_expression& e, - const charT* fmt, - unsigned int flags = match_default) -{ - std::basic_string result; - re_detail::string_out_iterator > i(result); - regex_merge(i, s.begin(), s.end(), e, fmt, flags); - return result; -} - -template -std::basic_string regex_merge(const std::basic_string& s, - const reg_expression& e, - const std::basic_string& fmt, - unsigned int flags = match_default) -{ - std::basic_string result; - re_detail::string_out_iterator > i(result); - regex_merge(i, s.begin(), s.end(), e, fmt.c_str(), flags); - return result; -} - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace boost - -#endif // BOOST_REGEX_FORMAT_HPP - - - - - diff --git a/include/boost/regex/v3/regex_fwd.hpp b/include/boost/regex/v3/regex_fwd.hpp deleted file mode 100644 index 2c3aca1a..00000000 --- a/include/boost/regex/v3/regex_fwd.hpp +++ /dev/null @@ -1,70 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_fwd.cpp - * VERSION see - * DESCRIPTION: Forward declares boost::reg_expression<> and - * associated typedefs. - */ - -#ifndef BOOST_REGEX_FWD_HPP_INCLUDED -#define BOOST_REGEX_FWD_HPP_INCLUDED - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif -#include - -// -// define BOOST_REGEX_NO_FWD if this -// header doesn't work! -// -#ifdef BOOST_REGEX_NO_FWD -# ifndef BOOST_RE_REGEX_HPP -# include -# endif -#else - -// -// If there isn't good enough wide character support then there will -// be no wide character regular expressions: -// -#if (defined(BOOST_NO_CWCHAR) || defined(BOOST_NO_CWCTYPE) || defined(BOOST_NO_STD_WSTRING)) && !defined(BOOST_NO_WREGEX) -# define BOOST_NO_WREGEX -#endif - -namespace boost{ - -template -class regex_traits; - -template , class Allocator = BOOST_DEFAULT_ALLOCATOR(charT) > -class reg_expression; - -typedef reg_expression, BOOST_DEFAULT_ALLOCATOR(char) > regex; -#ifndef BOOST_NO_WREGEX -typedef reg_expression, BOOST_DEFAULT_ALLOCATOR(wchar_t) > wregex; -#endif - -} // namespace boost - -#endif // BOOST_REGEX_NO_FWD - -#endif - - - diff --git a/include/boost/regex/v3/regex_kmp.hpp b/include/boost/regex/v3/regex_kmp.hpp deleted file mode 100644 index 3a5e7080..00000000 --- a/include/boost/regex/v3/regex_kmp.hpp +++ /dev/null @@ -1,111 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_kmp.hpp - * VERSION see - * DESCRIPTION: Provides Knuth Morris Pratt search operations. - * Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -#ifndef BOOST_REGEX_KMP_HPP -#define BOOST_REGEX_KMP_HPP - -#ifdef BOOST_REGEX_CONFIG_HPP -#include -#endif - - -namespace boost{ - namespace re_detail{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -#endif - -template -struct kmp_info -{ - unsigned int size; - unsigned int len; - const charT* pstr; - int kmp_next[1]; -}; - -template -void kmp_free(kmp_info* pinfo, const Allocator& a) -{ - typedef typename boost::detail::rebind_allocator::type atype; - atype(a).deallocate(reinterpret_cast(pinfo), pinfo->size); -} - -template -kmp_info* kmp_compile(iterator first, iterator last, charT, Trans translate, const Allocator& a) -{ - typedef typename boost::detail::rebind_allocator::type atype; - int i, j, m; - i = 0; - m = static_cast(boost::re_detail::distance(first, last)); - ++m; - unsigned int size = sizeof(kmp_info) + sizeof(int)*m + sizeof(charT)*m; - --m; - // - // allocate struct and fill it in: - // - kmp_info* pinfo = reinterpret_cast*>(atype(a).allocate(size)); - BOOST_REGEX_NOEH_ASSERT(pinfo) - pinfo->size = size; - pinfo->len = m; - charT* p = reinterpret_cast(reinterpret_cast(pinfo) + sizeof(kmp_info) + sizeof(int)*(m+1)); - pinfo->pstr = p; - while(first != last) - { - *p = translate(*first); - ++first; - ++p; - } - *p = 0; - // - // finally do regular kmp compile: - // - j = pinfo->kmp_next[0] = -1; - while (i < m) - { - while ((j > -1) && (pinfo->pstr[i] != pinfo->pstr[j])) - j = pinfo->kmp_next[j]; - ++i; - ++j; - if (pinfo->pstr[i] == pinfo->pstr[j]) - pinfo->kmp_next[i] = pinfo->kmp_next[j]; - else - pinfo->kmp_next[i] = j; - } - - return pinfo; -} - -#ifdef __BORLANDC__ - #pragma option pop -#endif - - } // namepsace re_detail -} // namespace boost - -#endif // BOOST_REGEX_KMP_HPP - - - diff --git a/include/boost/regex/v3/regex_library_include.hpp b/include/boost/regex/v3/regex_library_include.hpp deleted file mode 100644 index ec5f7c33..00000000 --- a/include/boost/regex/v3/regex_library_include.hpp +++ /dev/null @@ -1,184 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_libary_include.hpp - * VERSION see - * DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers. - * Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -/************************************************************************* - -Libraries for Borland and Microsoft compilers are automatically -selected here, the name of the lib is selected according to the following -formula: - -BOOST_LIB_NAME - + "_" - + BOOST_LIB_TOOLSET - + "_" - + BOOST_LIB_THREAD_OPT - + BOOST_LIB_RT_OPT - + BOOST_LIB_LINK_OPT - + BOOST_LIB_DEBUG_OPT - -These are defined as: - -BOOST_LIB_NAME: The base name of the lib (boost_regex). - -BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc). - -BOOST_LIB_THREAD_OPT: "s" for single thread builds, - "m" for multithread builds. - -BOOST_LIB_RT_OPT: "s" for static runtime, - "d" for dynamic runtime. - -BOOST_LIB_LINK_OPT: "s" for static link, - "i" for dynamic link. - -BOOST_LIB_DEBUG_OPT: nothing for release builds, - "d" for debug builds, - "dd" for debug-diagnostic builds (_STLP_DEBUG). - -***************************************************************************/ - -#if !defined(BOOST_REGEX_LIBRARY_INCLUDE_HPP) && !defined(BOOST_REGEX_NO_LIB) -#define BOOST_REGEX_LIBRARY_INCLUDE_HPP - -#define BOOST_LIB_NAME "boost_regex" - -// -// select toolset: -// -#if defined(BOOST_MSVC) && (BOOST_MSVC == 1200) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) - - // vc6-stlport: -# define BOOST_LIB_TOOLSET "vc6-stlport" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1200) - - // vc6: -# define BOOST_LIB_TOOLSET "vc6" - -#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1300) - - // vc7: -# define BOOST_LIB_TOOLSET "vc7" - -#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) - - // CBuilder 6: -# define BOOST_LIB_TOOLSET "bcb6" - -#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550) - - // CBuilder 6: -# define BOOST_LIB_TOOLSET "bcb5" - -#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x540) - - // CBuilder 6: -# define BOOST_LIB_TOOLSET "bcb4" - -#endif - -// -// select thread opt: -// -#if defined(_MT) || defined(__MT__) -# define BOOST_LIB_THREAD_OPT "m" -#else -# define BOOST_LIB_THREAD_OPT "s" -#endif - -// -// select runtime opt: -// -#if defined(_DLL) || defined(_RTLDLL) -# define BOOST_LIB_RT_OPT "d" -#else -# define BOOST_LIB_RT_OPT "s" -#endif - -// -// select linkage opt: -// -#if (defined(_DLL) || defined(_RTLDLL)) && !defined(BOOST_REGEX_STATIC_LINK) -# define BOOST_LIB_LINK_OPT "i" -#else -# define BOOST_LIB_LINK_OPT "s" -#endif - -// -// select debug opt: -// -#if defined(BOOST_MSVC) && defined(_DEBUG) && (defined(_STLP_DEBUG) || defined(__STL_DEBUG)) -# define BOOST_LIB_DEBUG_OPT "dd" -#elif defined(BOOST_MSVC) && defined(_DEBUG) -# define BOOST_LIB_DEBUG_OPT "d" -#elif defined(__BORLANDC__) && (__BORLANDC__ == 0x560) && (defined(_STLP_DEBUG) || defined(__STL_DEBUG)) -# define BOOST_LIB_DEBUG_OPT "dd" -#else -# define BOOST_LIB_DEBUG_OPT -#endif - -// -// now include the lib: -// -#if defined(BOOST_LIB_NAME) \ - && defined(BOOST_LIB_TOOLSET) \ - && defined(BOOST_LIB_THREAD_OPT) \ - && defined(BOOST_LIB_RT_OPT) \ - && defined(BOOST_LIB_LINK_OPT) \ - && defined(BOOST_LIB_DEBUG_OPT) - -# pragma comment(lib, BOOST_LIB_NAME "_" BOOST_LIB_TOOLSET "_" BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_LINK_OPT BOOST_LIB_DEBUG_OPT ".lib") - -#endif - -// -// finally undef any macros we may have set: -// -#if defined(BOOST_LIB_NAME) -# undef BOOST_LIB_NAME -#endif -#if defined(BOOST_LIB_TOOLSET) -# undef BOOST_LIB_TOOLSET -#endif -#if defined(BOOST_LIB_THREAD_OPT) -# undef BOOST_LIB_THREAD_OPT -#endif -#if defined(BOOST_LIB_RT_OPT) -# undef BOOST_LIB_RT_OPT -#endif -#if defined(BOOST_LIB_LINK_OPT) -# undef BOOST_LIB_LINK_OPT -#endif -#if defined(BOOST_LIB_DEBUG_OPT) -# undef BOOST_LIB_DEBUG_OPT -#endif - - -#endif // BOOST_REGEX_LIBRARY_INCLUDE_HPP - - - - - - diff --git a/include/boost/regex/v3/regex_match.hpp b/include/boost/regex/v3/regex_match.hpp deleted file mode 100644 index e9b29cf4..00000000 --- a/include/boost/regex/v3/regex_match.hpp +++ /dev/null @@ -1,2016 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_match.hpp - * VERSION see - * DESCRIPTION: Regular expression matching algorithms. - * Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - - -#ifndef BOOST_REGEX_MATCH_HPP -#define BOOST_REGEX_MATCH_HPP - -#ifndef BOOST_REGEX_MAX_STATE_COUNT -# define BOOST_REGEX_MAX_STATE_COUNT 100000000 -#endif - -#include - - -namespace boost{ - namespace re_detail{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -w-8026 -w-8027 -#endif - -// -// Unfortunately Rogue Waves standard library appears to have a bug -// in std::basic_string::compare that results in eroneous answers -// in some cases (tested with Borland C++ 5.1, Rogue Wave lib version -// 0x020101) the test case was: -// {39135,0} < {0xff,0} -// which succeeds when it should not. -// -#ifndef _RWSTD_VER -# define STR_COMP(s,p) s.compare(p) -#else -template -inline int string_compare(const std::basic_string& s, const C* p) -{ return s.compare(p); } -inline int string_compare(const std::string& s, const char* p) -{ return std::strcmp(s.c_str(), p); } -# ifndef BOOST_NO_WREGEX -inline int string_compare(const std::wstring& s, const wchar_t* p) -{ return std::wcscmp(s.c_str(), p); } -# endif -# define STR_COMP(s,p) string_compare(s,p) -#endif - -template -inline const charT* re_skip_past_null(const charT* p) -{ - while (*p != 0) ++p; - return ++p; -} - -template -iterator BOOST_REGEX_CALL re_is_set_member(iterator next, - iterator last, - const re_set_long* set_, - const reg_expression& e) -{ - const charT* p = reinterpret_cast(set_+1); - iterator ptr; - unsigned int i; - bool icase = e.flags() & regbase::icase; - - if(next == last) return next; - - typedef typename traits_type::string_type traits_string_type; - const traits_type& traits_inst = e.get_traits(); - - // dwa 9/13/00 suppress incorrect MSVC warning - it claims this is never - // referenced - (void)traits_inst; - - // try and match a single character, could be a multi-character - // collating element... - for(i = 0; i < set_->csingles; ++i) - { - ptr = next; - if(*p == 0) - { - // treat null string as special case: - if(traits_inst.translate(*ptr, icase) != *p) - { - while(*p == 0)++p; - continue; - } - return set_->isnot ? next : (ptr == next) ? ++next : ptr; - } - else - { - while(*p && (ptr != last)) - { - if(traits_inst.translate(*ptr, icase) != *p) - break; - ++p; - ++ptr; - } - - if(*p == 0) // if null we've matched - return set_->isnot ? next : (ptr == next) ? ++next : ptr; - - p = re_skip_past_null(p); // skip null - } - } - - charT col = traits_inst.translate(*next, icase); - - - if(set_->cranges || set_->cequivalents) - { - traits_string_type s2(1, col); - traits_string_type s1; - // - // try and match a range, NB only a single character can match - if(set_->cranges) - { - if(e.flags() & regbase::nocollate) - s1 = s2; - else - traits_inst.transform(s1, s2); - for(i = 0; i < set_->cranges; ++i) - { - if(STR_COMP(s1, p) <= 0) - { - while(*p)++p; - ++p; - if(STR_COMP(s1, p) >= 0) - return set_->isnot ? next : ++next; - } - else - { - // skip first string - while(*p)++p; - ++p; - } - // skip second string - while(*p)++p; - ++p; - } - } - // - // try and match an equivalence class, NB only a single character can match - if(set_->cequivalents) - { - traits_inst.transform_primary(s1, s2); - for(i = 0; i < set_->cequivalents; ++i) - { - if(STR_COMP(s1, p) == 0) - return set_->isnot ? next : ++next; - // skip string - while(*p)++p; - ++p; - } - } - } - if(traits_inst.is_class(col, set_->cclasses) == true) - return set_->isnot ? next : ++next; - return set_->isnot ? ++next : next; -} - -template -class _priv_match_data -{ -public: - typedef typename boost::detail::rebind_allocator::type i_alloc; - typedef typename boost::detail::rebind_allocator::type it_alloc; - typedef typename regex_iterator_traits::difference_type difference_type; - - match_results_base temp_match; - // failure stacks: - jstack, Allocator> matches; - jstack prev_pos; - jstack prev_record; - jstack prev_acc; - int* accumulators; - unsigned int caccumulators; - difference_type state_count; - difference_type max_state_count; - iterator* loop_starts; - - _priv_match_data(const match_results_base&, iterator, iterator, std::size_t); - - ~_priv_match_data() - { - m_free(); - } - void m_free(); - void set_accumulator_size(unsigned int size); - int* get_accumulators() - { - return accumulators; - } - iterator* get_loop_starts() - { - return loop_starts; - } - void estimate_max_state_count(iterator a, iterator b, std::size_t states, std::random_access_iterator_tag*) - { - difference_type dist = boost::re_detail::distance(a,b); - states *= states; - difference_type lim = std::numeric_limits::max() - 1000 - states; - if(dist > (difference_type)(lim / states)) - max_state_count = lim; - else - max_state_count = 1000 + states * dist; - } - void estimate_max_state_count(iterator a, iterator b, std::size_t states, void*) - { - // we don't know how long the sequence is: - max_state_count = BOOST_REGEX_MAX_STATE_COUNT; - } -}; - -template -_priv_match_data::_priv_match_data(const match_results_base& m, iterator a, iterator b, std::size_t states) - : temp_match(m), matches(64, m.allocator()), prev_pos(64, m.allocator()), prev_record(64, m.allocator()) -{ - typedef typename regex_iterator_traits::iterator_category category; - - accumulators = 0; - caccumulators = 0; - loop_starts = 0; - state_count = 0; - estimate_max_state_count(a, b, states, static_cast(0)); -} - -template -void _priv_match_data::set_accumulator_size(unsigned int size) -{ - if(size > caccumulators) - { - m_free(); - caccumulators = size; - accumulators = i_alloc(temp_match.allocator()).allocate(caccumulators); - BOOST_REGEX_NOEH_ASSERT(accumulators) - loop_starts = it_alloc(temp_match.allocator()).allocate(caccumulators); - BOOST_REGEX_NOEH_ASSERT(loop_starts) - for(unsigned i = 0; i < caccumulators; ++i) - new (loop_starts + i) iterator(); - } -} - -template -void _priv_match_data::m_free() -{ - if(caccumulators) - { - i_alloc temp1(temp_match.allocator()); - temp1.deallocate(accumulators, caccumulators); - for(unsigned i = 0; i < caccumulators; ++i) - ::boost::re_detail::pointer_destroy(loop_starts + i); - it_alloc temp2(temp_match.allocator()); - temp2.deallocate(loop_starts, caccumulators); - } -} - -template -struct access_t : public reg_expression -{ - typedef typename is_byte::width_type width_type; - typedef reg_expression base_type; - typedef charT char_type; - typedef traits traits_type; - typedef Allocator alloc_type; - - static int repeat_count(const base_type& b) - { return base_type::repeat_count(b); } - static unsigned int restart_type(const base_type& b) - { return base_type::restart_type(b); } - static const re_syntax_base* first(const base_type& b) - { return base_type::first(b); } - static const unsigned char* get_map(const base_type& b) - { return base_type::get_map(b); } - static std::size_t leading_length(const base_type& b) - { return base_type::leading_length(b); } - static const kmp_info* get_kmp(const base_type& b) - { return base_type::get_kmp(b); } - static bool can_start(char_type c, const unsigned char* _map, unsigned char mask) - { - return reg_expression::can_start(c, _map, mask, width_type()); - } -}; - - -#if defined(BOOST_REGEX_NO_TEMPLATE_SWITCH_MERGE) -// -// Ugly ugly hack, -// template don't merge if they contain switch statements so declare these -// templates in unnamed namespace (ie with internal linkage), each translation -// unit then gets its own local copy, it works seemlessly but bloats the app. -namespace{ -#endif - -template -bool query_match_aux(iterator first, - iterator last, - match_results& m, - const reg_expression& e, - unsigned flags, - _priv_match_data& pd, - iterator* restart) -{ - typedef access_t access; - - if(e.flags() & regbase::failbit) - return false; - - typedef typename traits::size_type traits_size_type; - typedef typename traits::uchar_type traits_uchar_type; - typedef typename is_byte::width_type width_type; - typedef typename re_detail::regex_iterator_traits::difference_type difference_type; - - // declare some local aliases to reduce pointer loads - // good optimising compilers should make this unnecessary!! - jstack, Allocator>& matches = pd.matches; - jstack& prev_pos = pd.prev_pos; - jstack& prev_record = pd.prev_record; - jstack& prev_acc = pd.prev_acc; - match_results_base& temp_match = pd.temp_match; - temp_match.set_first(first); - difference_type& state_count = pd.state_count; - - const re_syntax_base* ptr = access::first(e); - bool match_found = false; - bool have_partial_match = false; - bool unwind_stack = false; - bool need_push_match = (e.mark_count() > 1); - int cur_acc = -1; // no active accumulator - pd.set_accumulator_size(access::repeat_count(e)); - int* accumulators = pd.get_accumulators(); - iterator* start_loop = pd.get_loop_starts(); - int k; // for loops - bool icase = e.flags() & regbase::icase; - *restart = first; - iterator base = first; - const traits& traits_inst = e.get_traits(); - // dwa 9/13/00 suppress incorrect MSVC warning - it claims this is never - // referenced - (void)traits_inst; - - // prepare m for failure: - /* - if((flags & match_init) == 0) - { - m.init_fail(first, last); - } */ - - retry: - - while(first != last) - { - jm_assert(ptr); - ++state_count; - switch(ptr->type) - { - case syntax_element_match: - match_jump: - { - // match found, save then fallback in case we missed a - // longer one. - if((flags & match_not_null) && (first == temp_match[0].first)) - goto failure; - if((flags & match_all) && (first != last)) - goto failure; - temp_match.set_second(first); - m.maybe_assign(temp_match); - match_found = true; - if(((flags & match_any) && ((first == last) || !(flags & match_all))) || ((first == last) && (need_push_match == false))) - { - // either we don't care what we match or we've matched - // the whole string and can't match anything longer. - while(matches.empty() == false) - matches.pop(); - while(prev_pos.empty() == false) - prev_pos.pop(); - while(prev_record.empty() == false) - prev_record.pop(); - while(prev_acc.empty() == false) - prev_acc.pop(); - return true; - } - } - goto failure; - case syntax_element_startmark: - start_mark_jump: - if(static_cast(ptr)->index > 0) - { - temp_match.set_first(first, static_cast(ptr)->index); - } - else if( - (static_cast(ptr)->index == -1) - || (static_cast(ptr)->index == -2) - ) - { - matches.push(temp_match); - for(k = 0; k <= cur_acc; ++k) - prev_pos.push(start_loop[k]); - prev_pos.push(first); - prev_record.push(ptr); - for(k = 0; k <= cur_acc; ++k) - prev_acc.push(accumulators[k]); - prev_acc.push(cur_acc); - prev_acc.push(match_found); - match_found = false; - // skip next jump and fall through: - ptr = ptr->next.p; - } - ptr = ptr->next.p; - break; - case syntax_element_endmark: - end_mark_jump: - if(static_cast(ptr)->index > 0) - { - temp_match.set_second(first, static_cast(ptr)->index); - } - else if( - (static_cast(ptr)->index == -1) - || (static_cast(ptr)->index == -2) - ) - { - match_found = true; - unwind_stack = true; - goto failure; - } - ptr = ptr->next.p; - break; - case syntax_element_literal: - { - unsigned int len = static_cast(ptr)->length; - const charT* what = reinterpret_cast(static_cast(ptr) + 1); - // - // compare string with what we stored in - // our records: - for(unsigned int i = 0; i < len; ++i, ++first) - { - if((first == last) || (traits_inst.translate(*first, icase) != what[i])) - goto failure; - } - ptr = ptr->next.p; - break; - } - case syntax_element_start_line: - outer_line_check: - if(first == temp_match[0].first) - { - // we're at the start of the buffer - if(flags & match_prev_avail) - { - inner_line_check: - // check the previous value even though its before - // the start of our "buffer". - iterator t(first); - --t; - if(traits::is_separator(*t) && !((*t == '\r') && (*first == '\n')) ) - { - ptr = ptr->next.p; - continue; - } - goto failure; - } - if((flags & match_not_bol) == 0) - { - ptr = ptr->next.p; - continue; - } - goto failure; - } - // we're in the middle of the string - goto inner_line_check; - case syntax_element_end_line: - // we're not yet at the end so *first is always valid: - if(traits::is_separator(*first)) - { - if((first != base) || (flags & match_prev_avail)) - { - // check that we're not in the middle of \r\n sequence - iterator t(first); - --t; - if((*t == '\r') && (*first == '\n')) - { - goto failure; - } - } - ptr = ptr->next.p; - continue; - } - goto failure; - case syntax_element_wild: - // anything except possibly NULL or \n: - if(traits::is_separator(*first)) - { - if(flags & match_not_dot_newline) - goto failure; - ptr = ptr->next.p; - ++first; - continue; - } - if(*first == charT(0)) - { - if(flags & match_not_dot_null) - goto failure; - ptr = ptr->next.p; - ++first; - continue; - } - ptr = ptr->next.p; - ++first; - break; - case syntax_element_word_boundary: - { - // prev and this character must be opposites: -#if defined(BOOST_REGEX_USE_C_LOCALE) && defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ < 95) - bool b = traits::is_class(*first, traits::char_class_word); -#else - bool b = traits_inst.is_class(*first, traits::char_class_word); -#endif - if((first == temp_match[0].first) && ((flags & match_prev_avail) == 0)) - { - if(flags & match_not_bow) - b ^= true; - else - b ^= false; - } - else - { - --first; - b ^= traits_inst.is_class(*first, traits::char_class_word); - ++first; - } - if(b) - { - ptr = ptr->next.p; - continue; - } - goto failure; - } - case syntax_element_within_word: - // both prev and this character must be traits::char_class_word: - if(traits_inst.is_class(*first, traits::char_class_word)) - { - bool b; - if((first == temp_match[0].first) && ((flags & match_prev_avail) == 0)) - b = false; - else - { - --first; - b = traits_inst.is_class(*first, traits::char_class_word); - ++first; - } - if(b) - { - ptr = ptr->next.p; - continue; - } - } - goto failure; - case syntax_element_word_start: - if((first == temp_match[0].first) && ((flags & match_prev_avail) == 0)) - { - // start of buffer: - if(flags & match_not_bow) - goto failure; - if(traits_inst.is_class(*first, traits::char_class_word)) - { - ptr = ptr->next.p; - continue; - } - goto failure; - } - // otherwise inside buffer: - if(traits_inst.is_class(*first, traits::char_class_word)) - { - iterator t(first); - --t; - if(traits_inst.is_class(*t, traits::char_class_word) == false) - { - ptr = ptr->next.p; - continue; - } - } - goto failure; // if we fall through to here then we've failed - case syntax_element_word_end: - if((first == temp_match[0].first) && ((flags & match_prev_avail) == 0)) - goto failure; // start of buffer can't be end of word - - // otherwise inside buffer: - if(traits_inst.is_class(*first, traits::char_class_word) == false) - { - iterator t(first); - --t; - if(traits_inst.is_class(*t, traits::char_class_word)) - { - ptr = ptr->next.p; - continue; - } - } - goto failure; // if we fall through to here then we've failed - case syntax_element_buffer_start: - if((first != temp_match[0].first) || (flags & match_not_bob)) - goto failure; - // OK match: - ptr = ptr->next.p; - break; - case syntax_element_buffer_end: - if((first != last) || (flags & match_not_eob)) - goto failure; - // OK match: - ptr = ptr->next.p; - break; - case syntax_element_backref: - { - // compare with what we previously matched: - iterator i = temp_match[static_cast(ptr)->index].first; - iterator j = temp_match[static_cast(ptr)->index].second; - while(i != j) - { - if((first == last) || (traits_inst.translate(*first, icase) != traits_inst.translate(*i, icase))) - goto failure; - ++i; - ++first; - } - ptr = ptr->next.p; - break; - } - case syntax_element_long_set: - { - // let the traits class do the work: - iterator t = re_is_set_member(first, last, static_cast(ptr), e); - if(t != first) - { - ptr = ptr->next.p; - first = t; - continue; - } - goto failure; - } - case syntax_element_set: - // lookup character in table: - if(static_cast(ptr)->_map[(traits_uchar_type)traits_inst.translate(*first, icase)]) - { - ptr = ptr->next.p; - ++first; - continue; - } - goto failure; - case syntax_element_jump: - ptr = static_cast(ptr)->alt.p; - continue; - case syntax_element_alt: - { - // alt_jump: - if(access::can_start(*first, static_cast(ptr)->_map, (unsigned char)mask_take)) - { - // we can take the first alternative, - // see if we need to push next alternative: - if(access::can_start(*first, static_cast(ptr)->_map, mask_skip)) - { - if(need_push_match) - matches.push(temp_match); - for(k = 0; k <= cur_acc; ++k) - prev_pos.push(start_loop[k]); - prev_pos.push(first); - prev_record.push(ptr); - for(k = 0; k <= cur_acc; ++k) - prev_acc.push(accumulators[k]); - prev_acc.push(cur_acc); - } - ptr = ptr->next.p; - continue; - } - if(access::can_start(*first, static_cast(ptr)->_map, mask_skip)) - { - ptr = static_cast(ptr)->alt.p; - continue; - } - goto failure; // neither option is possible - } - case syntax_element_rep: - { - // repeater_jump: - // if we're moving to a higher id (nested repeats etc) - // zero out our accumualtors: - if(cur_acc < static_cast(ptr)->id) - { - cur_acc = static_cast(ptr)->id; - accumulators[cur_acc] = 0; - start_loop[cur_acc] = first; - } - - cur_acc = static_cast(ptr)->id; - - if(static_cast(ptr)->leading) - *restart = first; - - //charT c = traits_inst.translate(*first); - - // first of all test for special case where this is last element, - // if that is the case then repeat as many times as possible, - // as long as the repeat is greedy: - - if((static_cast(ptr)->alt.p->type == syntax_element_match) - && (static_cast(ptr)->greedy == true)) - { - // see if we can take the repeat: - if(((unsigned int)accumulators[cur_acc] < static_cast(ptr)->max) - && access::can_start(*first, static_cast(ptr)->_map, mask_take)) - { - // push terminating match as fallback: - if((unsigned int)accumulators[cur_acc] >= static_cast(ptr)->min) - { - if((prev_record.empty() == false) && (prev_record.peek() == static_cast(ptr)->alt.p)) - { - // we already have the required fallback - // don't add any more, just update this one: - if(need_push_match) - matches.peek() = temp_match; - prev_pos.peek() = first; - } - else - { - if(need_push_match) - matches.push(temp_match); - prev_pos.push(first); - prev_record.push(static_cast(ptr)->alt.p); - } - } - // move to next item in list: - if((first != start_loop[cur_acc]) || !accumulators[cur_acc]) - { - ++accumulators[cur_acc]; - ptr = ptr->next.p; - start_loop[cur_acc] = first; - continue; - } - else if((unsigned int)accumulators[cur_acc] < static_cast(ptr)->min) - { - // the repeat was null, and we haven't gone round min times yet, - // since all subsequent repeats will be null as well, just update - // our repeat count and skip out. - accumulators[cur_acc] = static_cast(ptr)->min; - ptr = static_cast(ptr)->alt.p; - continue; - } - goto failure; - } - // see if we can skip the repeat: - if(((unsigned int)accumulators[cur_acc] >= static_cast(ptr)->min) - && access::can_start(*first, static_cast(ptr)->_map, mask_skip)) - { - ptr = static_cast(ptr)->alt.p; - continue; - } - // otherwise fail: - goto failure; - } - - // OK if we get to here then the repeat is either non-terminal or non-greedy, - // see if we can skip the repeat: - if(((unsigned int)accumulators[cur_acc] >= static_cast(ptr)->min) - && access::can_start(*first, static_cast(ptr)->_map, mask_skip)) - { - // see if we can push failure info: - if(((unsigned int)accumulators[cur_acc] < static_cast(ptr)->max) - && access::can_start(*first, static_cast(ptr)->_map, mask_take)) - { - // check to see if the last loop matched a NULL string - // if so then we really don't want to loop again: - if(((unsigned int)accumulators[cur_acc] == static_cast(ptr)->min) - || (first != start_loop[cur_acc])) - { - if(need_push_match) - matches.push(temp_match); - prev_pos.push(first); - prev_record.push(ptr); - for(k = 0; k <= cur_acc; ++k) - prev_acc.push(accumulators[k]); - // for non-greedy repeats save whether we have a match already: - if(static_cast(ptr)->greedy == false) - { - prev_acc.push(match_found); - match_found = false; - } - } - } - ptr = static_cast(ptr)->alt.p; - continue; - } - - // otherwise see if we can take the repeat: - if(((unsigned int)accumulators[cur_acc] < static_cast(ptr)->max) - && access::can_start(*first, static_cast(ptr)->_map, mask_take) && - ((first != start_loop[cur_acc]) || !accumulators[cur_acc])) - { - // move to next item in list: - ++accumulators[cur_acc]; - ptr = ptr->next.p; - start_loop[cur_acc] = first; - continue; - } - else if((first == start_loop[cur_acc]) && accumulators[cur_acc] && ((unsigned int)accumulators[cur_acc] < static_cast(ptr)->min)) - { - // the repeat was null, and we haven't gone round min times yet, - // since all subsequent repeats will be null as well, just update - // our repeat count and skip out. - accumulators[cur_acc] = static_cast(ptr)->min; - ptr = static_cast(ptr)->alt.p; - continue; - } - - // if we get here then neither option is allowed so fail: - goto failure; - - } - case syntax_element_combining: - if(traits_inst.is_combining(traits_inst.translate(*first, icase))) - goto failure; - ++first; - while((first != last) && traits_inst.is_combining(traits_inst.translate(*first, icase)))++first; - ptr = ptr->next.p; - continue; - case syntax_element_soft_buffer_end: - { - if(flags & match_not_eob) - goto failure; - iterator p(first); - while((p != last) && traits_inst.is_separator(traits_inst.translate(*p, icase)))++p; - if(p != last) - goto failure; - ptr = ptr->next.p; - continue; - } - case syntax_element_restart_continue: - if(first != temp_match[-1].first) - goto failure; - ptr = ptr->next.p; - continue; - default: - jm_assert(0); // should never get to here!! - return false; - } - } - - // - // if we get to here then we've run out of characters to match against, - // we could however still have non-character regex items left - if((ptr->can_be_null == 0) && ((flags & match_partial) == 0)) - goto failure; - while(true) - { - jm_assert(ptr); - ++state_count; - switch(ptr->type) - { - case syntax_element_match: - goto match_jump; - case syntax_element_startmark: - goto start_mark_jump; - case syntax_element_endmark: - goto end_mark_jump; - case syntax_element_start_line: - goto outer_line_check; - case syntax_element_end_line: - // we're at the end so *first is never valid: - if((flags & match_not_eol) == 0) - { - ptr = ptr->next.p; - continue; - } - goto failure; - case syntax_element_word_boundary: - case syntax_element_word_end: - if(((flags & match_not_eow) == 0) && (first != temp_match[0].first)) - { - iterator t(first); - --t; - if(traits_inst.is_class(*t, traits::char_class_word)) - { - ptr = ptr->next.p; - continue; - } - } - goto failure; - case syntax_element_buffer_end: - case syntax_element_soft_buffer_end: - if(flags & match_not_eob) - goto failure; - // OK match: - ptr = ptr->next.p; - break; - case syntax_element_jump: - ptr = static_cast(ptr)->alt.p; - continue; - case syntax_element_alt: - if(ptr->can_be_null & mask_take) - { - // we can test the first alternative, - // see if we need to push next alternative: - if(ptr->can_be_null & mask_skip) - { - if(need_push_match) - matches.push(temp_match); - for(k = 0; k <= cur_acc; ++k) - prev_pos.push(start_loop[k]); - prev_pos.push(first); - prev_record.push(ptr); - for(k = 0; k <= cur_acc; ++k) - prev_acc.push(accumulators[k]); - prev_acc.push(cur_acc); - } - ptr = ptr->next.p; - continue; - } - if(ptr->can_be_null & mask_skip) - { - ptr = static_cast(ptr)->alt.p; - continue; - } - goto failure; // neither option is possible - case syntax_element_rep: - // if we're moving to a higher id (nested repeats etc) - // zero out our accumualtors: - if(cur_acc < static_cast(ptr)->id) - { - cur_acc = static_cast(ptr)->id; - accumulators[cur_acc] = 0; - start_loop[cur_acc] = first; - } - - cur_acc = static_cast(ptr)->id; - - // see if we can skip the repeat: - if(((unsigned int)accumulators[cur_acc] >= static_cast(ptr)->min) - && ((ptr->can_be_null & mask_skip) || (flags & match_partial))) - { - // don't push failure info, there's no point: - ptr = static_cast(ptr)->alt.p; - continue; - } - - // otherwise see if we can take the repeat: - if(((unsigned int)accumulators[cur_acc] < static_cast(ptr)->max) - && (((ptr->can_be_null & (mask_take | mask_skip)) == (mask_take | mask_skip))) || (flags & match_partial)) - { - // move to next item in list: - ++accumulators[cur_acc]; - ptr = ptr->next.p; - start_loop[cur_acc] = first; - continue; - } - - // if we get here then neither option is allowed so fail: - goto failure; - case syntax_element_restart_continue: - if(first != temp_match[-1].first) - goto failure; - ptr = ptr->next.p; - continue; - case syntax_element_backref: - if(temp_match[static_cast(ptr)->index].first - != temp_match[static_cast(ptr)->index].second) - goto failure; - ptr = ptr->next.p; - continue; - default: - goto failure; - } - } - - failure: - - // - // check to see if we've been searching too many states: - // - if(state_count >= pd.max_state_count) - { -#ifndef BOOST_NO_EXCEPTIONS - throw std::runtime_error("Max regex search depth exceeded."); -#else - while(matches.empty() == false) - matches.pop(); - while(prev_pos.empty() == false) - prev_pos.pop(); - while(prev_record.empty() == false) - prev_record.pop(); - while(prev_acc.empty() == false) - prev_acc.pop(); - return false; -#endif - } - - // - // check for possible partial match: - // - if((flags & match_partial) - && !match_found // no full match already - && (base != first) // some charcters have been consumed - && (first == last)) // end of input has been reached - { - have_partial_match = true; - temp_match.set_second(first, 0, false); - m.maybe_assign(temp_match); - } - - if(prev_record.empty() == false) - { - ptr = prev_record.peek(); - switch(ptr->type) - { - case syntax_element_alt: - // get next alternative: - ptr = static_cast(ptr)->alt.p; - if(need_push_match) - matches.pop(temp_match); - prev_acc.pop(cur_acc); - for(k = cur_acc; k >= 0; --k) - prev_acc.pop(accumulators[k]); - prev_pos.pop(first); - for(k = cur_acc; k >= 0; --k) - prev_pos.pop(start_loop[k]); - prev_record.pop(); - if(unwind_stack) goto failure; // unwinding forward assert - goto retry; - case syntax_element_rep: - { - // we're doing least number of repeats first, - // increment count and repeat again: - bool saved_matched = match_found; - if(need_push_match) - matches.pop(temp_match); - prev_pos.pop(first); - cur_acc = static_cast(ptr)->id; - if(static_cast(ptr)->greedy == false) - { - saved_matched = prev_acc.peek(); - prev_acc.pop(); - } - for(k = cur_acc; k >= 0; --k) - prev_acc.pop(accumulators[k]); - prev_record.pop(); - if(unwind_stack) goto failure; // unwinding forward assert - if((unsigned int)++accumulators[cur_acc] > static_cast(ptr)->max) - goto failure; // repetions exhausted. - // - // if the repeat is non-greedy, and we found a match then fail again: - if((static_cast(ptr)->greedy == false) && (match_found == true)) - { - goto failure; - } - else if (match_found == false) - match_found = saved_matched; - ptr = ptr->next.p; - start_loop[cur_acc] = first; - goto retry; - } - case syntax_element_startmark: - { - bool saved_matched = match_found; - matches.pop(temp_match); - match_found = prev_acc.peek(); - prev_acc.pop(); - prev_acc.pop(cur_acc); - for(k = cur_acc; k >= 0; --k) - prev_acc.pop(accumulators[k]); - prev_pos.pop(first); - for(k = cur_acc; k >= 0; --k) - prev_pos.pop(start_loop[k]); - prev_record.pop(); - unwind_stack = false; - if(static_cast(ptr)->index == -1) - { - if (saved_matched == false) - goto failure; - ptr = static_cast(ptr->next.p)->alt.p->next.p; - goto retry; - } - if(static_cast(ptr)->index == -2) - { - if (saved_matched == true) - goto failure; - ptr = static_cast(ptr->next.p)->alt.p->next.p; - goto retry; - } - else goto failure; - } - case syntax_element_match: - if(need_push_match) - matches.pop(temp_match); - prev_pos.pop(first); - prev_record.pop(); - if(unwind_stack) goto failure; // unwinding forward assert - goto retry; - default: - jm_assert(0); - // mustn't get here!! - } - } - - if(match_found || have_partial_match) - { - pd.state_count = 0; - return true; - } - - // if we get to here then everything has failed - // and no match was found: - return false; -} -#if defined(BOOST_REGEX_NO_TEMPLATE_SWITCH_MERGE) -} // namespace -#endif - - -template -void _skip_and_inc(unsigned int& clines, iterator& last_line, iterator& first, const iterator last) -{ - while(first != last) - { - if(*first == '\n') - { - last_line = ++first; - ++clines; - } - else - ++first; - } -} - -template -void _skip_and_dec(unsigned int& clines, iterator& last_line, iterator& first, iterator base, std::size_t len) -{ - bool need_line = false; - for(std::size_t i = 0; i < len; ++i) - { - --first; - if(*first == '\n') - { - need_line = true; - --clines; - } - } - - if(need_line) - { - last_line = first; - - if(last_line != base) - --last_line; - else - return; - - while((last_line != base) && (*last_line != '\n')) - --last_line; - if(*last_line == '\n') - ++last_line; - } -} - -template -inline void _inc_one(unsigned int& clines, iterator& last_line, iterator& first) -{ - if(*first == '\n') - { - last_line = ++first; - ++clines; - } - else - ++first; -} - -template -struct grep_search_predicate -{ - match_results* pm; - grep_search_predicate(match_results* p) : pm(p) {} - bool operator()(const match_results& m) - { - *pm = static_cast&>(m); - return false; - } -}; - -#if !defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) - -template -inline const match_results_base& grep_out_type(const grep_search_predicate& o, const Allocator&) -{ - return *(o.pm); -} - -#endif - -template -inline const Allocator& grep_out_type(const T&, const Allocator& a) -{ - return a; -} - -#if defined(BOOST_REGEX_NO_TEMPLATE_SWITCH_MERGE) -// -// Ugly ugly hack, -// template don't merge if they contain switch statements so declare these -// templates in unnamed namespace (ie with internal linkage), each translation -// unit then gets its own local copy, it works seemlessly but bloats the app. -namespace{ -#endif - -// -// reg_grep2: -// find all non-overlapping matches within the sequence first last: -// -template -unsigned int reg_grep2(Predicate foo, I first, I last, const reg_expression& e, unsigned flags, A2 a) -{ - typedef access_t access; - - if(e.flags() & regbase::failbit) - return 0; - - typedef typename traits::size_type traits_size_type; - typedef typename traits::uchar_type traits_uchar_type; - typedef typename is_byte::width_type width_type; - - match_results m(grep_out_type(foo, a)); - I restart; - m.set_size(e.mark_count(), first, last); - m.set_line(1, first); - m.set_base(first); - - unsigned int clines = 1; - unsigned int cmatches = 0; - I last_line = first; - I next_base; - I base = first; - bool need_init; - bool leading_match = false; - const traits& traits_inst = e.get_traits(); - // dwa 9/13/00 suppress incorrect MSVC warning - it claims this is never - // referenced - (void)traits_inst; - - flags |= match_init; - - _priv_match_data pd(m, first, last, e.size()); - - const unsigned char* _map = access::get_map(e); - unsigned int type; - - if(first == last) - { - // special case, only test if can_be_null, - // don't dereference any pointers!! - if(access::first(e)->can_be_null) - { - if(query_match_aux(first, last, m, e, flags, pd, &restart)) - { - foo(m); - ++cmatches; - } - } - return cmatches; - } - - // try one time whatever: - if( access::can_start(*first, _map, (unsigned char)mask_any) ) - { - if(query_match_aux(first, last, m, e, flags, pd, &restart)) - { - ++cmatches; - leading_match = true; - if(foo(m) == false) - return cmatches; - if(m[0].second == last) - return cmatches; - // update to end of what matched - // trying to match again with match_not_null set if this - // is a null match... - need_init = true; - if(first == m[0].second) - { - next_base = m[0].second; - pd.temp_match.init_fail(next_base, last); - m.init_fail(next_base, last); - if(query_match_aux(first, last, m, e, flags | match_not_null, pd, &restart)) - { - ++cmatches; - if(foo(m) == false) - return cmatches; - } - else - { - need_init = false; - leading_match = false; - for(unsigned int i = 0; (restart != first) && (i < access::leading_length(e)); ++i, --restart) - {} // dwa 10/20/2000 - warning suppression for MWCW - if(restart != last) - ++restart; - _skip_and_inc(clines, last_line, first, restart); - } - } - if(need_init) - { - _skip_and_inc(clines, last_line, first, m[0].second); - next_base = m[0].second; - pd.temp_match.init_fail(next_base, last); - m.init_fail(next_base, last); - } - } - else - { - for(unsigned int i = 0; (restart != first) && (i < access::leading_length(e)); ++i, --restart) - {} // dwa 10/20/2000 - warning suppression for MWCW - if(restart != last) - ++restart; - _skip_and_inc(clines, last_line, first, restart); - } - } - else - _inc_one(clines, last_line, first); - flags |= match_prev_avail | match_not_bob; - - - // depending on what the first record is we may be able to - // optimise the search: - type = (flags & match_continuous) ? - static_cast(regbase::restart_continue) - : static_cast(access::restart_type(e)); - - if(type == regbase::restart_buf) - return cmatches; - - switch(type) - { - case regbase::restart_lit: - case regbase::restart_fixed_lit: - { - const kmp_info* info = access::get_kmp(e); - int len = info->len; - const charT* x = info->pstr; - int j = 0; - bool icase = e.flags() & regbase::icase; - while (first != last) - { - while((j > -1) && (x[j] != traits_inst.translate(*first, icase))) - j = info->kmp_next[j]; - _inc_one(clines, last_line, first); - ++j; - if(j >= len) - { - if(type == regbase::restart_fixed_lit) - { - _skip_and_dec(clines, last_line, first, base, j); - restart = first; - std::advance(restart, len); - m.set_first(first); - m.set_second(restart); - m.set_line(clines, last_line); - ++cmatches; - if(foo(m) == false) - return cmatches; - if(m[0].second == last) - return cmatches; - _skip_and_inc(clines, last_line, first, restart); - next_base = m[0].second; - pd.temp_match.init_fail(next_base, last); - m.init_fail(next_base, last); - j = 0; - } - else - { - restart = first; - _skip_and_dec(clines, last_line, first, base, j); - if(query_match_aux(first, last, m, e, flags, pd, &restart)) - { - - m.set_line(clines, last_line); - ++cmatches; - if(foo(m) == false) - return cmatches; - if(m[0].second == last) - return cmatches; - // update to end of what matched - _skip_and_inc(clines, last_line, first, m[0].second); - next_base = m[0].second; - pd.temp_match.init_fail(next_base, last); - m.init_fail(next_base, last); - j = 0; - } - else - { - for(int k = 0; (restart != first) && (k < j); ++k, --restart) - {} // dwa 10/20/2000 - warning suppression for MWCW - if(restart != last) - ++restart; - _skip_and_inc(clines, last_line, first, restart); - j = 0; //we could do better than this... - } - } - } - } - break; - } - case regbase::restart_any: - { - while(first != last) - { - if( access::can_start(*first, _map, (unsigned char)mask_any) ) - { - if(query_match_aux(first, last, m, e, flags, pd, &restart)) - { - - m.set_line(clines, last_line); - ++cmatches; - if(foo(m) == false) - return cmatches; - if(m[0].second == last) - return cmatches; - // update to end of what matched - // trying to match again with match_not_null set if this - // is a null match... - need_init = true; - if(first == m[0].second) - { - next_base = m[0].second; - pd.temp_match.init_fail(next_base, last); - m.init_fail(next_base, last); - if(query_match_aux(first, last, m, e, flags | match_not_null, pd, &restart)) - { - m.set_line(clines, last_line); - ++cmatches; - if(foo(m) == false) - return cmatches; - } - else - { - need_init = false; - for(unsigned int i = 0; (restart != first) && (i < access::leading_length(e)); ++i, --restart) - {} // dwa 10/20/2000 - warning suppression for MWCW - if(restart != last) - ++restart; - _skip_and_inc(clines, last_line, first, restart); - } - } - if(need_init) - { - _skip_and_inc(clines, last_line, first, m[0].second); - next_base = m[0].second; - pd.temp_match.init_fail(next_base, last); - m.init_fail(next_base, last); - } - continue; - } - else - { - for(unsigned int i = 0; (restart != first) && (i < access::leading_length(e)); ++i, --restart) - {} // dwa 10/20/2000 - warning suppression for MWCW - if(restart != last) - ++restart; - _skip_and_inc(clines, last_line, first, restart); - } - } - else - _inc_one(clines, last_line, first); - } - } - break; - case regbase::restart_word: - { - // do search optimised for word starts: - while(first != last) - { - --first; - if(*first == '\n') - --clines; - // skip the word characters: - while((first != last) && traits_inst.is_class(*first, traits::char_class_word)) - ++first; - // now skip the white space: - while((first != last) && (traits_inst.is_class(*first, traits::char_class_word) == false)) - { - #ifdef __GNUC__ - // - // hack to work around gcc optimisation bug - // just expand the contents of _inc_one here: - if(*first == '\n') - { - last_line = ++first; - ++clines; - } - else - ++first; - #else - _inc_one(clines, last_line, first); - #endif - } - if(first == last) - break; - - if( access::can_start(*first, _map, (unsigned char)mask_any) ) - { - if(query_match_aux(first, last, m, e, flags, pd, &restart)) - { - m.set_line(clines, last_line); - ++cmatches; - if(foo(m) == false) - return cmatches; - if(m[0].second == last) - return cmatches; - // update to end of what matched - // trying to match again with match_not_null set if this - // is a null match... - need_init = true; - if(first == m[0].second) - { - next_base = m[0].second; - pd.temp_match.init_fail(next_base, last); - m.init_fail(next_base, last); - if(query_match_aux(first, last, m, e, flags | match_not_null, pd, &restart)) - { - m.set_line(clines, last_line); - ++cmatches; - if(foo(m) == false) - return cmatches; - } - else - { - need_init = false; - for(unsigned int i = 0; (restart != first) && (i < access::leading_length(e)); ++i, --restart) - {} // dwa 10/20/2000 - warning suppression for MWCW - if(restart != last) - ++restart; - _skip_and_inc(clines, last_line, first, restart); - } - } - if(need_init) - { - _skip_and_inc(clines, last_line, first, m[0].second); - next_base = m[0].second; - pd.temp_match.init_fail(next_base, last); - m.init_fail(next_base, last); - } - } - else - { - for(unsigned int i = 0; (restart != first) && (i < access::leading_length(e)); ++i, --restart) - {} // dwa 10/20/2000 - warning suppression for MWCW - if(restart != last) - ++restart; - _skip_and_inc(clines, last_line, first, restart); - } - } - else - _inc_one(clines, last_line, first); - } - } - break; - case regbase::restart_line: - { - // do search optimised for line starts: - while(first != last) - { - // find first charcter after a line break: - --first; - if(*first == '\n') - --clines; - while((first != last) && (*first != '\n')) - ++first; - if(first == last) - break; - ++first; - if(first == last) - break; - - ++clines; - last_line = first; - - if( access::can_start(*first, _map, (unsigned char)mask_any) ) - { - if(query_match_aux(first, last, m, e, flags, pd, &restart)) - { - m.set_line(clines, last_line); - ++cmatches; - if(foo(m) == false) - return cmatches; - if(m[0].second == last) - return cmatches; - // update to end of what matched - // trying to match again with match_not_null set if this - // is a null match... - need_init = true; - if(first == m[0].second) - { - next_base = m[0].second; - pd.temp_match.init_fail(next_base, last); - m.init_fail(next_base, last); - if(query_match_aux(first, last, m, e, flags | match_not_null, pd, &restart)) - { - m.set_line(clines, last_line); - ++cmatches; - if(foo(m) == false) - return cmatches; - } - else - { - need_init = false; - for(unsigned int i = 0; (restart != first) && (i < access::leading_length(e)); ++i, --restart) - {} // dwa 10/20/2000 - warning suppression for MWCW - if(restart != last) - ++restart; - _skip_and_inc(clines, last_line, first, restart); - } - } - if(need_init) - { - _skip_and_inc(clines, last_line, first, m[0].second); - next_base = m[0].second; - pd.temp_match.init_fail(next_base, last); - m.init_fail(next_base, last); - } - } - else - { - for(unsigned int i = 0; (restart != first) && (i < access::leading_length(e)); ++i, --restart) - {} // dwa 10/20/2000 - warning suppression for MWCW - if(restart != last) - ++restart; - _skip_and_inc(clines, last_line, first, restart); - } - } - else - _inc_one(clines, last_line, first); - } - } - break; - case regbase::restart_continue: - { - if(!leading_match) - return cmatches; - while(first != last) - { - if( access::can_start(*first, _map, (unsigned char)mask_any) ) - { - if(query_match_aux(first, last, m, e, flags, pd, &restart)) - { - m.set_line(clines, last_line); - ++cmatches; - if(foo(m) == false) - return cmatches; - if(m[0].second == last) - return cmatches; - // update to end of what matched - // trying to match again with match_not_null set if this - // is a null match... - if(first == m[0].second) - { - next_base = m[0].second; - pd.temp_match.init_fail(next_base, last); - m.init_fail(next_base, last); - if(query_match_aux(first, last, m, e, flags | match_not_null, pd, &restart)) - { - m.set_line(clines, last_line); - ++cmatches; - if(foo(m) == false) - return cmatches; - } - else - return cmatches; // can't continue from null match - } - _skip_and_inc(clines, last_line, first, m[0].second); - next_base = m[0].second; - pd.temp_match.init_fail(next_base, last); - m.init_fail(next_base, last); - continue; - } - } - return cmatches; - } - } - break; - } - - - // finally check trailing null string: - if(access::first(e)->can_be_null) - { - if(query_match_aux(first, last, m, e, flags, pd, &restart)) - { - m.set_line(clines, last_line); - ++cmatches; - if(foo(m) == false) - return cmatches; - } - } - - return cmatches; -} -#if defined(BOOST_REGEX_NO_TEMPLATE_SWITCH_MERGE) -} // namespace {anon} -#endif - -} // namespace re_detail - -// -// proc regex_match -// returns true if the specified regular expression matches -// the whole of the input. Fills in what matched in m. -// -template -bool regex_match(iterator first, iterator last, match_results& m, const reg_expression& e, unsigned flags = match_default) -{ - // prepare m for failure: - if((flags & match_init) == 0) - { - m.set_size(e.mark_count(), first, last); - m.set_base(first); - m.set_line(1, first); - } - flags |= match_all; // must match all of input. - re_detail::_priv_match_data pd(m, first, last, e.size()); - iterator restart; - bool result = re_detail::query_match_aux(first, last, m, e, flags, pd, &restart); - return result; -} -template -bool regex_match(iterator first, iterator last, const reg_expression& e, unsigned flags = match_default) -{ - match_results m; - return regex_match(first, last, m, e, flags); -} -// -// query_match convenience interfaces: -#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -// -// this isn't really a partial specialisation, but template function -// overloading - if the compiler doesn't support partial specialisation -// then it really won't support this either: -template -inline bool regex_match(const charT* str, - match_results& m, - const reg_expression& e, - unsigned flags = match_default) -{ - return regex_match(str, str + traits::length(str), m, e, flags); -} - -template -inline bool regex_match(const std::basic_string& s, - match_results::const_iterator, Allocator>& m, - const reg_expression& e, - unsigned flags = match_default) -{ - return regex_match(s.begin(), s.end(), m, e, flags); -} -template -inline bool regex_match(const charT* str, - const reg_expression& e, - unsigned flags = match_default) -{ - match_results m; - return regex_match(str, str + traits::length(str), m, e, flags); -} - -template -inline bool regex_match(const std::basic_string& s, - const reg_expression& e, - unsigned flags = match_default) -{ - typedef typename std::basic_string::const_iterator iterator; - match_results m; - return regex_match(s.begin(), s.end(), m, e, flags); -} -#else // partial ordering -inline bool regex_match(const char* str, - cmatch& m, - const regex& e, - unsigned flags = match_default) -{ - return regex_match(str, str + regex::traits_type::length(str), m, e, flags); -} -inline bool regex_match(const char* str, - const regex& e, - unsigned flags = match_default) -{ - match_results m; - return regex_match(str, str + regex::traits_type::length(str), m, e, flags); -} -#ifndef BOOST_NO_WREGEX -inline bool regex_match(const wchar_t* str, - wcmatch& m, - const wregex& e, - unsigned flags = match_default) -{ - return regex_match(str, str + wregex::traits_type::length(str), m, e, flags); -} -inline bool regex_match(const wchar_t* str, - const wregex& e, - unsigned flags = match_default) -{ - match_results m; - return regex_match(str, str + wregex::traits_type::length(str), m, e, flags); -} -#endif -inline bool regex_match(const std::string& s, - match_results& m, - const regex& e, - unsigned flags = match_default) -{ - return regex_match(s.begin(), s.end(), m, e, flags); -} -inline bool regex_match(const std::string& s, - const regex& e, - unsigned flags = match_default) -{ - match_results m; - return regex_match(s.begin(), s.end(), m, e, flags); -} -#if !defined(BOOST_NO_WREGEX) -inline bool regex_match(const std::basic_string& s, - match_results::const_iterator, wregex::allocator_type>& m, - const wregex& e, - unsigned flags = match_default) -{ - return regex_match(s.begin(), s.end(), m, e, flags); -} -inline bool regex_match(const std::basic_string& s, - const wregex& e, - unsigned flags = match_default) -{ - match_results::const_iterator, wregex::allocator_type> m; - return regex_match(s.begin(), s.end(), m, e, flags); -} -#endif - -#endif - -template -bool regex_search(iterator first, iterator last, match_results& m, const reg_expression& e, unsigned flags = match_default) -{ - if(e.flags() & regbase::failbit) - return false; - - typedef typename traits::size_type traits_size_type; - typedef typename traits::uchar_type traits_uchar_type; - - return re_detail::reg_grep2(re_detail::grep_search_predicate(&m), first, last, e, flags, m.allocator()); -} - -// -// regex_search convenience interfaces: -#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -// -// this isn't really a partial specialisation, but template function -// overloading - if the compiler doesn't support partial specialisation -// then it really won't support this either: -template -inline bool regex_search(const charT* str, - match_results& m, - const reg_expression& e, - unsigned flags = match_default) -{ - return regex_search(str, str + traits::length(str), m, e, flags); -} - -template -inline bool regex_search(const std::basic_string& s, - match_results::const_iterator, Allocator>& m, - const reg_expression& e, - unsigned flags = match_default) -{ - return regex_search(s.begin(), s.end(), m, e, flags); -} -#else // partial specialisation -inline bool regex_search(const char* str, - cmatch& m, - const regex& e, - unsigned flags = match_default) -{ - return regex_search(str, str + regex::traits_type::length(str), m, e, flags); -} -#ifndef BOOST_NO_WREGEX -inline bool regex_search(const wchar_t* str, - wcmatch& m, - const wregex& e, - unsigned flags = match_default) -{ - return regex_search(str, str + wregex::traits_type::length(str), m, e, flags); -} -#endif -inline bool regex_search(const std::string& s, - match_results& m, - const regex& e, - unsigned flags = match_default) -{ - return regex_search(s.begin(), s.end(), m, e, flags); -} -#if !defined(BOOST_NO_WREGEX) -inline bool regex_search(const std::basic_string& s, - match_results::const_iterator, wregex::allocator_type>& m, - const wregex& e, - unsigned flags = match_default) -{ - return regex_search(s.begin(), s.end(), m, e, flags); -} -#endif - -#endif - - -// -// regex_grep: -// find all non-overlapping matches within the sequence first last: -// -template -inline unsigned int regex_grep(Predicate foo, iterator first, iterator last, const reg_expression& e, unsigned flags = match_default) -{ - return re_detail::reg_grep2(foo, first, last, e, flags, e.allocator()); -} - -// -// regex_grep convenience interfaces: -#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -// -// this isn't really a partial specialisation, but template function -// overloading - if the compiler doesn't support partial specialisation -// then it really won't support this either: -template -inline unsigned int regex_grep(Predicate foo, const charT* str, - const reg_expression& e, - unsigned flags = match_default) -{ - return regex_grep(foo, str, str + traits::length(str), e, flags); -} - -template -inline unsigned int regex_grep(Predicate foo, const std::basic_string& s, - const reg_expression& e, - unsigned flags = match_default) -{ - return regex_grep(foo, s.begin(), s.end(), e, flags); -} -#else // partial specialisation -inline unsigned int regex_grep(bool (*foo)(const cmatch&), const char* str, - const regex& e, - unsigned flags = match_default) -{ - return regex_grep(foo, str, str + regex::traits_type::length(str), e, flags); -} -#ifndef BOOST_NO_WREGEX -inline unsigned int regex_grep(bool (*foo)(const wcmatch&), const wchar_t* str, - const wregex& e, - unsigned flags = match_default) -{ - return regex_grep(foo, str, str + wregex::traits_type::length(str), e, flags); -} -#endif -inline unsigned int regex_grep(bool (*foo)(const match_results&), const std::string& s, - const regex& e, - unsigned flags = match_default) -{ - return regex_grep(foo, s.begin(), s.end(), e, flags); -} -#if !defined(BOOST_NO_WREGEX) -inline unsigned int regex_grep(bool (*foo)(const match_results::const_iterator, wregex::allocator_type>&), - const std::basic_string& s, - const wregex& e, - unsigned flags = match_default) -{ - return regex_grep(foo, s.begin(), s.end(), e, flags); -} -#endif - -#endif - - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace boost - -#endif // BOOST_REGEX_MATCH_HPP - - - - - - - - - - - - - - - - - diff --git a/include/boost/regex/v3/regex_raw_buffer.hpp b/include/boost/regex/v3/regex_raw_buffer.hpp deleted file mode 100644 index 19a0293b..00000000 --- a/include/boost/regex/v3/regex_raw_buffer.hpp +++ /dev/null @@ -1,249 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_raw_buffer.hpp - * VERSION see - * DESCRIPTION: Raw character buffer for regex code. - * Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -#ifndef BOOST_REGEX_RAW_BUFFER_HPP -#define BOOST_REGEX_RAW_BUFFER_HPP - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif - -namespace boost{ - namespace re_detail{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -#endif - -struct empty_padding{}; - -union padding -{ - void* p; - unsigned int i; -}; - -template -struct padding3 -{ - enum{ - padding_size = 8, - padding_mask = 7 - }; -}; - -template<> -struct padding3<2> -{ - enum{ - padding_size = 2, - padding_mask = 1 - }; -}; - -template<> -struct padding3<4> -{ - enum{ - padding_size = 4, - padding_mask = 3 - }; -}; - -template<> -struct padding3<8> -{ - enum{ - padding_size = 8, - padding_mask = 7 - }; -}; - -template<> -struct padding3<16> -{ - enum{ - padding_size = 16, - padding_mask = 15 - }; -}; - -enum{ - padding_size = padding3::padding_size, - padding_mask = padding3::padding_mask -}; - -// -// class raw_storage -// basically this is a simplified vector -// this is used by reg_expression for expression storage -// - -template -class raw_storage -{ -public: - typedef Allocator allocator_type; - typedef typename boost::detail::rebind_allocator::type alloc_inst_type; - typedef typename alloc_inst_type::size_type size_type; - typedef typename alloc_inst_type::pointer pointer; -private: - // - // empty member optimisation: - struct alloc_data : public alloc_inst_type - { - typename alloc_inst_type::pointer last; - alloc_data(const Allocator& a) : alloc_inst_type(a){} - } alloc_inst; - pointer start, end; -public: - - raw_storage(const Allocator& a = Allocator()); - raw_storage(size_type n, const Allocator& a = Allocator()); - - ~raw_storage() - { - alloc_inst.deallocate(start, (alloc_inst.last - start)); - } - - void BOOST_REGEX_CALL resize(size_type n); - - void* BOOST_REGEX_CALL extend(size_type n) - { - if(size_type(alloc_inst.last - end) < n) - resize(n + (end - start)); - register void* result = end; - end += n; - return result; - } - - void* BOOST_REGEX_CALL insert(size_type pos, size_type n); - - size_type BOOST_REGEX_CALL size() - { - return end - start; - } - - size_type BOOST_REGEX_CALL capacity() - { - return alloc_inst.last - start; - } - - void* BOOST_REGEX_CALL data()const - { - return start; - } - - size_type BOOST_REGEX_CALL index(void* ptr) - { - return reinterpret_cast(ptr) - reinterpret_cast(data()); - } - - void BOOST_REGEX_CALL clear() - { - end = start; - } - - void BOOST_REGEX_CALL align() - { - // move end up to a boundary: - end = reinterpret_cast(start) + (((reinterpret_cast(end) - reinterpret_cast(start)) + padding_mask) & ~padding_mask); - } - - Allocator BOOST_REGEX_CALL allocator()const; -}; - -template -raw_storage::raw_storage(const Allocator& a) - : alloc_inst(a) -{ - start = end = alloc_inst.allocate(1024); - BOOST_REGEX_NOEH_ASSERT(start) - alloc_inst.last = start + 1024; -} - -template -raw_storage::raw_storage(size_type n, const Allocator& a) - : alloc_inst(a) -{ - start = end = alloc_inst.allocate(n); - BOOST_REGEX_NOEH_ASSERT(start) - alloc_inst.last = start + n; -} - -template -Allocator BOOST_REGEX_CALL raw_storage::allocator()const -{ - return alloc_inst; -} - -template -void BOOST_REGEX_CALL raw_storage::resize(size_type n) -{ - register size_type newsize = (alloc_inst.last - start) * 2; - register size_type datasize = end - start; - if(newsize < n) - newsize = n; - // extend newsize to WORD/DWORD boundary: - newsize = (newsize + padding_mask) & ~(padding_mask); - - // allocate and copy data: - register unsigned char* ptr = alloc_inst.allocate(newsize); - BOOST_REGEX_NOEH_ASSERT(ptr) - std::memcpy(ptr, start, datasize); - - // get rid of old buffer: - alloc_inst.deallocate(start, (alloc_inst.last - start)); - - // and set up pointers: - start = ptr; - end = ptr + datasize; - alloc_inst.last = ptr + newsize; -} - -template -void* BOOST_REGEX_CALL raw_storage::insert(size_type pos, size_type n) -{ - jm_assert(pos <= size_type(end - start)); - if(size_type(alloc_inst.last - end) < n) - resize(n + (end - start)); - register void* result = start + pos; - std::memmove(start + pos + n, start + pos, (end - start) - pos); - end += n; - return result; -} - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace re_detail -} // namespace boost - -#endif - - - - - diff --git a/include/boost/regex/v3/regex_split.hpp b/include/boost/regex/v3/regex_split.hpp deleted file mode 100644 index 91babcd0..00000000 --- a/include/boost/regex/v3/regex_split.hpp +++ /dev/null @@ -1,152 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_split.hpp - * VERSION see - * DESCRIPTION: Implements regex_split and associated functions. - * Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -#ifndef BOOST_REGEX_SPLIT_HPP -#define BOOST_REGEX_SPLIT_HPP - -namespace boost{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -#endif - -namespace re_detail{ - -template -const reg_expression& get_default_expression(charT) -{ - static const charT expression_text[4] = { '\\', 's', '+', '\00', }; - static const reg_expression e(expression_text); - return e; -} - -template -class split_pred -{ - typedef std::basic_string string_type; - typedef typename string_type::const_iterator iterator_type; - iterator_type* p_last; - OutputIterator* p_out; - std::size_t* p_max; - std::size_t initial_max; -public: - split_pred(iterator_type* a, OutputIterator* b, std::size_t* c) - : p_last(a), p_out(b), p_max(c), initial_max(*c) {} - - bool operator()(const match_results& what); -}; - -template -bool split_pred::operator() - (const match_results& what) -{ - *p_last = what[0].second; - if(what.size() > 1) - { - // output sub-expressions only: - for(unsigned i = 1; i < what.size(); ++i) - { - *(*p_out) = static_cast(what[i]); - ++(*p_out); - if(0 == --*p_max) return false; - } - return *p_max != 0; - } - else - { - // output $` only if it's not-null or not at the start of the input: - const sub_match& sub = what[-1]; - if((sub.first != sub.second) || (*p_max != initial_max)) - { - *(*p_out) = static_cast(sub); - ++(*p_out); - return --*p_max; - } - } - // - // initial null, do nothing: - return true; -} - -} // namespace re_detail - -template -std::size_t regex_split(OutputIterator out, - std::basic_string& s, - const reg_expression& e, - unsigned flags, - std::size_t max_split) -{ - typedef typename std::basic_string::const_iterator ci_t; - ci_t last = s.begin(); - std::size_t init_size = max_split; - re_detail::split_pred pred(&last, &out, &max_split); - ci_t i, j; - i = s.begin(); - j = s.end(); - regex_grep(pred, i, j, e, flags); - // - // if there is still input left, do a final push as long as max_split - // is not exhausted, and we're not splitting sub-expressions rather - // than whitespace: - if(max_split && (last != s.end()) && (e.mark_count() == 1)) - { - *out = std::basic_string((ci_t)last, (ci_t)s.end()); - ++out; - last = s.end(); - --max_split; - } - // - // delete from the string everything that has been processed so far: - s.erase(0, last - s.begin()); - // - // return the number of new records pushed: - return init_size - max_split; -} - -template -inline std::size_t regex_split(OutputIterator out, - std::basic_string& s, - const reg_expression& e, - unsigned flags = match_default) -{ - return regex_split(out, s, e, flags, UINT_MAX); -} - -template -inline std::size_t regex_split(OutputIterator out, - std::basic_string& s) -{ - return regex_split(out, s, re_detail::get_default_expression(charT(0)), match_default, UINT_MAX); -} - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace boost - -#endif - - diff --git a/include/boost/regex/v3/regex_stack.hpp b/include/boost/regex/v3/regex_stack.hpp deleted file mode 100644 index e81403b3..00000000 --- a/include/boost/regex/v3/regex_stack.hpp +++ /dev/null @@ -1,227 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_stack.hpp - * VERSION see - * DESCRIPTION: Implements customised internal regex stacks. - * Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -#ifndef BOOST_REGEX_STACK_HPP -#define BOOST_REGEX_STACK_HPP - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif -#ifndef BOOST_REGEX_RAW_BUFFER_HPP -#include -#endif - -namespace boost{ - namespace re_detail{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -#endif - -// -// class jstack -// simplified stack optimised for push/peek/pop -// operations, we could use std::stack> instead... -// -template -class jstack -{ -private: - typedef typename boost::detail::rebind_allocator::type allocator_type; - typedef typename boost::detail::rebind_allocator::type T_alloc_type; - typedef typename T_alloc_type::size_type size_type; - typedef T value_type; - struct node - { - node* next; - T* start; // first item - T* end; // last item - T* last; // end of storage - }; - - // - // empty base member optimisation: - struct data : public allocator_type - { - padding buf[(sizeof(T) * 16 + sizeof(padding) - 1) / sizeof(padding)]; - data(const Allocator& a) : allocator_type(a){} - }; - - data alloc_inst; - mutable node* m_stack; - mutable node* unused; - node base; - size_type block_size; - - void BOOST_REGEX_CALL pop_aux()const; - void BOOST_REGEX_CALL push_aux(); - -public: - jstack(size_type n = 64, const Allocator& a = Allocator()); - - ~jstack(); - - node* BOOST_REGEX_CALL get_node() - { - node* new_stack = reinterpret_cast(alloc_inst.allocate(sizeof(node) + sizeof(T) * block_size)); - BOOST_REGEX_NOEH_ASSERT(new_stack) - new_stack->last = reinterpret_cast(new_stack+1); - new_stack->start = new_stack->end = new_stack->last + block_size; - new_stack->next = 0; - return new_stack; - } - - bool BOOST_REGEX_CALL empty() - { - return (m_stack->start == m_stack->end) && (m_stack->next == 0); - } - - bool BOOST_REGEX_CALL good() - { - return (m_stack->start != m_stack->end) || (m_stack->next != 0); - } - - T& BOOST_REGEX_CALL peek() - { - if(m_stack->start == m_stack->end) - pop_aux(); - return *m_stack->end; - } - - const T& BOOST_REGEX_CALL peek()const - { - if(m_stack->start == m_stack->end) - pop_aux(); - return *m_stack->end; - } - - void BOOST_REGEX_CALL pop() - { - if(m_stack->start == m_stack->end) - pop_aux(); - ::boost::re_detail::pointer_destroy(m_stack->end); - ++(m_stack->end); - } - - void BOOST_REGEX_CALL pop(T& t) - { - if(m_stack->start == m_stack->end) - pop_aux(); - t = *m_stack->end; - ::boost::re_detail::pointer_destroy(m_stack->end); - ++(m_stack->end); - } - - void BOOST_REGEX_CALL push(const T& t) - { - if(m_stack->end == m_stack->last) - push_aux(); - --(m_stack->end); - pointer_construct(m_stack->end, t); - } - -}; - -template -jstack::jstack(size_type n, const Allocator& a) - : alloc_inst(a) -{ - unused = 0; - block_size = n; - m_stack = &base; - base.last = reinterpret_cast(alloc_inst.buf); - base.end = base.start = base.last + 16; - base.next = 0; -} - -template -void BOOST_REGEX_CALL jstack::push_aux() -{ - // make sure we have spare space on TOS: - register node* new_node; - if(unused) - { - new_node = unused; - unused = new_node->next; - new_node->next = m_stack; - m_stack = new_node; - } - else - { - new_node = get_node(); - new_node->next = m_stack; - m_stack = new_node; - } -} - -template -void BOOST_REGEX_CALL jstack::pop_aux()const -{ - // make sure that we have a valid item - // on TOS: - jm_assert(m_stack->next); - register node* p = m_stack; - m_stack = p->next; - p->next = unused; - unused = p; -} - -template -jstack::~jstack() -{ - node* condemned; - while(good()) - pop(); - while(unused) - { - condemned = unused; - unused = unused->next; - alloc_inst.deallocate(reinterpret_cast(condemned), sizeof(node) + sizeof(T) * block_size); - } - while(m_stack != &base) - { - condemned = m_stack; - m_stack = m_stack->next; - alloc_inst.deallocate(reinterpret_cast(condemned), sizeof(node) + sizeof(T) * block_size); - } -} - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace re_detail -} // namespace boost - -#endif - - - - - - - - - - diff --git a/include/boost/regex/v3/regex_synch.hpp b/include/boost/regex/v3/regex_synch.hpp deleted file mode 100644 index c3e4a9f3..00000000 --- a/include/boost/regex/v3/regex_synch.hpp +++ /dev/null @@ -1,213 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_synch.hpp - * VERSION see - * DESCRIPTION: Thread synchronisation for regex code. - * Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -#ifndef BOOST_REGEX_SYNCH_HPP -#define BOOST_REGEX_SYNCH_HPP - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif - -#if defined(BOOST_HAS_THREADS) -# if defined(BOOST_HAS_WINTHREADS) -# include -# elif defined(BOOST_HAS_BETHREADS) -# include -# include -# elif defined(BOOST_HAS_PTHREADS) -# include -# else -# error "Unknown threading API" -# endif -#endif - - -namespace boost{ - namespace re_detail{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -#endif - -void BOOST_REGEX_CALL re_init_threads(); -void BOOST_REGEX_CALL re_free_threads(); - -#ifdef BOOST_HAS_THREADS - -# ifdef BOOST_HAS_BETHREADS - -typedef sem_id CRITICAL_SECTION; - -inline void BOOST_REGEX_CALL InitializeCriticalSection(CRITICAL_SECTION* ps) -{ - *ps = create_sem(1, "regex++"); - assert(*ps > 0); -} - -inline void BOOST_REGEX_CALL DeleteCriticalSection(CRITICAL_SECTION* ps) -{ - int t = delete_sem(*ps); - assert(t == B_NO_ERROR); -} - -inline void BOOST_REGEX_CALL EnterCriticalSection(CRITICAL_SECTION* ps) -{ - status_t t = acquire_sem(*ps); - assert(t == B_NO_ERROR); -} - -inline void BOOST_REGEX_CALL LeaveCriticalSection(CRITICAL_SECTION* ps) -{ - status_t t = release_sem(*ps); - assert(t == B_NO_ERROR); -} - -# elif defined(BOOST_HAS_PTHREADS) - -typedef pthread_mutex_t CRITICAL_SECTION; - -inline void BOOST_REGEX_CALL InitializeCriticalSection(CRITICAL_SECTION* ps) -{ - pthread_mutex_init(ps, 0); -} - -inline void BOOST_REGEX_CALL DeleteCriticalSection(CRITICAL_SECTION* ps) -{ - pthread_mutex_destroy(ps); -} - -inline void BOOST_REGEX_CALL EnterCriticalSection(CRITICAL_SECTION* ps) -{ - pthread_mutex_lock(ps); -} - -inline void BOOST_REGEX_CALL LeaveCriticalSection(CRITICAL_SECTION* ps) -{ - pthread_mutex_unlock(ps); -} - -# elif !defined(BOOST_HAS_WINTHREADS) -# error "Unknown threading API" -# endif - -template -class lock_guard -{ - typedef Lock lock_type; -public: - lock_guard(lock_type& m, bool aq = true) - : mut(m), owned(false){ acquire(aq); } - - ~lock_guard() - { acquire(false); } - - void BOOST_REGEX_CALL acquire(bool aq = true) - { - if(aq && !owned) - { - mut.acquire(true); - owned = true; - } - else if(!aq && owned) - { - mut.acquire(false); - owned = false; - } - } -private: - lock_type& mut; - bool owned; - // VC6 warning suppression: - lock_guard& operator=(const lock_guard&); -}; - - -class critical_section -{ -public: - critical_section() - { InitializeCriticalSection(&hmutex);} - - critical_section(const critical_section&) - { InitializeCriticalSection(&hmutex);} - - const critical_section& BOOST_REGEX_CALL operator=(const critical_section&) - {return *this;} - - ~critical_section() - {DeleteCriticalSection(&hmutex);} - -private: - - void BOOST_REGEX_CALL acquire(bool aq) - { if(aq) EnterCriticalSection(&hmutex); - else LeaveCriticalSection(&hmutex); - } - - CRITICAL_SECTION hmutex; - -public: - typedef lock_guard ro_guard; - typedef lock_guard rw_guard; - - friend class lock_guard; -}; - -inline bool BOOST_REGEX_CALL operator==(const critical_section&, const critical_section&) -{ - return false; -} - -inline bool BOOST_REGEX_CALL operator<(const critical_section&, const critical_section&) -{ - return true; -} - -typedef lock_guard cs_guard; - -BOOST_REGEX_DECL extern critical_section* p_re_lock; -BOOST_REGEX_DECL extern unsigned int re_lock_count; - -#define BOOST_REGEX_GUARD(inst) boost::re_detail::critical_section::rw_guard g(inst); - -#else // BOOST_HAS_THREADS - -#define BOOST_REGEX_GUARD(inst) - -#endif // BOOST_HAS_THREADS - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace re_detail -} // namespace boost - -#endif // sentry - - - - - - diff --git a/include/boost/regex/v3/regex_traits.hpp b/include/boost/regex/v3/regex_traits.hpp deleted file mode 100644 index 087581bf..00000000 --- a/include/boost/regex/v3/regex_traits.hpp +++ /dev/null @@ -1,818 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_traits.hpp - * VERSION see - * DESCRIPTION: Declares regular expression traits classes. - */ - -#ifndef BOOST_REGEX_TRAITS_HPP_INCLUDED -#define BOOST_REGEX_TRAITS_HPP_INCLUDED - -#ifndef BOOST_RE_CREGEX_HPP -#include -#endif -#ifndef BOOST_REGEX_CSTRING_HPP -#include -#endif - -namespace boost{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -#endif - -template -class c_regex_traits; - -namespace re_detail{ - -struct mss -{ - unsigned int id; - const char* what; -}; - -BOOST_REGEX_DECL bool BOOST_REGEX_CALL re_lookup_def_collate_name(std::string& buf, const char* name); -BOOST_REGEX_DECL std::size_t BOOST_REGEX_CALL re_get_default_message(char* buf, std::size_t len, std::size_t id); -extern BOOST_REGEX_DECL const char *re_default_error_messages[]; - -#ifndef BOOST_NO_WREGEX -extern BOOST_REGEX_DECL wchar_t wide_lower_case_map[]; -extern BOOST_REGEX_DECL unsigned short wide_unicode_classes[]; -BOOST_REGEX_DECL bool BOOST_REGEX_CALL is_combining(wchar_t c); -#endif - - -struct BOOST_REGEX_DECL regex_traits_base -{ - enum char_syntax_type - { - syntax_char = 0, - syntax_open_bracket = 1, // ( - syntax_close_bracket = 2, // ) - syntax_dollar = 3, // $ - syntax_caret = 4, // ^ - syntax_dot = 5, // . - syntax_star = 6, // * - syntax_plus = 7, // + - syntax_question = 8, // ? - syntax_open_set = 9, // [ - syntax_close_set = 10, // ] - syntax_or = 11, // | - syntax_slash = 12, // - syntax_hash = 13, // # - syntax_dash = 14, // - - syntax_open_brace = 15, // { - syntax_close_brace = 16, // } - syntax_digit = 17, // 0-9 - syntax_b = 18, // for \b - syntax_B = 19, // for \B - syntax_left_word = 20, // for \< - syntax_right_word = 21, // for \> - syntax_w = 22, // for \w - syntax_W = 23, // for \W - syntax_start_buffer = 24, // for \` - syntax_end_buffer = 25, // for \' - syntax_newline = 26, // for newline alt - syntax_comma = 27, // for {x,y} - - syntax_a = 28, // for \a - syntax_f = 29, // for \f - syntax_n = 30, // for \n - syntax_r = 31, // for \r - syntax_t = 32, // for \t - syntax_v = 33, // for \v - syntax_x = 34, // for \xdd - syntax_c = 35, // for \cx - syntax_colon = 36, // for [:...:] - syntax_equal = 37, // for [=...=] - - // perl ops: - syntax_e = 38, // for \e - syntax_l = 39, // for \l - syntax_L = 40, // for \L - syntax_u = 41, // for \u - syntax_U = 42, // for \U - syntax_s = 43, // for \s - syntax_S = 44, // for \S - syntax_d = 45, // for \d - syntax_D = 46, // for \D - syntax_E = 47, // for \Q\E - syntax_Q = 48, // for \Q\E - syntax_X = 49, // for \X - syntax_C = 50, // for \C - syntax_Z = 51, // for \Z - syntax_G = 52, // for \G - - // new extentions: - syntax_not = 53, // for (?!...) - - syntax_max = 54 - }; -#ifdef __BORLANDC__ -private: - char dummy_member; -#endif -}; - -struct BOOST_REGEX_DECL c_traits_base : public regex_traits_base -{ -public: - enum{ - char_class_none = 0, - char_class_alpha = 0x0001, - char_class_cntrl = 0x0002, - char_class_digit = 0x0004, - char_class_lower = 0x0008, - char_class_punct = 0x0010, - char_class_space = 0x0020, - char_class_upper = 0x0040, - char_class_xdigit = 0x0080, - char_class_blank = 0x0100, - char_class_underscore = 0x4000, - char_class_unicode = 0x8000, - - char_class_alnum = char_class_alpha | char_class_digit, - char_class_graph = char_class_alpha | char_class_digit | char_class_punct | char_class_underscore, - char_class_print = char_class_alpha | char_class_digit | char_class_punct | char_class_underscore | char_class_blank, - char_class_word = char_class_alpha | char_class_digit | char_class_underscore - }; - static std::string BOOST_REGEX_CALL set_message_catalogue(const std::string& s); -protected: -#if defined(__MWERKS__) && __MWERKS__ <= 0x6000 - friend class c_regex_traits; - friend class c_regex_traits; -#endif - - static char regex_message_catalogue[BOOST_REGEX_MAX_PATH]; - enum syntax_map_size - { - map_size = UCHAR_MAX + 1 - }; - - static unsigned char syntax_map[map_size]; - static unsigned short class_map[map_size]; - static char lower_case_map[map_size]; - - static boost::uint_fast32_t BOOST_REGEX_CALL do_lookup_class(const char* p); - static bool BOOST_REGEX_CALL do_lookup_collate(std::string& buf, const char* p); - static void BOOST_REGEX_CALL do_update_ctype(); - static void BOOST_REGEX_CALL do_update_collate(); -public: - static std::string BOOST_REGEX_CALL error_string(unsigned id); - static char* BOOST_REGEX_CALL get_catalogue() { return regex_message_catalogue; } -}; - -} // namespace re_detail - - -template<> -class BOOST_REGEX_DECL c_regex_traits : public re_detail::c_traits_base -{ - typedef re_detail::c_traits_base base_type; -public: - typedef char char_type; - typedef unsigned char uchar_type; - typedef unsigned int size_type; - typedef std::string string_type; - typedef int locale_type; - - static std::size_t BOOST_REGEX_CALL length(const char_type* p) - { - return std::strlen(p); - } - static unsigned int BOOST_REGEX_CALL syntax_type(size_type c) - { - return syntax_map[c]; - } - static char BOOST_REGEX_CALL translate(char c, bool icase) - { - return icase ? lower_case_map[(size_type)(uchar_type)c] : c; - } - static void BOOST_REGEX_CALL transform(std::string& out, const std::string& in); - - static void BOOST_REGEX_CALL transform_primary(std::string& out, const std::string& in); - - static bool BOOST_REGEX_CALL is_separator(char c) - { - return BOOST_REGEX_MAKE_BOOL((c == '\n') || (c == '\r')); - } - - static bool BOOST_REGEX_CALL is_combining(char) - { - return false; - } - - static bool BOOST_REGEX_CALL is_class(char c, boost::uint_fast32_t f) - { - return BOOST_REGEX_MAKE_BOOL(class_map[(size_type)(uchar_type)c] & f); - } - - static int BOOST_REGEX_CALL toi(char c); - static int BOOST_REGEX_CALL toi(const char*& first, const char* last, int radix); - - static boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const char* first, const char* last) - { - std::string s(first, last); - return do_lookup_class(s.c_str()); - } - - static bool BOOST_REGEX_CALL lookup_collatename(std::string& buf, const char* first, const char* last) - { - std::string s(first, last); - return do_lookup_collate(buf, s.c_str()); - } - - static locale_type BOOST_REGEX_CALL imbue(locale_type l){ return l; } - locale_type BOOST_REGEX_CALL getloc()const{ return locale_type(); } - - c_regex_traits() - { - init(); - } - ~c_regex_traits() - { - m_free(); - } - struct sentry - { - sentry(const c_regex_traits&) - { c_regex_traits::update(); } - operator void*() { return this; } - }; - static void BOOST_REGEX_CALL update(); -private: - static void BOOST_REGEX_CALL init(); - static void BOOST_REGEX_CALL m_free(); - static c_regex_traits i; - - static unsigned sort_type; - static char sort_delim; -}; - -#ifndef BOOST_NO_WREGEX -template<> -class BOOST_REGEX_DECL c_regex_traits : public re_detail::c_traits_base -{ - typedef re_detail::c_traits_base base_type; -public: - typedef wchar_t char_type; - typedef unsigned short uchar_type; - typedef unsigned int size_type; - typedef std::basic_string string_type; - typedef int locale_type; - static std::size_t BOOST_REGEX_CALL length(const char_type* p) - { - return std::wcslen(p); - } - static unsigned int BOOST_REGEX_CALL syntax_type(size_type c); - static wchar_t BOOST_REGEX_CALL translate(wchar_t c, bool icase) - { - return icase ? ((c < 256) ? re_detail::wide_lower_case_map[(uchar_type)c] : std::towlower(c)) : c; - } - - static void BOOST_REGEX_CALL transform(std::basic_string& out, const std::basic_string& in); - - static void BOOST_REGEX_CALL transform_primary(std::basic_string& out, const std::basic_string& in); - - static bool BOOST_REGEX_CALL is_separator(wchar_t c) - { - return BOOST_REGEX_MAKE_BOOL((c == L'\n') || (c == L'\r') || (c == (wchar_t)0x2028) || (c == (wchar_t)0x2029)); - } - - static bool BOOST_REGEX_CALL is_combining(wchar_t c) - { return re_detail::is_combining(c); } - - static bool BOOST_REGEX_CALL is_class(wchar_t c, boost::uint_fast32_t f) - { - return BOOST_REGEX_MAKE_BOOL(((uchar_type)c < 256) ? (re_detail::wide_unicode_classes[(size_type)(uchar_type)c] & f) : do_iswclass(c, f)); - } - - static int BOOST_REGEX_CALL toi(wchar_t c); - static int BOOST_REGEX_CALL toi(const wchar_t*& first, const wchar_t* last, int radix); - - static boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const wchar_t* first, const wchar_t* last); - - static bool BOOST_REGEX_CALL lookup_collatename(std::basic_string& s, const wchar_t* first, const wchar_t* last); - - static locale_type BOOST_REGEX_CALL imbue(locale_type l){ return l; } - locale_type BOOST_REGEX_CALL getloc()const{ return locale_type(); } - c_regex_traits() - { init(); } - ~c_regex_traits() - { m_free(); } - struct sentry - { - sentry(const c_regex_traits&) - { c_regex_traits::update(); } - operator void*() { return this; } - }; - static void BOOST_REGEX_CALL update(); - static std::size_t BOOST_REGEX_CALL strnarrow(char *s1, std::size_t len, const wchar_t *s2); - static std::size_t BOOST_REGEX_CALL strwiden(wchar_t *s1, std::size_t len, const char *s2); -private: - static bool BOOST_REGEX_CALL do_iswclass(wchar_t c, boost::uint_fast32_t f); - static void BOOST_REGEX_CALL m_free(); - static void BOOST_REGEX_CALL init(); - static bool BOOST_REGEX_CALL do_lookup_collate(std::basic_string& out, const wchar_t* first, const wchar_t* last); - static c_regex_traits init_; - - static unsigned sort_type; - static wchar_t sort_delim; -}; -#endif - -#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32) - -namespace re_detail{ - -struct BOOST_REGEX_DECL w32_traits_base : public regex_traits_base -{ - enum{ - char_class_none = 0, - char_class_alnum = C1_ALPHA | C1_DIGIT, - char_class_alpha = C1_ALPHA, - char_class_cntrl = C1_CNTRL, - char_class_digit = C1_DIGIT, - char_class_graph = C1_UPPER | C1_LOWER | C1_DIGIT | C1_PUNCT | C1_ALPHA, - char_class_lower = C1_LOWER, - char_class_print = C1_UPPER | C1_LOWER | C1_DIGIT | C1_PUNCT | C1_BLANK | C1_ALPHA, - char_class_punct = C1_PUNCT, - char_class_space = C1_SPACE, - char_class_upper = C1_UPPER, - char_class_xdigit = C1_XDIGIT, - char_class_blank = C1_BLANK, - char_class_underscore = 0x4000, - char_class_word = C1_ALPHA | C1_DIGIT | char_class_underscore, - char_class_unicode = 0x8000, - char_class_win = 0x01FF - }; - - -public: - static std::string BOOST_REGEX_CALL set_message_catalogue(const std::string& s); -protected: - static char regex_message_catalogue[BOOST_REGEX_MAX_PATH]; - enum syntax_map_size - { - map_size = UCHAR_MAX + 1 - }; - - static unsigned char syntax_map[map_size]; - static unsigned short class_map[map_size]; - static char lower_case_map[map_size]; - - static boost::uint_fast32_t BOOST_REGEX_CALL do_lookup_class(const char* p); - static bool BOOST_REGEX_CALL do_lookup_collate(std::string& buf, const char* p); - static void BOOST_REGEX_CALL do_free(); - static void BOOST_REGEX_CALL do_init(); -public: - static std::string BOOST_REGEX_CALL error_string(unsigned id); - static char* BOOST_REGEX_CALL get_catalogue() { return regex_message_catalogue; } -}; - - -} // namespace re_detail - -template -class w32_regex_traits; - -template<> -class BOOST_REGEX_DECL w32_regex_traits : public re_detail::w32_traits_base -{ - typedef re_detail::w32_traits_base base_type; -public: - typedef char char_type; - typedef unsigned char uchar_type; - typedef unsigned int size_type; - typedef std::string string_type; - typedef int locale_type; - - static std::size_t BOOST_REGEX_CALL length(const char_type* p) - { - return std::strlen(p); - } - static unsigned int BOOST_REGEX_CALL syntax_type(size_type c) - { - return syntax_map[c]; - } - static char BOOST_REGEX_CALL translate(char c, bool icase) - { - return icase ? lower_case_map[(size_type)(uchar_type)c] : c; - } - static void BOOST_REGEX_CALL transform(std::string& out, const std::string& in); - - static void BOOST_REGEX_CALL transform_primary(std::string& out, const std::string& in); - - static bool BOOST_REGEX_CALL is_separator(char c) - { - return BOOST_REGEX_MAKE_BOOL((c == '\n') || (c == '\r')); - } - - static bool BOOST_REGEX_CALL is_combining(char) - { - return false; - } - - static bool BOOST_REGEX_CALL is_class(char c, boost::uint_fast32_t f) - { - return BOOST_REGEX_MAKE_BOOL(class_map[(size_type)(uchar_type)c] & f); - } - - static int BOOST_REGEX_CALL toi(char c); - static int BOOST_REGEX_CALL toi(const char*& first, const char* last, int radix); - - static boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const char* first, const char* last) - { - std::string s(first, last); - return do_lookup_class(s.c_str()); - } - - static bool BOOST_REGEX_CALL lookup_collatename(std::string& buf, const char* first, const char* last) - { - std::string s(first, last); - return do_lookup_collate(buf, s.c_str()); - } - - static locale_type BOOST_REGEX_CALL imbue(locale_type l){ return l; } - locale_type BOOST_REGEX_CALL getloc()const{ return locale_type(); } - - struct sentry - { - sentry(const w32_regex_traits&) - { w32_regex_traits::update(); } - ~sentry(){} - operator void*() { return this; } - }; - static void BOOST_REGEX_CALL update(); - w32_regex_traits(); - ~w32_regex_traits(); -private: - static w32_regex_traits i; -}; - -#ifndef BOOST_NO_WREGEX -template<> -class BOOST_REGEX_DECL w32_regex_traits : public re_detail::w32_traits_base -{ - typedef re_detail::w32_traits_base base_type; -public: - typedef wchar_t char_type; - typedef unsigned short uchar_type; - typedef unsigned int size_type; - typedef std::basic_string string_type; - typedef int locale_type; - static std::size_t BOOST_REGEX_CALL length(const char_type* p) - { - return std::wcslen(p); - } - static unsigned int BOOST_REGEX_CALL syntax_type(size_type c); - static wchar_t BOOST_REGEX_CALL translate(wchar_t c, bool icase) - { - return icase ? ((c < 256) ? re_detail::wide_lower_case_map[(uchar_type)c] : wtolower(c)) : c; - } - - static void BOOST_REGEX_CALL transform(std::basic_string& out, const std::basic_string& in); - - static void BOOST_REGEX_CALL transform_primary(std::basic_string& out, const std::basic_string& in); - - static bool BOOST_REGEX_CALL is_separator(wchar_t c) - { - return BOOST_REGEX_MAKE_BOOL((c == L'\n') || (c == L'\r') || (c == (wchar_t)0x2028) || (c == (wchar_t)0x2029)); - } - - static bool BOOST_REGEX_CALL is_combining(wchar_t c) - { return re_detail::is_combining(c); } - - static bool BOOST_REGEX_CALL is_class(wchar_t c, boost::uint_fast32_t f) - { - return BOOST_REGEX_MAKE_BOOL(((uchar_type)c < 256) ? (wide_unicode_classes[(size_type)(uchar_type)c] & f) : do_iswclass(c, f)); - } - - static int BOOST_REGEX_CALL toi(wchar_t c); - static int BOOST_REGEX_CALL toi(const wchar_t*& first, const wchar_t* last, int radix); - - static boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const wchar_t* first, const wchar_t* last); - - static bool BOOST_REGEX_CALL lookup_collatename(std::basic_string& s, const wchar_t* first, const wchar_t* last); - - static locale_type BOOST_REGEX_CALL imbue(locale_type l){ return l; } - locale_type BOOST_REGEX_CALL getloc()const{ return locale_type(); } - - struct sentry - { - sentry(const w32_regex_traits&) - { w32_regex_traits::update(); } - ~sentry(){} - operator void*() { return this; } - }; - static void BOOST_REGEX_CALL update(); - w32_regex_traits(); - ~w32_regex_traits(); - static std::size_t BOOST_REGEX_CALL strnarrow(char *s1, std::size_t len, const wchar_t *s2); - static std::size_t BOOST_REGEX_CALL strwiden(wchar_t *s1, std::size_t len, const char *s2); - -private: - static bool BOOST_REGEX_CALL do_iswclass(wchar_t c, boost::uint_fast32_t f); - static bool BOOST_REGEX_CALL do_lookup_collate(std::basic_string& out, const wchar_t* first, const wchar_t* last); - static w32_regex_traits init_; - static wchar_t BOOST_REGEX_CALL wtolower(wchar_t c); - static unsigned short wide_unicode_classes[]; -}; -#endif // Wide strings -#endif // Win32 - -#if !defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_WSTREAMBUF) - -} // namspace boost - -#ifdef __BORLANDC__ - #pragma option pop -#endif -#include -#ifdef __BORLANDC__ - #pragma option push -a4 -b -Ve -pc -#endif - -namespace boost{ - -namespace re_detail -{ - -template -struct message_data; - -template <> -struct message_data; - -template <> -struct message_data; - -struct BOOST_REGEX_DECL cpp_regex_traits_base : public regex_traits_base -{ - enum char_class_type - { - char_class_none = 0, - char_class_alnum = std::ctype_base::alnum, - char_class_alpha = std::ctype_base::alpha, - char_class_cntrl = std::ctype_base::cntrl, - char_class_digit = std::ctype_base::digit, - char_class_graph = std::ctype_base::graph, - char_class_lower = std::ctype_base::lower, - char_class_print = std::ctype_base::print, - char_class_punct = std::ctype_base::punct, - char_class_space = std::ctype_base::space, - char_class_upper = std::ctype_base::upper, - char_class_xdigit = std::ctype_base::xdigit, - char_class_blank = 1<<12, - char_class_underscore = 1<<13, - char_class_word = std::ctype_base::alnum | char_class_underscore, - char_class_unicode = 1<<14, - char_class_all_base = char_class_alnum | char_class_alpha | char_class_cntrl - | char_class_digit | char_class_graph | char_class_lower - | char_class_print | char_class_punct | char_class_space - | char_class_upper | char_class_xdigit - }; - - static std::string BOOST_REGEX_CALL set_message_catalogue(const std::string& s); -protected: - static char regex_message_cat[BOOST_REGEX_MAX_PATH]; -}; - -} // namespace re_detail - -template -class cpp_regex_traits; - -template<> -class BOOST_REGEX_DECL cpp_regex_traits : public re_detail::cpp_regex_traits_base -{ - typedef re_detail::cpp_regex_traits_base base_type; -private: - re_detail::message_data* pmd; - const unsigned char* psyntax; - char* lower_map; - const std::ctype* pctype; - const std::collate* pcollate; - std::locale locale_inst; - unsigned sort_type; - char sort_delim; - - cpp_regex_traits(const cpp_regex_traits&); - cpp_regex_traits& operator=(const cpp_regex_traits&); - -public: - typedef char char_type; - typedef unsigned char uchar_type; - typedef unsigned int size_type; - typedef std::string string_type; - typedef std::locale locale_type; - - cpp_regex_traits(); - ~cpp_regex_traits(); - - void swap(cpp_regex_traits&); - - static std::size_t BOOST_REGEX_CALL length(const char_type* p) - { - return std::strlen(p); - } - unsigned int BOOST_REGEX_CALL syntax_type(size_type c)const - { - return psyntax[c]; - } - char BOOST_REGEX_CALL translate(char c, bool icase)const - { - return icase ? lower_map[(size_type)(uchar_type)c] : c; - } - void BOOST_REGEX_CALL transform(std::string& out, const std::string& in)const - { - out = pcollate->transform(in.c_str(), in.c_str() + in.size()).c_str(); - } - - void BOOST_REGEX_CALL transform_primary(std::string& out, const std::string& in)const; - - static bool BOOST_REGEX_CALL is_separator(char c) - { - return BOOST_REGEX_MAKE_BOOL((c == '\n') || (c == '\r')); - } - - static bool BOOST_REGEX_CALL is_combining(char) - { - return false; - } - - bool BOOST_REGEX_CALL is_class(char c, boost::uint_fast32_t f)const - { - if(pctype->is((std::ctype::mask)(f & char_class_all_base), c)) - return true; - if((f & char_class_underscore) && (c == '_')) - return true; - if((f & char_class_blank) && ((c == ' ') || (c == '\t'))) - return true; - return false; - } - - int BOOST_REGEX_CALL toi(char c)const; - int BOOST_REGEX_CALL toi(const char*& first, const char* last, int radix)const; - - boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const char* first, const char* last)const; - bool BOOST_REGEX_CALL lookup_collatename(std::string& s, const char* first, const char* last)const; - - std::string BOOST_REGEX_CALL error_string(unsigned id)const; - locale_type BOOST_REGEX_CALL imbue(locale_type l); - locale_type BOOST_REGEX_CALL getloc()const{ return locale_inst; } - - struct sentry - { - sentry(const cpp_regex_traits&){} - operator void*() { return this; } - }; -}; - -#ifndef BOOST_NO_WREGEX -template<> -class BOOST_REGEX_DECL cpp_regex_traits : public re_detail::cpp_regex_traits_base -{ - typedef re_detail::cpp_regex_traits_base base_type; -public: - typedef wchar_t char_type; - typedef unsigned short uchar_type; - typedef unsigned int size_type; - typedef std::basic_string string_type; - typedef std::locale locale_type; - -private: - re_detail::message_data* pmd; - const unsigned char* psyntax; - wchar_t* lower_map; - const std::ctype* pctype; - const std::collate* pcollate; - const std::codecvt* pcdv; - std::locale locale_inst; - unsigned int BOOST_REGEX_CALL do_syntax_type(size_type c)const; - unsigned sort_type; - wchar_t sort_delim; - - cpp_regex_traits(const cpp_regex_traits&); - cpp_regex_traits& operator=(const cpp_regex_traits&); - -public: - - static std::size_t BOOST_REGEX_CALL length(const char_type* p) - { - return std::wcslen(p); - } - unsigned int BOOST_REGEX_CALL syntax_type(size_type c)const - { - return (c < UCHAR_MAX) ? psyntax[c] : do_syntax_type(c); - } - wchar_t BOOST_REGEX_CALL translate(wchar_t c, bool icase)const - { - return icase ? (((uchar_type)c) <= UCHAR_MAX) ? lower_map[c] : pctype->tolower(c) : c; - } - void BOOST_REGEX_CALL transform(std::basic_string& out, const std::basic_string& in)const - { - out = pcollate->transform(in.c_str(), in.c_str() + in.size()); - } - - void BOOST_REGEX_CALL transform_primary(std::basic_string& out, const std::basic_string& in)const; - - static bool BOOST_REGEX_CALL is_separator(wchar_t c) - { - return BOOST_REGEX_MAKE_BOOL((c == L'\n') || (c == L'\r') || (c == (wchar_t)0x2028) || (c == (wchar_t)0x2029)); - } - - static bool BOOST_REGEX_CALL is_combining(wchar_t c) - { return re_detail::is_combining(c); } - - bool BOOST_REGEX_CALL is_class(wchar_t c, boost::uint_fast32_t f)const - { - if(pctype->is((std::ctype::mask)(f & char_class_all_base), c)) - return true; - if((f & char_class_underscore) && (c == '_')) - return true; - if((f & char_class_blank) && ((c == ' ') || (c == '\t'))) - return true; - if((f & char_class_unicode) && ((uchar_type)c > (uchar_type)255)) - return true; - return false; - } - - int BOOST_REGEX_CALL toi(wchar_t c)const; - int BOOST_REGEX_CALL toi(const wchar_t*& first, const wchar_t* last, int radix)const; - - boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const wchar_t* first, const wchar_t* last)const; - bool BOOST_REGEX_CALL lookup_collatename(std::basic_string& s, const wchar_t* first, const wchar_t* last)const; - - std::string BOOST_REGEX_CALL error_string(unsigned id)const; - cpp_regex_traits(); - ~cpp_regex_traits(); - locale_type BOOST_REGEX_CALL imbue(locale_type l); - locale_type BOOST_REGEX_CALL getloc()const{ return locale_inst; } - std::size_t BOOST_REGEX_CALL strwiden(wchar_t *s1, std::size_t len, const char *s2)const; - void swap(cpp_regex_traits&); - - struct sentry - { - sentry(const cpp_regex_traits&){} - operator void*() { return this; } - }; -}; -#endif // BOOST_NO_WREGEX - -#endif // BOOST_NO_STD_LOCALE - -#ifdef BOOST_REGEX_USE_WIN32_LOCALE - -template -class regex_traits : public w32_regex_traits -{ -}; - -#elif defined(BOOST_REGEX_USE_C_LOCALE) - -template -class regex_traits : public c_regex_traits -{ -}; - -#elif defined(BOOST_REGEX_USE_CPP_LOCALE) - -template -class regex_traits : public cpp_regex_traits -{ -}; - -#else -#error No default localisation model defined -#endif - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace boost - -#endif // include - - - - - - diff --git a/include/boost/regex/v4/basic_regex.hpp b/include/boost/regex/v4/basic_regex.hpp deleted file mode 100644 index 1c121251..00000000 --- a/include/boost/regex/v4/basic_regex.hpp +++ /dev/null @@ -1,395 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE basic_regex.cpp - * VERSION see - * DESCRIPTION: Declares template class basic_regex (note that member function - * bodies are in regex_compile.hpp). - */ - -#ifndef BOOST_REGEX_V4_BASIC_REGEX_HPP -#define BOOST_REGEX_V4_BASIC_REGEX_HPP - -#ifdef __BORLANDC__ -# pragma option push -a8 -b -Vx -Ve -pc -w-8027 -#endif - -namespace boost{ -// -// class reg_expression -// represents the compiled -// regular expression: -// - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable : 4251 4231 4660) -#endif - -#ifdef BOOST_REGEX_NO_FWD -template , class Allocator = BOOST_DEFAULT_ALLOCATOR(charT) > -#else -template -#endif -class reg_expression : public regbase -{ -public: - // typedefs: - typedef typename traits::size_type traits_size_type; - typedef typename traits::uchar_type traits_uchar_type; - typedef typename traits::string_type traits_string_type; - typedef charT char_type; - typedef traits traits_type; - - typedef charT value_type; - typedef charT& reference; - typedef const charT& const_reference; - typedef const charT* const_iterator; - typedef const_iterator iterator; - typedef typename Allocator::difference_type difference_type; - typedef typename Allocator::size_type size_type; - typedef Allocator allocator_type; - typedef Allocator alloc_type; - typedef regex_constants::syntax_option_type flag_type; - // locale_type - // placeholder for actual locale type used by the - // traits class to localise *this. - typedef typename traits::locale_type locale_type; - -public: - explicit reg_expression(const Allocator& a = Allocator()); - explicit reg_expression(const charT* p, flag_type f = regex_constants::normal, const Allocator& a = Allocator()); - reg_expression(const charT* p1, const charT* p2, flag_type f = regex_constants::normal, const Allocator& a = Allocator()); - reg_expression(const charT* p, size_type len, flag_type f, const Allocator& a = Allocator()); - reg_expression(const reg_expression&); - ~reg_expression(); - reg_expression& BOOST_REGEX_CALL operator=(const reg_expression&); - reg_expression& BOOST_REGEX_CALL operator=(const charT* ptr) - { - set_expression(ptr, regex_constants::normal | regex_constants::use_except); - return *this; - } - - // - // assign: - reg_expression& assign(const reg_expression& that) - { return *this = that; } - reg_expression& assign(const charT* ptr, flag_type f = regex_constants::normal) - { - set_expression(ptr, f | regex_constants::use_except); - return *this; - } - - reg_expression& assign(const charT* first, - const charT* last, - flag_type f = regex_constants::normal) - { - set_expression(first, last, f | regex_constants::use_except); - return *this; - } -#if !defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(__IBMCPP__) - - template - unsigned int BOOST_REGEX_CALL set_expression(const std::basic_string& p, flag_type f = regex_constants::normal) - { return set_expression(p.data(), p.data() + p.size(), f); } - - template - explicit reg_expression(const std::basic_string& p, flag_type f = regex_constants::normal, const Allocator& a = Allocator()) - : data(a), pkmp(0), error_code_(REG_EMPTY), _expression(0) { set_expression(p, f | regex_constants::use_except); } - - template - reg_expression(I first, I last, flag_type f = regex_constants::normal, const Allocator& al = Allocator()) - : data(al), pkmp(0), error_code_(REG_EMPTY), _expression(0) - { - size_type len = last-first; - scoped_array a(new charT[len]); - std::copy(first, last, a.get()); - set_expression(a.get(), a.get() + len, f | regex_constants::use_except); - } - - template - reg_expression& BOOST_REGEX_CALL operator=(const std::basic_string& p) - { - set_expression(p.c_str(), p.c_str() + p.size(), regex_constants::normal | regex_constants::use_except); - return *this; - } - - template - reg_expression& BOOST_REGEX_CALL assign( - const std::basic_string& s, - flag_type f = regex_constants::normal) - { - set_expression(s.c_str(), s.c_str() + s.size(), f | regex_constants::use_except); - return *this; - } - - template - reg_expression& BOOST_REGEX_CALL assign(fwd_iterator first, - fwd_iterator last, - flag_type f = regex_constants::normal) - { - size_type len = last-first; - scoped_array a(new charT[len]); - std::copy(first, last, a.get()); - set_expression(a.get(), a.get() + len, f | regex_constants::use_except); - return *this; - } -#else - unsigned int BOOST_REGEX_CALL set_expression(const std::basic_string& p, flag_type f = regex_constants::normal) - { return set_expression(p.data(), p.data() + p.size(), f | regex_constants::use_except); } - - reg_expression(const std::basic_string& p, flag_type f = regex_constants::normal, const Allocator& a = Allocator()) - : data(a), pkmp(0) { set_expression(p, f | regex_constants::use_except); } - - reg_expression& BOOST_REGEX_CALL operator=(const std::basic_string& p) - { - set_expression(p.c_str(), p.c_str() + p.size(), regex_constants::normal | regex_constants::use_except); - return *this; - } - - reg_expression& BOOST_REGEX_CALL assign( - const std::basic_string& s, - flag_type f = regex_constants::normal) - { - set_expression(s.c_str(), s.c_str() + s.size(), f | regex_constants::use_except); - return *this; - } - -#endif - - - // - // allocator access: - Allocator BOOST_REGEX_CALL get_allocator()const; - // - // locale: - locale_type BOOST_REGEX_CALL imbue(locale_type l){ return traits_inst.imbue(l); } - locale_type BOOST_REGEX_CALL getloc()const{ return traits_inst.getloc(); } - // - // flags: - flag_type BOOST_REGEX_CALL getflags()const - { return flags(); } - // - // str: - std::basic_string BOOST_REGEX_CALL str()const - { - std::basic_string result; - if(this->error_code() == 0) - result = std::basic_string(_expression, _expression_len); - return result; - } - // - // begin, end: - const_iterator BOOST_REGEX_CALL begin()const - { return (this->error_code() ? 0 : _expression); } - const_iterator BOOST_REGEX_CALL end()const - { return (this->error_code() ? 0 : _expression + _expression_len); } - // - // swap: - void BOOST_REGEX_CALL swap(reg_expression&)throw(); - // - // size: - size_type BOOST_REGEX_CALL size()const - { return (this->error_code() ? 0 : _expression_len); } - // - // max_size: - size_type BOOST_REGEX_CALL max_size()const - { return UINT_MAX; } - // - // empty: - bool BOOST_REGEX_CALL empty()const - { return 0 != this->error_code(); } - - unsigned BOOST_REGEX_CALL mark_count()const { return (this->error_code() ? 0 : marks); } - int BOOST_REGEX_CALL compare(const reg_expression&) const; - bool BOOST_REGEX_CALL operator==(const reg_expression& e)const - { return compare(e) == 0; } - bool operator != (const basic_regex& e) - { return compare(e) != 0; } - bool BOOST_REGEX_CALL operator<(const reg_expression& e)const - { return compare(e) < 0; } - bool BOOST_REGEX_CALL operator>(const reg_expression& e)const - { return compare(e) > 0; } - bool BOOST_REGEX_CALL operator<=(const reg_expression& e)const - { return compare(e) <= 0; } - bool BOOST_REGEX_CALL operator>=(const reg_expression& e)const - { return compare(e) >= 0; } - - // - // The following are deprecated as public interfaces - // but are available for compatibility with earlier versions. - allocator_type BOOST_REGEX_CALL allocator()const; - const charT* BOOST_REGEX_CALL expression()const { return (this->error_code() ? 0 : _expression); } - unsigned int BOOST_REGEX_CALL set_expression(const charT* p, const charT* end, flag_type f = regex_constants::normal); - unsigned int BOOST_REGEX_CALL set_expression(const charT* p, flag_type f = regex_constants::normal) { return set_expression(p, p + traits_type::length(p), f); } - // - // this should be private but template friends don't work: - const traits_type& get_traits()const { return traits_inst; } - unsigned int BOOST_REGEX_CALL error_code()const - { - return error_code_; - } - -private: - traits_type traits_inst; // traits class in use - re_detail::raw_storage data; // our state machine - unsigned _restart_type; // search method to use - unsigned marks; // number of marked sub-expressions - int repeats; // number of repeats - unsigned char* startmap; // characters that can match the first state(s) in the machine - std::size_t _expression_len; // length of the expression - std::size_t _leading_len; // length of any leading literal - const charT* _leading_string; // leading literal string - std::size_t _leading_string_len; // and it's length - re_detail::kmp_info* pkmp; // pointer to Knuth Morris Pratt state machine when available - unsigned error_code_; // our current status - charT* _expression; // the expression we just compiled if any - - void BOOST_REGEX_CALL compile_maps(); - void BOOST_REGEX_CALL compile_map(re_detail::re_syntax_base* node, unsigned char* _map, unsigned int* pnull, unsigned char mask, re_detail::re_syntax_base* terminal = 0)const; - bool BOOST_REGEX_CALL probe_start(re_detail::re_syntax_base* node, charT c, re_detail::re_syntax_base* terminal)const; - bool BOOST_REGEX_CALL probe_start_null(re_detail::re_syntax_base* node, re_detail::re_syntax_base* terminal)const; - void BOOST_REGEX_CALL fixup_apply(re_detail::re_syntax_base* b, unsigned cbraces); - void BOOST_REGEX_CALL move_offsets(re_detail::re_syntax_base* j, unsigned size); - re_detail::re_syntax_base* BOOST_REGEX_CALL compile_set(const charT*& first, const charT* last); - re_detail::re_syntax_base* BOOST_REGEX_CALL compile_set_aux(re_detail::jstack& singles, re_detail::jstack& ranges, re_detail::jstack& classes, re_detail::jstack& equivalents, bool isnot, const re_detail::_narrow_type&); - re_detail::re_syntax_base* BOOST_REGEX_CALL compile_set_aux(re_detail::jstack& singles, re_detail::jstack& ranges, re_detail::jstack& classes, re_detail::jstack& equivalents, bool isnot, const re_detail::_wide_type&); - re_detail::re_syntax_base* BOOST_REGEX_CALL compile_set_simple(re_detail::re_syntax_base* dat, unsigned long cls, bool isnot = false); - unsigned int BOOST_REGEX_CALL parse_inner_set(const charT*& first, const charT* last); - - re_detail::re_syntax_base* BOOST_REGEX_CALL add_simple(re_detail::re_syntax_base* dat, re_detail::syntax_element_type type, unsigned int size = sizeof(re_detail::re_syntax_base)); - re_detail::re_syntax_base* BOOST_REGEX_CALL add_literal(re_detail::re_syntax_base* dat, charT c); - charT BOOST_REGEX_CALL parse_escape(const charT*& first, const charT* last); - void BOOST_REGEX_CALL parse_range(const charT*& first, const charT* last, unsigned& min, unsigned& max); - bool BOOST_REGEX_CALL skip_space(const charT*& first, const charT* last); - unsigned int BOOST_REGEX_CALL probe_restart(re_detail::re_syntax_base* dat); - unsigned int BOOST_REGEX_CALL fixup_leading_rep(re_detail::re_syntax_base* dat, re_detail::re_syntax_base* end); - void BOOST_REGEX_CALL fail(unsigned int err); - -protected: - static int BOOST_REGEX_CALL repeat_count(const reg_expression& e) - { return e.repeats; } - static unsigned int BOOST_REGEX_CALL restart_type(const reg_expression& e) - { return e._restart_type; } - static const re_detail::re_syntax_base* BOOST_REGEX_CALL first(const reg_expression& e) - { return (const re_detail::re_syntax_base*)e.data.data(); } - static const unsigned char* BOOST_REGEX_CALL get_map(const reg_expression& e) - { return e.startmap; } - static std::size_t BOOST_REGEX_CALL leading_length(const reg_expression& e) - { return e._leading_len; } - static const re_detail::kmp_info* get_kmp(const reg_expression& e) - { return e.pkmp; } - static bool BOOST_REGEX_CALL can_start(charT c, const unsigned char* _map, unsigned char mask, const re_detail::_wide_type&); - static bool BOOST_REGEX_CALL can_start(charT c, const unsigned char* _map, unsigned char mask, const re_detail::_narrow_type&); -}; - -template -void swap(reg_expression& a, reg_expression& b) -{ - a.swap(b); -} - -#ifndef BOOST_NO_STD_LOCALE -template -std::basic_ostream& - operator << (std::basic_ostream& os, - const reg_expression& e) -{ - return (os << e.str()); -} -#else -template -std::ostream& operator << (std::ostream& os, const reg_expression& e) -{ - return (os << e.str()); -} -#endif - -// -// We want to rename reg_expression basic_regex but maintain -// backwards compatibility, so class basic_regex is just a thin -// wrapper around reg_expression: -// -#ifdef BOOST_REGEX_NO_FWD -template , class Allocator = BOOST_DEFAULT_ALLOCATOR(charT) > -#else -template -#endif -class basic_regex : public reg_expression -{ -public: - typedef typename reg_expression::flag_type flag_type; - typedef typename reg_expression::size_type size_type; - explicit basic_regex(const Allocator& a = Allocator()) - : reg_expression(a){} - explicit basic_regex(const charT* p, flag_type f = regex_constants::normal, const Allocator& a = Allocator()) - : reg_expression(p,f,a){} - basic_regex(const charT* p1, const charT* p2, flag_type f = regex_constants::normal, const Allocator& a = Allocator()) - : reg_expression(p1,p2,f,a){} - basic_regex(const charT* p, size_type len, flag_type f, const Allocator& a = Allocator()) - : reg_expression(p,len,f,a){} - basic_regex(const basic_regex& that) - : reg_expression(that){} - ~basic_regex(){} - basic_regex& BOOST_REGEX_CALL operator=(const basic_regex& that) - { - this->assign(that); - return *this; - } - basic_regex& BOOST_REGEX_CALL operator=(const charT* ptr) - { - this->assign(ptr); - return *this; - } -#if !defined(BOOST_NO_MEMBER_TEMPLATES) && !(defined(__IBMCPP__) && (__IBMCPP__ <= 502)) - template - explicit basic_regex(const std::basic_string& p, flag_type f = regex_constants::normal, const Allocator& a = Allocator()) - : reg_expression(p,f,a){} - - template - basic_regex(I first, I last, flag_type f = regex_constants::normal, const Allocator& al = Allocator()) - : reg_expression(first, last, f, al){} - - template - basic_regex& BOOST_REGEX_CALL operator=(const std::basic_string& p) - { - this->assign(p); - return *this; - } -#else - basic_regex(const std::basic_string& p, flag_type f = regex_constants::normal, const Allocator& a = Allocator()) - : reg_expression(p,f,a){} - - basic_regex& BOOST_REGEX_CALL operator=(const std::basic_string& p) - { - this->assign(p); - return *this; - } -#endif -}; - -#ifdef BOOST_MSVC -#pragma warning (pop) -#endif - -} // namespace boost - -#ifdef __BORLANDC__ -# pragma option pop -#endif - -#endif diff --git a/include/boost/regex/v4/char_regex_traits.hpp b/include/boost/regex/v4/char_regex_traits.hpp deleted file mode 100644 index dbaa7ae9..00000000 --- a/include/boost/regex/v4/char_regex_traits.hpp +++ /dev/null @@ -1,85 +0,0 @@ -/* - * - * Copyright (c) 2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE char_regex_traits.cpp - * VERSION see - * DESCRIPTION: Declares deprecated traits classes char_regex_traits<>. - */ - - -#ifndef BOOST_REGEX_V4_CHAR_REGEX_TRAITS_HPP -#define BOOST_REGEX_V4_CHAR_REGEX_TRAITS_HPP - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -w-8027 -#endif - -namespace boost{ - -namespace deprecated{ -// -// class char_regex_traits_i -// provides case insensitive traits classes (deprecated): -template -class char_regex_traits_i : public regex_traits {}; - -template<> -class char_regex_traits_i : public regex_traits -{ -public: - typedef char char_type; - typedef unsigned char uchar_type; - typedef unsigned int size_type; - typedef regex_traits base_type; - - char BOOST_REGEX_CALL translate(char c, bool)const - { - return static_cast*>(this)->translate(c, true); - } -}; - -#ifndef BOOST_NO_WREGEX -template<> -class char_regex_traits_i : public regex_traits -{ -public: - typedef wchar_t char_type; - typedef unsigned short uchar_type; - typedef unsigned int size_type; - typedef regex_traits base_type; - - wchar_t BOOST_REGEX_CALL translate(wchar_t c, bool)const - { - return static_cast*>(this)->translate(c, true); - } - boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const wchar_t* first, const wchar_t* last)const - { - boost::uint_fast32_t result = static_cast*>(this)->lookup_classname(first, last); - if((result & base_type::char_class_upper) == base_type::char_class_upper) - result |= base_type::char_class_alpha; - return result; - } -}; -#endif -} // namespace deprecated -} // namespace boost - -#ifdef __BORLANDC__ -# pragma option pop -#endif - -#endif // include diff --git a/include/boost/regex/v4/cregex.hpp b/include/boost/regex/v4/cregex.hpp deleted file mode 100644 index db01056a..00000000 --- a/include/boost/regex/v4/cregex.hpp +++ /dev/null @@ -1,293 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE cregex.cpp - * VERSION see - * DESCRIPTION: Declares POSIX API functions - * + boost::RegEx high level wrapper. - */ - -#ifndef BOOST_RE_CREGEX_HPP_INCLUDED -#define BOOST_RE_CREGEX_HPP_INCLUDED - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif -#include - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -#endif - -/* include these defs only for POSIX compatablity */ -#ifdef __cplusplus -namespace boost{ -extern "C" { -#endif - -#if defined(__cplusplus) && !defined(BOOST_NO_STDC_NAMESPACE) -typedef std::ptrdiff_t regoff_t; -typedef std::size_t regsize_t; -#else -typedef ptrdiff_t regoff_t; -typedef size_t regsize_t; -#endif - -typedef struct -{ - unsigned int re_magic; - unsigned int re_nsub; /* number of parenthesized subexpressions */ - const char* re_endp; /* end pointer for REG_PEND */ - void* guts; /* none of your business :-) */ - match_flag_type eflags; /* none of your business :-) */ -} regex_tA; - -#ifndef BOOST_NO_WREGEX -typedef struct -{ - unsigned int re_magic; - unsigned int re_nsub; /* number of parenthesized subexpressions */ - const wchar_t* re_endp; /* end pointer for REG_PEND */ - void* guts; /* none of your business :-) */ - match_flag_type eflags; /* none of your business :-) */ -} regex_tW; -#endif - -typedef struct -{ - regoff_t rm_so; /* start of match */ - regoff_t rm_eo; /* end of match */ -} regmatch_t; - -/* regcomp() flags */ -typedef enum{ - REG_BASIC = 0000, - REG_EXTENDED = 0001, - REG_ICASE = 0002, - REG_NOSUB = 0004, - REG_NEWLINE = 0010, - REG_NOSPEC = 0020, - REG_PEND = 0040, - REG_DUMP = 0200, - REG_NOCOLLATE = 0400, - REG_ESCAPE_IN_LISTS = 01000, - REG_NEWLINE_ALT = 02000, - REG_PERLEX = 04000, - - REG_PERL = REG_EXTENDED | REG_NOCOLLATE | REG_ESCAPE_IN_LISTS | REG_PERLEX, - REG_AWK = REG_EXTENDED | REG_ESCAPE_IN_LISTS, - REG_GREP = REG_BASIC | REG_NEWLINE_ALT, - REG_EGREP = REG_EXTENDED | REG_NEWLINE_ALT, - - REG_ASSERT = 15, - REG_INVARG = 16, - REG_ATOI = 255, /* convert name to number (!) */ - REG_ITOA = 0400 /* convert number to name (!) */ -} reg_comp_flags; - -/* regexec() flags */ -typedef enum{ - REG_NOTBOL = 00001, - REG_NOTEOL = 00002, - REG_STARTEND = 00004 -} reg_exec_flags; - -BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA*, const char*, int); -BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int, const regex_tA*, char*, regsize_t); -BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecA(const regex_tA*, const char*, regsize_t, regmatch_t*, int); -BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeA(regex_tA*); - -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW*, const wchar_t*, int); -BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int, const regex_tW*, wchar_t*, regsize_t); -BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecW(const regex_tW*, const wchar_t*, regsize_t, regmatch_t*, int); -BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeW(regex_tW*); -#endif - -#ifdef UNICODE -#define regcomp regcompW -#define regerror regerrorW -#define regexec regexecW -#define regfree regfreeW -#define regex_t regex_tW -#else -#define regcomp regcompA -#define regerror regerrorA -#define regexec regexecA -#define regfree regfreeA -#define regex_t regex_tA -#endif - -/* regerror() flags */ -typedef enum -{ - REG_NOERROR = 0, /* Success. */ - REG_NOMATCH = 1, /* Didn't find a match (for regexec). */ - - /* POSIX regcomp return error codes. (In the order listed in the - standard.) */ - REG_BADPAT = 2, /* Invalid pattern. */ - REG_ECOLLATE = 3, /* Undefined collating element. */ - REG_ECTYPE = 4, /* Invalid character class name. */ - REG_EESCAPE = 5, /* Trailing backslash. */ - REG_ESUBREG = 6, /* Invalid back reference. */ - REG_EBRACK = 7, /* Unmatched left bracket. */ - REG_EPAREN = 8, /* Parenthesis imbalance. */ - REG_EBRACE = 9, /* Unmatched \{. */ - REG_BADBR = 10, /* Invalid contents of \{\}. */ - REG_ERANGE = 11, /* Invalid range end. */ - REG_ESPACE = 12, /* Ran out of memory. */ - REG_BADRPT = 13, /* No preceding re for repetition op. */ - REG_EEND = 14, /* unexpected end of expression */ - REG_ESIZE = 15, /* expression too big */ - REG_ERPAREN = 16, /* unmatched right parenthesis */ - REG_EMPTY = 17, /* empty expression */ - REG_E_MEMORY = REG_ESIZE, /* out of memory */ - REG_E_UNKNOWN = 18 /* unknown error */ -} reg_errcode_t; - - -#ifdef __cplusplus -} // extern "C" -} // namespace -#endif - - -#ifdef __BORLANDC__ - #if __BORLANDC__ > 0x520 - #pragma option pop - #endif -#endif - - -// -// C++ high level wrapper goes here: -// -#if defined(__cplusplus) -#include -#include -namespace boost{ - -#ifdef __BORLANDC__ - #if __BORLANDC__ == 0x530 - #pragma option push -a4 -b - #elif __BORLANDC__ > 0x530 - #pragma option push -a8 -b - #endif -#endif - -class RegEx; - -namespace re_detail{ - -class RegExData; -struct pred1; -struct pred2; -struct pred3; -struct pred4; - -} // namespace re_detail - -#if defined(BOOST_MSVC) || defined(__BORLANDC__) -typedef bool (__cdecl *GrepCallback)(const RegEx& expression); -typedef bool (__cdecl *GrepFileCallback)(const char* file, const RegEx& expression); -typedef bool (__cdecl *FindFilesCallback)(const char* file); -#else -typedef bool (*GrepCallback)(const RegEx& expression); -typedef bool (*GrepFileCallback)(const char* file, const RegEx& expression); -typedef bool (*FindFilesCallback)(const char* file); -#endif - -class BOOST_REGEX_DECL RegEx -{ -private: - re_detail::RegExData* pdata; -public: - RegEx(); - RegEx(const RegEx& o); - ~RegEx(); - explicit RegEx(const char* c, bool icase = false); - explicit RegEx(const std::string& s, bool icase = false); - RegEx& operator=(const RegEx& o); - RegEx& operator=(const char* p); - RegEx& operator=(const std::string& s){ return this->operator=(s.c_str()); } - unsigned int SetExpression(const char* p, bool icase = false); - unsigned int SetExpression(const std::string& s, bool icase = false){ return SetExpression(s.c_str(), icase); } - std::string Expression()const; - unsigned int error_code()const; - // - // now matching operators: - // - bool Match(const char* p, match_flag_type flags = match_default); - bool Match(const std::string& s, match_flag_type flags = match_default) { return Match(s.c_str(), flags); } - bool Search(const char* p, match_flag_type flags = match_default); - bool Search(const std::string& s, match_flag_type flags = match_default) { return Search(s.c_str(), flags); } - unsigned int Grep(GrepCallback cb, const char* p, match_flag_type flags = match_default); - unsigned int Grep(GrepCallback cb, const std::string& s, match_flag_type flags = match_default) { return Grep(cb, s.c_str(), flags); } - unsigned int Grep(std::vector& v, const char* p, match_flag_type flags = match_default); - unsigned int Grep(std::vector& v, const std::string& s, match_flag_type flags = match_default) { return Grep(v, s.c_str(), flags); } - unsigned int Grep(std::vector& v, const char* p, match_flag_type flags = match_default); - unsigned int Grep(std::vector& v, const std::string& s, match_flag_type flags = match_default) { return Grep(v, s.c_str(), flags); } -#ifndef BOOST_REGEX_NO_FILEITER - unsigned int GrepFiles(GrepFileCallback cb, const char* files, bool recurse = false, match_flag_type flags = match_default); - unsigned int GrepFiles(GrepFileCallback cb, const std::string& files, bool recurse = false, match_flag_type flags = match_default) { return GrepFiles(cb, files.c_str(), recurse, flags); } - unsigned int FindFiles(FindFilesCallback cb, const char* files, bool recurse = false, match_flag_type flags = match_default); - unsigned int FindFiles(FindFilesCallback cb, const std::string& files, bool recurse = false, match_flag_type flags = match_default) { return FindFiles(cb, files.c_str(), recurse, flags); } -#endif - - std::string Merge(const std::string& in, const std::string& fmt, - bool copy = true, match_flag_type flags = match_default); - std::string Merge(const char* in, const char* fmt, - bool copy = true, match_flag_type flags = match_default); - - std::size_t Split(std::vector& v, std::string& s, match_flag_type flags = match_default, unsigned max_count = ~0); - // - // now operators for returning what matched in more detail: - // - std::size_t Position(int i = 0)const; - std::size_t Length(int i = 0)const; - bool Matched(int i = 0)const; - unsigned int Marks()const; - std::string What(int i = 0)const; - std::string operator[](int i)const { return What(i); } - - static const unsigned int npos; - - friend struct re_detail::pred1; - friend struct re_detail::pred2; - friend struct re_detail::pred3; - friend struct re_detail::pred4; -}; - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace boost - -#endif - -#endif // include guard - - - - - - - - - diff --git a/include/boost/regex/v4/fileiter.hpp b/include/boost/regex/v4/fileiter.hpp deleted file mode 100644 index eaf18ba2..00000000 --- a/include/boost/regex/v4/fileiter.hpp +++ /dev/null @@ -1,456 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE fileiter.hpp - * VERSION see - * DESCRIPTION: Declares various platform independent file and - * directory iterators, plus binary file input in - * the form of class map_file. - */ - -#ifndef BOOST_RE_FILEITER_HPP_INCLUDED -#define BOOST_RE_FILEITER_HPP_INCLUDED - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif - -#ifndef BOOST_REGEX_NO_FILEITER - -#if (defined(__CYGWIN__) || defined(__CYGWIN32__)) && !defined(BOOST_REGEX_NO_W32) -#error "Sorry, can't mix with STL code and gcc compiler: if you ran configure, try again with configure --disable-ms-windows" -#define BOOST_REGEX_FI_WIN32_MAP -#define BOOST_REGEX_FI_POSIX_DIR -#elif (defined(__WIN32__) || defined(_WIN32) || defined(WIN32)) && !defined(BOOST_REGEX_NO_W32) -#define BOOST_REGEX_FI_WIN32_MAP -#define BOOST_REGEX_FI_WIN32_DIR -#else -#define BOOST_REGEX_FI_POSIX_MAP -#define BOOST_REGEX_FI_POSIX_DIR -#endif - -#if defined(BOOST_REGEX_FI_WIN32_MAP)||defined(BOOST_REGEX_FI_WIN32_DIR) -#include -#endif - -#if defined(BOOST_REGEX_FI_WIN32_DIR) - -namespace boost{ - namespace re_detail{ - -typedef WIN32_FIND_DATAA _fi_find_data; -typedef HANDLE _fi_find_handle; - - } // namespace re_detail - -} // namespace boost - -#define _fi_invalid_handle INVALID_HANDLE_VALUE -#define _fi_dir FILE_ATTRIBUTE_DIRECTORY - -#elif defined(BOOST_REGEX_FI_POSIX_DIR) - -#include -#include -#include -#include -#include -#include - -#if defined(__SUNPRO_CC) -using std::list; -#endif - -#ifndef MAX_PATH -#define MAX_PATH 256 -#endif - -namespace boost{ - namespace re_detail{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -#endif - -struct _fi_find_data -{ - unsigned dwFileAttributes; - char cFileName[MAX_PATH]; -}; - -struct _fi_priv_data; - -typedef _fi_priv_data* _fi_find_handle; -#define _fi_invalid_handle 0 -#define _fi_dir 1 - -_fi_find_handle _fi_FindFirstFile(const char* lpFileName, _fi_find_data* lpFindFileData); -bool _fi_FindNextFile(_fi_find_handle hFindFile, _fi_find_data* lpFindFileData); -bool _fi_FindClose(_fi_find_handle hFindFile); - -#ifdef __BORLANDC__ - #if __BORLANDC__ > 0x520 - #pragma option pop - #endif -#endif - - } // namespace re_detail -} // namespace boost - -#ifdef FindFirstFile - #undef FindFirstFile -#endif -#ifdef FindNextFile - #undef FindNextFile -#endif -#ifdef FindClose - #undef FindClose -#endif - -#define FindFirstFileA _fi_FindFirstFile -#define FindNextFileA _fi_FindNextFile -#define FindClose _fi_FindClose - -#endif - -namespace boost{ - namespace re_detail{ - -#ifdef __BORLANDC__ - #if __BORLANDC__ == 0x530 - #pragma option push -a4 -b - #elif __BORLANDC__ > 0x530 - #pragma option push -a8 -b - #endif -#endif - -#ifdef BOOST_REGEX_FI_WIN32_MAP // win32 mapfile - -class BOOST_REGEX_DECL mapfile -{ - HANDLE hfile; - HANDLE hmap; - const char* _first; - const char* _last; -public: - - typedef const char* iterator; - - mapfile(){ hfile = hmap = 0; _first = _last = 0; } - mapfile(const char* file){ hfile = hmap = 0; _first = _last = 0; open(file); } - ~mapfile(){ close(); } - void open(const char* file); - void close(); - const char* begin(){ return _first; } - const char* end(){ return _last; } - size_t size(){ return _last - _first; } - bool valid(){ return (hfile != 0) && (hfile != INVALID_HANDLE_VALUE); } -}; - - -#else - -class BOOST_REGEX_DECL mapfile_iterator; - -class BOOST_REGEX_DECL mapfile -{ - typedef char* pointer; - std::FILE* hfile; - long int _size; - pointer* _first; - pointer* _last; - mutable std::list condemed; - enum sizes - { - buf_size = 4096 - }; - void lock(pointer* node)const; - void unlock(pointer* node)const; -public: - - typedef mapfile_iterator iterator; - - mapfile(){ hfile = 0; _size = 0; _first = _last = 0; } - mapfile(const char* file){ hfile = 0; _size = 0; _first = _last = 0; open(file); } - ~mapfile(){ close(); } - void open(const char* file); - void close(); - iterator begin()const; - iterator end()const; - unsigned long size()const{ return _size; } - bool valid()const{ return hfile != 0; } - friend class mapfile_iterator; -}; - -class BOOST_REGEX_DECL mapfile_iterator -#if !defined(BOOST_NO_STD_ITERATOR) || defined(BOOST_MSVC_STD_ITERATOR) -: public std::iterator -#endif -{ - typedef mapfile::pointer internal_pointer; - internal_pointer* node; - const mapfile* file; - unsigned long offset; - long position()const - { - return file ? ((node - file->_first) * mapfile::buf_size + offset) : 0; - } - void position(long pos) - { - if(file) - { - node = file->_first + (pos / mapfile::buf_size); - offset = pos % mapfile::buf_size; - } - } -public: - typedef std::ptrdiff_t difference_type; - typedef char value_type; - typedef const char* pointer; - typedef const char& reference; - typedef std::random_access_iterator_tag iterator_category; - - mapfile_iterator() { node = 0; file = 0; offset = 0; } - mapfile_iterator(const mapfile* f, long position) - { - file = f; - node = f->_first + position / mapfile::buf_size; - offset = position % mapfile::buf_size; - if(file) - file->lock(node); - } - mapfile_iterator(const mapfile_iterator& i) - { - file = i.file; - node = i.node; - offset = i.offset; - if(file) - file->lock(node); - } - ~mapfile_iterator() - { - if(file && node) - file->unlock(node); - } - mapfile_iterator& operator = (const mapfile_iterator& i); - char operator* ()const - { - assert(node >= file->_first); - assert(node < file->_last); - return file ? *(*node + sizeof(int) + offset) : char(0); - } - char operator[] (long off)const - { - mapfile_iterator tmp(*this); - tmp += off; - return *tmp; - } - mapfile_iterator& operator++ (); - mapfile_iterator operator++ (int); - mapfile_iterator& operator-- (); - mapfile_iterator operator-- (int); - - mapfile_iterator& operator += (long off) - { - position(position() + off); - return *this; - } - mapfile_iterator& operator -= (long off) - { - position(position() - off); - return *this; - } - - friend inline bool operator==(const mapfile_iterator& i, const mapfile_iterator& j) - { - return (i.file == j.file) && (i.node == j.node) && (i.offset == j.offset); - } - - friend inline bool operator!=(const mapfile_iterator& i, const mapfile_iterator& j) - { - return !(i == j); - } - - friend inline bool operator<(const mapfile_iterator& i, const mapfile_iterator& j) - { - return i.position() < j.position(); - } - friend inline bool operator>(const mapfile_iterator& i, const mapfile_iterator& j) - { - return i.position() > j.position(); - } - friend inline bool operator<=(const mapfile_iterator& i, const mapfile_iterator& j) - { - return i.position() <= j.position(); - } - friend inline bool operator>=(const mapfile_iterator& i, const mapfile_iterator& j) - { - return i.position() >= j.position(); - } - - friend mapfile_iterator operator + (const mapfile_iterator& i, long off); - friend mapfile_iterator operator + (long off, const mapfile_iterator& i) - { - mapfile_iterator tmp(i); - return tmp += off; - } - friend mapfile_iterator operator - (const mapfile_iterator& i, long off); - friend inline long operator - (const mapfile_iterator& i, const mapfile_iterator& j) - { - return i.position() - j.position(); - } -}; - -#endif - -// _fi_sep determines the directory separator, either '\\' or '/' -BOOST_REGEX_DECL extern const char* _fi_sep; - -struct file_iterator_ref -{ - _fi_find_handle hf; - _fi_find_data _data; - long count; -}; - - -class BOOST_REGEX_DECL file_iterator -{ - char* _root; - char* _path; - char* ptr; - file_iterator_ref* ref; - -public: - typedef std::ptrdiff_t difference_type; - typedef const char* value_type; - typedef const char** pointer; - typedef const char*& reference; - typedef std::input_iterator_tag iterator_category; - - file_iterator(); - file_iterator(const char* wild); - ~file_iterator(); - file_iterator(const file_iterator&); - file_iterator& operator=(const file_iterator&); - const char* root()const { return _root; } - const char* path()const { return _path; } - const char* name()const { return ptr; } - _fi_find_data* data() { return &(ref->_data); } - void next(); - file_iterator& operator++() { next(); return *this; } - file_iterator operator++(int); - const char* operator*() { return path(); } - - friend inline bool operator == (const file_iterator& f1, const file_iterator& f2) - { - return ((f1.ref->hf == _fi_invalid_handle) && (f2.ref->hf == _fi_invalid_handle)); - } - - friend inline bool operator != (const file_iterator& f1, const file_iterator& f2) - { - return !(f1 == f2); - } - -}; - -// dwa 9/13/00 - suppress unused parameter warning -inline bool operator < (const file_iterator&, const file_iterator&) -{ - return false; -} - - -class BOOST_REGEX_DECL directory_iterator -{ - char* _root; - char* _path; - char* ptr; - file_iterator_ref* ref; - -public: - typedef std::ptrdiff_t difference_type; - typedef const char* value_type; - typedef const char** pointer; - typedef const char*& reference; - typedef std::input_iterator_tag iterator_category; - - directory_iterator(); - directory_iterator(const char* wild); - ~directory_iterator(); - directory_iterator(const directory_iterator& other); - directory_iterator& operator=(const directory_iterator& other); - - const char* root()const { return _root; } - const char* path()const { return _path; } - const char* name()const { return ptr; } - _fi_find_data* data() { return &(ref->_data); } - void next(); - directory_iterator& operator++() { next(); return *this; } - directory_iterator operator++(int); - const char* operator*() { return path(); } - - static const char* separator() { return _fi_sep; } - - friend inline bool operator == (const directory_iterator& f1, const directory_iterator& f2) - { - return ((f1.ref->hf == _fi_invalid_handle) && (f2.ref->hf == _fi_invalid_handle)); - } - - - friend inline bool operator != (const directory_iterator& f1, const directory_iterator& f2) - { - return !(f1 == f2); - } - - }; - -inline bool operator < (const directory_iterator&, const directory_iterator&) -{ - return false; -} - -#ifdef __BORLANDC__ - #pragma option pop -#endif - - -} // namespace re_detail -using boost::re_detail::directory_iterator; -using boost::re_detail::file_iterator; -using boost::re_detail::mapfile; -} // namespace boost - -#endif // BOOST_REGEX_NO_FILEITER -#endif // BOOST_RE_FILEITER_HPP - - - - - - - - - - - - - - - - - diff --git a/include/boost/regex/v4/instances.hpp b/include/boost/regex/v4/instances.hpp deleted file mode 100644 index d0238226..00000000 --- a/include/boost/regex/v4/instances.hpp +++ /dev/null @@ -1,88 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE instances.cpp - * VERSION see - * DESCRIPTION: Defines those template instances that are placed in the - * library rather than in the users object files. - */ - -// -// note no include guard, we may include this multiple times: -// -#ifndef BOOST_REGEX_NO_EXTERNAL_TEMPLATES - -namespace boost{ - -// -// this header can be included multiple times, each time with -// a different character type, BOOST_REGEX_CHAR_T must be defined -// first: -// -#ifndef BOOST_REGEX_CHAR_T -# error "BOOST_REGEX_CHAR_T not defined" -#endif - -// -// what follows is compiler specific: -// - -#ifdef __BORLANDC__ - -#pragma option push -a8 -b -Vx -Ve -pc - -# ifndef BOOST_REGEX_INSTANTIATE -# pragma option push -Jgx -# endif - -template class BOOST_REGEX_DECL reg_expression< BOOST_REGEX_CHAR_T >; - -# ifndef BOOST_REGEX_INSTANTIATE -# pragma option pop -# endif - -#pragma option pop - -#elif defined(BOOST_MSVC) || defined(__GNUC__) - -# ifndef BOOST_REGEX_INSTANTIATE -# define template extern template -# endif - -# ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable : 4251 4231 4660) -# endif - -template class BOOST_REGEX_DECL reg_expression< BOOST_REGEX_CHAR_T >; - -# ifdef BOOST_MSVC -# pragma warning(pop) -# endif - -# ifdef template -# undef template -# endif - -#endif - -} // namespace boost - -#endif // BOOST_REGEX_NO_EXTERNAL_TEMPLATES - - - diff --git a/include/boost/regex/v4/iterator_category.hpp b/include/boost/regex/v4/iterator_category.hpp deleted file mode 100644 index 23cf5e43..00000000 --- a/include/boost/regex/v4/iterator_category.hpp +++ /dev/null @@ -1,85 +0,0 @@ -/* - * - * Copyright (c) 2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_match.hpp - * VERSION see - * DESCRIPTION: Iterator traits for selecting an iterator type as - * an integral constant expression. - */ - - -#ifndef BOOST_REGEX_ITERATOR_CATEGORY_HPP -#define BOOST_REGEX_ITERATOR_CATEGORY_HPP - -#include -#include -#include - -namespace boost{ -namespace detail{ - -template -struct is_random_imp -{ -private: - typedef typename std::iterator_traits::iterator_category cat; -public: - BOOST_STATIC_CONSTANT(bool, value = (::boost::is_convertible::value)); -}; - -template -struct is_random_pointer_imp -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template -struct is_random_imp_selector -{ - template - struct rebind - { - typedef is_random_imp type; - }; -}; - -template <> -struct is_random_imp_selector -{ - template - struct rebind - { - typedef is_random_pointer_imp type; - }; -}; - -} - -template -struct is_random_access_iterator -{ -private: - typedef detail::is_random_imp_selector< ::boost::is_pointer::value> selector; - typedef typename selector::template rebind bound_type; - typedef typename bound_type::type answer; -public: - BOOST_STATIC_CONSTANT(bool, value = answer::value); -}; - -} - -#endif diff --git a/include/boost/regex/v4/iterator_traits.hpp b/include/boost/regex/v4/iterator_traits.hpp deleted file mode 100644 index 42f22241..00000000 --- a/include/boost/regex/v4/iterator_traits.hpp +++ /dev/null @@ -1,106 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE iterator_traits.cpp - * VERSION see - * DESCRIPTION: Declares iterator traits workarounds. - */ - -#ifndef BOOST_REGEX_V4_ITERATOR_TRAITS_HPP -#define BOOST_REGEX_V4_ITERATOR_TRAITS_HPP - -#ifdef __BORLANDC__ -# pragma option push -a8 -b -Vx -Ve -pc -w-8027 -#endif - -namespace boost{ -namespace re_detail{ - -#if defined(BOOST_NO_STD_ITERATOR_TRAITS) || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - -template -struct regex_iterator_traits -{ - typedef typename T::iterator_category iterator_category; - typedef typename T::value_type value_type; -#if !defined(BOOST_NO_STD_ITERATOR) - typedef typename T::difference_type difference_type; - typedef typename T::pointer pointer; - typedef typename T::reference reference; -#else - typedef std::ptrdiff_t difference_type; - typedef value_type* pointer; - typedef value_type& reference; -#endif -}; - -template -struct pointer_iterator_traits -{ - typedef std::ptrdiff_t difference_type; - typedef T value_type; - typedef T* pointer; - typedef T& reference; - typedef std::random_access_iterator_tag iterator_category; -}; -template -struct const_pointer_iterator_traits -{ - typedef std::ptrdiff_t difference_type; - typedef T value_type; - typedef const T* pointer; - typedef const T& reference; - typedef std::random_access_iterator_tag iterator_category; -}; - -template<> -struct regex_iterator_traits : pointer_iterator_traits{}; -template<> -struct regex_iterator_traits : const_pointer_iterator_traits{}; -template<> -struct regex_iterator_traits : pointer_iterator_traits{}; -template<> -struct regex_iterator_traits : const_pointer_iterator_traits{}; - -#if defined(__SGI_STL_PORT) && defined(__STL_DEBUG) -template<> -struct regex_iterator_traits : pointer_iterator_traits{}; -template<> -struct regex_iterator_traits : const_pointer_iterator_traits{}; -#ifndef BOOST_NO_STD_WSTRING -template<> -struct regex_iterator_traits : pointer_iterator_traits{}; -template<> -struct regex_iterator_traits : const_pointer_iterator_traits{}; -#endif // BOOST_NO_WSTRING -#endif // stport - -#else - -template -struct regex_iterator_traits : public std::iterator_traits {}; - -#endif - -} // namespace re_detail -} // namespace boost - -#ifdef __BORLANDC__ -# pragma option pop -#endif - -#endif diff --git a/include/boost/regex/v4/match_flags.hpp b/include/boost/regex/v4/match_flags.hpp deleted file mode 100644 index 28ad1065..00000000 --- a/include/boost/regex/v4/match_flags.hpp +++ /dev/null @@ -1,133 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE match_flags.hpp - * VERSION see - * DESCRIPTION: Declares match_flags type. - */ - -#ifndef BOOST_REGEX_V4_MATCH_FLAGS -#define BOOST_REGEX_V4_MATCH_FLAGS - -#ifdef __cplusplus -# include -#endif - -#ifdef __cplusplus -namespace boost{ - namespace regex_constants{ -#endif - -typedef enum _match_flags -{ - match_default = 0, - match_not_bol = 1, // first is not start of line - match_not_eol = match_not_bol << 1, // last is not end of line - match_not_bob = match_not_eol << 1, // first is not start of buffer - match_not_eob = match_not_bob << 1, // last is not end of buffer - match_not_bow = match_not_eob << 1, // first is not start of word - match_not_eow = match_not_bow << 1, // last is not end of word - match_not_dot_newline = match_not_eow << 1, // \n is not matched by '.' - match_not_dot_null = match_not_dot_newline << 1, // '\0' is not matched by '.' - match_prev_avail = match_not_dot_null << 1, // *--first is a valid expression - match_init = match_prev_avail << 1, // internal use - match_any = match_init << 1, // don't care what we match - match_not_null = match_any << 1, // string can't be null - match_continuous = match_not_null << 1, // each grep match must continue from - // uninterupted from the previous one - match_partial = match_continuous << 1, // find partial matches - - match_stop = match_partial << 1, // stop after first match (grep) V3 only - match_not_initial_null = match_stop, // don't match initial null, V4 only - match_all = match_stop << 1, // must find the whole of input even if match_any is set - match_perl = match_all << 1, // Use perl matching rules - match_posix = match_perl << 1, // Use POSIX matching rules - match_nosubs = match_posix << 1, // don't trap marked subs - match_max = match_nosubs, - - format_perl = 0, // perl style replacement - format_default = 0, // ditto. - format_sed = match_max << 1, // sed style replacement. - format_all = format_sed << 1, // enable all extentions to sytax. - format_no_copy = format_all << 1, // don't copy non-matching segments. - format_first_only = format_no_copy << 1, // Only replace first occurance. - format_is_if = format_first_only << 1 // internal use only. - -} match_flags; - -#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1200) -typedef unsigned long match_flag_type; -#else -typedef match_flags match_flag_type; - - -#ifdef __cplusplus -inline match_flags operator&(match_flags m1, match_flags m2) -{ return static_cast(static_cast(m1) & static_cast(m2)); } -inline match_flags operator|(match_flags m1, match_flags m2) -{ return static_cast(static_cast(m1) | static_cast(m2)); } -inline match_flags operator^(match_flags m1, match_flags m2) -{ return static_cast(static_cast(m1) ^ static_cast(m2)); } -inline match_flags operator~(match_flags m1) -{ return static_cast(~static_cast(m1)); } -inline match_flags& operator&=(match_flags& m1, match_flags m2) -{ m1 = m1&m2; return m1; } -inline match_flags& operator|=(match_flags& m1, match_flags m2) -{ m1 = m1|m2; return m1; } -inline match_flags& operator^=(match_flags& m1, match_flags m2) -{ m1 = m1^m2; return m1; } -#endif -#endif - -#ifdef __cplusplus -} // namespace regex_constants -// -// import names into boost for backwards compatiblity: -// -using regex_constants::match_flag_type; -using regex_constants::match_default; -using regex_constants::match_not_bol; -using regex_constants::match_not_eol; -using regex_constants::match_not_bob; -using regex_constants::match_not_eob; -using regex_constants::match_not_bow; -using regex_constants::match_not_eow; -using regex_constants::match_not_dot_newline; -using regex_constants::match_not_dot_null; -using regex_constants::match_prev_avail; -//using regex_constants::match_init; -using regex_constants::match_any; -using regex_constants::match_not_null; -using regex_constants::match_continuous; -using regex_constants::match_partial; -//using regex_constants::match_stop; -using regex_constants::match_all; -using regex_constants::match_perl; -using regex_constants::match_posix; -using regex_constants::match_nosubs; -//using regex_constants::match_max; -using regex_constants::format_all; -using regex_constants::format_sed; -using regex_constants::format_perl; -using regex_constants::format_default; -using regex_constants::format_no_copy; -using regex_constants::format_first_only; -//using regex_constants::format_is_if; - -} // namespace boost -#endif // __cplusplus -#endif // include guard diff --git a/include/boost/regex/v4/match_results.hpp b/include/boost/regex/v4/match_results.hpp deleted file mode 100644 index 47178c5f..00000000 --- a/include/boost/regex/v4/match_results.hpp +++ /dev/null @@ -1,320 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE match_results.cpp - * VERSION see - * DESCRIPTION: Declares template class match_results. - */ - -#ifndef BOOST_REGEX_V4_MATCH_RESULTS_HPP -#define BOOST_REGEX_V4_MATCH_RESULTS_HPP - -#ifdef __BORLANDC__ -# pragma option push -a8 -b -Vx -Ve -pc -w-8027 -#endif - -namespace boost{ - -template ) - > -class match_results -{ -private: -#ifndef BOOST_NO_STD_ALLOCATOR - typedef std::vector, Allocator> vector_type; -#else - typedef std::vector > vector_type; -#endif -public: - typedef sub_match value_type; - typedef const value_type& const_reference; - typedef const_reference reference; - typedef typename vector_type::const_iterator const_iterator; - typedef const_iterator iterator; - typedef typename re_detail::regex_iterator_traits< - RandomAccessIterator>::difference_type difference_type; - typedef typename Allocator::size_type size_type; - typedef Allocator allocator_type; - typedef typename re_detail::regex_iterator_traits< - RandomAccessIterator>::value_type char_type; - typedef std::basic_string string_type; - - // construct/copy/destroy: - explicit match_results(const Allocator& a = Allocator()) -#ifndef BOOST_NO_STD_ALLOCATOR - : m_subs(a), m_base() {} -#else - : m_subs(), m_base() { (void)a; } -#endif - match_results(const match_results& m) - : m_subs(m.m_subs), m_base(m.m_base) {} - match_results& operator=(const match_results& m) - { - m_subs = m.m_subs; - m_base = m.m_base; - return *this; - } - ~match_results(){} - - // size: - size_type size() const - { return m_subs.size() - 2; } - size_type max_size() const - { return m_subs.max_size(); } - bool empty() const - { return m_subs.size() < 2; } - // element access: - difference_type length(int sub = 0) const - { - sub += 2; - if((sub < (int)m_subs.size()) && (sub > 0)) - return m_subs[sub].length(); - return 0; - } - difference_type position(unsigned int sub = 0) const - { - sub += 2; - if(sub < m_subs.size()) - { - const sub_match& s = m_subs[sub]; - if(s.matched) - { - return boost::re_detail::distance((RandomAccessIterator)(m_base), (RandomAccessIterator)(s.first)); - } - } - return ~static_cast(0); - } - string_type str(int sub = 0) const - { - sub += 2; - string_type result; - if(sub < m_subs.size() && (sub > 0)) - { - const sub_match& s = m_subs[sub]; - if(s.matched) - { - result = s; - } - } - return result; - } - const_reference operator[](int sub) const - { - sub += 2; - if(sub < (int)m_subs.size() && (sub >= 0)) - { - return m_subs[sub]; - } - assert(0); - // we should never get here: - return m_subs[0]; - } - - const_reference prefix() const - { - return (*this)[-1]; - } - - const_reference suffix() const - { - return (*this)[-2]; - } - const_iterator begin() const - { - return (m_subs.size() > 2) ? (m_subs.begin() + 2) : m_subs.end(); - } - const_iterator end() const - { - return m_subs.end(); - } - // format: - template - OutputIterator format(OutputIterator out, - const string_type& fmt, - match_flag_type flags = format_default) const - { - return regex_format(out, *this, fmt, flags); - } - string_type format(const string_type& fmt, - match_flag_type flags = format_default) const - { - return regex_format(*this, fmt, flags); - } - - allocator_type get_allocator() const - { -#ifndef BOOST_NO_STD_ALLOCATOR - return m_subs.get_allocator(); -#else - return allocator_type(); -#endif - } - void swap(match_results& that) - { - std::swap(m_subs, that.m_subs); - std::swap(m_base, that.m_base); - } - bool operator==(const match_results& that)const - { - return (m_subs == that.m_subs) && (m_base == that.m_base); - } - bool operator!=(const match_results& that)const - { return !(*this == that); } - - // - // private access functions: - void BOOST_REGEX_CALL set_second(RandomAccessIterator i) - { - assert(m_subs.size() > 2); - m_subs[2].second = i; - m_subs[2].matched = true; - m_subs[0].first = i; - m_subs[0].matched = (m_subs[0].first != m_subs[0].second); - } - - void BOOST_REGEX_CALL set_second(RandomAccessIterator i, size_type pos, bool m = true) - { - pos += 2; - assert(m_subs.size() > pos); - m_subs[pos].second = i; - m_subs[pos].matched = m; - if(pos == 2) - { - m_subs[0].first = i; - m_subs[0].matched = (m_subs[0].first != m_subs[0].second); - } - } - void BOOST_REGEX_CALL set_size(size_type n, RandomAccessIterator i, RandomAccessIterator j) - { - value_type v(j); - size_type len = m_subs.size(); - if(len > n + 2) - { - m_subs.erase(m_subs.begin()+n+2); - std::fill(m_subs.begin(), m_subs.end(), v); - } - else - { - std::fill(m_subs.begin(), m_subs.end(), v); - if(n+2 != len) - m_subs.insert(m_subs.end(), n+2-len, v); - } - m_subs[1].first = i; - } - void BOOST_REGEX_CALL set_base(RandomAccessIterator pos) - { - m_base = pos; - } - void BOOST_REGEX_CALL set_first(RandomAccessIterator i) - { - // set up prefix: - m_subs[1].second = i; - m_subs[1].matched = (m_subs[1].first != i); - // set up $0: - m_subs[2].first = i; - // zero out everything else: - for(size_type n = 3; n < m_subs.size(); ++n) - { - m_subs[n].first = m_subs[n].second = m_subs[0].second; - m_subs[n].matched = false; - } - } - void BOOST_REGEX_CALL set_first(RandomAccessIterator i, size_type pos) - { - assert(pos+2 < m_subs.size()); - if(pos) - m_subs[pos+2].first = i; - else - set_first(i); - } - void BOOST_REGEX_CALL maybe_assign(const match_results& m); - - -private: - vector_type m_subs; // subexpressions - RandomAccessIterator m_base; // where the search started from -}; - -template -void BOOST_REGEX_CALL match_results::maybe_assign(const match_results& m) -{ - const_iterator p1, p2; - p1 = begin(); - p2 = m.begin(); - RandomAccessIterator base = (*this)[-1].first; - std::size_t len1 = 0; - std::size_t len2 = 0; - std::size_t base1 = 0; - std::size_t base2 = 0; - std::size_t i; - for(i = 0; i < size(); ++i) - { - // - // leftmost takes priority over longest: - base1 = boost::re_detail::distance(base, p1->first); - base2 = boost::re_detail::distance(base, p2->first); - if(base1 < base2) return; - if(base2 < base1) break; - - len1 = boost::re_detail::distance(p1->first, p1->second); - len2 = boost::re_detail::distance(p2->first, p2->second); - if((len1 != len2) || ((p1->matched == false) && (p2->matched == true))) - break; - if((p1->matched == true) && (p2->matched == false)) - return; - ++p1; - ++p2; - } - if(i == size()) - return; - if(base2 < base1) - *this = m; - else if((len2 > len1) || ((p1->matched == false) && (p2->matched == true)) ) - *this = m; -} - -template -void swap(match_results& a, match_results& b) -{ - a.swap(b); -} - -#ifndef BOOST_NO_STD_LOCALE -template -std::basic_ostream& - operator << (std::basic_ostream& os, - const match_results& s) -{ - return (os << s.str()); -} -#else -template -std::ostream& operator << (std::ostream& os, - const match_results& s) -{ - return (os << s.str()); -} -#endif - -} // namespace boost - -#ifdef __BORLANDC__ -# pragma option pop -#endif - -#endif diff --git a/include/boost/regex/v4/mem_block_cache.hpp b/include/boost/regex/v4/mem_block_cache.hpp deleted file mode 100644 index 75e1928e..00000000 --- a/include/boost/regex/v4/mem_block_cache.hpp +++ /dev/null @@ -1,97 +0,0 @@ - /* - * Copyright (c) 2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE mem_block_cache.hpp - * VERSION see - * DESCRIPTION: memory block cache used by the non-recursive matcher. - */ - -#ifndef BOOST_REGEX_V4_MEM_BLOCK_CACHE_HPP -#define BOOST_REGEX_V4_MEM_BLOCK_CACHE_HPP - -#include -#include - -#ifdef __BORLANDC__ -# pragma option push -a8 -b -Vx -Ve -pc -w-8027 -#endif - -namespace boost{ -namespace re_detail{ - -struct mem_block_node -{ - mem_block_node* next; -}; - -struct mem_block_cache -{ - // this member has to be statically initialsed: - mem_block_node* next; - unsigned cached_blocks; - - ~mem_block_cache() - { - while(next) - { - mem_block_node* old = next; - next = next->next; - ::operator delete(old); - } - } - void* get() - { -#ifdef BOOST_HAS_THREADS - re_detail::cs_guard g(*re_detail::p_re_lock); -#endif - if(next) - { - mem_block_node* result = next; - next = next->next; - --cached_blocks; - return result; - } - return ::operator new(BOOST_REGEX_BLOCKSIZE); - } - void put(void* p) - { -#ifdef BOOST_HAS_THREADS - re_detail::cs_guard g(*re_detail::p_re_lock); -#endif - if(cached_blocks >= BOOST_REGEX_MAX_CACHE_BLOCKS) - { - ::operator delete(p); - } - else - { - mem_block_node* old = static_cast(p); - old->next = next; - next = old; - ++cached_blocks; - } - } -}; - -extern mem_block_cache block_cache; - -} -} // namespace boost - -#ifdef __BORLANDC__ -# pragma option pop -#endif - -#endif diff --git a/include/boost/regex/v4/perl_matcher.hpp b/include/boost/regex/v4/perl_matcher.hpp deleted file mode 100644 index fcbd9882..00000000 --- a/include/boost/regex/v4/perl_matcher.hpp +++ /dev/null @@ -1,436 +0,0 @@ -/* - * - * Copyright (c) 2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - -#ifndef BOOST_REGEX_MATCHER_HPP -#define BOOST_REGEX_MATCHER_HPP - -#include -#include - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -w-8026 -w-8027 -#endif - -namespace boost{ -namespace re_detail{ - - // -// Unfortunately Rogue Waves standard library appears to have a bug -// in std::basic_string::compare that results in eroneous answers -// in some cases (tested with Borland C++ 5.1, Rogue Wave lib version -// 0x020101) the test case was: -// {39135,0} < {0xff,0} -// which succeeds when it should not. -// -#ifndef _RWSTD_VER -# define STR_COMP(s,p) s.compare(p) -#else -template -inline int string_compare(const std::basic_string& s, const C* p) -{ return s.compare(p); } -inline int string_compare(const std::string& s, const char* p) -{ return std::strcmp(s.c_str(), p); } -# ifndef BOOST_NO_WREGEX -inline int string_compare(const std::wstring& s, const wchar_t* p) -{ return std::wcscmp(s.c_str(), p); } -#endif -# define STR_COMP(s,p) string_compare(s,p) -#endif - -template -inline const charT* re_skip_past_null(const charT* p) -{ - while (*p != 0) ++p; - return ++p; -} - -template -iterator BOOST_REGEX_CALL re_is_set_member(iterator next, - iterator last, - const re_set_long* set_, - const reg_expression& e) -{ - const charT* p = reinterpret_cast(set_+1); - iterator ptr; - unsigned int i; - bool icase = e.flags() & regex_constants::icase; - - if(next == last) return next; - - typedef typename traits_type::string_type traits_string_type; - const traits_type& traits_inst = e.get_traits(); - - // dwa 9/13/00 suppress incorrect MSVC warning - it claims this is never - // referenced - (void)traits_inst; - - // try and match a single character, could be a multi-character - // collating element... - for(i = 0; i < set_->csingles; ++i) - { - ptr = next; - if(*p == 0) - { - // treat null string as special case: - if(traits_inst.translate(*ptr, icase) != *p) - { - while(*p == 0)++p; - continue; - } - return set_->isnot ? next : (ptr == next) ? ++next : ptr; - } - else - { - while(*p && (ptr != last)) - { - if(traits_inst.translate(*ptr, icase) != *p) - break; - ++p; - ++ptr; - } - - if(*p == 0) // if null we've matched - return set_->isnot ? next : (ptr == next) ? ++next : ptr; - - p = re_skip_past_null(p); // skip null - } - } - - charT col = traits_inst.translate(*next, icase); - - - if(set_->cranges || set_->cequivalents) - { - traits_string_type s2(1, col); - traits_string_type s1; - // - // try and match a range, NB only a single character can match - if(set_->cranges) - { - if((e.flags() & regex_constants::collate) == 0) - s1 = s2; - else - traits_inst.transform(s1, s2); - for(i = 0; i < set_->cranges; ++i) - { - if(STR_COMP(s1, p) <= 0) - { - while(*p)++p; - ++p; - if(STR_COMP(s1, p) >= 0) - return set_->isnot ? next : ++next; - } - else - { - // skip first string - while(*p)++p; - ++p; - } - // skip second string - while(*p)++p; - ++p; - } - } - // - // try and match an equivalence class, NB only a single character can match - if(set_->cequivalents) - { - traits_inst.transform_primary(s1, s2); - for(i = 0; i < set_->cequivalents; ++i) - { - if(STR_COMP(s1, p) == 0) - return set_->isnot ? next : ++next; - // skip string - while(*p)++p; - ++p; - } - } - } - if(traits_inst.is_class(col, set_->cclasses) == true) - return set_->isnot ? next : ++next; - return set_->isnot ? ++next : next; -} - -template -struct access_t : public reg_expression -{ - typedef typename is_byte::width_type width_type; - typedef reg_expression base_type; - typedef charT char_type; - typedef traits traits_type; - typedef Allocator alloc_type; - - static int repeat_count(const base_type& b) - { return base_type::repeat_count(b); } - static unsigned int restart_type(const base_type& b) - { return base_type::restart_type(b); } - static const re_syntax_base* first(const base_type& b) - { return base_type::first(b); } - static const unsigned char* get_map(const base_type& b) - { return base_type::get_map(b); } - static std::size_t leading_length(const base_type& b) - { return base_type::leading_length(b); } - static const kmp_info* get_kmp(const base_type& b) - { return base_type::get_kmp(b); } - static bool can_start(char_type c, const unsigned char* _map, unsigned char mask) - { - return reg_expression::can_start(c, _map, mask, width_type()); - } -}; - - -template -class repeater_count -{ - repeater_count** stack; - repeater_count* next; - int id; - unsigned count; // the number of iterations so far - BidiIterator start_pos; // where the last repeat started -public: - repeater_count(repeater_count** s) - { - stack = s; - next = 0; - id = -1; - count = 0; - } - repeater_count(int i, repeater_count** s, BidiIterator start) - : start_pos(start) - { - id = i; - stack = s; - next = *stack; - *stack = this; - if(id > next->id) - count = 0; - else - { - repeater_count* p = next; - while(p->id != id) - p = p->next; - count = p->count; - start_pos = p->start_pos; - } - } - ~repeater_count() - { - *stack = next; - } - unsigned get_count() { return count; } - int get_id() { return id; } - int operator++() { return ++count; } - bool check_null_repeat(const BidiIterator& pos, unsigned max) - { - // this is called when we are about to start a new repeat, - // if the last one was NULL move our count to max, - // otherwise save the current position. - bool result = (count == 0) ? false : (pos == start_pos); - if(result) - count = max; - else - start_pos = pos; - return result; - } -}; - -struct saved_state; - -template -class perl_matcher -{ -public: - typedef typename boost::re_detail::regex_iterator_traits::value_type char_type; - typedef perl_matcher self_type; - typedef bool (self_type::*matcher_proc_type)(void); - typedef access_t access; - typedef typename traits::size_type traits_size_type; - typedef typename traits::uchar_type traits_uchar_type; - typedef typename is_byte::width_type width_type; - typedef typename regex_iterator_traits::difference_type difference_type; - - perl_matcher(BidiIterator first, BidiIterator end, - match_results& what, - const reg_expression& e, - match_flag_type f); - - bool match(); - bool find(); - - void setf(match_flag_type f) - { m_match_flags |= f; } - void unsetf(match_flag_type f) - { m_match_flags &= ~f; } - -private: - void estimate_max_state_count(std::random_access_iterator_tag*); - void estimate_max_state_count(void*); - bool match_prefix(); - bool match_all_states(); - - // match procs, stored in s_match_vtable: - bool match_startmark(); - bool match_endmark(); - bool match_literal(); - bool match_start_line(); - bool match_end_line(); - bool match_wild(); - bool match_match(); - bool match_word_boundary(); - bool match_within_word(); - bool match_word_start(); - bool match_word_end(); - bool match_buffer_start(); - bool match_buffer_end(); - bool match_backref(); - bool match_long_set(); - bool match_set(); - bool match_jump(); - bool match_alt(); - bool match_rep(); - bool match_combining(); - bool match_soft_buffer_end(); - bool match_restart_continue(); - bool match_long_set_repeat(); - bool match_set_repeat(); - bool match_char_repeat(); - bool match_dot_repeat_fast(); - bool match_dot_repeat_slow(); - bool backtrack_till_match(unsigned count); - - // find procs stored in s_find_vtable: - bool find_restart_any(); - bool find_restart_word(); - bool find_restart_line(); - bool find_restart_buf(); - bool find_restart_lit(); - -private: - // final result structure to be filled in: - match_results& m_result; - // temporary result for POSIX matches: - scoped_ptr > m_temp_match; - // pointer to actual result structure to fill in: - match_results* m_presult; - // start of sequence being searched: - BidiIterator base; - // end of sequence being searched: - BidiIterator last; - // current character being examined: - BidiIterator position; - // where to restart next search after failed match attempt: - BidiIterator restart; - // where the current search started from, acts as base for $` during grep: - BidiIterator search_base; - // the expression being examined: - const reg_expression& re; - // the expression's traits class: - const traits& traits_inst; - // the next state in the machine being matched: - const re_syntax_base* pstate; - // matching flags in use: - match_flag_type m_match_flags; - // how many states we have examined so far: - difference_type state_count; - // max number of states to examine before giving up: - difference_type max_state_count; - // whether we should ignore case or not: - bool icase; - // set to true when (position == last), indicates that we may have a partial match: - bool m_has_partial_match; - // set to true whenever we get a match: - bool m_has_found_match; - // the current repeat being examined: - repeater_count* next_count; - // the first repeat being examined (top of linked list): - repeater_count rep_obj; - - // table of functions to match states: - static const matcher_proc_type s_match_vtable[]; - // table of functions to search for matching attempt start: - static const matcher_proc_type s_find_vtable[]; - - -#ifdef BOOST_REGEX_NON_RECURSIVE - // - // additional members for non-recursive version: - // - typedef bool (self_type::*unwind_proc_type)(bool); - - void extend_stack(); - bool unwind(bool); - bool unwind_end(bool); - bool unwind_paren(bool); - bool unwind_recursion_stopper(bool); - bool unwind_assertion(bool); - bool unwind_alt(bool); - bool unwind_repeater_counter(bool); - bool unwind_extra_block(bool); - bool unwind_greedy_single_repeat(bool); - bool unwind_slow_dot_repeat(bool); - bool unwind_fast_dot_repeat(bool); - bool unwind_char_repeat(bool); - bool unwind_short_set_repeat(bool); - bool unwind_long_set_repeat(bool); - bool unwind_non_greedy_repeat(bool); - void destroy_single_repeat(); - void push_matched_paren(int index, const sub_match& sub); - void push_recursion_stopper(); - 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(unsigned c, const re_repeat* r, BidiIterator last_position, int id); - void push_non_greedy_repeat(const re_syntax_base* ps); - - - // pointer to base of stack: - saved_state* m_stack_base; - // pointer to current stack position: - saved_state* m_backup_state; - // determines what value to return when unwinding from recursion, - // allows for mixed recursive/non-recursive algorithm: - bool m_recursive_result; - // how many memory blocks have we used up?: - unsigned used_block_count; - // table of pointers to unwind proceedures: - static const unwind_proc_type s_unwind_table[]; -#endif - - // these operations aren't allowed, so are declared private: - perl_matcher& operator=(const perl_matcher&); - perl_matcher(const perl_matcher&); -}; - -} // namespace re_detail - -} // namespace boost - -// -// include the implementation of perl_matcher: -// -#ifdef BOOST_REGEX_RECURSIVE -#include -#else -#include -#include -#endif -// this one has to be last: -#include - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -#endif diff --git a/include/boost/regex/v4/perl_matcher_common.hpp b/include/boost/regex/v4/perl_matcher_common.hpp deleted file mode 100644 index 41dd2394..00000000 --- a/include/boost/regex/v4/perl_matcher_common.hpp +++ /dev/null @@ -1,832 +0,0 @@ -/* - * - * Copyright (c) 2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE perl_matcher_common.cpp - * VERSION see - * DESCRIPTION: Definitions of perl_matcher member functions that are - * common to both the recursive and non-recursive versions. - */ - -#ifndef BOOST_REGEX_V4_PERL_MATCHER_COMMON_HPP -#define BOOST_REGEX_V4_PERL_MATCHER_COMMON_HPP - -#ifdef __BORLANDC__ -# pragma option push -a8 -b -Vx -Ve -pc -w-8027 -w-8066 -w-8008 -#endif - -namespace boost{ -namespace re_detail{ - -template -perl_matcher::perl_matcher(BidiIterator first, BidiIterator end, - match_results& what, - const reg_expression& e, - match_flag_type f) - : m_result(what), base(first), last(end), - position(first), re(e), traits_inst(e.get_traits()), - next_count(&rep_obj), rep_obj(&next_count) -{ - typedef typename regex_iterator_traits::iterator_category category; - - pstate = 0; - m_match_flags = f; - icase = re.flags() & regex_constants::icase; - estimate_max_state_count(static_cast(0)); - if(!(m_match_flags & (match_perl|match_posix))) - { - if(re.flags() & regex_constants::perlex) - m_match_flags |= match_perl; - else - m_match_flags |= match_posix; - } - if(m_match_flags & match_posix) - { - m_temp_match.reset(new match_results()); - m_presult = m_temp_match.get(); - } - else - m_presult = &m_result; -#ifdef BOOST_REGEX_NON_RECURSIVE - m_stack_base = 0; - m_backup_state = 0; -#endif -} - -template -void perl_matcher::estimate_max_state_count(std::random_access_iterator_tag*) -{ - difference_type dist = boost::re_detail::distance(base, last); - traits_size_type states = static_cast(re.size()); - states *= states; - difference_type lim = std::numeric_limits::max() - 1000 - states; - if(dist > (difference_type)(lim / states)) - max_state_count = lim; - else - max_state_count = 1000 + states * dist; -} -template -void perl_matcher::estimate_max_state_count(void*) -{ - // we don't know how long the sequence is: - max_state_count = BOOST_REGEX_MAX_STATE_COUNT; -} - - - -template -bool perl_matcher::match() -{ -#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD - __try{ -#endif - // initialise our stack if we are non-recursive: -#ifdef BOOST_REGEX_NON_RECURSIVE - save_state_init init(&m_stack_base, &m_backup_state); - used_block_count = BOOST_REGEX_MAX_BLOCKS; - try{ -#endif - - // reset our state machine: - position = base; - search_base = base; - state_count = 0; - m_presult->set_size((m_match_flags & match_nosubs) ? 1 : re.mark_count(), base, last); - m_presult->set_base(base); - if(m_match_flags & match_posix) - m_result = *m_presult; - if(0 == match_prefix()) - return false; - return m_result[0].second == last; - -#ifdef BOOST_REGEX_NON_RECURSIVE - } - catch(...) - { - // unwind all pushed states, apart from anything else this - // ensures that all the states are correctly destructed - // not just the memory freed. - while(unwind(true)){} - throw; - } -#endif -#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD - }__except(EXCEPTION_STACK_OVERFLOW == GetExceptionCode()) - { - reset_stack_guard_page(); - } - // we only get here after a stack overflow: - raise_error(traits_inst, REG_E_MEMORY); - // and we never really get here at all: - return false; -#endif -} - -template -bool perl_matcher::find() -{ -#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD - __try{ -#endif - - // initialise our stack if we are non-recursive: -#ifdef BOOST_REGEX_NON_RECURSIVE - save_state_init init(&m_stack_base, &m_backup_state); - used_block_count = BOOST_REGEX_MAX_BLOCKS; - try{ -#endif - - state_count = 0; - if((m_match_flags & regex_constants::match_init) == 0) - { - // reset our state machine: - position = base; - search_base = base; - pstate = access::first(re); - m_presult->set_size((m_match_flags & match_nosubs) ? 1 : re.mark_count(), base, last); - m_presult->set_base(base); - m_match_flags |= regex_constants::match_init; - } - else - { - // start again: - search_base = position = (*m_presult)[0].second; - // If last match was null and match_not_null was not set then increment - // our start position, otherwise we go into an infinite loop: - if(((m_match_flags & match_not_null) == 0) && (m_presult->length() == 0)) - { - if(position == last) - return false; - else - ++position; - } - // reset $` start: - m_presult->set_size((m_match_flags & match_nosubs) ? 1 : re.mark_count(), search_base, last); - if(base != search_base) - m_match_flags |= match_prev_avail; - } - if(m_match_flags & match_posix) - { - m_result.set_size(re.mark_count(), base, last); - m_result.set_base(base); - } - - // find out what kind of expression we have: - unsigned type = (m_match_flags & match_continuous) ? - static_cast(regbase::restart_continue) - : static_cast(access::restart_type(re)); - - // call the appropriate search routine: - matcher_proc_type proc = s_find_vtable[type]; - return (this->*proc)(); - -#ifdef BOOST_REGEX_NON_RECURSIVE - } - catch(...) - { - // unwind all pushed states, apart from anything else this - // ensures that all the states are correctly destructed - // not just the memory freed. - while(unwind(true)){} - throw; - } -#endif -#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD - }__except(EXCEPTION_STACK_OVERFLOW == GetExceptionCode()) - { - reset_stack_guard_page(); - } - // we only get here after a stack overflow: - raise_error(traits_inst, REG_E_MEMORY); - // and we never really get here at all: - return false; -#endif -} - -template -bool perl_matcher::match_prefix() -{ - m_has_partial_match = false; - m_has_found_match = false; - pstate = access::first(re); - m_presult->set_first(position); - restart = position; - match_all_states(); - if(!m_has_found_match && m_has_partial_match && (m_match_flags & match_partial)) - { - m_has_found_match = true; - m_presult->set_second(last, 0, false); - position = last; - } - if(!m_has_found_match) - position = restart; // reset search postion - return m_has_found_match; -} - -template -bool perl_matcher::match_endmark() -{ - int index = static_cast(pstate)->index; - if(index > 0) - { - if((m_match_flags & match_nosubs) == 0) - m_presult->set_second(position, index); - } - else if(index < 0) - { - // matched forward lookahead: - pstate = 0; - return true; - } - pstate = pstate->next.p; - return true; -} - -template -bool perl_matcher::match_literal() -{ - unsigned int len = static_cast(pstate)->length; - const char_type* what = reinterpret_cast(static_cast(pstate) + 1); - // - // compare string with what we stored in - // our records: - for(unsigned int i = 0; i < len; ++i, ++position) - { - if((position == last) || (traits_inst.translate(*position, icase) != what[i])) - return false; - } - pstate = pstate->next.p; - return true; -} - -template -bool perl_matcher::match_start_line() -{ - if((position == base) && ((m_match_flags & match_prev_avail) == 0)) - { - if((m_match_flags & match_not_bol) == 0) - { - pstate = pstate->next.p; - return true; - } - return false; - } - - // check the previous value character: - BidiIterator t(position); - --t; - if(position != last) - { - if(traits_inst.is_separator(*t) && !((*t == '\r') && (*position == '\n')) ) - { - pstate = pstate->next.p; - return true; - } - } - else if(traits_inst.is_separator(*t)) - { - pstate = pstate->next.p; - return true; - } - return false; -} - -template -bool perl_matcher::match_end_line() -{ - if(position != last) - { - // we're not yet at the end so *first is always valid: - if(traits_inst.is_separator(*position)) - { - if((position != base) || (m_match_flags & match_prev_avail)) - { - // check that we're not in the middle of \r\n sequence - BidiIterator t(position); - --t; - if((*t == '\r') && (*position == '\n')) - { - return false; - } - } - pstate = pstate->next.p; - return true; - } - } - else if((m_match_flags & match_not_eol) == 0) - { - pstate = pstate->next.p; - return true; - } - return false; -} - -template -bool perl_matcher::match_wild() -{ - if(position == last) - return false; - if(traits_inst.is_separator(*position) && (m_match_flags & match_not_dot_newline)) - return false; - if((*position == char_type(0)) && (m_match_flags & match_not_dot_null)) - return false; - pstate = pstate->next.p; - ++position; - return true; -} - -template -bool perl_matcher::match_match() -{ - if((m_match_flags & match_not_null) && (position == (*m_presult)[0].first)) - return false; - if((m_match_flags & match_all) && (position != last)) - return false; - if((m_match_flags & regex_constants::match_not_initial_null) && (position == search_base)) - return false; - m_presult->set_second(position); - pstate = 0; - m_has_found_match = true; - if((m_match_flags & (match_posix|match_any)) == match_posix) - { - m_result.maybe_assign(*m_presult); - return false; - } - return true; -} - -template -bool perl_matcher::match_word_boundary() -{ - bool b; // indcates whether next character is a word character - if(position != last) - { - // prev and this character must be opposites: - #if defined(BOOST_REGEX_USE_C_LOCALE) && defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ < 95) - b = traits::is_class(*position, traits::char_class_word); - #else - b = traits_inst.is_class(*position, traits::char_class_word); - #endif - } - else - { - b = (m_match_flags & match_not_eow) ? true : false; - } - if((position == base) && ((m_match_flags & match_prev_avail) == 0)) - { - if(m_match_flags & match_not_bow) - b ^= true; - else - b ^= false; - } - else - { - --position; - b ^= traits_inst.is_class(*position, traits::char_class_word); - ++position; - } - if(b) - { - pstate = pstate->next.p; - return true; - } - return false; // no match if we get to here... -} - -template -bool perl_matcher::match_within_word() -{ - if(position == last) - return false; - // both prev and this character must be traits::char_class_word: - if(traits_inst.is_class(*position, traits::char_class_word)) - { - bool b; - if((position == base) && ((m_match_flags & match_prev_avail) == 0)) - return false; - else - { - --position; - b = traits_inst.is_class(*position, traits::char_class_word); - ++position; - } - if(b) - { - pstate = pstate->next.p; - return true; - } - } - return false; -} - -template -bool perl_matcher::match_word_start() -{ - if(position == last) - return false; // can't be starting a word if we're already at the end of input - if(!traits_inst.is_class(*position, traits::char_class_word)) - return false; // next character isn't a word character - if((position == base) && ((m_match_flags & match_prev_avail) == 0)) - { - if(m_match_flags & match_not_bow) - return false; // no previous input - } - else - { - // otherwise inside buffer: - BidiIterator t(position); - --t; - if(traits_inst.is_class(*t, traits::char_class_word)) - return false; // previous character not non-word - } - // OK we have a match: - pstate = pstate->next.p; - return true; -} - -template -bool perl_matcher::match_word_end() -{ - if((position == base) && ((m_match_flags & match_prev_avail) == 0)) - return false; // start of buffer can't be end of word - BidiIterator t(position); - --t; - if(traits_inst.is_class(*t, traits::char_class_word) == false) - return false; // previous character wasn't a word character - - if(position == last) - { - if(m_match_flags & match_not_eow) - return false; // end of buffer but not end of word - } - else - { - // otherwise inside buffer: - if(traits_inst.is_class(*position, traits::char_class_word)) - return false; // next character is a word character - } - pstate = pstate->next.p; - return true; // if we fall through to here then we've succeeded -} - -template -bool perl_matcher::match_buffer_start() -{ - if((position != base) || (m_match_flags & match_not_bob)) - return false; - // OK match: - pstate = pstate->next.p; - return true; -} - -template -bool perl_matcher::match_buffer_end() -{ - if((position != last) || (m_match_flags & match_not_eob)) - return false; - // OK match: - pstate = pstate->next.p; - return true; -} - -template -bool perl_matcher::match_backref() -{ - // compare with what we previously matched: - BidiIterator i = (*m_presult)[static_cast(pstate)->index].first; - BidiIterator j = (*m_presult)[static_cast(pstate)->index].second; - while(i != j) - { - if((position == last) || (traits_inst.translate(*position, icase) != traits_inst.translate(*i, icase))) - return false; - ++i; - ++position; - } - pstate = pstate->next.p; - return true; -} - -template -bool perl_matcher::match_long_set() -{ - // let the traits class do the work: - if(position == last) - return false; - BidiIterator t = re_is_set_member(position, last, static_cast(pstate), re); - if(t != position) - { - pstate = pstate->next.p; - position = t; - return true; - } - return false; -} - -template -bool perl_matcher::match_set() -{ - if(position == last) - return false; - if(static_cast(pstate)->_map[(traits_uchar_type)traits_inst.translate(*position, icase)]) - { - pstate = pstate->next.p; - ++position; - return true; - } - return false; -} - -template -bool perl_matcher::match_jump() -{ - pstate = static_cast(pstate)->alt.p; - return true; -} - -template -bool perl_matcher::match_combining() -{ - if(position == last) - return false; - if(traits_inst.is_combining(traits_inst.translate(*position, icase))) - return false; - ++position; - while((position != last) && traits_inst.is_combining(traits_inst.translate(*position, icase))) - ++position; - pstate = pstate->next.p; - return true; -} - -template -bool perl_matcher::match_soft_buffer_end() -{ - if(m_match_flags & match_not_eob) - return false; - BidiIterator p(position); - while((p != last) && traits_inst.is_separator(traits_inst.translate(*p, icase)))++p; - if(p != last) - return false; - pstate = pstate->next.p; - return true; -} - -template -bool perl_matcher::match_restart_continue() -{ - if(position == search_base) - { - pstate = pstate->next.p; - return true; - } - return false; -} - -template -bool perl_matcher::find_restart_any() -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127) -#endif - const unsigned char* _map = access::get_map(re); - while(true) - { - // skip everything we can't match: - while((position != last) && !access::can_start(*position, _map, (unsigned char)mask_any) ) - ++position; - if(position == last) - { - // run out of characters, try a null match if possible: - if(access::first(re)->can_be_null) - return match_prefix(); - break; - } - // now try and obtain a match: - if(match_prefix()) - return true; - if(position == last) - return false; - ++position; - } - return false; -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -bool perl_matcher::find_restart_word() -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127) -#endif - // do search optimised for word starts: - const unsigned char* _map = access::get_map(re); - if((m_match_flags & match_prev_avail) || (position != base)) - --position; - else if(match_prefix()) - return true; - do - { - while((position != last) && traits_inst.is_class(*position, traits::char_class_word)) - ++position; - while((position != last) && !traits_inst.is_class(*position, traits::char_class_word)) - ++position; - if(position == last) - break; - - if(access::can_start(*position, _map, (unsigned char)mask_any) ) - { - if(match_prefix()) - return true; - } - if(position == last) - break; - } while(true); - return false; -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -bool perl_matcher::find_restart_line() -{ - // do search optimised for line starts: - const unsigned char* _map = access::get_map(re); - if(match_prefix()) - return true; - while(position != last) - { - while((position != last) && (*position != '\n')) - ++position; - if(position == last) - return false; - ++position; - if(position == last) - { - if((access::first(re)->can_be_null) && match_prefix()) - return true; - return false; - } - - if( access::can_start(*position, _map, (unsigned char)mask_any) ) - { - if(match_prefix()) - return true; - } - if(position == last) - return false; - ++position; - } - return false; -} - -template -bool perl_matcher::find_restart_buf() -{ - if((position == base) && ((m_match_flags & match_not_bob) == 0)) - return match_prefix(); - return false; -} - -template -bool perl_matcher::find_restart_lit() -{ - if(position == last) - return false; // can't possibly match if we're at the end already - - unsigned type = (m_match_flags & match_continuous) ? - static_cast(regbase::restart_continue) - : static_cast(access::restart_type(re)); - - const kmp_info* info = access::get_kmp(re); - int len = info->len; - const char_type* x = info->pstr; - int j = 0; - bool icase = re.flags() & regex_constants::icase; - while (position != last) - { - while((j > -1) && (x[j] != traits_inst.translate(*position, icase))) - j = info->kmp_next[j]; - ++position; - ++j; - if(j >= len) - { - if(type == regbase::restart_fixed_lit) - { - std::advance(position, -j); - restart = position; - std::advance(restart, len); - m_result.set_first(position); - m_result.set_second(restart); - position = restart; - return true; - } - else - { - restart = position; - std::advance(position, -j); - if(match_prefix()) - return true; - else - { - for(int k = 0; (restart != position) && (k < j); ++k, --restart) - {} // dwa 10/20/2000 - warning suppression for MWCW - if(restart != last) - ++restart; - position = restart; - j = 0; //we could do better than this... - } - } - } - } - if((m_match_flags & match_partial) && (position == last) && j) - { - // we need to check for a partial match: - restart = position; - std::advance(position, -j); - return match_prefix(); - } - return false; -} - -template -typename perl_matcher::matcher_proc_type const -perl_matcher::s_match_vtable[] = -{ - (&perl_matcher::match_startmark), - &perl_matcher::match_endmark, - &perl_matcher::match_literal, - &perl_matcher::match_start_line, - &perl_matcher::match_end_line, - &perl_matcher::match_wild, - &perl_matcher::match_match, - &perl_matcher::match_word_boundary, - &perl_matcher::match_within_word, - &perl_matcher::match_word_start, - &perl_matcher::match_word_end, - &perl_matcher::match_buffer_start, - &perl_matcher::match_buffer_end, - &perl_matcher::match_backref, - &perl_matcher::match_long_set, - &perl_matcher::match_set, - &perl_matcher::match_jump, - &perl_matcher::match_alt, - &perl_matcher::match_rep, - &perl_matcher::match_combining, - &perl_matcher::match_soft_buffer_end, - &perl_matcher::match_restart_continue, -#if 0 - &perl_matcher::match_rep, - &perl_matcher::match_rep, - &perl_matcher::match_rep, - &perl_matcher::match_rep, -#else -#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1300) - &perl_matcher::match_dot_repeat_fast, -#else - (::boost::is_random_access_iterator::value ? &perl_matcher::match_dot_repeat_fast : &perl_matcher::match_dot_repeat_slow), -#endif - &perl_matcher::match_char_repeat, - &perl_matcher::match_set_repeat, - &perl_matcher::match_long_set_repeat, -#endif -}; - -template -typename perl_matcher::matcher_proc_type const -perl_matcher::s_find_vtable[] = -{ - &perl_matcher::find_restart_any, - &perl_matcher::find_restart_word, - &perl_matcher::find_restart_line, - &perl_matcher::find_restart_buf, - &perl_matcher::match_prefix, - &perl_matcher::find_restart_lit, - &perl_matcher::find_restart_lit, -}; - -} // namespace re_detail - -} // namespace boost - -#ifdef __BORLANDC__ -# pragma option pop -#endif - -#endif diff --git a/include/boost/regex/v4/perl_matcher_non_recursive.hpp b/include/boost/regex/v4/perl_matcher_non_recursive.hpp deleted file mode 100644 index da4ef191..00000000 --- a/include/boost/regex/v4/perl_matcher_non_recursive.hpp +++ /dev/null @@ -1,1231 +0,0 @@ -/* - * - * Copyright (c) 2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE perl_matcher_common.cpp - * VERSION see - * DESCRIPTION: Definitions of perl_matcher member functions that are - * specific to the non-recursive implementation. - */ - -#ifndef BOOST_REGEX_V4_PERL_MATCHER_NON_RECURSIVE_HPP -#define BOOST_REGEX_V4_PERL_MATCHER_NON_RECURSIVE_HPP - -#include - -#ifdef __BORLANDC__ -# pragma option push -a8 -b -Vx -Ve -pc -w-8027 -w-8066 -w-8008 -#endif - -namespace boost{ -namespace re_detail{ - -template -inline void inplace_destroy(T* p) -{ - (void)p; // warning suppression - p->~T(); -} - -enum saved_state_type -{ - saved_type_end = 0, - saved_type_paren = 1, - saved_type_recurse = 2, - saved_type_assertion = 3, - saved_state_alt = 4, - saved_state_repeater_count = 5, - saved_state_extra_block = 6, - saved_state_greedy_single_repeat = 7, - saved_state_rep_slow_dot = 8, - saved_state_rep_fast_dot = 9, - saved_state_rep_char = 10, - saved_state_rep_short_set = 11, - saved_state_rep_long_set = 12, - saved_state_non_greedy_long_repeat = 13 -}; - -struct saved_state -{ - unsigned int id; - saved_state(unsigned i) : id(i) {} -}; - -template -struct saved_matched_paren : public saved_state -{ - int index; - sub_match sub; - saved_matched_paren(int i, const sub_match& s) : saved_state(1), index(i), sub(s){}; -}; - -template -struct saved_position : public saved_state -{ - const re_syntax_base* pstate; - BidiIterator position; - saved_position(const re_syntax_base* ps, BidiIterator pos, int i) : saved_state(i), pstate(ps), position(pos){}; -}; - -template -struct saved_assertion : public saved_position -{ - bool positive; - saved_assertion(bool p, const re_syntax_base* ps, BidiIterator pos) - : saved_position(ps, pos, saved_type_assertion), positive(p){}; -}; - -template -struct saved_repeater : public saved_state -{ - repeater_count count; - saved_repeater(int i, repeater_count** s, BidiIterator start) - : saved_state(saved_state_repeater_count), count(i,s,start){} -}; - -struct saved_extra_block : public saved_state -{ - saved_state *base, *end; - saved_extra_block(saved_state* b, saved_state* e) - : saved_state(saved_state_extra_block), base(b), end(e) {} -}; - -struct save_state_init -{ - saved_state** stack; - save_state_init(saved_state** base, saved_state** end) - : stack(base) - { - *base = static_cast(block_cache.get()); - *end = reinterpret_cast(reinterpret_cast(*base)+BOOST_REGEX_BLOCKSIZE); - --(*end); - new (*end)saved_state(0); - assert(*end > *base); - } - ~save_state_init() - { - block_cache.put(*stack); - *stack = 0; - } -}; - -template -struct saved_single_repeat : public saved_state -{ - unsigned count; - const re_repeat* rep; - BidiIterator last_position; - saved_single_repeat(unsigned c, const re_repeat* r, BidiIterator lp, int id) - : saved_state(id), count(c), rep(r), last_position(lp){} -}; - -template -bool perl_matcher::match_all_states() -{ - push_recursion_stopper(); - do{ - while(pstate) - { - matcher_proc_type proc = s_match_vtable[pstate->type]; - ++state_count; - if(!(this->*proc)()) - { - if(state_count > max_state_count) - raise_error(traits_inst, REG_ESPACE); - if((m_match_flags & match_partial) && (position == last)) - m_has_partial_match = true; - if(false == unwind(false)) - return m_recursive_result; - } - } - }while(unwind(true)); - return m_recursive_result; -} - -template -void perl_matcher::extend_stack() -{ - if(used_block_count) - { - --used_block_count; - saved_state* stack_base; - saved_state* backup_state; - stack_base = static_cast(block_cache.get()); - backup_state = reinterpret_cast(reinterpret_cast(stack_base)+BOOST_REGEX_BLOCKSIZE); - saved_extra_block* block = static_cast(backup_state); - --block; - new (block) saved_extra_block(m_stack_base, m_backup_state); - m_stack_base = stack_base; - m_backup_state = block; - } - else - raise_error(traits_inst, REG_E_MEMORY); -} - -template -inline void perl_matcher::push_matched_paren(int index, const sub_match& sub) -{ - assert(index); - saved_matched_paren* pmp = static_cast*>(m_backup_state); - --pmp; - if(pmp < m_stack_base) - { - extend_stack(); - pmp = static_cast*>(m_backup_state); - --pmp; - } - new (pmp)saved_matched_paren(index, sub); - m_backup_state = pmp; -} - -template -inline void perl_matcher::push_recursion_stopper() -{ - saved_state* pmp = m_backup_state; - --pmp; - if(pmp < m_stack_base) - { - extend_stack(); - pmp = m_backup_state; - --pmp; - } - new (pmp)saved_state(saved_type_recurse); - m_backup_state = pmp; -} - -template -inline void perl_matcher::push_assertion(const re_syntax_base* ps, bool positive) -{ - saved_assertion* pmp = static_cast*>(m_backup_state); - --pmp; - if(pmp < m_stack_base) - { - extend_stack(); - pmp = static_cast*>(m_backup_state); - --pmp; - } - new (pmp)saved_assertion(positive, ps, position); - m_backup_state = pmp; -} - -template -inline void perl_matcher::push_alt(const re_syntax_base* ps) -{ - saved_position* pmp = static_cast*>(m_backup_state); - --pmp; - if(pmp < m_stack_base) - { - extend_stack(); - pmp = static_cast*>(m_backup_state); - --pmp; - } - new (pmp)saved_position(ps, position, saved_state_alt); - m_backup_state = pmp; -} - -template -inline void perl_matcher::push_non_greedy_repeat(const re_syntax_base* ps) -{ - saved_position* pmp = static_cast*>(m_backup_state); - --pmp; - if(pmp < m_stack_base) - { - extend_stack(); - pmp = static_cast*>(m_backup_state); - --pmp; - } - new (pmp)saved_position(ps, position, saved_state_non_greedy_long_repeat); - m_backup_state = pmp; -} - -template -inline void perl_matcher::push_repeater_count(int i, repeater_count** s) -{ - saved_repeater* pmp = static_cast*>(m_backup_state); - --pmp; - if(pmp < m_stack_base) - { - extend_stack(); - pmp = static_cast*>(m_backup_state); - --pmp; - } - new (pmp)saved_repeater(i, s, position); - m_backup_state = pmp; -} - -template -inline void perl_matcher::push_single_repeat(unsigned c, const re_repeat* r, BidiIterator last_position, int id) -{ - saved_single_repeat* pmp = static_cast*>(m_backup_state); - --pmp; - if(pmp < m_stack_base) - { - extend_stack(); - pmp = static_cast*>(m_backup_state); - --pmp; - } - new (pmp)saved_single_repeat(c, r, last_position, id); - m_backup_state = pmp; -} - -template -bool perl_matcher::match_startmark() -{ - int index = static_cast(pstate)->index; - switch(index) - { - case 0: - pstate = pstate->next.p; - break; - case -1: - case -2: - { - // forward lookahead assert: - const re_syntax_base* next_pstate = static_cast(pstate->next.p)->alt.p->next.p; - pstate = pstate->next.p->next.p; - push_assertion(next_pstate, index == -1); - break; - } - case -3: - { - // independent sub-expression: - const re_syntax_base* next_pstate = static_cast(pstate->next.p)->alt.p->next.p; - pstate = pstate->next.p->next.p; - bool r = match_all_states(); - pstate = next_pstate; - return r; - } - default: - { - assert(index > 0); - if((m_match_flags & match_nosubs) == 0) - { - push_matched_paren(index, (*m_presult)[index]); - m_presult->set_first(position, index); - } - pstate = pstate->next.p; - break; - } - } - return true; -} - -template -bool perl_matcher::match_alt() -{ - bool take_first, take_second; - const re_jump* jmp = static_cast(pstate); - - // find out which of these two alternatives we need to take: - if(position == last) - { - take_first = jmp->can_be_null & mask_take; - take_second = jmp->can_be_null & mask_skip; - } - else - { - take_first = access::can_start(*position, jmp->_map, (unsigned char)mask_take); - take_second = access::can_start(*position, jmp->_map, (unsigned char)mask_skip); - } - - if(take_first) - { - // we can take the first alternative, - // see if we need to push next alternative: - if(take_second) - { - push_alt(jmp->alt.p); - } - pstate = pstate->next.p; - return true; - } - if(take_second) - { - pstate = jmp->alt.p; - return true; - } - return false; // neither option is possible -} - -template -bool perl_matcher::match_rep() -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127 4244) -#endif - const re_repeat* rep = static_cast(pstate); - - // find out which of these two alternatives we need to take: - bool take_first, take_second; - if(position == last) - { - take_first = rep->can_be_null & mask_take; - take_second = rep->can_be_null & mask_skip; - } - else - { - take_first = access::can_start(*position, rep->_map, (unsigned char)mask_take); - take_second = access::can_start(*position, rep->_map, (unsigned char)mask_skip); - } - - if(take_first || (next_count->get_id() != rep->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); - } - // - // If we've had at least one repeat already, and the last one - // matched the NULL string then set the repeat count to - // maximum: - // - next_count->check_null_repeat(position, rep->max); - - if(next_count->get_count() < rep->min) - { - // we must take the repeat: - if(take_first) - { - // increase the counter: - ++(*next_count); - pstate = rep->next.p; - return true; - } - return false; - } - - if(rep->greedy) - { - // try and take the repeat if we can: - if((next_count->get_count() < rep->max) && take_first) - { - if(take_second) - { - // store position in case we fail: - push_alt(rep->alt.p); - } - // increase the counter: - ++(*next_count); - pstate = rep->next.p; - return true; - } - else if(take_second) - { - pstate = rep->alt.p; - return true; - } - return false; // can't take anything, fail... - } - else // non-greedy - { - // try and skip the repeat if we can: - if(take_second) - { - // store position in case we fail: - push_non_greedy_repeat(rep->next.p); - pstate = rep->alt.p; - return true; - } - if((next_count->get_count() < rep->max) && take_first) - { - // increase the counter: - ++(*next_count); - pstate = rep->next.p; - return true; - } - } - return false; -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -bool perl_matcher::match_dot_repeat_slow() -{ - unsigned count = 0; - const re_repeat* rep = static_cast(pstate); - re_syntax_base* psingle = rep->next.p; - // match compulsary repeats first: - while(count < rep->min) - { - pstate = psingle; - if(!match_wild()) - return false; - ++count; - } - if(rep->greedy) - { - // repeat for as long as we can: - while(count < rep->max) - { - pstate = psingle; - if(!match_wild()) - break; - ++count; - } - // remember where we got to if this is a leading repeat: - if((rep->leading) && (count < rep->max)) - restart = position; - // push backtrack info if available: - if(count - rep->min) - push_single_repeat(count, rep, position, saved_state_greedy_single_repeat); - // jump to next state: - pstate = rep->alt.p; - return true; - } - else - { - // non-greedy, push state and return true if we can skip: - if(count < rep->max) - push_single_repeat(count, rep, position, saved_state_rep_slow_dot); - pstate = rep->alt.p; - return (position == last) ? (rep->can_be_null & mask_skip) : access::can_start(*position, rep->_map, mask_skip); - } -} - -template -bool perl_matcher::match_dot_repeat_fast() -{ - if(m_match_flags & (match_not_dot_newline | match_not_dot_null)) - return match_dot_repeat_slow(); - - const re_repeat* rep = static_cast(pstate); - unsigned count = std::min(static_cast(re_detail::distance(position, last)), (rep->greedy ? rep->max : rep->min)); - if(rep->min > count) - return false; // not enough text left to match - std::advance(position, count); - - if(rep->greedy) - { - if((rep->leading) && (count < rep->max)) - restart = position; - // push backtrack info if available: - if(count - rep->min) - push_single_repeat(count, rep, position, saved_state_greedy_single_repeat); - // jump to next state: - pstate = rep->alt.p; - return true; - } - else - { - // non-greedy, push state and return true if we can skip: - if(count < rep->max) - push_single_repeat(count, rep, position, saved_state_rep_fast_dot); - pstate = rep->alt.p; - return (position == last) ? (rep->can_be_null & mask_skip) : access::can_start(*position, rep->_map, mask_skip); - } -} - -template -bool perl_matcher::match_char_repeat() -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127) -#endif - const re_repeat* rep = static_cast(pstate); - assert(1 == static_cast(rep->next.p)->length); - const char_type what = *reinterpret_cast(static_cast(rep->next.p) + 1); - unsigned count = 0; - // - // start by working out how much we can skip: - // - unsigned desired = rep->greedy ? rep->max : rep->min; - if(::boost::is_random_access_iterator::value) - { - BidiIterator end = position; - end += std::min((unsigned)re_detail::distance(position, last), desired); - BidiIterator origin(position); - while((position != end) && (traits_inst.translate(*position, icase) == what)) - { - ++position; - } - count = (unsigned)re_detail::distance(origin, position); - } - else - { - while((count < desired) && (position != last) && (traits_inst.translate(*position, icase) == what)) - { - ++position; - ++count; - } - } - - if(count < rep->min) - return false; - - if(rep->greedy) - { - if((rep->leading) && (count < rep->max)) - restart = position; - // push backtrack info if available: - if(count - rep->min) - push_single_repeat(count, rep, position, saved_state_greedy_single_repeat); - // jump to next state: - pstate = rep->alt.p; - return true; - } - else - { - // non-greedy, push state and return true if we can skip: - if(count < rep->max) - push_single_repeat(count, rep, position, saved_state_rep_char); - pstate = rep->alt.p; - return (position == last) ? (rep->can_be_null & mask_skip) : access::can_start(*position, rep->_map, mask_skip); - } -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -bool perl_matcher::match_set_repeat() -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127) -#endif - const re_repeat* rep = static_cast(pstate); - const unsigned char* map = static_cast(rep->next.p)->_map; - unsigned count = 0; - // - // start by working out how much we can skip: - // - unsigned desired = rep->greedy ? rep->max : rep->min; - if(::boost::is_random_access_iterator::value) - { - BidiIterator end = position; - end += std::min((unsigned)re_detail::distance(position, last), desired); - BidiIterator origin(position); - while((position != end) && map[(traits_uchar_type)traits_inst.translate(*position, icase)]) - { - ++position; - } - count = (unsigned)re_detail::distance(origin, position); - } - else - { - while((count < desired) && (position != last) && map[(traits_uchar_type)traits_inst.translate(*position, icase)]) - { - ++position; - ++count; - } - } - - if(count < rep->min) - return false; - - if(rep->greedy) - { - if((rep->leading) && (count < rep->max)) - restart = position; - // push backtrack info if available: - if(count - rep->min) - push_single_repeat(count, rep, position, saved_state_greedy_single_repeat); - // jump to next state: - pstate = rep->alt.p; - return true; - } - else - { - // non-greedy, push state and return true if we can skip: - if(count < rep->max) - push_single_repeat(count, rep, position, saved_state_rep_short_set); - pstate = rep->alt.p; - return (position == last) ? (rep->can_be_null & mask_skip) : access::can_start(*position, rep->_map, mask_skip); - } -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -bool perl_matcher::match_long_set_repeat() -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127) -#endif - const re_repeat* rep = static_cast(pstate); - const re_set_long* set = static_cast(pstate->next.p); - unsigned count = 0; - // - // start by working out how much we can skip: - // - unsigned desired = rep->greedy ? rep->max : rep->min; - if(::boost::is_random_access_iterator::value) - { - BidiIterator end = position; - end += std::min((unsigned)re_detail::distance(position, last), desired); - BidiIterator origin(position); - while((position != end) && (position != re_is_set_member(position, last, set, re))) - { - ++position; - } - count = (unsigned)re_detail::distance(origin, position); - } - else - { - while((count < desired) && (position != last) && (position != re_is_set_member(position, last, set, re))) - { - ++position; - ++count; - } - } - - if(count < rep->min) - return false; - - if(rep->greedy) - { - if((rep->leading) && (count < rep->max)) - restart = position; - // push backtrack info if available: - if(count - rep->min) - push_single_repeat(count, rep, position, saved_state_greedy_single_repeat); - // jump to next state: - pstate = rep->alt.p; - return true; - } - else - { - // non-greedy, push state and return true if we can skip: - if(count < rep->max) - push_single_repeat(count, rep, position, saved_state_rep_long_set); - pstate = rep->alt.p; - return (position == last) ? (rep->can_be_null & mask_skip) : access::can_start(*position, rep->_map, mask_skip); - } -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -/**************************************************************************** - -Unwind and associated proceedures follow, these perform what normal stack -unwinding does in the recursive implementation. - -****************************************************************************/ - -template -bool perl_matcher::unwind(bool have_match) -{ - m_recursive_result = have_match; - unwind_proc_type unwinder; - bool cont; - // - // keep unwinding our stack until we have something to do: - // - do - { - unwinder = s_unwind_table[m_backup_state->id]; - cont = (this->*unwinder)(m_recursive_result); - }while(cont); - // - // return true if we have more states to try: - // - return pstate ? true : false; -} - -template -bool perl_matcher::unwind_end(bool) -{ - pstate = 0; // nothing left to search - return false; // end of stack nothing more to search -} - -template -bool perl_matcher::unwind_paren(bool have_match) -{ - saved_matched_paren* pmp = static_cast*>(m_backup_state); - // restore previous values if no match was found: - if(have_match == false) - { - m_presult->set_first(pmp->sub.first, pmp->index); - m_presult->set_second(pmp->sub.second, pmp->index, pmp->sub.matched); - } - // unwind stack: - m_backup_state = pmp+1; - boost::re_detail::inplace_destroy(pmp); - return true; // keep looking -} - -template -bool perl_matcher::unwind_recursion_stopper(bool) -{ - boost::re_detail::inplace_destroy(m_backup_state++); - pstate = 0; // nothing left to search - return false; // end of stack nothing more to search -} - -template -bool perl_matcher::unwind_assertion(bool r) -{ - saved_assertion* pmp = static_cast*>(m_backup_state); - pstate = pmp->pstate; - position = pmp->position; - bool result = (r == pmp->positive); - m_recursive_result = pmp->positive ? r : !r; - boost::re_detail::inplace_destroy(pmp++); - m_backup_state = pmp; - return !result; // return false if the assertion was matched to stop search. -} - -template -bool perl_matcher::unwind_alt(bool r) -{ - saved_position* pmp = static_cast*>(m_backup_state); - if(!r) - { - pstate = pmp->pstate; - position = pmp->position; - } - boost::re_detail::inplace_destroy(pmp++); - m_backup_state = pmp; - return r; -} - -template -bool perl_matcher::unwind_repeater_counter(bool) -{ - saved_repeater* pmp = static_cast*>(m_backup_state); - boost::re_detail::inplace_destroy(pmp++); - m_backup_state = pmp; - return true; // keep looking -} - -template -bool perl_matcher::unwind_extra_block(bool) -{ - saved_extra_block* pmp = static_cast(m_backup_state); - void* condemmed = m_stack_base; - m_stack_base = pmp->base; - m_backup_state = pmp->end; - boost::re_detail::inplace_destroy(pmp); - block_cache.put(condemmed); - return true; // keep looking -} - -template -inline void perl_matcher::destroy_single_repeat() -{ - saved_single_repeat* p = static_cast*>(m_backup_state); - boost::re_detail::inplace_destroy(p++); - m_backup_state = p; -} - -template -bool perl_matcher::unwind_greedy_single_repeat(bool r) -{ - saved_single_repeat* pmp = static_cast*>(m_backup_state); - - // if we have a match, just discard this state: - if(r) - { - destroy_single_repeat(); - return true; - } - - const re_repeat* rep = pmp->rep; - unsigned count = pmp->count; - assert(rep->next.p); - assert(rep->alt.p); - - count -= rep->min; - - if((m_match_flags & match_partial) && (position == last)) - m_has_partial_match = true; - - assert(count); - position = pmp->last_position; - - // backtrack till we can skip out: - do - { - --position; - --count; - ++state_count; - }while(count && !access::can_start(*position, rep->_map, mask_skip)); - - // if we've hit base, destroy this state: - if(count == 0) - { - destroy_single_repeat(); - if(!access::can_start(*position, rep->_map, mask_skip)) - return true; - } - else - { - pmp->count = count + rep->min; - pmp->last_position = position; - } - pstate = rep->alt.p; - return false; -} - -template -bool perl_matcher::unwind_slow_dot_repeat(bool r) -{ - saved_single_repeat* pmp = static_cast*>(m_backup_state); - - // if we have a match, just discard this state: - if(r) - { - destroy_single_repeat(); - return true; - } - - const re_repeat* rep = pmp->rep; - unsigned count = pmp->count; - assert(rep->type == syntax_element_dot_rep); - assert(rep->next.p); - assert(rep->alt.p); - assert(rep->next.p->type == syntax_element_wild); - - assert(count < rep->max); - pstate = rep->next.p; - position = pmp->last_position; - - if(position != last) - { - // wind forward until we can skip out of the repeat: - do - { - if(!match_wild()) - { - // failed repeat match, discard this state and look for another: - destroy_single_repeat(); - return true; - } - ++count; - ++state_count; - pstate = rep->next.p; - }while((count < rep->max) && (position != last) && !access::can_start(*position, rep->_map, mask_skip)); - } - if(position == last) - { - // can't repeat any more, remove the pushed state: - destroy_single_repeat(); - if(rep->can_be_null & mask_skip) - return true; - } - else if(count == rep->max) - { - // can't repeat any more, remove the pushed state: - destroy_single_repeat(); - if(!access::can_start(*position, rep->_map, mask_skip)) - return true; - } - else - { - pmp->count = count; - pmp->last_position = position; - } - pstate = rep->alt.p; - return false; -} - -template -bool perl_matcher::unwind_fast_dot_repeat(bool r) -{ - saved_single_repeat* pmp = static_cast*>(m_backup_state); - - // if we have a match, just discard this state: - if(r) - { - destroy_single_repeat(); - return true; - } - - const re_repeat* rep = pmp->rep; - unsigned count = pmp->count; - - assert(count < rep->max); - position = pmp->last_position; - if(position != last) - { - - // wind forward until we can skip out of the repeat: - do - { - ++position; - ++count; - ++state_count; - }while((count < rep->max) && (position != last) && !access::can_start(*position, rep->_map, mask_skip)); - } - - if(position == last) - { - // can't repeat any more, remove the pushed state: - destroy_single_repeat(); - if(rep->can_be_null & mask_skip) - return true; - } - else if(count == rep->max) - { - // can't repeat any more, remove the pushed state: - destroy_single_repeat(); - if(!access::can_start(*position, rep->_map, mask_skip)) - return true; - } - else - { - pmp->count = count; - pmp->last_position = position; - } - pstate = rep->alt.p; - return false; -} - -template -bool perl_matcher::unwind_char_repeat(bool r) -{ - saved_single_repeat* pmp = static_cast*>(m_backup_state); - - // if we have a match, just discard this state: - if(r) - { - destroy_single_repeat(); - return true; - } - - const re_repeat* rep = pmp->rep; - unsigned count = pmp->count; - pstate = rep->next.p; - const char_type what = *reinterpret_cast(static_cast(pstate) + 1); - position = pmp->last_position; - - assert(rep->type == syntax_element_char_rep); - assert(rep->next.p); - assert(rep->alt.p); - assert(rep->next.p->type == syntax_element_literal); - assert(count < rep->max); - - if(position != last) - { - // wind forward until we can skip out of the repeat: - do - { - if(traits_inst.translate(*position, icase) != what) - { - // failed repeat match, discard this state and look for another: - destroy_single_repeat(); - return true; - } - ++count; - ++ position; - ++state_count; - pstate = rep->next.p; - }while((count < rep->max) && (position != last) && !access::can_start(*position, rep->_map, mask_skip)); - } - if(position == last) - { - // can't repeat any more, remove the pushed state: - destroy_single_repeat(); - if(rep->can_be_null & mask_skip) - return true; - } - else if(count == rep->max) - { - // can't repeat any more, remove the pushed state: - destroy_single_repeat(); - if(!access::can_start(*position, rep->_map, mask_skip)) - return true; - } - else - { - pmp->count = count; - pmp->last_position = position; - } - pstate = rep->alt.p; - return false; -} - -template -bool perl_matcher::unwind_short_set_repeat(bool r) -{ - saved_single_repeat* pmp = static_cast*>(m_backup_state); - - // if we have a match, just discard this state: - if(r) - { - destroy_single_repeat(); - return true; - } - - const re_repeat* rep = pmp->rep; - unsigned count = pmp->count; - pstate = rep->next.p; - const unsigned char* map = static_cast(rep->next.p)->_map; - position = pmp->last_position; - - assert(rep->type == syntax_element_short_set_rep); - assert(rep->next.p); - assert(rep->alt.p); - assert(rep->next.p->type == syntax_element_set); - assert(count < rep->max); - - if(position != last) - { - // wind forward until we can skip out of the repeat: - do - { - if(!map[(traits_uchar_type)traits_inst.translate(*position, icase)]) - { - // failed repeat match, discard this state and look for another: - destroy_single_repeat(); - return true; - } - ++count; - ++ position; - ++state_count; - pstate = rep->next.p; - }while((count < rep->max) && (position != last) && !access::can_start(*position, rep->_map, mask_skip)); - } - if(position == last) - { - // can't repeat any more, remove the pushed state: - destroy_single_repeat(); - if(rep->can_be_null & mask_skip) - return true; - } - else if(count == rep->max) - { - // can't repeat any more, remove the pushed state: - destroy_single_repeat(); - if(!access::can_start(*position, rep->_map, mask_skip)) - return true; - } - else - { - pmp->count = count; - pmp->last_position = position; - } - pstate = rep->alt.p; - return false; -} - -template -bool perl_matcher::unwind_long_set_repeat(bool r) -{ - saved_single_repeat* pmp = static_cast*>(m_backup_state); - - // if we have a match, just discard this state: - if(r) - { - destroy_single_repeat(); - return true; - } - - const re_repeat* rep = pmp->rep; - unsigned count = pmp->count; - pstate = rep->next.p; - const re_set_long* set = static_cast(pstate); - position = pmp->last_position; - - assert(rep->type == syntax_element_long_set_rep); - assert(rep->next.p); - assert(rep->alt.p); - assert(rep->next.p->type == syntax_element_long_set); - assert(position != last); - assert(count < rep->max); - - if(position != last) - { - // wind forward until we can skip out of the repeat: - do - { - if(position == re_is_set_member(position, last, set, re)) - { - // failed repeat match, discard this state and look for another: - destroy_single_repeat(); - return true; - } - ++position; - ++count; - ++state_count; - pstate = rep->next.p; - }while((count < rep->max) && (position != last) && !access::can_start(*position, rep->_map, mask_skip)); - } - if(position == last) - { - // can't repeat any more, remove the pushed state: - destroy_single_repeat(); - if(rep->can_be_null & mask_skip) - return true; - } - else if(count == rep->max) - { - // can't repeat any more, remove the pushed state: - destroy_single_repeat(); - if(!access::can_start(*position, rep->_map, mask_skip)) - return true; - } - else - { - pmp->count = count; - pmp->last_position = position; - } - pstate = rep->alt.p; - return false; -} - -template -bool perl_matcher::unwind_non_greedy_repeat(bool r) -{ - saved_position* pmp = static_cast*>(m_backup_state); - if(!r) - { - position = pmp->position; - pstate = pmp->pstate; - ++(*next_count); - } - boost::re_detail::inplace_destroy(pmp++); - m_backup_state = pmp; - return r; -} - -template -typename perl_matcher::unwind_proc_type const -perl_matcher::s_unwind_table[] = -{ - &perl_matcher::unwind_end, - &perl_matcher::unwind_paren, - &perl_matcher::unwind_recursion_stopper, - &perl_matcher::unwind_assertion, - &perl_matcher::unwind_alt, - &perl_matcher::unwind_repeater_counter, - &perl_matcher::unwind_extra_block, - &perl_matcher::unwind_greedy_single_repeat, - &perl_matcher::unwind_slow_dot_repeat, - &perl_matcher::unwind_fast_dot_repeat, - &perl_matcher::unwind_char_repeat, - &perl_matcher::unwind_short_set_repeat, - &perl_matcher::unwind_long_set_repeat, - &perl_matcher::unwind_non_greedy_repeat, -}; - -} -} // namespace boost - -#ifdef __BORLANDC__ -# pragma option pop -#endif - -#endif - diff --git a/include/boost/regex/v4/perl_matcher_recursive.hpp b/include/boost/regex/v4/perl_matcher_recursive.hpp deleted file mode 100644 index bef1cc42..00000000 --- a/include/boost/regex/v4/perl_matcher_recursive.hpp +++ /dev/null @@ -1,661 +0,0 @@ -/* - * - * Copyright (c) 2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE perl_matcher_common.cpp - * VERSION see - * DESCRIPTION: Definitions of perl_matcher member functions that are - * specific to the recursive implementation. - */ - -#ifndef BOOST_REGEX_V4_PERL_MATCHER_RECURSIVE_HPP -#define BOOST_REGEX_V4_PERL_MATCHER_RECURSIVE_HPP - -#ifdef __BORLANDC__ -# pragma option push -a8 -b -Vx -Ve -pc -w-8027 -w-8066 -w-8008 -#endif - -namespace boost{ -namespace re_detail{ - -template -class backup_subex -{ - int index; - sub_match sub; -public: - template - backup_subex(const match_results& w, int i) - : index(i), sub(w[i]) {} - template - void restore(match_results& w) - { - w.set_first(sub.first, index); - w.set_second(sub.second, index, sub.matched); - } -}; - -template -bool perl_matcher::match_all_states() -{ - if(state_count > max_state_count) - raise_error(traits_inst, REG_ESPACE); - while(pstate) - { - matcher_proc_type proc = s_match_vtable[pstate->type]; - ++state_count; - if(!(this->*proc)()) - { - if((m_match_flags & match_partial) && (position == last)) - m_has_partial_match = true; - return 0; - } - } - return true; -} - -template -bool perl_matcher::match_startmark() -{ - int index = static_cast(pstate)->index; - bool r = true; - switch(index) - { - case 0: - pstate = pstate->next.p; - break; - case -1: - case -2: - { - // forward lookahead assert: - BidiIterator old_position(position); - const re_syntax_base* next_pstate = static_cast(pstate->next.p)->alt.p->next.p; - pstate = pstate->next.p->next.p; - r = match_all_states(); - pstate = next_pstate; - position = old_position; - if((r && (index != -1)) || (!r && (index != -2))) - r = false; - else - r = true; - break; - } - case -3: - { - // independent sub-expression: - const re_syntax_base* next_pstate = static_cast(pstate->next.p)->alt.p->next.p; - pstate = pstate->next.p->next.p; - r = match_all_states(); - pstate = next_pstate; - break; - } - default: - { - assert(index > 0); - if((m_match_flags & match_nosubs) == 0) - { - backup_subex sub(*m_presult, index); - m_presult->set_first(position, index); - pstate = pstate->next.p; - r = match_all_states(); - if(r == false) - sub.restore(*m_presult); - } - else - { - pstate = pstate->next.p; - } - break; - } - } - return r; -} - -template -bool perl_matcher::match_alt() -{ - bool take_first, take_second; - const re_jump* jmp = static_cast(pstate); - - // find out which of these two alternatives we need to take: - if(position == last) - { - take_first = jmp->can_be_null & mask_take; - take_second = jmp->can_be_null & mask_skip; - } - else - { - take_first = access::can_start(*position, jmp->_map, (unsigned char)mask_take); - take_second = access::can_start(*position, jmp->_map, (unsigned char)mask_skip); - } - - if(take_first) - { - // we can take the first alternative, - // see if we need to push next alternative: - if(take_second) - { - BidiIterator oldposition(position); - const re_syntax_base* old_pstate = jmp->alt.p; - pstate = pstate->next.p; - if(!match_all_states()) - { - pstate = old_pstate; - position = oldposition; - } - return true; - } - pstate = pstate->next.p; - return true; - } - if(take_second) - { - pstate = jmp->alt.p; - return true; - } - return false; // neither option is possible -} - -template -bool perl_matcher::match_rep() -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127 4244) -#endif - const re_repeat* rep = static_cast(pstate); - if(next_count->get_id() != rep->id) - { - // we're moving to a different repeat from the last - // one, so set up a counter object and recurse: - repeater_count r(rep->id, &next_count, position); - return match_rep(); - } - // - // If we've had at least one repeat already, and the last one - // matched the NULL string then set the repeat count to - // maximum: - // - next_count->check_null_repeat(position, rep->max); - - // find out which of these two alternatives we need to take: - bool take_first, take_second; - if(position == last) - { - take_first = rep->can_be_null & mask_take; - take_second = rep->can_be_null & mask_skip; - } - else - { - take_first = access::can_start(*position, rep->_map, (unsigned char)mask_take); - take_second = access::can_start(*position, rep->_map, (unsigned char)mask_skip); - } - - if(next_count->get_count() < rep->min) - { - // we must take the repeat: - if(take_first) - { - // increase the counter: - ++(*next_count); - pstate = rep->next.p; - return match_all_states(); - } - return false; - } - - if(rep->greedy) - { - // try and take the repeat if we can: - if((next_count->get_count() < rep->max) && take_first) - { - // store position in case we fail: - BidiIterator pos = position; - // increase the counter: - ++(*next_count); - pstate = rep->next.p; - if(match_all_states()) - return true; - // failed repeat, reset posistion and fall through for alternative: - position = pos; - } - if(take_second) - { - pstate = rep->alt.p; - return true; - } - return false; // can't take anything, fail... - } - else // non-greedy - { - // try and skip the repeat if we can: - if(take_second) - { - // store position in case we fail: - BidiIterator pos = position; - pstate = rep->alt.p; - if(match_all_states()) - return true; - // failed alternative, reset posistion and fall through for repeat: - position = pos; - } - if((next_count->get_count() < rep->max) && take_first) - { - // increase the counter: - ++(*next_count); - pstate = rep->next.p; - return match_all_states(); - } - } - return false; -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -bool perl_matcher::match_dot_repeat_slow() -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127) -#endif - unsigned count = 0; - const re_repeat* rep = static_cast(pstate); - re_syntax_base* psingle = rep->next.p; - // match compulsary repeats first: - while(count < rep->min) - { - pstate = psingle; - if(!match_wild()) - return false; - ++count; - } - if(rep->greedy) - { - // normal repeat: - while(count < rep->max) - { - pstate = psingle; - if(!match_wild()) - break; - ++count; - } - if((rep->leading) && (count < rep->max)) - restart = position; - pstate = rep; - return backtrack_till_match(count - rep->min); - } - else - { - // non-greedy, keep trying till we get a match: - BidiIterator save_pos; - do - { - if((rep->leading) && (rep->max == UINT_MAX)) - restart = position; - pstate = rep->alt.p; - save_pos = position; - ++state_count; - if(match_all_states()) - return true; - if(count >= rep->max) - return false; - ++count; - pstate = psingle; - position = save_pos; - if(!match_wild()) - return false; - }while(true); - } -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -bool perl_matcher::match_dot_repeat_fast() -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127) -#endif - if(m_match_flags & (match_not_dot_newline | match_not_dot_null)) - return match_dot_repeat_slow(); - // - // start by working out how much we can skip: - // - const re_repeat* rep = static_cast(pstate); - unsigned count = std::min(static_cast(re_detail::distance(position, last)), (rep->greedy ? rep->max : rep->min)); - if(rep->min > count) - return false; // not enough text left to match - std::advance(position, count); - if((rep->leading) && (count < rep->max) && (rep->greedy)) - restart = position; - if(rep->greedy) - return backtrack_till_match(count - rep->min); - - // non-greedy, keep trying till we get a match: - BidiIterator save_pos; - do - { - while((position != last) && (count < rep->max) && !access::can_start(*position, rep->_map, mask_skip)) - { - ++position; - ++count; - } - if((rep->leading) && (count == UINT_MAX)) - restart = position; - pstate = rep->alt.p; - save_pos = position; - ++state_count; - if(match_all_states()) - return true; - if(count >= rep->max) - return false; - if(position == last) - return false; - position = ++save_pos; - ++count; - }while(true); -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -bool perl_matcher::match_char_repeat() -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127) -#endif - const re_repeat* rep = static_cast(pstate); - assert(1 == static_cast(rep->next.p)->length); - const char_type what = *reinterpret_cast(static_cast(rep->next.p) + 1); - unsigned count = 0; - // - // start by working out how much we can skip: - // - unsigned desired = rep->greedy ? rep->max : rep->min; - if(::boost::is_random_access_iterator::value) - { - BidiIterator end = position; - end += std::min((unsigned)re_detail::distance(position, last), desired); - BidiIterator origin(position); - while((position != end) && (traits_inst.translate(*position, icase) == what)) - { - ++position; - } - count = (unsigned)re_detail::distance(origin, position); - } - else - { - while((count < desired) && (position != last) && (traits_inst.translate(*position, icase) == what)) - { - ++position; - ++count; - } - } - if((rep->leading) && (count < rep->max) && (rep->greedy)) - restart = position; - if(count < rep->min) - return false; - - if(rep->greedy) - return backtrack_till_match(count - rep->min); - - // non-greedy, keep trying till we get a match: - BidiIterator save_pos; - do - { - while((position != last) && (count < rep->max) && !access::can_start(*position, rep->_map, mask_skip)) - { - if((traits_inst.translate(*position, icase) == what)) - { - ++position; - ++count; - } - else - return false; // counldn't repeat even though it was the only option - } - if((rep->leading) && (rep->max == UINT_MAX)) - restart = position; - pstate = rep->alt.p; - save_pos = position; - ++state_count; - if(match_all_states()) - return true; - if(count >= rep->max) - return false; - if(position == last) - return false; - position = ++save_pos; - ++count; - }while(true); -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -bool perl_matcher::match_set_repeat() -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127) -#endif - const re_repeat* rep = static_cast(pstate); - const unsigned char* map = static_cast(rep->next.p)->_map; - unsigned count = 0; - // - // start by working out how much we can skip: - // - unsigned desired = rep->greedy ? rep->max : rep->min; - if(::boost::is_random_access_iterator::value) - { - BidiIterator end = position; - end += std::min((unsigned)re_detail::distance(position, last), desired); - BidiIterator origin(position); - while((position != end) && map[(traits_uchar_type)traits_inst.translate(*position, icase)]) - { - ++position; - } - count = (unsigned)re_detail::distance(origin, position); - } - else - { - while((count < desired) && (position != last) && map[(traits_uchar_type)traits_inst.translate(*position, icase)]) - { - ++position; - ++count; - } - } - if((rep->leading) && (count < rep->max) && (rep->greedy)) - restart = position; - if(count < rep->min) - return false; - - if(rep->greedy) - return backtrack_till_match(count - rep->min); - - // non-greedy, keep trying till we get a match: - BidiIterator save_pos; - do - { - while((position != last) && (count < rep->max) && !access::can_start(*position, rep->_map, mask_skip)) - { - if(map[(traits_uchar_type)traits_inst.translate(*position, icase)]) - { - ++position; - ++count; - } - else - return false; // counldn't repeat even though it was the only option - } - if((rep->leading) && (rep->max == UINT_MAX)) - restart = position; - pstate = rep->alt.p; - save_pos = position; - ++state_count; - if(match_all_states()) - return true; - if(count >= rep->max) - return false; - if(position == last) - return false; - position = ++save_pos; - ++count; - }while(true); -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -bool perl_matcher::match_long_set_repeat() -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127) -#endif - const re_repeat* rep = static_cast(pstate); - const re_set_long* set = static_cast(pstate->next.p); - unsigned count = 0; - // - // start by working out how much we can skip: - // - unsigned desired = rep->greedy ? rep->max : rep->min; - if(::boost::is_random_access_iterator::value) - { - BidiIterator end = position; - end += std::min((unsigned)re_detail::distance(position, last), desired); - BidiIterator origin(position); - while((position != end) && (position != re_is_set_member(position, last, set, re))) - { - ++position; - } - count = (unsigned)re_detail::distance(origin, position); - } - else - { - while((count < desired) && (position != last) && (position != re_is_set_member(position, last, set, re))) - { - ++position; - ++count; - } - } - if((rep->leading) && (count < rep->max) && (rep->greedy)) - restart = position; - if(count < rep->min) - return false; - - if(rep->greedy) - return backtrack_till_match(count - rep->min); - - // non-greedy, keep trying till we get a match: - BidiIterator save_pos; - do - { - while((position != last) && (count < rep->max) && !access::can_start(*position, rep->_map, mask_skip)) - { - if(position != re_is_set_member(position, last, set, re)) - { - ++position; - ++count; - } - else - return false; // counldn't repeat even though it was the only option - } - if((rep->leading) && (rep->max == UINT_MAX)) - restart = position; - pstate = rep->alt.p; - save_pos = position; - ++state_count; - if(match_all_states()) - return true; - if(count >= rep->max) - return false; - if(position == last) - return false; - position = ++save_pos; - ++count; - }while(true); -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -template -bool perl_matcher::backtrack_till_match(unsigned count) -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4127) -#endif - if((m_match_flags & match_partial) && (position == last)) - m_has_partial_match = true; - - const re_repeat* rep = static_cast(pstate); - BidiIterator backtrack = position; - if(position == last) - { - if(rep->can_be_null & mask_skip) - { - pstate = rep->alt.p; - if(match_all_states()) - return true; - } - if(count) - { - position = --backtrack; - --count; - } - else - return false; - } - do - { - while(count && !access::can_start(*position, rep->_map, mask_skip)) - { - --position; - --count; - ++state_count; - } - pstate = rep->alt.p; - backtrack = position; - if(match_all_states()) - return true; - if(count == 0) - return false; - position = --backtrack; - ++state_count; - --count; - }while(true); -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -} - -} // namespace re_detail -} // namespace boost - - -#ifdef __BORLANDC__ -# pragma option pop -#endif - -#endif diff --git a/include/boost/regex/v4/regbase.hpp b/include/boost/regex/v4/regbase.hpp deleted file mode 100644 index 2e3294b0..00000000 --- a/include/boost/regex/v4/regbase.hpp +++ /dev/null @@ -1,151 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regbase.cpp - * VERSION see - * DESCRIPTION: Declares class regbase. - */ - -#ifndef BOOST_REGEX_V4_REGBASE_HPP -#define BOOST_REGEX_V4_REGBASE_HPP - -#ifdef __BORLANDC__ -# pragma option push -a8 -b -Vx -Ve -pc -w-8027 -#endif - -namespace boost{ -// -// class regbase -// handles error codes and flags -// -class BOOST_REGEX_DECL regbase -{ -public: - enum flag_type_ - { - escape_in_lists = 1, // '\' special inside [...] - char_classes = escape_in_lists << 1, // [[:CLASS:]] allowed - intervals = char_classes << 1, // {x,y} allowed - limited_ops = intervals << 1, // all of + ? and | are normal characters - newline_alt = limited_ops << 1, // \n is the same as | - bk_plus_qm = newline_alt << 1, // uses \+ and \? - bk_braces = bk_plus_qm << 1, // uses \{ and \} - bk_parens = bk_braces << 1, // uses \( and \) - bk_refs = bk_parens << 1, // \d allowed - bk_vbar = bk_refs << 1, // uses \| - - use_except = bk_vbar << 1, // exception on error - failbit = use_except << 1, // error flag - literal = failbit << 1, // all characters are literals - icase = literal << 1, // characters are matched regardless of case - nocollate = 0, // don't use locale specific collation (deprecated) - collate = icase << 1, // use locale specific collation - perlex = collate << 1, // perl extensions - nosubs = perlex << 1, // don't mark sub-expressions - optimize = 0, // not really supported - - basic = char_classes | intervals | limited_ops | bk_braces | bk_parens | bk_refs | collate, - extended = char_classes | intervals | bk_refs | collate, - normal = perlex | escape_in_lists | char_classes | intervals | bk_refs | nocollate, - emacs = bk_braces | bk_parens | bk_refs | bk_vbar, - awk = extended | escape_in_lists, - grep = basic | newline_alt, - egrep = extended | newline_alt, - sed = basic, - perl = normal, - ECMAScript = normal, - JavaScript = normal, - JScript = normal - }; - typedef unsigned int flag_type; - - enum restart_info - { - restart_any = 0, - restart_word = 1, - restart_line = 2, - restart_buf = 3, - restart_continue = 4, - restart_lit = 5, - restart_fixed_lit = 6 - }; - - flag_type BOOST_REGEX_CALL flags()const - { - return _flags; - } - - regbase(); - regbase(const regbase& b); - void swap(regbase& that) - { std::swap(_flags, that._flags); } -protected: - flag_type _flags; -}; - -// -// provide std lib proposal compatible constants: -// -namespace regex_constants{ - - enum flag_type_ - { - escape_in_lists = ::boost::regbase::escape_in_lists, - char_classes = ::boost::regbase::char_classes, - intervals = ::boost::regbase::intervals, - limited_ops = ::boost::regbase::limited_ops, - newline_alt = ::boost::regbase::newline_alt, - bk_plus_qm = ::boost::regbase::bk_plus_qm, - bk_braces = ::boost::regbase::bk_braces, - bk_parens = ::boost::regbase::bk_parens, - bk_refs = ::boost::regbase::bk_refs, - bk_vbar = ::boost::regbase::bk_vbar, - - use_except = ::boost::regbase::use_except, - failbit = ::boost::regbase::failbit, - literal = ::boost::regbase::literal, - icase = ::boost::regbase::icase, - nocollate = ::boost::regbase::nocollate, - collate = ::boost::regbase::collate, - perlex = ::boost::regbase::perlex, - nosubs = ::boost::regbase::nosubs, - optimize = ::boost::regbase::optimize, - - basic = ::boost::regbase::basic, - extended = ::boost::regbase::extended, - normal = ::boost::regbase::normal, - emacs = ::boost::regbase::emacs, - awk = ::boost::regbase::awk, - grep = ::boost::regbase::grep, - egrep = ::boost::regbase::egrep, - sed = basic, - perl = normal, - ECMAScript = normal, - JavaScript = normal, - JScript = normal - }; - typedef ::boost::regbase::flag_type syntax_option_type; - -} // namespace regex_constants - -} // namespace boost - -#ifdef __BORLANDC__ -# pragma option pop -#endif - -#endif diff --git a/include/boost/regex/v4/regex.hpp b/include/boost/regex/v4/regex.hpp deleted file mode 100644 index 34c3c4ea..00000000 --- a/include/boost/regex/v4/regex.hpp +++ /dev/null @@ -1,196 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex.cpp - * VERSION see - * DESCRIPTION: Declares boost::reg_expression<> and associated - * functions and classes. This header is the main - * entry point for the template regex code. - */ - -#ifndef BOOST_RE_REGEX_HPP_INCLUDED -#define BOOST_RE_REGEX_HPP_INCLUDED - -#ifndef BOOST_RE_CREGEX_HPP -#include -#endif - -#ifdef __cplusplus - -// what follows is all C++ don't include in C builds!! - -#ifdef BOOST_REGEX_DEBUG -# include -#endif - -#include -#include -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif -#ifndef BOOST_REGEX_FWD_HPP -#include -#endif -#ifndef BOOST_REGEX_STACK_HPP -#include -#endif -#ifndef BOOST_REGEX_RAW_BUFFER_HPP -#include -#endif -#ifndef BOOST_REGEX_KMP_HPP -#include -#endif -#ifndef BOOST_RE_PAT_EXCEPT_HPP -#include -#endif -#ifndef BOOST_REGEX_TRAITS_HPP -#include -#endif -#include -#include - -#ifndef BOOST_REGEX_V4_CHAR_REGEX_TRAITS_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_STATES_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_REGBASE_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_ITERATOR_TRAITS_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_ITERATOR_TRAITS_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_BASIC_REGEX_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_SUB_MATCH_HPP -#include -#endif -#ifndef BOOST_REGEX_FORMAT_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_MATCH_RESULTS_HPP -#include -#endif -#ifndef BOOST_REGEX_COMPILE_HPP -#include -#endif - -// -// template instances: -// -#define BOOST_REGEX_CHAR_T char -#ifdef BOOST_REGEX_NARROW_INSTANTIATE -# define BOOST_REGEX_INSTANTIATE -#endif -#include -#undef BOOST_REGEX_CHAR_T -#ifdef BOOST_REGEX_INSTANTIATE -# undef BOOST_REGEX_INSTANTIATE -#endif - -#ifndef BOOST_NO_WREGEX -#define BOOST_REGEX_CHAR_T wchar_t -#ifdef BOOST_REGEX_WIDE_INSTANTIATE -# define BOOST_REGEX_INSTANTIATE -#endif -#include -#undef BOOST_REGEX_CHAR_T -#ifdef BOOST_REGEX_INSTANTIATE -# undef BOOST_REGEX_INSTANTIATE -#endif -#endif - - -namespace boost{ -#ifdef BOOST_REGEX_NO_FWD -typedef reg_expression, BOOST_DEFAULT_ALLOCATOR(char)> regex; -#ifndef BOOST_NO_WREGEX -typedef reg_expression, BOOST_DEFAULT_ALLOCATOR(wchar_t)> wregex; -#endif -#endif - -typedef match_results cmatch; -typedef match_results smatch; -#ifndef BOOST_NO_WREGEX -typedef match_results wcmatch; -typedef match_results wsmatch; -#endif - -} // namespace boost -#ifndef BOOST_REGEX_MATCH_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_REGEX_SEARCH_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_REGEX_GREP_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_REGEX_REPLACE_HPP -#include -#endif -#ifndef BOOST_REGEX_V4_REGEX_MERGE_HPP -#include -#endif -#ifndef BOOST_REGEX_SPLIT_HPP -#include -#endif -#ifndef BOOST_REGEX_ITERATOR_HPP -#include -#endif -#ifndef BOOST_REGEX_TOKEN_ITERATOR_HPP -#include -#endif - -#endif // __cplusplus - -#endif // include - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/include/boost/regex/v4/regex_compile.hpp b/include/boost/regex/v4/regex_compile.hpp deleted file mode 100644 index 36ce2fd0..00000000 --- a/include/boost/regex/v4/regex_compile.hpp +++ /dev/null @@ -1,2180 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_compile.hpp - * VERSION see - * DESCRIPTION: Declares reg_expression<> member functions. This is - * an internal header file, do not include directly. - */ - -#ifndef BOOST_REGEX_COMPILE_HPP -#define BOOST_REGEX_COMPILE_HPP - -namespace boost{ -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -w-8004 -#endif - namespace re_detail{ - - -template -struct kmp_translator -{ - typedef typename traits::char_type char_type; - bool icase; - const traits* pt; - kmp_translator(bool c, traits* p) : icase(c), pt(p) {} - char_type operator()(char_type c) - { - return pt->translate(c, icase); - } -}; - - -template -bool BOOST_REGEX_CALL re_maybe_set_member(charT c, - const re_set_long* set_, - const reg_expression& e) -{ - const charT* p = reinterpret_cast(set_+1); - bool icase = e.flags() & regex_constants::icase; - charT col = e.get_traits().translate(c, icase); - for(unsigned int i = 0; i < set_->csingles; ++i) - { - if(col == *p) - return set_->isnot ? false : true; - - while(*p)++p; - ++p; // skip null - } - return set_->isnot ? true : false; -} - -} // namespace re_detail - - -template -inline bool BOOST_REGEX_CALL reg_expression::can_start(charT c, const unsigned char* _map, unsigned char mask, const re_detail::_wide_type&) -{ - if((traits_size_type)(traits_uchar_type)c >= 256) - return true; - return BOOST_REGEX_MAKE_BOOL(_map[(traits_uchar_type)c] & mask); -} - -template -inline bool BOOST_REGEX_CALL reg_expression::can_start(charT c, const unsigned char* _map, unsigned char mask, const re_detail::_narrow_type&) -{ - return BOOST_REGEX_MAKE_BOOL(_map[(traits_uchar_type)c] & mask); -} - -template -reg_expression::reg_expression(const Allocator& a) - : regbase(), data(a), pkmp(0), error_code_(REG_EMPTY), _expression(0) -{ -} - -template -reg_expression::reg_expression(const charT* p, flag_type f, const Allocator& a) - : data(a), pkmp(0), error_code_(REG_EMPTY), _expression(0) -{ - set_expression(p, f | regex_constants::use_except); -} - -template -reg_expression::reg_expression(const charT* p1, const charT* p2, flag_type f, const Allocator& a) - : data(a), pkmp(0), error_code_(REG_EMPTY), _expression(0) -{ - set_expression(p1, p2, f | regex_constants::use_except); -} - -template -reg_expression::reg_expression(const charT* p, size_type len, flag_type f, const Allocator& a) - : data(a), pkmp(0), error_code_(REG_EMPTY), _expression(0) -{ - set_expression(p, p + len, f | regex_constants::use_except); -} - -template -reg_expression::reg_expression(const reg_expression& e) - : regbase(e), data(e.allocator()), pkmp(0), error_code_(REG_EMPTY), _expression(0) -{ - // - // we do a deep copy only if e is a valid expression, otherwise fail. - // - if(e.error_code() == 0) - { - const charT* pe = e.expression(); - set_expression(pe, pe + e._expression_len, e.flags() | regex_constants::use_except); - } - else - { - _flags = e.flags() & ~(regex_constants::use_except); - fail(e.error_code()); - } -} - -template -reg_expression::~reg_expression() -{ - if(pkmp) - re_detail::kmp_free(pkmp, data.allocator()); -} - -template -reg_expression& BOOST_REGEX_CALL reg_expression::operator=(const reg_expression& e) -{ - // - // we do a deep copy only if e is a valid expression, otherwise fail. - // - if(this == &e) return *this; - _flags = use_except; - fail(e.error_code()); - if(error_code() == 0) - set_expression(e._expression, e._expression + e._expression_len, e.flags() | regex_constants::use_except); - return *this; -} - -template -int BOOST_REGEX_CALL reg_expression::compare(const reg_expression& e)const -{ - if(_flags != e.flags()) - return _flags - e.flags(); - return str().compare(e.str()); -} - -template -void BOOST_REGEX_CALL reg_expression::swap(reg_expression& that)throw() -{ - traits_inst.swap(that.traits_inst); - data.swap(that.data); - static_cast(*this).swap(that); - - std::swap(_restart_type, that._restart_type); - std::swap(marks, that.marks); - std::swap(repeats, that.repeats); - std::swap(startmap, that.startmap); - std::swap(_expression_len, that._expression_len); - std::swap(_leading_len, that._leading_len); - std::swap(_leading_string, that._leading_string); - std::swap(_leading_string_len, that._leading_string_len); - std::swap(pkmp, that.pkmp); - std::swap(error_code_, that.error_code_); - std::swap(_expression, that._expression); -} - -template -Allocator BOOST_REGEX_CALL reg_expression::allocator()const -{ - return data.allocator(); -} - -template -Allocator BOOST_REGEX_CALL reg_expression::get_allocator()const -{ - return data.allocator(); -} - -template -unsigned int BOOST_REGEX_CALL reg_expression::parse_inner_set(const charT*& first, const charT* last) -{ - // - // we have an inner [...] construct - // - jm_assert(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*first) == traits_type::syntax_open_set); - const charT* base = first; - while( (first != last) - && (traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*first) != traits_type::syntax_close_set) ) - ++first; - if(first == last) - return 0; - ++first; - if((first-base) < 5) - return 0; - if(*(base+1) != *(first-2)) - return 0; - unsigned int result = traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*(base+1)); - if((result == traits_type::syntax_colon) && ((first-base) == 5)) - { - return traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*(base+2)); - } - return ((result == traits_type::syntax_colon) || (result == traits_type::syntax_dot) || (result == traits_type::syntax_equal)) ? result : 0; -} - - -template -bool BOOST_REGEX_CALL reg_expression::skip_space(const charT*& first, const charT* last) -{ - // - // returns true if we get to last: - // - while((first != last) && (traits_inst.is_class(*first, traits_type::char_class_space) == true)) - { - ++first; - } - return first == last; -} - -template -void BOOST_REGEX_CALL reg_expression::parse_range(const charT*& ptr, const charT* end, unsigned& min, unsigned& max) -{ - // - // we have {x} or {x,} or {x,y} NB no spaces inside braces - // anything else is illegal - // On input ptr points to "{" - // - ++ptr; - if(skip_space(ptr, end)) - { - fail(REG_EBRACE); - return; - } - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*ptr) != traits_type::syntax_digit) - { - fail(REG_BADBR); - return; - } - min = traits_inst.toi(ptr, end, 10); - if(skip_space(ptr, end)) - { - fail(REG_EBRACE); - return; - } - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*ptr) == traits_type::syntax_comma) - { - //we have a second interval: - ++ptr; - if(skip_space(ptr, end)) - { - fail(REG_EBRACE); - return; - } - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*ptr) == traits_type::syntax_digit) - max = traits_inst.toi(ptr, end, 10); - else - max = (unsigned)-1; - } - else - max = min; - - // validate input: - if(skip_space(ptr, end)) - { - fail(REG_EBRACE); - return; - } - if(max < min) - { - fail(REG_ERANGE); - return; - } - if(_flags & bk_braces) - { - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*ptr) != traits_type::syntax_slash) - { - fail(REG_BADBR); - return; - } - else - { - // back\ is OK now check the } - ++ptr; - if((ptr == end) || (traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*ptr) != traits_type::syntax_close_brace)) - { - fail(REG_BADBR); - return; - } - } - } - else if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*ptr) != traits_type::syntax_close_brace) - { - fail(REG_BADBR); - return; - } -} - -template -charT BOOST_REGEX_CALL reg_expression::parse_escape(const charT*& first, const charT* last) -{ - charT c(*first); - traits_size_type c_unsigned = (traits_size_type)(traits_uchar_type)*first; - // this is only used for the switch(), but cannot be folded in - // due to a bug in Comeau 4.2.44beta3 - traits_size_type syntax = traits_inst.syntax_type(c_unsigned); - switch(syntax) - { - case traits_type::syntax_a: - c = '\a'; - ++first; - break; - case traits_type::syntax_f: - c = '\f'; - ++first; - break; - case traits_type::syntax_n: - c = '\n'; - ++first; - break; - case traits_type::syntax_r: - c = '\r'; - ++first; - break; - case traits_type::syntax_t: - c = '\t'; - ++first; - break; - case traits_type::syntax_v: - c = '\v'; - ++first; - break; - case traits_type::syntax_x: - ++first; - if(first == last) - { - fail(REG_EESCAPE); - break; - } - // maybe have \x{ddd} - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*first)) == traits_type::syntax_open_brace) - { - ++first; - if(first == last) - { - fail(REG_EESCAPE); - break; - } - if(traits_inst.is_class(*first, traits_type::char_class_xdigit) == false) - { - fail(REG_BADBR); - break; - } - c = (charT)traits_inst.toi(first, last, -16); - if((first == last) || (traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*first)) != traits_type::syntax_close_brace)) - { - fail(REG_BADBR); - } - ++first; - break; - } - else - { - if(traits_inst.is_class(*first, traits_type::char_class_xdigit) == false) - { - fail(REG_BADBR); - break; - } - c = (charT)traits_inst.toi(first, last, -16); - } - break; - case traits_type::syntax_c: - ++first; - if(first == last) - { - fail(REG_EESCAPE); - break; - } - if(((traits_uchar_type)(*first) < (traits_uchar_type)'@') - || ((traits_uchar_type)(*first) > (traits_uchar_type)127) ) - { - fail(REG_EESCAPE); - return (charT)0; - } - c = (charT)((traits_uchar_type)(*first) - (traits_uchar_type)'@'); - ++first; - break; - case traits_type::syntax_e: - c = (charT)27; - ++first; - break; - case traits_type::syntax_digit: - c = (charT)traits_inst.toi(first, last, -8); - break; - default: - //c = *first; - ++first; - } - return c; -} - -template -void BOOST_REGEX_CALL reg_expression::compile_maps() -{ - re_detail::re_syntax_base* record = static_cast(data.data()); - // always compile the first _map: - std::memset(startmap, 0, 256); - record->can_be_null = 0; - compile_map(record, startmap, 0, re_detail::mask_all); - - while(record->type != re_detail::syntax_element_match) - { - if((record->type == re_detail::syntax_element_alt) || (record->type == re_detail::syntax_element_rep)) - { - std::memset(&(static_cast(record)->_map), 0, 256); - record->can_be_null = 0; - compile_map(record->next.p, static_cast(record)->_map, &(record->can_be_null), re_detail::mask_take, static_cast(record)->alt.p); - compile_map(static_cast(record)->alt.p, static_cast(record)->_map, &(record->can_be_null), re_detail::mask_skip); - if(record->type == re_detail::syntax_element_rep) - { - re_detail::re_repeat* rep = static_cast(record); - // set whether this is a singleton repeat or not: - if(rep->next.p->next.p->next.p == rep->alt.p) - { - switch(rep->next.p->type) - { - case re_detail::syntax_element_wild: - rep->type = re_detail::syntax_element_dot_rep; - break; - case re_detail::syntax_element_literal: - rep->type = re_detail::syntax_element_char_rep; - break; - case re_detail::syntax_element_set: - rep->type = re_detail::syntax_element_short_set_rep; - break; - case re_detail::syntax_element_long_set: - if(static_cast(rep->next.p)->singleton) - rep->type = re_detail::syntax_element_long_set_rep; - break; - default: - break; - } - } - } - } - else - { - record->can_be_null = 0; - compile_map(record, 0, &(record->can_be_null), re_detail::mask_all); - } - record = record->next.p; - } - record->can_be_null = re_detail::mask_all; -} - -template -bool BOOST_REGEX_CALL reg_expression::probe_start( - re_detail::re_syntax_base* node, charT cc, re_detail::re_syntax_base* terminal) const -{ - unsigned int c; - - switch(node->type) - { - case re_detail::syntax_element_startmark: - if(static_cast(node)->index == -1) - { - return probe_start(node->next.p->next.p, cc, terminal) - && probe_start(static_cast(node->next.p)->alt.p, cc, terminal); - } - else if(static_cast(node)->index == -3) - { - return probe_start(node->next.p->next.p, cc, terminal); - } - // doesn't tell us anything about the next character, so: - return probe_start(node->next.p, cc, terminal); - case re_detail::syntax_element_endmark: - if(static_cast(node)->index == -3) - { - return true; - } - // fall through: - case re_detail::syntax_element_start_line: - case re_detail::syntax_element_word_boundary: - case re_detail::syntax_element_buffer_start: - case re_detail::syntax_element_restart_continue: - // doesn't tell us anything about the next character, so: - return probe_start(node->next.p, cc, terminal); - case re_detail::syntax_element_literal: - // only the first character of the literal can match: - // note these have already been translated: - if(*reinterpret_cast(static_cast(node)+1) == traits_inst.translate(cc, (_flags & regex_constants::icase))) - return true; - return false; - case re_detail::syntax_element_end_line: - // next character (if there is one!) must be a newline: - if(traits_inst.is_separator(traits_inst.translate(cc, (_flags & regex_constants::icase)))) - return true; - return false; - case re_detail::syntax_element_wild: - return true; - case re_detail::syntax_element_match: - return true; - case re_detail::syntax_element_within_word: - case re_detail::syntax_element_word_start: - return traits_inst.is_class(traits_inst.translate(cc, (_flags & regex_constants::icase)), traits_type::char_class_word); - case re_detail::syntax_element_word_end: - // what follows must not be a word character, - return traits_inst.is_class(traits_inst.translate(cc, (_flags & regex_constants::icase)), traits_type::char_class_word) ? false : true; - case re_detail::syntax_element_buffer_end: - // we can be null, nothing must follow, - // NB we assume that this is followed by - // re_detail::syntax_element_match, if its not then we can - // never match anything anyway!! - return false; - case re_detail::syntax_element_soft_buffer_end: - // we can be null, only newlines must follow, - // NB we assume that this is followed by - // re_detail::syntax_element_match, if its not then we can - // never match anything anyway!! - return traits_inst.is_separator(traits_inst.translate(cc, (_flags & regex_constants::icase))); - case re_detail::syntax_element_backref: - // there's no easy way to determine this - // which is not to say it can't be done! - // for now: - return true; - case re_detail::syntax_element_long_set: - // we can not be null, - // we need to add already translated values in the set - // to values in the _map - return re_detail::re_maybe_set_member(cc, static_cast(node), *this) || (re_detail::re_is_set_member(static_cast(&cc), static_cast(&cc+1), static_cast(node), *this) != &cc); - case re_detail::syntax_element_set: - // set all the elements that are set in corresponding set: - c = (traits_size_type)(traits_uchar_type)traits_inst.translate(cc, (_flags & regex_constants::icase)); - return static_cast(node)->_map[c] != 0; - case re_detail::syntax_element_jump: - if(static_cast(node)->alt.p < node) - { - // backwards jump, - // caused only by end of repeat section, we'll treat this - // the same as a match, because the sub-expression has matched. - if(node->next.p == terminal) - return true; // null repeat - we can always take this - else - { - // - // take the jump, add in fix for the fact that if the - // repeat that we're jumping to has non-zero minimum count - // then we need to add in the possiblity that we could still - // skip that repeat. - re_detail::re_syntax_base* next = static_cast(node)->alt.p; - bool b = probe_start(next, cc, terminal); - if((next->type == re_detail::syntax_element_rep) && (static_cast(next)->min != 0)) - { - b = b || probe_start(static_cast(next)->alt.p, cc, terminal); - } - return b; - } - } - else - // take the jump and compile: - return probe_start(static_cast(node)->alt.p, cc, terminal); - case re_detail::syntax_element_alt: - // we need to take the OR of the two alternatives: - return probe_start(static_cast(node)->alt.p, cc, terminal) || probe_start(node->next.p, cc, terminal); - case re_detail::syntax_element_rep: - case re_detail::syntax_element_char_rep: - case re_detail::syntax_element_dot_rep: - case re_detail::syntax_element_long_set_rep: - case re_detail::syntax_element_short_set_rep: - // we need to take the OR of the two alternatives - if(static_cast(node)->min == 0) - return probe_start(node->next.p, cc, static_cast(node)->alt.p) || probe_start(static_cast(node)->alt.p, cc, terminal); - else - return probe_start(node->next.p, cc, static_cast(node)->alt.p); - case re_detail::syntax_element_combining: - return !traits_inst.is_combining(traits_inst.translate(cc, (_flags & regex_constants::icase))); - } - return false; -} - -template -bool BOOST_REGEX_CALL reg_expression::probe_start_null(re_detail::re_syntax_base* node, re_detail::re_syntax_base* terminal)const -{ - switch(node->type) - { - case re_detail::syntax_element_endmark: - if(static_cast(node)->index == -3) - { - return true; - } - // fall through: - case re_detail::syntax_element_startmark: - case re_detail::syntax_element_start_line: - case re_detail::syntax_element_word_boundary: - case re_detail::syntax_element_buffer_start: - case re_detail::syntax_element_restart_continue: - case re_detail::syntax_element_end_line: - case re_detail::syntax_element_word_end: - // doesn't tell us anything about the next character, so: - return probe_start_null(node->next.p, terminal); - case re_detail::syntax_element_match: - case re_detail::syntax_element_buffer_end: - case re_detail::syntax_element_soft_buffer_end: - case re_detail::syntax_element_backref: - return true; - case re_detail::syntax_element_jump: - if(static_cast(node)->alt.p < node) - { - // backwards jump, - // caused only by end of repeat section, we'll treat this - // the same as a match, because the sub-expression has matched. - // this is only caused by NULL repeats as in "(a*)*" or "(\<)*" - // these are really nonsensence and make the matching code much - // harder, it would be nice to get rid of them altogether. - if(node->next.p == terminal) - return true; - else - return probe_start_null(static_cast(node)->alt.p, terminal); - } - else - // take the jump and compile: - return probe_start_null(static_cast(node)->alt.p, terminal); - case re_detail::syntax_element_alt: - // we need to take the OR of the two alternatives: - return probe_start_null(static_cast(node)->alt.p, terminal) || probe_start_null(node->next.p, terminal); - case re_detail::syntax_element_rep: - // only need to consider skipping the repeat: - return probe_start_null(static_cast(node)->alt.p, terminal); - default: - break; - } - return false; -} - -template -void BOOST_REGEX_CALL reg_expression::compile_map( - re_detail::re_syntax_base* node, unsigned char* _map, - unsigned int* pnull, unsigned char mask, re_detail::re_syntax_base* terminal)const -{ - if(_map) - { - for(unsigned int i = 0; i < 256; ++i) - { - if(probe_start(node, (charT)i, terminal)) - _map[i] |= mask; - } - } - if(pnull && probe_start_null(node, terminal)) - *pnull |= mask; -} - -template -void BOOST_REGEX_CALL reg_expression::move_offsets(re_detail::re_syntax_base* j, unsigned size) -{ -# ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable: 4127) -#endif - // move all offsets starting with j->link forward by size - // called after an insert: - j = reinterpret_cast(reinterpret_cast(data.data()) + j->next.i); - while(true) - { - switch(j->type) - { - case re_detail::syntax_element_rep: - static_cast(j)->alt.i += size; - j->next.i += size; - break; - case re_detail::syntax_element_jump: - case re_detail::syntax_element_alt: - static_cast(j)->alt.i += size; - j->next.i += size; - break; - default: - j->next.i += size; - break; - } - if(j->next.i == size) - break; - j = reinterpret_cast(reinterpret_cast(data.data()) + j->next.i); - } -# ifdef BOOST_MSVC -# pragma warning(pop) -#endif -} - -template -re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::compile_set_simple(re_detail::re_syntax_base* dat, unsigned long cls, bool isnot) -{ - typedef typename re_detail::is_byte::width_type width_type; - re_detail::jstack singles(64, data.allocator()); - re_detail::jstack ranges(64, data.allocator()); - re_detail::jstack classes(64, data.allocator()); - re_detail::jstack equivalents(64, data.allocator()); - classes.push(cls); - if(dat) - { - data.align(); - dat->next.i = data.size(); - } - return compile_set_aux(singles, ranges, classes, equivalents, isnot, width_type()); -} - -template -re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::compile_set(const charT*& first, const charT* last) -{ - re_detail::jstack singles(64, data.allocator()); - re_detail::jstack ranges(64, data.allocator()); - re_detail::jstack classes(64, data.allocator()); - re_detail::jstack equivalents(64, data.allocator()); - bool has_digraphs = false; - jm_assert(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*first) == traits_type::syntax_open_set); - ++first; - bool started = false; - bool done = false; - bool isnot = false; - - enum last_type - { - last_single, - last_none, - last_dash - }; - - unsigned l = last_none; - traits_string_type s; - - while((first != last) && !done) - { - traits_size_type c = (traits_size_type)(traits_uchar_type)*first; - // this is only used for the switch(), but cannot be folded in - // due to a bug in Comeau 4.2.44beta3 - traits_size_type syntax = traits_inst.syntax_type(c); - switch(syntax) - { - case traits_type::syntax_caret: - if(!started && !isnot) - { - isnot = true; - } - else - { - s = (charT)c; - goto char_set_literal; - } - break; - case traits_type::syntax_open_set: - { - if((_flags & char_classes) == 0) - { - s = (charT)c; - goto char_set_literal; - } - // check to see if we really have a class: - const charT* base = first; - // this is only used for the switch(), but cannot be folded in - // due to a bug in Comeau 4.2.44beta3 - unsigned int inner_set = parse_inner_set(first, last); - switch(inner_set) - { - case traits_type::syntax_colon: - { - if(l == last_dash) - { - fail(REG_ERANGE); - return 0; - } - boost::uint_fast32_t id = traits_inst.lookup_classname(base+2, first-2); - if(_flags & regex_constants::icase) - { - if((id == traits_type::char_class_upper) || (id == traits_type::char_class_lower)) - { - id = traits_type::char_class_alpha; - } - } - if(id == 0) - { - fail(REG_ECTYPE); - return 0; - } - classes.push(id); - started = true; - l = last_none; - } - break; - case traits_type::syntax_dot: - // - // we have a collating element [.collating-name.] - // - if(traits_inst.lookup_collatename(s, base+2, first-2)) - { - --first; - if(s.size() > 1) - has_digraphs = true; - if(s.size())goto char_set_literal; - } - fail(REG_ECOLLATE); - return 0; - case traits_type::syntax_equal: - // - // we have an equivalence class [=collating-name=] - // - if(traits_inst.lookup_collatename(s, base+2, first-2)) - { - std::size_t len = s.size(); - if(len) - { - unsigned i = 0; - while(i < len) - { - s[i] = traits_inst.translate(s[i], (_flags & regex_constants::icase)); - ++i; - } - traits_string_type s2; - traits_inst.transform_primary(s2, s); - equivalents.push(s2); - started = true; - l = last_none; - break; - } - } - fail(REG_ECOLLATE); - return 0; - case traits_type::syntax_left_word: - if((started == false) && (traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*first) == traits_type::syntax_close_set)) - { - ++first; - return add_simple(0, re_detail::syntax_element_word_start); - } - fail(REG_EBRACK); - return 0; - case traits_type::syntax_right_word: - if((started == false) && (traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*first) == traits_type::syntax_close_set)) - { - ++first; - return add_simple(0, re_detail::syntax_element_word_end); - } - fail(REG_EBRACK); - return 0; - default: - if(started == false) - { - unsigned int t = traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*(base+1)); - if((t != traits_type::syntax_colon) && (t != traits_type::syntax_dot) && (t != traits_type::syntax_equal)) - { - first = base; - s = (charT)c; - goto char_set_literal; - } - } - fail(REG_EBRACK); - return 0; - } - if(first == last) - { - fail(REG_EBRACK); - return 0; - } - continue; - } - case traits_type::syntax_close_set: - if(started == false) - { - s = (charT)c; - goto char_set_literal; - } - done = true; - break; - case traits_type::syntax_dash: - if(!started) - { - s = (charT)c; - goto char_set_literal; - } - ++first; - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*first) == traits_type::syntax_close_set) - { - --first; - s = (charT)c; - goto char_set_literal; - } - if((singles.empty() == true) || (l != last_single)) - { - fail(REG_ERANGE); - return 0; - } - ranges.push(singles.peek()); - if(singles.peek().size() <= 1) // leave digraphs and ligatures in place - singles.pop(); - l = last_dash; - continue; - case traits_type::syntax_slash: - if(_flags & regex_constants::escape_in_lists) - { - ++first; - if(first == last) - continue; - traits_size_type c = (traits_size_type)(traits_uchar_type)*first; - // this is only used for the switch(), but cannot be folded in - // due to a bug in Comeau 4.2.44beta3 - traits_size_type syntax = traits_inst.syntax_type(c); - switch(syntax) - { - case traits_type::syntax_w: - if(l == last_dash) - { - fail(REG_ERANGE); - return 0; - } - classes.push(traits_type::char_class_word); - started = true; - l = last_none; - ++first; - continue; - case traits_type::syntax_d: - if(l == last_dash) - { - fail(REG_ERANGE); - return 0; - } - classes.push(traits_type::char_class_digit); - started = true; - l = last_none; - ++first; - continue; - case traits_type::syntax_s: - if(l == last_dash) - { - fail(REG_ERANGE); - return 0; - } - classes.push(traits_type::char_class_space); - started = true; - l = last_none; - ++first; - continue; - case traits_type::syntax_l: - if(l == last_dash) - { - fail(REG_ERANGE); - return 0; - } - classes.push(traits_type::char_class_lower); - started = true; - l = last_none; - ++first; - continue; - case traits_type::syntax_u: - if(l == last_dash) - { - fail(REG_ERANGE); - return 0; - } - classes.push(traits_type::char_class_upper); - started = true; - l = last_none; - ++first; - continue; - case traits_type::syntax_W: - case traits_type::syntax_D: - case traits_type::syntax_S: - case traits_type::syntax_U: - case traits_type::syntax_L: - fail(REG_EESCAPE); - return 0; - default: - c = parse_escape(first, last); - --first; - s = (charT)c; - goto char_set_literal; - } - } - else - { - s = (charT)c; - goto char_set_literal; - } - default: - s = (charT)c; - char_set_literal: - unsigned i = 0; - // get string length to stop us going past the end of string (DWA) - std::size_t len = s.size(); - while(i < len) - { - s[i] = traits_inst.translate(s[i], (_flags & regex_constants::icase)); - ++i; - } - started = true; - if(l == last_dash) - { - ranges.push(s); - l = last_none; - if(s.size() > 1) // add ligatures to singles list as well - singles.push(s); - } - else - { - singles.push(s); - l = last_single; - } - } - ++first; - } - if(!done) - return 0; - - typedef typename re_detail::is_byte::width_type width_type; - - re_detail::re_syntax_base* result; - if(has_digraphs) - result = compile_set_aux(singles, ranges, classes, equivalents, isnot, re_detail::_wide_type()); - else - result = compile_set_aux(singles, ranges, classes, equivalents, isnot, width_type()); - #ifdef __BORLANDC__ - // delayed throw: - if((result == 0) && (_flags & regex_constants::use_except)) - fail(error_code()); - #endif - return result; -} - -template -re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::compile_set_aux(re_detail::jstack& singles, re_detail::jstack& ranges, re_detail::jstack& classes, re_detail::jstack& equivalents, bool isnot, const re_detail::_wide_type&) -{ - size_type base = data.size(); - data.extend(sizeof(re_detail::re_set_long)); - unsigned int csingles = 0; - unsigned int cranges = 0; - boost::uint_fast32_t cclasses = 0; - unsigned int cequivalents = 0; - bool nocollate_state = !(flags() & regex_constants::collate); - bool singleton = true; - - while(singles.empty() == false) - { - ++csingles; - const traits_string_type& s = singles.peek(); - std::size_t len = (s.size() + 1) * sizeof(charT); - if(len > sizeof(charT)) - singleton = false; - std::memcpy(reinterpret_cast(data.extend(len)), s.c_str(), len); - singles.pop(); - } - while(ranges.empty() == false) - { - traits_string_type c1, c2; - if(nocollate_state) - c1 = ranges.peek(); - else - traits_inst.transform(c1, ranges.peek()); - ranges.pop(); - if(nocollate_state) - c2 = ranges.peek(); - else - traits_inst.transform(c2, ranges.peek()); - ranges.pop(); - if(c1 < c2) - { - // for some reason bc5 crashes when throwing exceptions - // from here - probably an EH-compiler bug, but hard to - // be sure... - // delay throw to later: - #ifdef __BORLANDC__ - boost::uint_fast32_t f = _flags; - _flags &= ~regex_constants::use_except; - #endif - fail(REG_ERANGE); - #ifdef __BORLANDC__ - _flags = f; - #endif - return 0; - } - ++cranges; - std::size_t len = (re_detail::re_strlen(c1.c_str()) + 1) * sizeof(charT); - std::memcpy(data.extend(len), c1.c_str(), len); - len = (re_detail::re_strlen(c2.c_str()) + 1) * sizeof(charT); - std::memcpy(data.extend(len), c2.c_str(), len); - } - while(classes.empty() == false) - { - cclasses |= classes.peek(); - classes.pop(); - } - while(equivalents.empty() == false) - { - ++cequivalents; - const traits_string_type& s = equivalents.peek(); - std::size_t len = (re_detail::re_strlen(s.c_str()) + 1) * sizeof(charT); - std::memcpy(reinterpret_cast(data.extend(len)), s.c_str(), len); - equivalents.pop(); - } - - re_detail::re_set_long* dat = reinterpret_cast(reinterpret_cast(data.data()) + base); - dat->type = re_detail::syntax_element_long_set; - dat->csingles = csingles; - dat->cranges = cranges; - dat->cclasses = cclasses; - dat->cequivalents = cequivalents; - dat->isnot = isnot; - dat->next.i = 0; - dat->singleton = isnot ? true : singleton; - return dat; -} - -template -re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::compile_set_aux(re_detail::jstack& singles, re_detail::jstack& ranges, re_detail::jstack& classes, re_detail::jstack& equivalents, bool isnot, const re_detail::_narrow_type&) -{ - re_detail::re_set* dat = reinterpret_cast(data.extend(sizeof(re_detail::re_set))); - std::memset(dat, 0, sizeof(re_detail::re_set)); - - while(singles.empty() == false) - { - dat->_map[(traits_size_type)(traits_uchar_type)*(singles.peek().c_str())] = re_detail::mask_all; - singles.pop(); - } - while(ranges.empty() == false) - { - traits_string_type c1, c2, c3, c4; - - if((flags() & regex_constants::collate) == 0) - c1 = ranges.peek(); - else - traits_inst.transform(c1, ranges.peek()); - ranges.pop(); - if((flags() & regex_constants::collate) == 0) - c2 = ranges.peek(); - else - traits_inst.transform(c2, ranges.peek()); - ranges.pop(); - - if(c1 < c2) - { - // for some reason bc5 crashes when throwing exceptions - // from here - probably an EH-compiler bug, but hard to - // be sure... - // delay throw to later: - #ifdef __BORLANDC__ - boost::uint_fast32_t f = _flags; - _flags &= ~regex_constants::use_except; - #endif - fail(REG_ERANGE); - #ifdef __BORLANDC__ - _flags = f; - #endif - return 0; - } - for(unsigned int i = 0; i < 256; ++i) - { - c4 = (charT)i; - if((flags() & regex_constants::collate) == 0) - c3 = c4; - else - traits_inst.transform(c3, c4); - if((c3 <= c1) && (c3 >= c2)) - dat->_map[i] = re_detail::mask_all; - } - } - while(equivalents.empty() == false) - { - traits_string_type c1, c2; - for(unsigned int i = 0; i < 256; ++i) - { - c2 = (charT)i; - traits_inst.transform_primary(c1, c2); - if(c1 == equivalents.peek()) - dat->_map[i] = re_detail::mask_all; - } - equivalents.pop(); - } - - boost::uint_fast32_t flags = 0; - while(classes.empty() == false) - { - flags |= classes.peek(); - classes.pop(); - } - if(flags) - { - for(unsigned int i = 0; i < 256; ++i) - { - if(traits_inst.is_class(charT(i), flags)) - dat->_map[(traits_uchar_type)traits_inst.translate((charT)i, (_flags & regex_constants::icase))] = re_detail::mask_all; - } - } - - if(isnot) - { - for(unsigned int i = 0; i < 256; ++i) - { - dat->_map[i] = !dat->_map[i]; - } - } - - dat->type = re_detail::syntax_element_set; - dat->next.i = 0; - return dat; -} - -#ifndef __CODEGUARD__ -// this must not be inline when Borland's codeguard support is turned -// on, otherwise we _will_ get surious codeguard errors... -inline -#endif - re_detail::re_syntax_base* add_offset(void* base, std::ptrdiff_t off) -{ - return reinterpret_cast(reinterpret_cast(base) + off); -} - - -template -void BOOST_REGEX_CALL reg_expression::fixup_apply(re_detail::re_syntax_base* b, unsigned cbraces) -{ - typedef typename boost::detail::rebind_allocator::type b_alloc; - - register unsigned char* base = reinterpret_cast(b); - register re_detail::re_syntax_base* ptr = b; - bool* pb = 0; - b_alloc a(data.allocator()); -#ifndef BOOST_NO_EXCEPTIONS - try - { -#endif - pb = a.allocate(cbraces); - BOOST_REGEX_NOEH_ASSERT(pb) - for(unsigned i = 0; i < cbraces; ++i) - pb[i] = false; - - repeats = 0; - - while(ptr->next.i) - { - switch(ptr->type) - { - case re_detail::syntax_element_rep: - jm_assert(data.size() > static_cast(ptr)->alt.i); - static_cast(ptr)->alt.p = add_offset(base, static_cast(ptr)->alt.i); -#ifdef BOOST_REGEX_DEBUG - if((re_detail::padding_mask & reinterpret_cast(static_cast(ptr)->alt.p)) && (static_cast(ptr)->alt.p != b)) - { - jm_trace("padding mis-aligment in repeat jump to object type: " << static_cast(ptr)->alt.p->type) - //jm_assert(0 == (padding_mask & (int)((re_detail::re_jump*)ptr)->alt.p)); - } -#endif - static_cast(ptr)->id = repeats; - ++repeats; - goto rebase; - case re_detail::syntax_element_jump: - case re_detail::syntax_element_alt: - jm_assert(data.size() > static_cast(ptr)->alt.i); - static_cast(ptr)->alt.p = add_offset(base, static_cast(ptr)->alt.i); -#ifdef BOOST_REGEX_DEBUG - if((re_detail::padding_mask & reinterpret_cast(static_cast(ptr)->alt.p) && (static_cast(ptr)->alt.p != b))) - { - jm_trace("padding mis-aligment in alternation jump to object type: " << static_cast(ptr)->alt.p->type) - //jm_assert(0 == (padding_mask & (int)((re_detail::re_jump*)ptr)->alt.p)); - } -#endif - goto rebase; - case re_detail::syntax_element_backref: - if((static_cast(ptr)->index >= (int)cbraces) || (pb[static_cast(ptr)->index] == false) ) - { - fail(REG_ESUBREG); - a.deallocate(pb, cbraces); - return; - } - goto rebase; - case re_detail::syntax_element_endmark: - if(static_cast(ptr)->index > 0) - pb[static_cast(ptr)->index] = true; - goto rebase; - default: - rebase: - jm_assert(data.size() > ptr->next.i); - ptr->next.p = add_offset(base, ptr->next.i); -#ifdef BOOST_REGEX_DEBUG - if((re_detail::padding_mask & (int)(ptr->next.p)) && (static_cast(ptr)->alt.p != b)) - { - jm_trace("padding mis-alignment in next record of type " << ptr->next.p->type) - jm_assert(0 == (re_detail::padding_mask & (int)(ptr->next.p))); - } -#endif - ptr = ptr->next.p; - } - } - a.deallocate(pb, cbraces); - pb = 0; -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - if(pb) - a.deallocate(pb, cbraces); - throw; - } -#endif -} - - -template -unsigned int BOOST_REGEX_CALL reg_expression::set_expression(const charT* p, const charT* end, flag_type f) -{ -# ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable: 4127) -#endif -#ifdef __OpenBSD__ - // strxfrm not working on OpenBSD?? - f &= ~regex_constants::collate; -#endif - - if(p == expression()) - { - traits_string_type s(p, end); - return set_expression(s.c_str(), s.c_str() + s.size(), f); - } - typedef typename traits_type::sentry sentry_t; - sentry_t sent(traits_inst); - if(sent){ - - const charT* base = p; - data.clear(); - _flags = f; - fail(REG_NOERROR); // clear any error - - if(p >= end) - { - fail(REG_EMPTY); - return error_code(); - } - - const charT* ptr = p; - marks = 0; - re_detail::jstack mark(64, data.allocator()); - re_detail::jstack markid(64, data.allocator()); - std::size_t last_mark_popped = 0; - register traits_size_type c; - register re_detail::re_syntax_base* dat; - - unsigned rep_min = 0; - unsigned rep_max = 0; - - // - // set up header: - // - ++marks; - dat = 0; - - if(_flags & regex_constants::literal) - { - while(ptr != end) - { - dat = add_literal(dat, traits_inst.translate(*ptr, (_flags & regex_constants::icase))); - ++ptr; - } - } - - while (ptr < end) - { - c = (traits_size_type)(traits_uchar_type)*ptr; - // this is only used for the switch(), but cannot be folded in - // due to a bug in Comeau 4.2.44beta3 - traits_size_type syntax = traits_inst.syntax_type(c); - switch(syntax) - { - case traits_type::syntax_open_bracket: - if(_flags & bk_parens) - { - dat = add_literal(dat, (charT)c); - ++ptr; - continue; - } - open_bracked_jump: - // extend: - dat = add_simple(dat, re_detail::syntax_element_startmark, sizeof(re_detail::re_brace)); - if(_flags & nosubs) - { - markid.push(0); - static_cast(dat)->index = 0; - } - else - { - markid.push(marks); - static_cast(dat)->index = marks++; - } - mark.push(data.index(dat)); - ++ptr; - // - // check for perl like (?...) extention syntax - c = (traits_size_type)(traits_uchar_type)*ptr; - if(((_flags & (bk_parens|perlex)) == perlex) && (traits_type::syntax_question == traits_inst.syntax_type(c))) - { - ++ptr; - c = (traits_size_type)(traits_uchar_type)*ptr; - // this is only used for the switch(), but cannot be folded in - // due to a bug in Comeau 4.2.44beta3 - traits_size_type syntax = traits_inst.syntax_type(c); - switch(syntax) - { - case traits_type::syntax_colon: - static_cast(dat)->index = 0; - --marks; - markid.pop(); - markid.push(0); - ++ptr; - continue; - case traits_type::syntax_equal: - static_cast(dat)->index = -1; - markid.pop(); - markid.push(-1); - common_forward_assert: - --marks; - ++ptr; - // extend: - dat = add_simple(dat, re_detail::syntax_element_jump, re_detail::re_jump_size); - data.align(); - // - // we don't know what value to put here yet, - // use an arbitrarily large value for now - // and check it later: - static_cast(dat)->alt.i = INT_MAX/2; - mark.push(data.size() - re_detail::re_jump_size); - continue; - case traits_type::syntax_right_word: - static_cast(dat)->index = -3; - markid.pop(); - markid.push(-3); - goto common_forward_assert; - case traits_type::syntax_not: - static_cast(dat)->index = -2; - markid.pop(); - markid.push(-2); - goto common_forward_assert; - case traits_type::syntax_hash: - // comment just skip it: - static_cast(dat)->index = 0; - --marks; - markid.pop(); - mark.pop(); - do{ - ++ptr; - c = (traits_size_type)(traits_uchar_type)*ptr; - }while(traits_type::syntax_close_bracket != traits_inst.syntax_type(c)); - ++ptr; - continue; - default: - // - // error, return to standard parsing and let that handle the error: - --ptr; - continue; - } - } - break; - case traits_type::syntax_close_bracket: - if(_flags & bk_parens) - { - dat = add_literal(dat, (charT)c); - ++ptr; - continue; - } - - close_bracked_jump: - if(dat) - { - data.align(); - dat->next.i = data.size(); - } - - if(mark.empty()) - { - fail(REG_EPAREN); - return error_code(); - } - // see if we have an empty alternative: - if(mark.peek() == data.index(dat) ) - { - re_detail::re_syntax_base* para = reinterpret_cast(reinterpret_cast(data.data()) + mark.peek()); - if(para->type == re_detail::syntax_element_jump) - { - fail(REG_EMPTY); - return error_code(); - } - } - - // pop any pushed alternatives and set the target end destination: - dat = reinterpret_cast(reinterpret_cast(data.data()) + mark.peek()); - while(dat->type == re_detail::syntax_element_jump) - { - static_cast(dat)->alt.i = data.size(); - mark.pop(); - if(mark.empty()) - { - fail(REG_EPAREN); - return error_code(); - } - dat = reinterpret_cast(reinterpret_cast(data.data()) + mark.peek()); - } - - dat = add_simple(0, re_detail::syntax_element_endmark, sizeof(re_detail::re_brace)); - static_cast(dat)->index = markid.peek(); - markid.pop(); - last_mark_popped = mark.peek(); - mark.pop(); - ++ptr; - break; - case traits_type::syntax_char: - dat = add_literal(dat, (charT)c); - ++ptr; - break; - case traits_type::syntax_slash: - { - if(++ptr == end) - { - fail(REG_EESCAPE); - return error_code(); - } - c = (traits_size_type)(traits_uchar_type)*ptr; - // this is only used for the switch(), but cannot be folded in - // due to a bug in Comeau 4.2.44beta3 - traits_size_type syntax = traits_inst.syntax_type(c); - switch(syntax) - { - case traits_type::syntax_open_bracket: - if(_flags & bk_parens) - goto open_bracked_jump; - break; - case traits_type::syntax_close_bracket: - if(_flags & bk_parens) - goto close_bracked_jump; - break; - case traits_type::syntax_plus: - if((_flags & bk_plus_qm) && ((_flags & limited_ops) == 0)) - { - rep_min = 1; - rep_max = (unsigned)-1; - goto repeat_jump; - } - break; - case traits_type::syntax_question: - if((_flags & bk_plus_qm) && ((_flags & limited_ops) == 0)) - { - rep_min = 0; - rep_max = 1; - goto repeat_jump; - } - break; - case traits_type::syntax_or: - if(((_flags & bk_vbar) == 0) || (_flags & limited_ops)) - break; - goto alt_string_jump; - case traits_type::syntax_open_brace: - if( ((_flags & bk_braces) == 0) || ((_flags & intervals) == 0)) - break; - - // we have {x} or {x,} or {x,y}: - parse_range(ptr, end, rep_min, rep_max); - goto repeat_jump; - - case traits_type::syntax_digit: - if(_flags & bk_refs) - { - // update previous: - int i = traits_inst.toi((charT)c); - if(i == 0) - { - // we can have \025 which means take char whose - // code is 25 (octal), so parse string: - c = traits_inst.toi(ptr, end, -8); - --ptr; - break; - } - dat = add_simple(dat, re_detail::syntax_element_backref, sizeof(re_detail::re_brace)); - static_cast(dat)->index = i; - ++ptr; - continue; - } - break; - case traits_type::syntax_b: // re_detail::syntax_element_word_boundary - dat = add_simple(dat, re_detail::syntax_element_word_boundary); - ++ptr; - continue; - case traits_type::syntax_B: - dat = add_simple(dat, re_detail::syntax_element_within_word); - ++ptr; - continue; - case traits_type::syntax_left_word: - dat = add_simple(dat, re_detail::syntax_element_word_start); - ++ptr; - continue; - case traits_type::syntax_right_word: - dat = add_simple(dat, re_detail::syntax_element_word_end); - ++ptr; - continue; - case traits_type::syntax_w: //re_detail::syntax_element_word_char - dat = compile_set_simple(dat, traits_type::char_class_word); - ++ptr; - continue; - case traits_type::syntax_W: - dat = compile_set_simple(dat, traits_type::char_class_word, true); - ++ptr; - continue; - case traits_type::syntax_d: //re_detail::syntax_element_word_char - dat = compile_set_simple(dat, traits_type::char_class_digit); - ++ptr; - continue; - case traits_type::syntax_D: - dat = compile_set_simple(dat, traits_type::char_class_digit, true); - ++ptr; - continue; - case traits_type::syntax_s: //re_detail::syntax_element_word_char - dat = compile_set_simple(dat, traits_type::char_class_space); - ++ptr; - continue; - case traits_type::syntax_S: - dat = compile_set_simple(dat, traits_type::char_class_space, true); - ++ptr; - continue; - case traits_type::syntax_l: //re_detail::syntax_element_word_char - dat = compile_set_simple(dat, traits_type::char_class_lower); - ++ptr; - continue; - case traits_type::syntax_L: - dat = compile_set_simple(dat, traits_type::char_class_lower, true); - ++ptr; - continue; - case traits_type::syntax_u: //re_detail::syntax_element_word_char - dat = compile_set_simple(dat, traits_type::char_class_upper); - ++ptr; - continue; - case traits_type::syntax_U: - dat = compile_set_simple(dat, traits_type::char_class_upper, true); - ++ptr; - continue; - case traits_type::syntax_Q: - ++ptr; - while(true) - { - if(ptr == end) - { - fail(REG_EESCAPE); - return error_code(); - } - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*ptr) == traits_type::syntax_slash) - { - ++ptr; - if((ptr != end) && (traits_inst.syntax_type((traits_size_type)(traits_uchar_type)*ptr) == traits_type::syntax_E)) - break; - else - { - dat = add_literal(dat, *(ptr-1)); - continue; - } - } - dat = add_literal(dat, *ptr); - ++ptr; - } - ++ptr; - continue; - case traits_type::syntax_C: - dat = add_simple(dat, re_detail::syntax_element_wild); - ++ptr; - continue; - case traits_type::syntax_X: - dat = add_simple(dat, re_detail::syntax_element_combining); - ++ptr; - continue; - case traits_type::syntax_Z: - dat = add_simple(dat, re_detail::syntax_element_soft_buffer_end); - ++ptr; - continue; - case traits_type::syntax_G: - dat = add_simple(dat, re_detail::syntax_element_restart_continue); - ++ptr; - continue; - case traits_type::syntax_start_buffer: - dat = add_simple(dat, re_detail::syntax_element_buffer_start); - ++ptr; - continue; - case traits_type::syntax_end_buffer: - dat = add_simple(dat, re_detail::syntax_element_buffer_end); - ++ptr; - continue; - default: - c = (traits_size_type)(traits_uchar_type)parse_escape(ptr, end); - dat = add_literal(dat, (charT)c); - continue; - } - dat = add_literal(dat, (charT)c); - ++ptr; - break; - } - case traits_type::syntax_dollar: - dat = add_simple(dat, re_detail::syntax_element_end_line, sizeof(re_detail::re_syntax_base)); - ++ptr; - continue; - case traits_type::syntax_caret: - dat = add_simple(dat, re_detail::syntax_element_start_line, sizeof(re_detail::re_syntax_base)); - ++ptr; - continue; - case traits_type::syntax_dot: - dat = add_simple(dat, re_detail::syntax_element_wild, sizeof(re_detail::re_syntax_base)); - ++ptr; - continue; - case traits_type::syntax_star: - rep_min = 0; - rep_max = (unsigned)-1; - - repeat_jump: - { - std::ptrdiff_t offset; - if(dat == 0) - { - fail(REG_BADRPT); - return error_code(); - } - switch(dat->type) - { - case re_detail::syntax_element_endmark: - offset = last_mark_popped; - break; - case re_detail::syntax_element_literal: - if(static_cast(dat)->length > 1) - { - // update previous: - charT lit = *reinterpret_cast(reinterpret_cast(dat) + sizeof(re_detail::re_literal) + ((static_cast(dat)->length-1)*sizeof(charT))); - --static_cast(dat)->length; - dat = add_simple(dat, re_detail::syntax_element_literal, sizeof(re_detail::re_literal) + sizeof(charT)); - static_cast(dat)->length = 1; - *reinterpret_cast(static_cast(dat)+1) = lit; - } - offset = reinterpret_cast(dat) - reinterpret_cast(data.data()); - break; - case re_detail::syntax_element_backref: - case re_detail::syntax_element_long_set: - case re_detail::syntax_element_set: - case re_detail::syntax_element_wild: - case re_detail::syntax_element_combining: - // we're repeating a single item: - offset = reinterpret_cast(dat) - reinterpret_cast(data.data()); - break; - default: - fail(REG_BADRPT); - return error_code(); - } - data.align(); - dat->next.i = data.size(); - //unsigned pos = (char*)dat - (char*)data.data(); - - // add the trailing jump: - dat = add_simple(dat, re_detail::syntax_element_jump, re_detail::re_jump_size); - static_cast(dat)->alt.i = 0; - - // now insert the leading repeater: - dat = static_cast(data.insert(offset, re_detail::re_repeater_size)); - dat->next.i = (reinterpret_cast(dat) - reinterpret_cast(data.data())) + re_detail::re_repeater_size; - dat->type = re_detail::syntax_element_rep; - static_cast(dat)->alt.i = data.size(); - static_cast(dat)->min = rep_min; - static_cast(dat)->max = rep_max; - static_cast(dat)->leading = false; - static_cast(dat)->greedy = true; - move_offsets(dat, re_detail::re_repeater_size); - ++ptr; - // - // now check to see if we have a non-greedy repeat: - if((ptr != end) && (_flags & (perlex | limited_ops | bk_plus_qm | bk_braces)) == perlex) - { - c = (traits_size_type)(traits_uchar_type)*ptr; - if(traits_type::syntax_question == traits_inst.syntax_type(c)) - { - // OK repeat is non-greedy: - static_cast(dat)->greedy = false; - ++ptr; - } - } - dat = reinterpret_cast(reinterpret_cast(data.data()) + data.size() - re_detail::re_jump_size); - static_cast(dat)->alt.i = offset; - continue; - } - case traits_type::syntax_plus: - if(_flags & (bk_plus_qm | limited_ops)) - { - dat = add_literal(dat, (charT)c); - ++ptr; - continue; - } - rep_min = 1; - rep_max = (unsigned)-1; - goto repeat_jump; - case traits_type::syntax_question: - if(_flags & (bk_plus_qm | limited_ops)) - { - dat = add_literal(dat, (charT)c); - ++ptr; - continue; - } - rep_min = 0; - rep_max = 1; - goto repeat_jump; - case traits_type::syntax_open_set: - // update previous: - if(dat) - { - data.align(); - dat->next.i = data.size(); - } - // extend: - dat = compile_set(ptr, end); - if(dat == 0) - { - if((_flags & regex_constants::failbit) == 0) - fail(REG_EBRACK); - return error_code(); - } - break; - case traits_type::syntax_or: - { - if(_flags & (bk_vbar | limited_ops)) - { - dat = add_literal(dat, (charT)c); - ++ptr; - continue; - } - - alt_string_jump: - - // update previous: - if(dat == 0) - { - // start of pattern can't have empty "|" - fail(REG_EMPTY); - return error_code(); - } - // see if we have an empty alternative: - if(mark.empty() == false) - if(mark.peek() == data.index(dat)) - { - fail(REG_EMPTY); - return error_code(); - } - // extend: - dat = add_simple(dat, re_detail::syntax_element_jump, re_detail::re_jump_size); - data.align(); - // - // we don't know what value to put here yet, - // use an arbitrarily large value for now - // and check it later (TODO!) - static_cast(dat)->alt.i = INT_MAX/2; - - // now work out where to insert: - std::size_t offset = 0; - if(mark.empty() == false) - { - // we have a '(' or '|' to go back to: - offset = mark.peek(); - re_detail::re_syntax_base* base = reinterpret_cast(reinterpret_cast(data.data()) + offset); - offset = base->next.i; - } - re_detail::re_jump* j = static_cast(data.insert(offset, re_detail::re_jump_size)); - j->type = re_detail::syntax_element_alt; - j->next.i = offset + re_detail::re_jump_size; - j->alt.i = data.size(); - move_offsets(j, re_detail::re_jump_size); - dat = reinterpret_cast(reinterpret_cast(data.data()) + data.size() - re_detail::re_jump_size); - mark.push(data.size() - re_detail::re_jump_size); - ++ptr; - break; - } - case traits_type::syntax_open_brace: - if((_flags & bk_braces) || ((_flags & intervals) == 0)) - { - dat = add_literal(dat, (charT)c); - ++ptr; - continue; - } - // we have {x} or {x,} or {x,y}: - parse_range(ptr, end, rep_min, rep_max); - goto repeat_jump; - case traits_type::syntax_newline: - if(_flags & newline_alt) - goto alt_string_jump; - dat = add_literal(dat, (charT)c); - ++ptr; - continue; - case traits_type::syntax_close_brace: - if(_flags & bk_braces) - { - dat = add_literal(dat, (charT)c); - ++ptr; - continue; - } - fail(REG_BADPAT); - return error_code(); - default: - dat = add_literal(dat, (charT)c); - ++ptr; - break; - } // switch - } // while - - // - // update previous: - if(dat) - { - data.align(); - dat->next.i = data.size(); - } - - // see if we have an empty alternative: - if(mark.empty() == false) - if(mark.peek() == data.index(dat) ) - { - re_detail::re_syntax_base* para = reinterpret_cast(reinterpret_cast(data.data()) + mark.peek()); - if(para->type == re_detail::syntax_element_jump) - { - fail(REG_EMPTY); - return error_code(); - } - } - // - // set up tail: - // - if(mark.empty() == false) - { - // pop any pushed alternatives and set the target end destination: - dat = reinterpret_cast(reinterpret_cast(data.data()) + mark.peek()); - while(dat->type == re_detail::syntax_element_jump) - { - static_cast(dat)->alt.i = data.size(); - mark.pop(); - if(mark.empty() == true) - break; - dat = reinterpret_cast(reinterpret_cast(data.data()) + mark.peek()); - } - } - - dat = static_cast(data.extend(sizeof(re_detail::re_syntax_base))); - dat->type = re_detail::syntax_element_match; - dat->next.i = 0; - - if(mark.empty() == false) - { - fail(REG_EPAREN); - return error_code(); - } - - // - // allocate space for start _map: - startmap = reinterpret_cast(data.extend(256 + ((end - base + 1) * sizeof(charT)))); - // - // and copy the expression we just compiled: - _expression = reinterpret_cast(reinterpret_cast(startmap) + 256); - _expression_len = end - base; - std::memcpy(_expression, base, _expression_len * sizeof(charT)); - *(_expression + _expression_len) = charT(0); - - // - // now we need to apply fixups to the array - // so that we can use pointers and not indexes - fixup_apply(static_cast(data.data()), marks); - - // check for error during fixup: - if(_flags & regex_constants::failbit) - return error_code(); - - // - // finally compile the maps so that we can make intelligent choices - // whenever we encounter an alternative: - compile_maps(); - if(pkmp) - { - re_detail::kmp_free(pkmp, data.allocator()); - pkmp = 0; - } - re_detail::re_syntax_base* sbase = static_cast(data.data()); - _restart_type = probe_restart(sbase); - _leading_len = fixup_leading_rep(sbase, 0); - if((sbase->type == re_detail::syntax_element_literal) && (sbase->next.p->type == re_detail::syntax_element_match)) - { - _restart_type = restart_fixed_lit; - if(0 == pkmp) - { - charT* p1 = reinterpret_cast(reinterpret_cast(sbase) + sizeof(re_detail::re_literal)); - charT* p2 = p1 + static_cast(sbase)->length; - pkmp = re_detail::kmp_compile(p1, p2, charT(), re_detail::kmp_translator(_flags®ex_constants::icase, &traits_inst), data.allocator()); - } - } - return error_code(); - - } // sentry - return REG_EMPTY; - -# ifdef BOOST_MSVC -# pragma warning(pop) -#endif - -} - -template -re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::add_simple(re_detail::re_syntax_base* dat, re_detail::syntax_element_type type, unsigned int size) -{ - if(dat) - { - data.align(); - dat->next.i = data.size(); - } - if(size < sizeof(re_detail::re_syntax_base)) - size = sizeof(re_detail::re_syntax_base); - dat = static_cast(data.extend(size)); - dat->type = type; - dat->next.i = 0; - return dat; -} - -template -re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::add_literal(re_detail::re_syntax_base* dat, charT c) -{ - if(dat && (dat->type == re_detail::syntax_element_literal)) - { - // add another charT to the list: - std::ptrdiff_t pos = reinterpret_cast(dat) - reinterpret_cast(data.data()); - *reinterpret_cast(data.extend(sizeof(charT))) = traits_inst.translate(c, (_flags & regex_constants::icase)); - dat = reinterpret_cast(reinterpret_cast(data.data()) + pos); - ++(static_cast(dat)->length); - } - else - { - // extend: - dat = add_simple(dat, re_detail::syntax_element_literal, sizeof(re_detail::re_literal) + sizeof(charT)); - static_cast(dat)->length = 1; - *reinterpret_cast(reinterpret_cast(dat)+1) = traits_inst.translate(c, (_flags & regex_constants::icase)); - } - return dat; -} - -template -unsigned int BOOST_REGEX_CALL reg_expression::probe_restart(re_detail::re_syntax_base* dat) -{ - switch(dat->type) - { - case re_detail::syntax_element_startmark: - case re_detail::syntax_element_endmark: - if(static_cast(dat)->index == -2) - return regbase::restart_any; - return probe_restart(dat->next.p); - case re_detail::syntax_element_start_line: - return regbase::restart_line; - case re_detail::syntax_element_word_start: - return regbase::restart_word; - case re_detail::syntax_element_buffer_start: - return regbase::restart_buf; - case re_detail::syntax_element_restart_continue: - return regbase::restart_continue; - default: - return regbase::restart_any; - } -} - -template -unsigned int BOOST_REGEX_CALL reg_expression::fixup_leading_rep(re_detail::re_syntax_base* dat, re_detail::re_syntax_base* end) -{ - unsigned int len = 0; - bool leading_lit = end ? false : true; - while(dat != end) - { - switch(dat->type) - { - case re_detail::syntax_element_literal: - len += static_cast(dat)->length; - if((leading_lit) && (static_cast(dat)->length > 2)) - { - // we can do a literal search for the leading literal string - // using Knuth-Morris-Pratt (or whatever), and only then check for - // matches. We need a decent length string though to make it - // worth while. - _leading_string = reinterpret_cast(reinterpret_cast(dat) + sizeof(re_detail::re_literal)); - _leading_string_len = static_cast(dat)->length; - _restart_type = restart_lit; - leading_lit = false; - const charT* p1 = _leading_string; - const charT* p2 = _leading_string + _leading_string_len; - pkmp = re_detail::kmp_compile(p1, p2, charT(), re_detail::kmp_translator(_flags®ex_constants::icase, &traits_inst), data.allocator()); - } - leading_lit = false; - break; - case re_detail::syntax_element_wild: - ++len; - leading_lit = false; - break; - case re_detail::syntax_element_match: - return len; - case re_detail::syntax_element_backref: - //case re_detail::syntax_element_jump: - case re_detail::syntax_element_alt: - case re_detail::syntax_element_combining: - return 0; - case re_detail::syntax_element_long_set: - { - // we need to verify that there are no multi-character - // collating elements inside the repeat: - if(!static_cast(dat)->singleton) - return 0; - ++len; - leading_lit = false; - break; - } - case re_detail::syntax_element_set: - ++len; - leading_lit = false; - break; - case re_detail::syntax_element_rep: - case re_detail::syntax_element_dot_rep: - case re_detail::syntax_element_char_rep: - case re_detail::syntax_element_short_set_rep: - case re_detail::syntax_element_long_set_rep: - if((len == 0) && (1 == fixup_leading_rep(dat->next.p, static_cast(dat)->alt.p) )) - { - static_cast(dat)->leading = leading_lit; - return len; - } - return len; - case re_detail::syntax_element_startmark: - if(static_cast(dat)->index == -2) - return 0; - // fall through: - default: - break; - } - dat = dat->next.p; - } - return len; -} - -template -void BOOST_REGEX_CALL reg_expression::fail(unsigned int err) -{ - error_code_ = err; - if(err) - { - _flags |= regex_constants::failbit; -#ifndef BOOST_NO_EXCEPTIONS - if(_flags & regex_constants::use_except) - { - re_detail::raise_error(traits_inst, err); - } -#endif - } - else - _flags &= ~regex_constants::failbit; -} - - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace boost - - -#endif // BOOST_REGEX_COMPILE_HPP - - - - - - - - - diff --git a/include/boost/regex/v4/regex_cstring.hpp b/include/boost/regex/v4/regex_cstring.hpp deleted file mode 100644 index 99495024..00000000 --- a/include/boost/regex/v4/regex_cstring.hpp +++ /dev/null @@ -1,134 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_cstring.hpp - * VERSION see - * DESCRIPTION: This is an internal header file, do not include directly. - * String support and helper functions, for regular - * expression library. - */ - -#ifndef BOOST_REGEX_CSTRING_HPP -#define BOOST_REGEX_CSTRING_HPP - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif - -#include - -namespace boost{ - namespace re_detail{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -#endif - -// -// start by defining some template function aliases for C API functions: -// - -template -std::size_t BOOST_REGEX_CALL re_strlen(const charT *s) -{ - std::size_t len = 0; - while(*s) - { - ++s; - ++len; - } - return len; -} - -inline std::size_t BOOST_REGEX_CALL re_strlen(const char *s) -{ - return std::strlen(s); -} - -#ifndef BOOST_NO_WREGEX - -inline std::size_t BOOST_REGEX_CALL re_strlen(const wchar_t *s) -{ - return std::wcslen(s); -} - -#endif - -#ifndef BOOST_NO_WREGEX -BOOST_REGEX_DECL void BOOST_REGEX_CALL re_transform(std::basic_string& out, const std::basic_string& in); -#endif -BOOST_REGEX_DECL void BOOST_REGEX_CALL re_transform(std::string& out, const std::string& in); - -template -void BOOST_REGEX_CALL re_trunc_primary(std::basic_string& s) -{ - for(unsigned int i = 0; i < s.size(); ++i) - { - if(s[i] <= 1) - { - s.erase(i); - break; - } - } -} - -inline char* BOOST_REGEX_CALL re_strcpy(char *s1, const char *s2) -{ - #if defined(__BORLANDC__) && defined(strcpy) - return ::strcpy(s1, s2); - #else - return std::strcpy(s1, s2); - #endif -} - -#ifndef BOOST_NO_WREGEX - -inline wchar_t* BOOST_REGEX_CALL re_strcpy(wchar_t *s1, const wchar_t *s2) -{ - return std::wcscpy(s1, s2); -} - -#endif - - -template -charT* BOOST_REGEX_CALL re_strdup(const charT* p) -{ - charT* buf = new charT[re_strlen(p) + 1]; - re_strcpy(buf, p); - return buf; -} - -template -inline void BOOST_REGEX_CALL re_strfree(charT* p) -{ - delete[] p; -} - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace re_detail -} // namespace boost - -#endif // BOOST_REGEX_CSTRING_HPP - - - - - diff --git a/include/boost/regex/v4/regex_format.hpp b/include/boost/regex/v4/regex_format.hpp deleted file mode 100644 index e0331c26..00000000 --- a/include/boost/regex/v4/regex_format.hpp +++ /dev/null @@ -1,534 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_format.hpp - * VERSION see - * DESCRIPTION: Provides formatting output routines for search and replace - * operations. Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -#ifndef BOOST_REGEX_FORMAT_HPP -#define BOOST_REGEX_FORMAT_HPP - - -namespace boost{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -w-8037 -#endif - -// -// Forward declaration: -// -template -class match_results; - -namespace re_detail{ - -template -O BOOST_REGEX_CALL re_copy_out(O out, I first, I last) -{ - while(first != last) - { - *out = *first; - ++out; - ++first; - } - return out; -} - -template -void BOOST_REGEX_CALL re_skip_format(const charT*& fmt, const traits_type& traits_inst) -{ - // dwa 9/13/00 - suppress incorrect unused parameter warning for MSVC - (void)traits_inst; - - typedef typename traits_type::size_type traits_size_type; - typedef typename traits_type::uchar_type traits_uchar_type; - typedef typename traits_type::string_type traits_string_type; - - unsigned int parens = 0; - unsigned int c; - while(*fmt) - { - c = traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt)); - if((c == traits_type::syntax_colon) && (parens == 0)) - { - ++fmt; - return; - } - else if(c == traits_type::syntax_close_bracket) - { - if(parens == 0) - { - ++fmt; - return; - } - --parens; - } - else if(c == traits_type::syntax_open_bracket) - ++parens; - else if(c == traits_type::syntax_slash) - { - ++fmt; - if(*fmt == 0) - return; - } - ++fmt; - } -} - -#ifdef BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN - -// -// ugly hack for buggy output iterators - -template -inline void oi_assign(T* p, T v) -{ - ::boost::re_detail::pointer_destroy(p); - pointer_construct(p, v); -} - -#else - -template -inline void oi_assign(T* p, T v) -{ - // - // if you get a compile time error in here then you either - // need to rewrite your output iterator to make it assignable - // (as is required by the standard), or define - // BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN to use the ugly hack above - *p = v; -} - -#endif - - -#if defined(BOOST_REGEX_NO_TEMPLATE_SWITCH_MERGE) -// -// Ugly ugly hack, -// template don't merge if they contain switch statements so declare these -// templates in unnamed namespace (ie with internal linkage), each translation -// unit then gets its own local copy, it works seemlessly but bloats the app. -namespace{ -#endif - -// -// algorithm reg_format: -// takes the result of a match and a format string -// and merges them to produce a new string which -// is sent to an OutputIterator, -// _reg_format_aux does the actual work: -// -template -OutputIterator BOOST_REGEX_CALL _reg_format_aux(OutputIterator out, - const match_results& m, - const charT*& fmt, - match_flag_type flags, const traits_type& traits_inst) -{ - const charT* fmt_end = fmt; - while(*fmt_end) ++ fmt_end; - - typedef typename traits_type::size_type traits_size_type; - typedef typename traits_type::uchar_type traits_uchar_type; - typedef typename traits_type::string_type traits_string_type; - - while(*fmt) - { - switch(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt))) - { - case traits_type::syntax_dollar: - if(flags & format_sed) - { - // no perl style replacement, - // $ is an ordinary character: - goto default_opt; - } - ++fmt; - if(*fmt == 0) // oops trailing $ - { - --fmt; - *out = *fmt; - ++out; - return out; - } - switch(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt))) - { - case traits_type::syntax_start_buffer: - oi_assign(&out, re_copy_out(out, Iterator(m[-1].first), Iterator(m[-1].second))); - ++fmt; - continue; - case traits_type::syntax_end_buffer: - oi_assign(&out, re_copy_out(out, Iterator(m[-2].first), Iterator(m[-2].second))); - ++fmt; - continue; - case traits_type::syntax_digit: - { -expand_sub: - unsigned int index = traits_inst.toi(fmt, fmt_end, 10); - if(index < m.size()) - oi_assign(&out, re_copy_out(out, Iterator(m[index].first), Iterator(m[index].second))); - continue; - } - } - // anything else: - if(*fmt == '&') - { - oi_assign(&out, re_copy_out(out, Iterator(m[0].first), Iterator(m[0].second))); - ++fmt; - } - else - { - // probably an error, treat as a literal '$' - --fmt; - *out = *fmt; - ++out; - ++fmt; - } - continue; - case traits_type::syntax_slash: - { - // escape sequence: - ++fmt; - charT c(*fmt); - if(*fmt == 0) - { - --fmt; - *out = *fmt; - ++out; - ++fmt; - return out; - } - switch(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt))) - { - case traits_type::syntax_a: - c = '\a'; - ++fmt; - break; - case traits_type::syntax_f: - c = '\f'; - ++fmt; - break; - case traits_type::syntax_n: - c = '\n'; - ++fmt; - break; - case traits_type::syntax_r: - c = '\r'; - ++fmt; - break; - case traits_type::syntax_t: - c = '\t'; - ++fmt; - break; - case traits_type::syntax_v: - c = '\v'; - ++fmt; - break; - case traits_type::syntax_x: - ++fmt; - if(fmt == fmt_end) - { - *out = *--fmt; - ++out; - return out; - } - // maybe have \x{ddd} - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt)) == traits_type::syntax_open_brace) - { - ++fmt; - if(fmt == fmt_end) - { - fmt -= 2; - *out = *fmt; - ++out; - ++fmt; - continue; - } - if(traits_inst.is_class(*fmt, traits_type::char_class_xdigit) == false) - { - fmt -= 2; - *out = *fmt; - ++out; - ++fmt; - continue; - } - c = (charT)traits_inst.toi(fmt, fmt_end, -16); - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt)) != traits_type::syntax_close_brace) - { - while(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt)) != traits_type::syntax_slash) - --fmt; - ++fmt; - *out = *fmt; - ++out; - ++fmt; - continue; - } - ++fmt; - break; - } - else - { - if(traits_inst.is_class(*fmt, traits_type::char_class_xdigit) == false) - { - --fmt; - *out = *fmt; - ++out; - ++fmt; - continue; - } - c = (charT)traits_inst.toi(fmt, fmt_end, -16); - } - break; - case traits_type::syntax_c: - ++fmt; - if(fmt == fmt_end) - { - --fmt; - *out = *fmt; - ++out; - return out; - } - if(((typename traits_type::uchar_type)(*fmt) < (typename traits_type::uchar_type)'@') - || ((typename traits_type::uchar_type)(*fmt) > (typename traits_type::uchar_type)127) ) - { - --fmt; - *out = *fmt; - ++out; - ++fmt; - break; - } - c = (charT)((typename traits_type::uchar_type)(*fmt) - (typename traits_type::uchar_type)'@'); - ++fmt; - break; - case traits_type::syntax_e: - c = (charT)27; - ++fmt; - break; - case traits_type::syntax_digit: - if(flags & format_sed) - goto expand_sub; - else - c = (charT)traits_inst.toi(fmt, fmt_end, -8); - break; - default: - //c = *fmt; - ++fmt; - } - *out = c; - ++out; - continue; - } - case traits_type::syntax_open_bracket: - if(0 == (flags & format_all)) - { - *out = *fmt; - ++out; - ++fmt; - continue; - } - else - { - ++fmt; // recurse - oi_assign(&out, _reg_format_aux(out, m, fmt, flags, traits_inst)); - continue; - } - case traits_type::syntax_close_bracket: - if(0 == (flags & format_all)) - { - *out = *fmt; - ++out; - ++fmt; - continue; - } - else - { - ++fmt; // return from recursion - return out; - } - case traits_type::syntax_colon: - if(flags & regex_constants::format_is_if) - { - ++fmt; - return out; - } - *out = *fmt; - ++out; - ++fmt; - continue; - case traits_type::syntax_question: - { - if(0 == (flags & format_all)) - { - *out = *fmt; - ++out; - ++fmt; - continue; - } - else - { - ++fmt; - if(*fmt == 0) - { - --fmt; - *out = *fmt; - ++out; - ++fmt; - return out; - } - unsigned int id = traits_inst.toi(fmt, fmt_end, 10); - if(m[id].matched) - { - oi_assign(&out, _reg_format_aux(out, m, fmt, flags | regex_constants::format_is_if, traits_inst)); - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*(fmt-1))) == traits_type::syntax_colon) - re_skip_format(fmt, traits_inst); - } - else - { - re_skip_format(fmt, traits_inst); - if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*(fmt-1))) == traits_type::syntax_colon) - oi_assign(&out, _reg_format_aux(out, m, fmt, flags | regex_constants::format_is_if, traits_inst)); - } - return out; - } - } - default: -default_opt: - if((flags & format_sed) && (*fmt == '&')) - { - oi_assign(&out, re_copy_out(out, Iterator(m[0].first), Iterator(m[0].second))); - ++fmt; - continue; - } - *out = *fmt; - ++out; - ++fmt; - } - } - - return out; -} - -#if defined(BOOST_REGEX_NO_TEMPLATE_SWITCH_MERGE) -} // namespace -#endif - -template -class string_out_iterator -{ - S* out; -public: - string_out_iterator(S& s) : out(&s) {} - string_out_iterator& operator++() { return *this; } - string_out_iterator& operator++(int) { return *this; } - string_out_iterator& operator*() { return *this; } - string_out_iterator& operator=(typename S::value_type v) - { - out->append(1, v); - return *this; - } -}; - -template -class merge_out_predicate -{ - OutputIterator* out; - Iterator* last; - const charT* fmt; - match_flag_type flags; - const traits_type* pt; - // rebind allocator to correct type: - typedef typename detail::rebind_allocator, Allocator>::type alloc_type; - -public: - merge_out_predicate(OutputIterator& o, Iterator& pi, const charT* f, match_flag_type format_flags, const traits_type& p) - : out(&o), last(&pi), fmt(f), flags(format_flags), pt(&p){} - - ~merge_out_predicate() {} - bool BOOST_REGEX_CALL operator()(const boost::match_results& m) - { - const charT* f = fmt; - if(0 == (flags & format_no_copy)) - oi_assign(out, re_copy_out(*out, Iterator(m[-1].first), Iterator(m[-1].second))); - oi_assign(out, _reg_format_aux(*out, m, f, flags, *pt)); - *last = m[-2].first; - return flags & format_first_only ? false : true; - } -}; - -} // namespace re_detail - -template -OutputIterator regex_format(OutputIterator out, - const match_results& m, - const charT* fmt, - match_flag_type flags = format_all - ) -{ - regex_traits t; - return re_detail::_reg_format_aux(out, m, fmt, flags, t); -} - -template -OutputIterator regex_format(OutputIterator out, - const match_results& m, - const std::basic_string& fmt, - match_flag_type flags = format_all - ) -{ - regex_traits t; - const charT* start = fmt.c_str(); - return re_detail::_reg_format_aux(out, m, start, flags, t); -} - -template -std::basic_string regex_format(const match_results& m, - const charT* fmt, - match_flag_type flags = format_all) -{ - std::basic_string result; - re_detail::string_out_iterator > i(result); - regex_format(i, m, fmt, flags); - return result; -} - -template -std::basic_string regex_format(const match_results& m, - const std::basic_string& fmt, - match_flag_type flags = format_all) -{ - std::basic_string result; - re_detail::string_out_iterator > i(result); - regex_format(i, m, fmt.c_str(), flags); - return result; -} - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace boost - -#endif // BOOST_REGEX_FORMAT_HPP - - - - - diff --git a/include/boost/regex/v4/regex_fwd.hpp b/include/boost/regex/v4/regex_fwd.hpp deleted file mode 100644 index 02c16571..00000000 --- a/include/boost/regex/v4/regex_fwd.hpp +++ /dev/null @@ -1,72 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_fwd.cpp - * VERSION see - * DESCRIPTION: Forward declares boost::reg_expression<> and - * associated typedefs. - */ - -#ifndef BOOST_REGEX_FWD_HPP_INCLUDED -#define BOOST_REGEX_FWD_HPP_INCLUDED - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif -#include - -// -// define BOOST_REGEX_NO_FWD if this -// header doesn't work! -// -#ifdef BOOST_REGEX_NO_FWD -# ifndef BOOST_RE_REGEX_HPP -# include -# endif -#else - -// -// If there isn't good enough wide character support then there will -// be no wide character regular expressions: -// -#if (defined(BOOST_NO_CWCHAR) || defined(BOOST_NO_CWCTYPE) || defined(BOOST_NO_STD_WSTRING)) && !defined(BOOST_NO_WREGEX) -# define BOOST_NO_WREGEX -#endif - -namespace boost{ - -template -class regex_traits; - -template , class Allocator = BOOST_DEFAULT_ALLOCATOR(charT) > -class reg_expression; -template , class Allocator = BOOST_DEFAULT_ALLOCATOR(charT) > -class basic_regex; - -typedef basic_regex, BOOST_DEFAULT_ALLOCATOR(char) > regex; -#ifndef BOOST_NO_WREGEX -typedef basic_regex, BOOST_DEFAULT_ALLOCATOR(wchar_t) > wregex; -#endif - -} // namespace boost - -#endif // BOOST_REGEX_NO_FWD - -#endif - - - diff --git a/include/boost/regex/v4/regex_grep.hpp b/include/boost/regex/v4/regex_grep.hpp deleted file mode 100644 index a1b382dc..00000000 --- a/include/boost/regex/v4/regex_grep.hpp +++ /dev/null @@ -1,147 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_grep.hpp - * VERSION see - * DESCRIPTION: Provides regex_grep implementation. - */ - -#ifndef BOOST_REGEX_V4_REGEX_GREP_HPP -#define BOOST_REGEX_V4_REGEX_GREP_HPP - - -namespace boost{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -w-8037 -#endif - - -// -// regex_grep: -// find all non-overlapping matches within the sequence first last: -// -template -inline unsigned int regex_grep(Predicate foo, - BidiIterator first, - BidiIterator last, - const reg_expression& e, - match_flag_type flags = match_default) -{ - if(e.flags() & regex_constants::failbit) - return false; - typedef detail::rebind_allocator, Allocator> binder; - typedef typename binder::type match_allocator_type; - //typedef Allocator match_allocator_type; - - match_results m; - re_detail::perl_matcher matcher(first, last, m, e, flags); - unsigned int count = 0; - while(matcher.find()) - { - ++count; - if(0 == foo(m)) - return count; // caller doesn't want to go on - if(m[0].second == last) - return count; // we've reached the end, don't try and find an extra null match. - if(m.length() == 0) - { - // we found a NULL-match, now try to find - // a non-NULL one at the same position: - BidiIterator last_end(m[0].second); - if(last_end == last) - return count; - matcher.setf(match_not_null | match_continuous); - if(matcher.find()) - { - ++count; - last_end = m[0].second; - if(0 == foo(m)) - return count; - } - else - { - // reset match back to where it was: - m.set_second(last_end); - } - matcher.unsetf((match_not_null | match_continuous) & ~flags); - } - } - return count; -} - -// -// regex_grep convenience interfaces: -#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -// -// this isn't really a partial specialisation, but template function -// overloading - if the compiler doesn't support partial specialisation -// then it really won't support this either: -template -inline unsigned int regex_grep(Predicate foo, const charT* str, - const reg_expression& e, - match_flag_type flags = match_default) -{ - return regex_grep(foo, str, str + traits::length(str), e, flags); -} - -template -inline unsigned int regex_grep(Predicate foo, const std::basic_string& s, - const reg_expression& e, - match_flag_type flags = match_default) -{ - return regex_grep(foo, s.begin(), s.end(), e, flags); -} -#else // partial specialisation -inline unsigned int regex_grep(bool (*foo)(const cmatch&), const char* str, - const regex& e, - match_flag_type flags = match_default) -{ - return regex_grep(foo, str, str + regex::traits_type::length(str), e, flags); -} -#ifndef BOOST_NO_WREGEX -inline unsigned int regex_grep(bool (*foo)(const wcmatch&), const wchar_t* str, - const wregex& e, - match_flag_type flags = match_default) -{ - return regex_grep(foo, str, str + wregex::traits_type::length(str), e, flags); -} -#endif -inline unsigned int regex_grep(bool (*foo)(const match_results&), const std::string& s, - const regex& e, - match_flag_type flags = match_default) -{ - return regex_grep(foo, s.begin(), s.end(), e, flags); -} -#if !defined(BOOST_NO_WREGEX) -inline unsigned int regex_grep(bool (*foo)(const match_results::const_iterator>&), - const std::basic_string& s, - const wregex& e, - match_flag_type flags = match_default) -{ - return regex_grep(foo, s.begin(), s.end(), e, flags); -} -#endif -#endif - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace boost - -#endif // BOOST_REGEX_V4_REGEX_GREP_HPP diff --git a/include/boost/regex/v4/regex_iterator.hpp b/include/boost/regex/v4/regex_iterator.hpp deleted file mode 100644 index 92be5bb2..00000000 --- a/include/boost/regex/v4/regex_iterator.hpp +++ /dev/null @@ -1,154 +0,0 @@ -/* - * - * Copyright (c) 2003 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_iterator.hpp - * VERSION see - * DESCRIPTION: Provides regex_iterator implementation. - */ - -#ifndef BOOST_REGEX_V4_REGEX_ITERATOR_HPP -#define BOOST_REGEX_V4_REGEX_ITERATOR_HPP - -#include - -namespace boost{ - -template -class regex_iterator_implementation -{ - typedef basic_regex regex_type; - - match_results what; // current match - BidirectionalIterator base; // start of sequence - BidirectionalIterator end; // end of sequence - const regex_type* pre; // the expression - match_flag_type flags; // flags for matching - -public: - regex_iterator_implementation(const regex_type* p, BidirectionalIterator last, match_flag_type f) - : base(), end(last), pre(p), flags(f){} - bool init(BidirectionalIterator first) - { - base = first; - return regex_search(first, end, what, *pre, flags); - } - bool compare(const regex_iterator_implementation& that) - { - if(this == &that) return true; - return (pre == that.pre) && (end == that.end) && (flags == that.flags) && (what[0].first == that.what[0].first) && (what[0].second == that.what[0].second); - } - const match_results& get() - { return what; } - bool next() - { - if(what.prefix().first != what[0].second) - flags |= match_prev_avail; - BidirectionalIterator next_start = what[0].second; - match_flag_type f(flags); - if(!what.length()) - f |= regex_constants::match_not_initial_null; - bool result = regex_search(next_start, end, what, *pre, f); - if(result) - what.set_base(base); - return result; - } -}; - -template ::value_type, - class traits = regex_traits, - class Allocator = BOOST_DEFAULT_ALLOCATOR(charT) > -class regex_iterator -{ -private: - typedef regex_iterator_implementation impl; - typedef shared_ptr pimpl; -public: - typedef basic_regex regex_type; - typedef match_results value_type; - typedef typename re_detail::regex_iterator_traits::difference_type - difference_type; - typedef const value_type* pointer; - typedef const value_type& reference; - typedef std::forward_iterator_tag iterator_category; - - regex_iterator(){} - regex_iterator(BidirectionalIterator a, BidirectionalIterator b, - const regex_type& re, - match_flag_type m = match_default) - : pdata(new impl(&re, b, m)) - { - if(!pdata->init(a)) - { - pdata.reset(); - } - } - regex_iterator(const regex_iterator& that) - : pdata(that.pdata) {} - regex_iterator& operator=(const regex_iterator& that) - { - pdata = that.pdata; - return *this; - } - bool operator==(const regex_iterator& that) - { - if((pdata.get() == 0) || (that.pdata.get() == 0)) - return pdata.get() == that.pdata.get(); - return pdata->compare(*(that.pdata.get())); - } - bool operator!=(const regex_iterator& that) - { return !(*this == that); } - const value_type& operator*() - { return pdata->get(); } - const value_type* operator->() - { return &(pdata->get()); } - regex_iterator& operator++() - { - cow(); - if(0 == pdata->next()) - { - pdata.reset(); - } - return *this; - } - regex_iterator operator++(int) - { - regex_iterator result(*this); - ++(*this); - return result; - } -private: - - pimpl pdata; - - void cow() - { - // copy-on-write - if(pdata.get() && !pdata.unique()) - { - pdata.reset(new impl(*(pdata.get()))); - } - } -}; - - -} // namespace boost - -#endif // BOOST_REGEX_V4_REGEX_ITERATOR_HPP diff --git a/include/boost/regex/v4/regex_kmp.hpp b/include/boost/regex/v4/regex_kmp.hpp deleted file mode 100644 index 3a5e7080..00000000 --- a/include/boost/regex/v4/regex_kmp.hpp +++ /dev/null @@ -1,111 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_kmp.hpp - * VERSION see - * DESCRIPTION: Provides Knuth Morris Pratt search operations. - * Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -#ifndef BOOST_REGEX_KMP_HPP -#define BOOST_REGEX_KMP_HPP - -#ifdef BOOST_REGEX_CONFIG_HPP -#include -#endif - - -namespace boost{ - namespace re_detail{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -#endif - -template -struct kmp_info -{ - unsigned int size; - unsigned int len; - const charT* pstr; - int kmp_next[1]; -}; - -template -void kmp_free(kmp_info* pinfo, const Allocator& a) -{ - typedef typename boost::detail::rebind_allocator::type atype; - atype(a).deallocate(reinterpret_cast(pinfo), pinfo->size); -} - -template -kmp_info* kmp_compile(iterator first, iterator last, charT, Trans translate, const Allocator& a) -{ - typedef typename boost::detail::rebind_allocator::type atype; - int i, j, m; - i = 0; - m = static_cast(boost::re_detail::distance(first, last)); - ++m; - unsigned int size = sizeof(kmp_info) + sizeof(int)*m + sizeof(charT)*m; - --m; - // - // allocate struct and fill it in: - // - kmp_info* pinfo = reinterpret_cast*>(atype(a).allocate(size)); - BOOST_REGEX_NOEH_ASSERT(pinfo) - pinfo->size = size; - pinfo->len = m; - charT* p = reinterpret_cast(reinterpret_cast(pinfo) + sizeof(kmp_info) + sizeof(int)*(m+1)); - pinfo->pstr = p; - while(first != last) - { - *p = translate(*first); - ++first; - ++p; - } - *p = 0; - // - // finally do regular kmp compile: - // - j = pinfo->kmp_next[0] = -1; - while (i < m) - { - while ((j > -1) && (pinfo->pstr[i] != pinfo->pstr[j])) - j = pinfo->kmp_next[j]; - ++i; - ++j; - if (pinfo->pstr[i] == pinfo->pstr[j]) - pinfo->kmp_next[i] = pinfo->kmp_next[j]; - else - pinfo->kmp_next[i] = j; - } - - return pinfo; -} - -#ifdef __BORLANDC__ - #pragma option pop -#endif - - } // namepsace re_detail -} // namespace boost - -#endif // BOOST_REGEX_KMP_HPP - - - diff --git a/include/boost/regex/v4/regex_match.hpp b/include/boost/regex/v4/regex_match.hpp deleted file mode 100644 index 4c4eef89..00000000 --- a/include/boost/regex/v4/regex_match.hpp +++ /dev/null @@ -1,195 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_match.hpp - * VERSION see - * DESCRIPTION: Regular expression matching algorithms. - * Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - - -#ifndef BOOST_REGEX_MATCH_HPP -#define BOOST_REGEX_MATCH_HPP - -#ifndef BOOST_REGEX_MAX_STATE_COUNT -# define BOOST_REGEX_MAX_STATE_COUNT 100000000 -#endif - -#include -#include - - -namespace boost{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -w-8026 -w-8027 -#endif - -// -// proc regex_match -// returns true if the specified regular expression matches -// the whole of the input. Fills in what matched in m. -// -template -bool regex_match(BidiIterator first, BidiIterator last, - match_results& m, - const reg_expression& e, - match_flag_type flags = match_default) -{ - re_detail::perl_matcher matcher(first, last, m, e, flags); - return matcher.match(); -} -template -bool regex_match(iterator first, iterator last, - const reg_expression& e, - match_flag_type flags = match_default) -{ - match_results m; - return regex_match(first, last, m, e, flags); -} -// -// query_match convenience interfaces: -#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -// -// this isn't really a partial specialisation, but template function -// overloading - if the compiler doesn't support partial specialisation -// then it really won't support this either: -template -inline bool regex_match(const charT* str, - match_results& m, - const reg_expression& e, - match_flag_type flags = match_default) -{ - return regex_match(str, str + traits::length(str), m, e, flags); -} - -template -inline bool regex_match(const std::basic_string& s, - match_results::const_iterator, Allocator>& m, - const reg_expression& e, - match_flag_type flags = match_default) -{ - return regex_match(s.begin(), s.end(), m, e, flags); -} -template -inline bool regex_match(const charT* str, - const reg_expression& e, - match_flag_type flags = match_default) -{ - match_results m; - return regex_match(str, str + traits::length(str), m, e, flags); -} - -template -inline bool regex_match(const std::basic_string& s, - const reg_expression& e, - match_flag_type flags = match_default) -{ - typedef typename std::basic_string::const_iterator iterator; - match_results m; - return regex_match(s.begin(), s.end(), m, e, flags); -} -#else // partial ordering -inline bool regex_match(const char* str, - cmatch& m, - const regex& e, - match_flag_type flags = match_default) -{ - return regex_match(str, str + regex::traits_type::length(str), m, e, flags); -} -inline bool regex_match(const char* str, - const regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return regex_match(str, str + regex::traits_type::length(str), m, e, flags); -} -#ifndef BOOST_NO_WREGEX -inline bool regex_match(const wchar_t* str, - wcmatch& m, - const wregex& e, - match_flag_type flags = match_default) -{ - return regex_match(str, str + wregex::traits_type::length(str), m, e, flags); -} -inline bool regex_match(const wchar_t* str, - const wregex& e, - match_flag_type flags = match_default) -{ - match_results m; - return regex_match(str, str + wregex::traits_type::length(str), m, e, flags); -} -#endif -inline bool regex_match(const std::string& s, - smatch& m, - const regex& e, - match_flag_type flags = match_default) -{ - return regex_match(s.begin(), s.end(), m, e, flags); -} -inline bool regex_match(const std::string& s, - const regex& e, - match_flag_type flags = match_default) -{ - match_results m; - return regex_match(s.begin(), s.end(), m, e, flags); -} -#if !defined(BOOST_NO_WREGEX) -inline bool regex_match(const std::basic_string& s, - match_results::const_iterator, wregex::allocator_type>& m, - const wregex& e, - match_flag_type flags = match_default) -{ - return regex_match(s.begin(), s.end(), m, e, flags); -} -inline bool regex_match(const std::basic_string& s, - const wregex& e, - match_flag_type flags = match_default) -{ - match_results::const_iterator, wregex::allocator_type> m; - return regex_match(s.begin(), s.end(), m, e, flags); -} -#endif - -#endif - - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace boost - -#endif // BOOST_REGEX_MATCH_HPP - - - - - - - - - - - - - - - - - diff --git a/include/boost/regex/v4/regex_merge.hpp b/include/boost/regex/v4/regex_merge.hpp deleted file mode 100644 index f2286533..00000000 --- a/include/boost/regex/v4/regex_merge.hpp +++ /dev/null @@ -1,82 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_format.hpp - * VERSION see - * DESCRIPTION: Provides formatting output routines for search and replace - * operations. Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -#ifndef BOOST_REGEX_V4_REGEX_MERGE_HPP -#define BOOST_REGEX_V4_REGEX_MERGE_HPP - - -namespace boost{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -w-8037 -#endif - -template -inline OutputIterator regex_merge(OutputIterator out, - Iterator first, - Iterator last, - const reg_expression& e, - const charT* fmt, - match_flag_type flags = match_default) -{ - return regex_replace(out, first, last, e, fmt, flags); -} - -template -inline OutputIterator regex_merge(OutputIterator out, - Iterator first, - Iterator last, - const reg_expression& e, - const std::basic_string& fmt, - match_flag_type flags = match_default) -{ - return regex_merge(out, first, last, e, fmt.c_str(), flags); -} - -template -inline std::basic_string regex_merge(const std::basic_string& s, - const reg_expression& e, - const charT* fmt, - match_flag_type flags = match_default) -{ - return regex_replace(s, e, fmt, flags); -} - -template -inline std::basic_string regex_merge(const std::basic_string& s, - const reg_expression& e, - const std::basic_string& fmt, - match_flag_type flags = match_default) -{ - return regex_replace(s, e, fmt, flags); -} - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace boost - -#endif // BOOST_REGEX_V4_REGEX_MERGE_HPP - diff --git a/include/boost/regex/v4/regex_raw_buffer.hpp b/include/boost/regex/v4/regex_raw_buffer.hpp deleted file mode 100644 index 79ae72be..00000000 --- a/include/boost/regex/v4/regex_raw_buffer.hpp +++ /dev/null @@ -1,256 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_raw_buffer.hpp - * VERSION see - * DESCRIPTION: Raw character buffer for regex code. - * Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -#ifndef BOOST_REGEX_RAW_BUFFER_HPP -#define BOOST_REGEX_RAW_BUFFER_HPP - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif - -namespace boost{ - namespace re_detail{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -#endif - -struct empty_padding{}; - -union padding -{ - void* p; - unsigned int i; -}; - -template -struct padding3 -{ - enum{ - padding_size = 8, - padding_mask = 7 - }; -}; - -template<> -struct padding3<2> -{ - enum{ - padding_size = 2, - padding_mask = 1 - }; -}; - -template<> -struct padding3<4> -{ - enum{ - padding_size = 4, - padding_mask = 3 - }; -}; - -template<> -struct padding3<8> -{ - enum{ - padding_size = 8, - padding_mask = 7 - }; -}; - -template<> -struct padding3<16> -{ - enum{ - padding_size = 16, - padding_mask = 15 - }; -}; - -enum{ - padding_size = padding3::padding_size, - padding_mask = padding3::padding_mask -}; - -// -// class raw_storage -// basically this is a simplified vector -// this is used by reg_expression for expression storage -// - -template -class raw_storage -{ -public: - typedef Allocator allocator_type; - typedef typename boost::detail::rebind_allocator::type alloc_inst_type; - typedef typename alloc_inst_type::size_type size_type; - typedef typename alloc_inst_type::pointer pointer; -private: - // - // empty member optimisation: - struct alloc_data : public alloc_inst_type - { - typename alloc_inst_type::pointer last; - alloc_data(const Allocator& a) : alloc_inst_type(a){} - } alloc_inst; - pointer start, end; -public: - - raw_storage(const Allocator& a = Allocator()); - raw_storage(size_type n, const Allocator& a = Allocator()); - - ~raw_storage() - { - alloc_inst.deallocate(start, (alloc_inst.last - start)); - } - - void BOOST_REGEX_CALL resize(size_type n); - - void* BOOST_REGEX_CALL extend(size_type n) - { - if(size_type(alloc_inst.last - end) < n) - resize(n + (end - start)); - register void* result = end; - end += n; - return result; - } - - void* BOOST_REGEX_CALL insert(size_type pos, size_type n); - - size_type BOOST_REGEX_CALL size() - { - return end - start; - } - - size_type BOOST_REGEX_CALL capacity() - { - return alloc_inst.last - start; - } - - void* BOOST_REGEX_CALL data()const - { - return start; - } - - size_type BOOST_REGEX_CALL index(void* ptr) - { - return reinterpret_cast(ptr) - reinterpret_cast(data()); - } - - void BOOST_REGEX_CALL clear() - { - end = start; - } - - void BOOST_REGEX_CALL align() - { - // move end up to a boundary: - end = reinterpret_cast(start) + (((reinterpret_cast(end) - reinterpret_cast(start)) + padding_mask) & ~padding_mask); - } - - Allocator BOOST_REGEX_CALL allocator()const; - void swap(raw_storage& that) - { - std::swap(start, that.start); - std::swap(end, that.end); - std::swap(alloc_inst.last, that.alloc_inst.last); - std::swap(static_cast(alloc_inst), static_cast(that.alloc_inst)); - } -}; - -template -raw_storage::raw_storage(const Allocator& a) - : alloc_inst(a) -{ - start = end = alloc_inst.allocate(1024); - BOOST_REGEX_NOEH_ASSERT(start) - alloc_inst.last = start + 1024; -} - -template -raw_storage::raw_storage(size_type n, const Allocator& a) - : alloc_inst(a) -{ - start = end = alloc_inst.allocate(n); - BOOST_REGEX_NOEH_ASSERT(start) - alloc_inst.last = start + n; -} - -template -Allocator BOOST_REGEX_CALL raw_storage::allocator()const -{ - return alloc_inst; -} - -template -void BOOST_REGEX_CALL raw_storage::resize(size_type n) -{ - register size_type newsize = (alloc_inst.last - start) * 2; - register size_type datasize = end - start; - if(newsize < n) - newsize = n; - // extend newsize to WORD/DWORD boundary: - newsize = (newsize + padding_mask) & ~(padding_mask); - - // allocate and copy data: - register unsigned char* ptr = alloc_inst.allocate(newsize); - BOOST_REGEX_NOEH_ASSERT(ptr) - std::memcpy(ptr, start, datasize); - - // get rid of old buffer: - alloc_inst.deallocate(start, (alloc_inst.last - start)); - - // and set up pointers: - start = ptr; - end = ptr + datasize; - alloc_inst.last = ptr + newsize; -} - -template -void* BOOST_REGEX_CALL raw_storage::insert(size_type pos, size_type n) -{ - jm_assert(pos <= size_type(end - start)); - if(size_type(alloc_inst.last - end) < n) - resize(n + (end - start)); - register void* result = start + pos; - std::memmove(start + pos + n, start + pos, (end - start) - pos); - end += n; - return result; -} - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace re_detail -} // namespace boost - -#endif - - - - - diff --git a/include/boost/regex/v4/regex_replace.hpp b/include/boost/regex/v4/regex_replace.hpp deleted file mode 100644 index 37383da2..00000000 --- a/include/boost/regex/v4/regex_replace.hpp +++ /dev/null @@ -1,91 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_format.hpp - * VERSION see - * DESCRIPTION: Provides formatting output routines for search and replace - * operations. Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -#ifndef BOOST_REGEX_V4_REGEX_REPLACE_HPP -#define BOOST_REGEX_V4_REGEX_REPLACE_HPP - - -namespace boost{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -w-8037 -#endif - -template -OutputIterator regex_replace(OutputIterator out, - Iterator first, - Iterator last, - const reg_expression& e, - const charT* fmt, - match_flag_type flags = match_default) -{ - Iterator l = first; - re_detail::merge_out_predicate oi(out, l, fmt, flags, e.get_traits()); - regex_grep(oi, first, last, e, flags); - return (flags & format_no_copy) ? out : re_detail::re_copy_out(out, l, last); -} - -template -inline OutputIterator regex_replace(OutputIterator out, - Iterator first, - Iterator last, - const reg_expression& e, - const std::basic_string& fmt, - match_flag_type flags = match_default) -{ - return regex_replace(out, first, last, e, fmt.c_str(), flags); -} - -template -std::basic_string regex_replace(const std::basic_string& s, - const reg_expression& e, - const charT* fmt, - match_flag_type flags = match_default) -{ - std::basic_string result; - re_detail::string_out_iterator > i(result); - regex_replace(i, s.begin(), s.end(), e, fmt, flags); - return result; -} - -template -std::basic_string regex_replace(const std::basic_string& s, - const reg_expression& e, - const std::basic_string& fmt, - match_flag_type flags = match_default) -{ - std::basic_string result; - re_detail::string_out_iterator > i(result); - regex_replace(i, s.begin(), s.end(), e, fmt.c_str(), flags); - return result; -} - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace boost - -#endif // BOOST_REGEX_V4_REGEX_REPLACE_HPP - diff --git a/include/boost/regex/v4/regex_search.hpp b/include/boost/regex/v4/regex_search.hpp deleted file mode 100644 index 15100804..00000000 --- a/include/boost/regex/v4/regex_search.hpp +++ /dev/null @@ -1,196 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_search.hpp - * VERSION see - * DESCRIPTION: Provides regex_search implementation. - */ - -#ifndef BOOST_REGEX_V4_REGEX_SEARCH_HPP -#define BOOST_REGEX_V4_REGEX_SEARCH_HPP - - -namespace boost{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -w-8037 -#endif - -template -bool regex_search(BidiIterator first, BidiIterator last, - match_results& m, - const reg_expression& e, - match_flag_type flags = match_default) -{ - if(e.flags() & regex_constants::failbit) - return false; - - re_detail::perl_matcher matcher(first, last, m, e, flags); - return matcher.find(); -} - -// -// regex_search convenience interfaces: -#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -// -// this isn't really a partial specialisation, but template function -// overloading - if the compiler doesn't support partial specialisation -// then it really won't support this either: -template -inline bool regex_search(const charT* str, - match_results& m, - const reg_expression& e, - match_flag_type flags = match_default) -{ - return regex_search(str, str + traits::length(str), m, e, flags); -} - -template -inline bool regex_search(const std::basic_string& s, - match_results::const_iterator, Allocator>& m, - const reg_expression& e, - match_flag_type flags = match_default) -{ - return regex_search(s.begin(), s.end(), m, e, flags); -} -#else // partial specialisation -inline bool regex_search(const char* str, - cmatch& m, - const regex& e, - match_flag_type flags = match_default) -{ - return regex_search(str, str + regex::traits_type::length(str), m, e, flags); -} -#ifndef BOOST_NO_WREGEX -inline bool regex_search(const wchar_t* str, - wcmatch& m, - const wregex& e, - match_flag_type flags = match_default) -{ - return regex_search(str, str + wregex::traits_type::length(str), m, e, flags); -} -#endif -inline bool regex_search(const std::string& s, - smatch& m, - const regex& e, - match_flag_type flags = match_default) -{ - return regex_search(s.begin(), s.end(), m, e, flags); -} -#if !defined(BOOST_NO_WREGEX) -inline bool regex_search(const std::basic_string& s, - wsmatch& m, - const wregex& e, - match_flag_type flags = match_default) -{ - return regex_search(s.begin(), s.end(), m, e, flags); -} -#endif - -#endif - -#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -template -bool regex_search(BidiIterator first, BidiIterator last, - const reg_expression& e, - match_flag_type flags = match_default) -{ - if(e.flags() & regex_constants::failbit) - return false; - - match_results m; - typedef typename match_results::allocator_type match_alloc_type; - re_detail::perl_matcher matcher(first, last, m, e, flags); - return matcher.find(); -} - -template -inline bool regex_search(const charT* str, - const reg_expression& e, - match_flag_type flags = match_default) -{ - return regex_search(str, str + traits::length(str), e, flags); -} - -template -inline bool regex_search(const std::basic_string& s, - const reg_expression& e, - match_flag_type flags = match_default) -{ - return regex_search(s.begin(), s.end(), e, flags); -} -#else // non-template function overloads -inline bool regex_search(const char* first, const char* last, - const regex& e, - match_flag_type flags = match_default) -{ - cmatch m; - return regex_search(first, last, m, e, flags); -} - -#ifndef BOOST_NO_WREGEX -inline bool regex_search(const wchar_t* first, const wchar_t* last, - const wregex& e, - match_flag_type flags = match_default) -{ - wcmatch m; - return regex_search(first, last, m, e, flags); -} -#endif -inline bool regex_search(const char* str, - const regex& e, - match_flag_type flags = match_default) -{ - cmatch m; - return regex_search(str, str + regex::traits_type::length(str), m, e, flags); -} -#ifndef BOOST_NO_WREGEX -inline bool regex_search(const wchar_t* str, - const wregex& e, - match_flag_type flags = match_default) -{ - wcmatch m; - return regex_search(str, str + wregex::traits_type::length(str), m, e, flags); -} -#endif -inline bool regex_search(const std::string& s, - const regex& e, - match_flag_type flags = match_default) -{ - smatch m; - return regex_search(s.begin(), s.end(), m, e, flags); -} -#if !defined(BOOST_NO_WREGEX) -inline bool regex_search(const std::basic_string& s, - const wregex& e, - match_flag_type flags = match_default) -{ - wsmatch m; - return regex_search(s.begin(), s.end(), m, e, flags); -} -#endif - -#endif - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace boost - -#endif // BOOST_REGEX_V4_REGEX_SEARCH_HPP - diff --git a/include/boost/regex/v4/regex_split.hpp b/include/boost/regex/v4/regex_split.hpp deleted file mode 100644 index 3c4d5d3f..00000000 --- a/include/boost/regex/v4/regex_split.hpp +++ /dev/null @@ -1,152 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_split.hpp - * VERSION see - * DESCRIPTION: Implements regex_split and associated functions. - * Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -#ifndef BOOST_REGEX_SPLIT_HPP -#define BOOST_REGEX_SPLIT_HPP - -namespace boost{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -#endif - -namespace re_detail{ - -template -const reg_expression& get_default_expression(charT) -{ - static const charT expression_text[] = { '\\', 's', '+', '\00', }; - static const reg_expression e(expression_text); - return e; -} - -template -class split_pred -{ - typedef std::basic_string string_type; - typedef typename string_type::const_iterator iterator_type; - iterator_type* p_last; - OutputIterator* p_out; - std::size_t* p_max; - std::size_t initial_max; -public: - split_pred(iterator_type* a, OutputIterator* b, std::size_t* c) - : p_last(a), p_out(b), p_max(c), initial_max(*c) {} - - bool operator()(const match_results& what); -}; - -template -bool split_pred::operator() - (const match_results& what) -{ - *p_last = what[0].second; - if(what.size() > 1) - { - // output sub-expressions only: - for(unsigned i = 1; i < what.size(); ++i) - { - *(*p_out) = static_cast(what[i]); - ++(*p_out); - if(0 == --*p_max) return false; - } - return *p_max != 0; - } - else - { - // output $` only if it's not-null or not at the start of the input: - const sub_match& sub = what[-1]; - if((sub.first != sub.second) || (*p_max != initial_max)) - { - *(*p_out) = static_cast(sub); - ++(*p_out); - return --*p_max; - } - } - // - // initial null, do nothing: - return true; -} - -} // namespace re_detail - -template -std::size_t regex_split(OutputIterator out, - std::basic_string& s, - const reg_expression& e, - match_flag_type flags, - std::size_t max_split) -{ - typedef typename std::basic_string::const_iterator ci_t; - typedef typename detail::rebind_allocator, Alloc2>::type match_allocator; - ci_t last = s.begin(); - std::size_t init_size = max_split; - re_detail::split_pred pred(&last, &out, &max_split); - ci_t i, j; - i = s.begin(); - j = s.end(); - regex_grep(pred, i, j, e, flags); - // - // if there is still input left, do a final push as long as max_split - // is not exhausted, and we're not splitting sub-expressions rather - // than whitespace: - if(max_split && (last != s.end()) && (e.mark_count() == 1)) - { - *out = std::basic_string((ci_t)last, (ci_t)s.end()); - ++out; - last = s.end(); - --max_split; - } - // - // delete from the string everything that has been processed so far: - s.erase(0, last - s.begin()); - // - // return the number of new records pushed: - return init_size - max_split; -} - -template -inline std::size_t regex_split(OutputIterator out, - std::basic_string& s, - const reg_expression& e, - match_flag_type flags = match_default) -{ - return regex_split(out, s, e, flags, UINT_MAX); -} - -template -inline std::size_t regex_split(OutputIterator out, - std::basic_string& s) -{ - return regex_split(out, s, re_detail::get_default_expression(charT(0)), match_default, UINT_MAX); -} - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace boost - -#endif - diff --git a/include/boost/regex/v4/regex_stack.hpp b/include/boost/regex/v4/regex_stack.hpp deleted file mode 100644 index eb28cace..00000000 --- a/include/boost/regex/v4/regex_stack.hpp +++ /dev/null @@ -1,228 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_stack.hpp - * VERSION see - * DESCRIPTION: Implements customised internal regex stacks. - * Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -#ifndef BOOST_REGEX_STACK_HPP -#define BOOST_REGEX_STACK_HPP - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif -#ifndef BOOST_REGEX_RAW_BUFFER_HPP -#include -#endif - -namespace boost{ - namespace re_detail{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -#endif - -// -// class jstack -// simplified stack optimised for push/peek/pop -// operations, we could use std::stack> instead... -// -template -class jstack -{ -public: - typedef typename boost::detail::rebind_allocator::type allocator_type; -private: - typedef typename boost::detail::rebind_allocator::type T_alloc_type; - typedef typename T_alloc_type::size_type size_type; - typedef T value_type; - struct node - { - node* next; - T* start; // first item - T* end; // last item - T* last; // end of storage - }; - - // - // empty base member optimisation: - struct data : public allocator_type - { - padding buf[(sizeof(T) * 16 + sizeof(padding) - 1) / sizeof(padding)]; - data(const Allocator& a) : allocator_type(a){} - }; - - data alloc_inst; - mutable node* m_stack; - mutable node* unused; - node base; - size_type block_size; - - void BOOST_REGEX_CALL pop_aux()const; - void BOOST_REGEX_CALL push_aux(); - -public: - jstack(size_type n = 64, const Allocator& a = Allocator()); - - ~jstack(); - - node* BOOST_REGEX_CALL get_node() - { - node* new_stack = reinterpret_cast(alloc_inst.allocate(sizeof(node) + sizeof(T) * block_size)); - BOOST_REGEX_NOEH_ASSERT(new_stack) - new_stack->last = reinterpret_cast(new_stack+1); - new_stack->start = new_stack->end = new_stack->last + block_size; - new_stack->next = 0; - return new_stack; - } - - bool BOOST_REGEX_CALL empty() - { - return (m_stack->start == m_stack->end) && (m_stack->next == 0); - } - - bool BOOST_REGEX_CALL good() - { - return (m_stack->start != m_stack->end) || (m_stack->next != 0); - } - - T& BOOST_REGEX_CALL peek() - { - if(m_stack->start == m_stack->end) - pop_aux(); - return *m_stack->end; - } - - const T& BOOST_REGEX_CALL peek()const - { - if(m_stack->start == m_stack->end) - pop_aux(); - return *m_stack->end; - } - - void BOOST_REGEX_CALL pop() - { - if(m_stack->start == m_stack->end) - pop_aux(); - ::boost::re_detail::pointer_destroy(m_stack->end); - ++(m_stack->end); - } - - void BOOST_REGEX_CALL pop(T& t) - { - if(m_stack->start == m_stack->end) - pop_aux(); - t = *m_stack->end; - ::boost::re_detail::pointer_destroy(m_stack->end); - ++(m_stack->end); - } - - void BOOST_REGEX_CALL push(const T& t) - { - if(m_stack->end == m_stack->last) - push_aux(); - --(m_stack->end); - pointer_construct(m_stack->end, t); - } - -}; - -template -jstack::jstack(size_type n, const Allocator& a) - : alloc_inst(a) -{ - unused = 0; - block_size = n; - m_stack = &base; - base.last = reinterpret_cast(alloc_inst.buf); - base.end = base.start = base.last + 16; - base.next = 0; -} - -template -void BOOST_REGEX_CALL jstack::push_aux() -{ - // make sure we have spare space on TOS: - register node* new_node; - if(unused) - { - new_node = unused; - unused = new_node->next; - new_node->next = m_stack; - m_stack = new_node; - } - else - { - new_node = get_node(); - new_node->next = m_stack; - m_stack = new_node; - } -} - -template -void BOOST_REGEX_CALL jstack::pop_aux()const -{ - // make sure that we have a valid item - // on TOS: - jm_assert(m_stack->next); - register node* p = m_stack; - m_stack = p->next; - p->next = unused; - unused = p; -} - -template -jstack::~jstack() -{ - node* condemned; - while(good()) - pop(); - while(unused) - { - condemned = unused; - unused = unused->next; - alloc_inst.deallocate(reinterpret_cast(condemned), sizeof(node) + sizeof(T) * block_size); - } - while(m_stack != &base) - { - condemned = m_stack; - m_stack = m_stack->next; - alloc_inst.deallocate(reinterpret_cast(condemned), sizeof(node) + sizeof(T) * block_size); - } -} - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace re_detail -} // namespace boost - -#endif - - - - - - - - - - diff --git a/include/boost/regex/v4/regex_synch.hpp b/include/boost/regex/v4/regex_synch.hpp deleted file mode 100644 index c3e4a9f3..00000000 --- a/include/boost/regex/v4/regex_synch.hpp +++ /dev/null @@ -1,213 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_synch.hpp - * VERSION see - * DESCRIPTION: Thread synchronisation for regex code. - * Note this is an internal header file included - * by regex.hpp, do not include on its own. - */ - -#ifndef BOOST_REGEX_SYNCH_HPP -#define BOOST_REGEX_SYNCH_HPP - -#ifndef BOOST_REGEX_CONFIG_HPP -#include -#endif - -#if defined(BOOST_HAS_THREADS) -# if defined(BOOST_HAS_WINTHREADS) -# include -# elif defined(BOOST_HAS_BETHREADS) -# include -# include -# elif defined(BOOST_HAS_PTHREADS) -# include -# else -# error "Unknown threading API" -# endif -#endif - - -namespace boost{ - namespace re_detail{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -#endif - -void BOOST_REGEX_CALL re_init_threads(); -void BOOST_REGEX_CALL re_free_threads(); - -#ifdef BOOST_HAS_THREADS - -# ifdef BOOST_HAS_BETHREADS - -typedef sem_id CRITICAL_SECTION; - -inline void BOOST_REGEX_CALL InitializeCriticalSection(CRITICAL_SECTION* ps) -{ - *ps = create_sem(1, "regex++"); - assert(*ps > 0); -} - -inline void BOOST_REGEX_CALL DeleteCriticalSection(CRITICAL_SECTION* ps) -{ - int t = delete_sem(*ps); - assert(t == B_NO_ERROR); -} - -inline void BOOST_REGEX_CALL EnterCriticalSection(CRITICAL_SECTION* ps) -{ - status_t t = acquire_sem(*ps); - assert(t == B_NO_ERROR); -} - -inline void BOOST_REGEX_CALL LeaveCriticalSection(CRITICAL_SECTION* ps) -{ - status_t t = release_sem(*ps); - assert(t == B_NO_ERROR); -} - -# elif defined(BOOST_HAS_PTHREADS) - -typedef pthread_mutex_t CRITICAL_SECTION; - -inline void BOOST_REGEX_CALL InitializeCriticalSection(CRITICAL_SECTION* ps) -{ - pthread_mutex_init(ps, 0); -} - -inline void BOOST_REGEX_CALL DeleteCriticalSection(CRITICAL_SECTION* ps) -{ - pthread_mutex_destroy(ps); -} - -inline void BOOST_REGEX_CALL EnterCriticalSection(CRITICAL_SECTION* ps) -{ - pthread_mutex_lock(ps); -} - -inline void BOOST_REGEX_CALL LeaveCriticalSection(CRITICAL_SECTION* ps) -{ - pthread_mutex_unlock(ps); -} - -# elif !defined(BOOST_HAS_WINTHREADS) -# error "Unknown threading API" -# endif - -template -class lock_guard -{ - typedef Lock lock_type; -public: - lock_guard(lock_type& m, bool aq = true) - : mut(m), owned(false){ acquire(aq); } - - ~lock_guard() - { acquire(false); } - - void BOOST_REGEX_CALL acquire(bool aq = true) - { - if(aq && !owned) - { - mut.acquire(true); - owned = true; - } - else if(!aq && owned) - { - mut.acquire(false); - owned = false; - } - } -private: - lock_type& mut; - bool owned; - // VC6 warning suppression: - lock_guard& operator=(const lock_guard&); -}; - - -class critical_section -{ -public: - critical_section() - { InitializeCriticalSection(&hmutex);} - - critical_section(const critical_section&) - { InitializeCriticalSection(&hmutex);} - - const critical_section& BOOST_REGEX_CALL operator=(const critical_section&) - {return *this;} - - ~critical_section() - {DeleteCriticalSection(&hmutex);} - -private: - - void BOOST_REGEX_CALL acquire(bool aq) - { if(aq) EnterCriticalSection(&hmutex); - else LeaveCriticalSection(&hmutex); - } - - CRITICAL_SECTION hmutex; - -public: - typedef lock_guard ro_guard; - typedef lock_guard rw_guard; - - friend class lock_guard; -}; - -inline bool BOOST_REGEX_CALL operator==(const critical_section&, const critical_section&) -{ - return false; -} - -inline bool BOOST_REGEX_CALL operator<(const critical_section&, const critical_section&) -{ - return true; -} - -typedef lock_guard cs_guard; - -BOOST_REGEX_DECL extern critical_section* p_re_lock; -BOOST_REGEX_DECL extern unsigned int re_lock_count; - -#define BOOST_REGEX_GUARD(inst) boost::re_detail::critical_section::rw_guard g(inst); - -#else // BOOST_HAS_THREADS - -#define BOOST_REGEX_GUARD(inst) - -#endif // BOOST_HAS_THREADS - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace re_detail -} // namespace boost - -#endif // sentry - - - - - - diff --git a/include/boost/regex/v4/regex_token_iterator.hpp b/include/boost/regex/v4/regex_token_iterator.hpp deleted file mode 100644 index 2c68ad9e..00000000 --- a/include/boost/regex/v4/regex_token_iterator.hpp +++ /dev/null @@ -1,215 +0,0 @@ -/* - * - * Copyright (c) 2003 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_token_iterator.hpp - * VERSION see - * DESCRIPTION: Provides regex_token_iterator implementation. - */ - -#ifndef BOOST_REGEX_V4_REGEX_TOKEN_ITERATOR_HPP -#define BOOST_REGEX_V4_REGEX_TOKEN_ITERATOR_HPP - -#include -#include - -namespace boost{ - -template -class regex_token_iterator_implementation -{ - typedef basic_regex regex_type; - typedef std::basic_string value_type; - - match_results what; // current match - BidirectionalIterator end; // end of search area - const regex_type* pre; // the expression - match_flag_type flags; // match flags - std::basic_string result; // the current string result - int N; // the current sub-expression being enumerated - std::vector subs; // the sub-expressions to enumerate - -public: - regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, int sub, match_flag_type f) - : end(last), pre(p), flags(f){ subs.push_back(sub); } - regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const std::vector& v, match_flag_type f) - : end(last), pre(p), subs(v), flags(f){} -#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) - template - regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const int (&submatches)[CN], match_flag_type f) - : end(last), pre(p), flags(f) - { - for(std::size_t i = 0; i < CN; ++i) - subs.push_back(submatches[i]); - } -#endif - - bool init(BidirectionalIterator first) - { - if(regex_search(first, end, what, *pre, flags) == true) - { - N = 0; - result = ((subs[N] == -1) ? value_type(what.prefix().str()) : value_type(what[(int)subs[N]].str())); - return true; - } - else if((N == -1) && (first != end)) - { - result = value_type(first, end); - return true; - } - return false; - } - bool compare(const regex_token_iterator_implementation& that) - { - if(this == &that) return true; - return (pre == that.pre) - && (end == that.end) - && (flags == that.flags) - && (N == that.N) - && (what[0].first == that.what[0].first) - && (what[0].second == that.what[0].second); - } - const std::basic_string& get() - { return result; } - bool next() - { - if(N == -1) - return false; - if(N+1 < (int)subs.size()) - { - ++N; - result =((subs[N] == -1) ? value_type(what.prefix().str()) : value_type(what[subs[N]].str())); - return true; - } - if(what.prefix().first != what[0].second) - flags |= match_prev_avail; - BidirectionalIterator last_end = what[0].second; - if(regex_search(last_end, end, what, *pre, ((what[0].first == what[0].second) ? flags | regex_constants::match_not_initial_null : flags))) - { - N =0; - result =((subs[N] == -1) ? value_type(what.prefix().str()) : value_type(what[subs[N]].str())); - return true; - } - else if((last_end != end) && (subs[0] == -1)) - { - N =-1; - result =value_type(last_end, end); - return true; - } - return false; - } -}; - -template ::value_type, - class traits = regex_traits, - class Allocator = BOOST_DEFAULT_ALLOCATOR(charT) > -class regex_token_iterator -{ -private: - typedef regex_token_iterator_implementation impl; - typedef shared_ptr pimpl; -public: - typedef basic_regex regex_type; - typedef std::basic_string value_type; - typedef typename re_detail::regex_iterator_traits::difference_type - difference_type; - typedef const value_type* pointer; - typedef const value_type& reference; - typedef std::forward_iterator_tag iterator_category; - - regex_token_iterator(){} - regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, - int submatch = 0, match_flag_type m = match_default) - : pdata(new impl(&re, b, submatch, m)) - { - if(!pdata->init(a)) - pdata.reset(); - } - regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, - const std::vector& submatches, match_flag_type m = match_default) - : pdata(new impl(&re, b, submatches, m)) - { - if(!pdata->init(a)) - pdata.reset(); - } -#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) - template - regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, - const int (&submatches)[N], match_flag_type m = match_default) - : pdata(new impl(&re, b, submatches, m)) - { - if(!pdata->init(a)) - pdata.reset(); - } -#endif - regex_token_iterator(const regex_token_iterator& that) - : pdata(that.pdata) {} - regex_token_iterator& operator=(const regex_token_iterator& that) - { - pdata = that.pdata; - return *this; - } - bool operator==(const regex_token_iterator& that) - { - if((pdata.get() == 0) || (that.pdata.get() == 0)) - return pdata.get() == that.pdata.get(); - return pdata->compare(*(that.pdata.get())); - } - bool operator!=(const regex_token_iterator& that) - { return !(*this == that); } - const value_type& operator*() - { return pdata->get(); } - const value_type* operator->() - { return &(pdata->get()); } - regex_token_iterator& operator++() - { - cow(); - if(0 == pdata->next()) - { - pdata.reset(); - } - return *this; - } - regex_token_iterator operator++(int) - { - regex_token_iterator result(*this); - ++(*this); - return result; - } -private: - - pimpl pdata; - - void cow() - { - // copy-on-write - if(pdata.get() && !pdata.unique()) - { - pdata.reset(new impl(*(pdata.get()))); - } - } -}; - - -} // namespace boost - -#endif // BOOST_REGEX_V4_REGEX_TOKEN_ITERATOR_HPP - - diff --git a/include/boost/regex/v4/regex_traits.hpp b/include/boost/regex/v4/regex_traits.hpp deleted file mode 100644 index bd438dc2..00000000 --- a/include/boost/regex/v4/regex_traits.hpp +++ /dev/null @@ -1,822 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE regex_traits.hpp - * VERSION see - * DESCRIPTION: Declares regular expression traits classes. - */ - -#ifndef BOOST_REGEX_TRAITS_HPP_INCLUDED -#define BOOST_REGEX_TRAITS_HPP_INCLUDED - -#ifndef BOOST_RE_CREGEX_HPP -#include -#endif -#ifndef BOOST_REGEX_CSTRING_HPP -#include -#endif - -namespace boost{ - -#ifdef __BORLANDC__ - #pragma option push -a8 -b -Vx -Ve -pc -#endif - -template -class c_regex_traits; - -namespace re_detail{ - -struct mss -{ - unsigned int id; - const char* what; -}; - -BOOST_REGEX_DECL bool BOOST_REGEX_CALL re_lookup_def_collate_name(std::string& buf, const char* name); -BOOST_REGEX_DECL std::size_t BOOST_REGEX_CALL re_get_default_message(char* buf, std::size_t len, std::size_t id); -extern BOOST_REGEX_DECL const char *re_default_error_messages[]; - -#ifndef BOOST_NO_WREGEX -extern BOOST_REGEX_DECL wchar_t wide_lower_case_map[]; -extern BOOST_REGEX_DECL unsigned short wide_unicode_classes[]; -BOOST_REGEX_DECL bool BOOST_REGEX_CALL is_combining(wchar_t c); -#endif - - -struct BOOST_REGEX_DECL regex_traits_base -{ - enum char_syntax_type - { - syntax_char = 0, - syntax_open_bracket = 1, // ( - syntax_close_bracket = 2, // ) - syntax_dollar = 3, // $ - syntax_caret = 4, // ^ - syntax_dot = 5, // . - syntax_star = 6, // * - syntax_plus = 7, // + - syntax_question = 8, // ? - syntax_open_set = 9, // [ - syntax_close_set = 10, // ] - syntax_or = 11, // | - syntax_slash = 12, // - syntax_hash = 13, // # - syntax_dash = 14, // - - syntax_open_brace = 15, // { - syntax_close_brace = 16, // } - syntax_digit = 17, // 0-9 - syntax_b = 18, // for \b - syntax_B = 19, // for \B - syntax_left_word = 20, // for \< - syntax_right_word = 21, // for \> - syntax_w = 22, // for \w - syntax_W = 23, // for \W - syntax_start_buffer = 24, // for \` - syntax_end_buffer = 25, // for \' - syntax_newline = 26, // for newline alt - syntax_comma = 27, // for {x,y} - - syntax_a = 28, // for \a - syntax_f = 29, // for \f - syntax_n = 30, // for \n - syntax_r = 31, // for \r - syntax_t = 32, // for \t - syntax_v = 33, // for \v - syntax_x = 34, // for \xdd - syntax_c = 35, // for \cx - syntax_colon = 36, // for [:...:] - syntax_equal = 37, // for [=...=] - - // perl ops: - syntax_e = 38, // for \e - syntax_l = 39, // for \l - syntax_L = 40, // for \L - syntax_u = 41, // for \u - syntax_U = 42, // for \U - syntax_s = 43, // for \s - syntax_S = 44, // for \S - syntax_d = 45, // for \d - syntax_D = 46, // for \D - syntax_E = 47, // for \Q\E - syntax_Q = 48, // for \Q\E - syntax_X = 49, // for \X - syntax_C = 50, // for \C - syntax_Z = 51, // for \Z - syntax_G = 52, // for \G - - // new extentions: - syntax_not = 53, // for (?!...) - - syntax_max = 54 - }; -#ifdef __BORLANDC__ -private: - char dummy_member; -#endif -}; - -struct BOOST_REGEX_DECL c_traits_base : public regex_traits_base -{ -public: - enum{ - char_class_none = 0, - char_class_alpha = 0x0001, - char_class_cntrl = 0x0002, - char_class_digit = 0x0004, - char_class_lower = 0x0008, - char_class_punct = 0x0010, - char_class_space = 0x0020, - char_class_upper = 0x0040, - char_class_xdigit = 0x0080, - char_class_blank = 0x0100, - char_class_underscore = 0x4000, - char_class_unicode = 0x8000, - - char_class_alnum = char_class_alpha | char_class_digit, - char_class_graph = char_class_alpha | char_class_digit | char_class_punct | char_class_underscore, - char_class_print = char_class_alpha | char_class_digit | char_class_punct | char_class_underscore | char_class_blank, - char_class_word = char_class_alpha | char_class_digit | char_class_underscore - }; - static std::string BOOST_REGEX_CALL set_message_catalogue(const std::string& s); -protected: -#if defined(__MWERKS__) && __MWERKS__ <= 0x6000 - friend class c_regex_traits; - friend class c_regex_traits; -#endif - - static char regex_message_catalogue[BOOST_REGEX_MAX_PATH]; - enum syntax_map_size - { - map_size = UCHAR_MAX + 1 - }; - - static unsigned char syntax_map[map_size]; - static unsigned short class_map[map_size]; - static char lower_case_map[map_size]; - - static boost::uint_fast32_t BOOST_REGEX_CALL do_lookup_class(const char* p); - static bool BOOST_REGEX_CALL do_lookup_collate(std::string& buf, const char* p); - static void BOOST_REGEX_CALL do_update_ctype(); - static void BOOST_REGEX_CALL do_update_collate(); -public: - static std::string BOOST_REGEX_CALL error_string(unsigned id); - static char* BOOST_REGEX_CALL get_catalogue() { return regex_message_catalogue; } -}; - -} // namespace re_detail - - -template<> -class BOOST_REGEX_DECL c_regex_traits : public re_detail::c_traits_base -{ - typedef re_detail::c_traits_base base_type; -public: - typedef char char_type; - typedef unsigned char uchar_type; - typedef unsigned int size_type; - typedef std::string string_type; - typedef int locale_type; - - static std::size_t BOOST_REGEX_CALL length(const char_type* p) - { - return std::strlen(p); - } - static unsigned int BOOST_REGEX_CALL syntax_type(size_type c) - { - return syntax_map[c]; - } - static char BOOST_REGEX_CALL translate(char c, bool icase) - { - return icase ? lower_case_map[(size_type)(uchar_type)c] : c; - } - static void BOOST_REGEX_CALL transform(std::string& out, const std::string& in); - - static void BOOST_REGEX_CALL transform_primary(std::string& out, const std::string& in); - - static bool BOOST_REGEX_CALL is_separator(char c) - { - return BOOST_REGEX_MAKE_BOOL((c == '\n') || (c == '\r')); - } - - static bool BOOST_REGEX_CALL is_combining(char) - { - return false; - } - - static bool BOOST_REGEX_CALL is_class(char c, boost::uint_fast32_t f) - { - return BOOST_REGEX_MAKE_BOOL(class_map[(size_type)(uchar_type)c] & f); - } - - static int BOOST_REGEX_CALL toi(char c); - static int BOOST_REGEX_CALL toi(const char*& first, const char* last, int radix); - - static boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const char* first, const char* last) - { - std::string s(first, last); - return do_lookup_class(s.c_str()); - } - - static bool BOOST_REGEX_CALL lookup_collatename(std::string& buf, const char* first, const char* last) - { - std::string s(first, last); - return do_lookup_collate(buf, s.c_str()); - } - - static locale_type BOOST_REGEX_CALL imbue(locale_type l){ return l; } - locale_type BOOST_REGEX_CALL getloc()const{ return locale_type(); } - void swap(c_regex_traits&){} - - c_regex_traits() - { - init(); - } - ~c_regex_traits() - { - m_free(); - } - struct sentry - { - sentry(const c_regex_traits&) - { c_regex_traits::update(); } - operator void*() { return this; } - }; - static void BOOST_REGEX_CALL update(); -private: - static void BOOST_REGEX_CALL init(); - static void BOOST_REGEX_CALL m_free(); - static c_regex_traits i; - - static unsigned sort_type; - static char sort_delim; -}; - -#ifndef BOOST_NO_WREGEX -template<> -class BOOST_REGEX_DECL c_regex_traits : public re_detail::c_traits_base -{ - typedef re_detail::c_traits_base base_type; -public: - typedef wchar_t char_type; - typedef unsigned short uchar_type; - typedef unsigned int size_type; - typedef std::basic_string string_type; - typedef int locale_type; - static std::size_t BOOST_REGEX_CALL length(const char_type* p) - { - return std::wcslen(p); - } - static unsigned int BOOST_REGEX_CALL syntax_type(size_type c); - static wchar_t BOOST_REGEX_CALL translate(wchar_t c, bool icase) - { - return icase ? ((c < 256) ? re_detail::wide_lower_case_map[(uchar_type)c] : std::towlower(c)) : c; - } - - static void BOOST_REGEX_CALL transform(std::basic_string& out, const std::basic_string& in); - - static void BOOST_REGEX_CALL transform_primary(std::basic_string& out, const std::basic_string& in); - - static bool BOOST_REGEX_CALL is_separator(wchar_t c) - { - return BOOST_REGEX_MAKE_BOOL((c == L'\n') || (c == L'\r') || (c == (wchar_t)0x2028) || (c == (wchar_t)0x2029)); - } - - static bool BOOST_REGEX_CALL is_combining(wchar_t c) - { return re_detail::is_combining(c); } - - static bool BOOST_REGEX_CALL is_class(wchar_t c, boost::uint_fast32_t f) - { - return BOOST_REGEX_MAKE_BOOL(((uchar_type)c < 256) ? (re_detail::wide_unicode_classes[(size_type)(uchar_type)c] & f) : do_iswclass(c, f)); - } - - static int BOOST_REGEX_CALL toi(wchar_t c); - static int BOOST_REGEX_CALL toi(const wchar_t*& first, const wchar_t* last, int radix); - - static boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const wchar_t* first, const wchar_t* last); - - static bool BOOST_REGEX_CALL lookup_collatename(std::basic_string& s, const wchar_t* first, const wchar_t* last); - - static locale_type BOOST_REGEX_CALL imbue(locale_type l){ return l; } - locale_type BOOST_REGEX_CALL getloc()const{ return locale_type(); } - void swap(c_regex_traits&){} - c_regex_traits() - { init(); } - ~c_regex_traits() - { m_free(); } - struct sentry - { - sentry(const c_regex_traits&) - { c_regex_traits::update(); } - operator void*() { return this; } - }; - static void BOOST_REGEX_CALL update(); - static std::size_t BOOST_REGEX_CALL strnarrow(char *s1, std::size_t len, const wchar_t *s2); - static std::size_t BOOST_REGEX_CALL strwiden(wchar_t *s1, std::size_t len, const char *s2); -private: - static bool BOOST_REGEX_CALL do_iswclass(wchar_t c, boost::uint_fast32_t f); - static void BOOST_REGEX_CALL m_free(); - static void BOOST_REGEX_CALL init(); - static bool BOOST_REGEX_CALL do_lookup_collate(std::basic_string& out, const wchar_t* first, const wchar_t* last); - static c_regex_traits init_; - - static unsigned sort_type; - static wchar_t sort_delim; -}; -#endif - -#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32) - -namespace re_detail{ - -struct BOOST_REGEX_DECL w32_traits_base : public regex_traits_base -{ - enum{ - char_class_none = 0, - char_class_alnum = C1_ALPHA | C1_DIGIT, - char_class_alpha = C1_ALPHA, - char_class_cntrl = C1_CNTRL, - char_class_digit = C1_DIGIT, - char_class_graph = C1_UPPER | C1_LOWER | C1_DIGIT | C1_PUNCT | C1_ALPHA, - char_class_lower = C1_LOWER, - char_class_print = C1_UPPER | C1_LOWER | C1_DIGIT | C1_PUNCT | C1_BLANK | C1_ALPHA, - char_class_punct = C1_PUNCT, - char_class_space = C1_SPACE, - char_class_upper = C1_UPPER, - char_class_xdigit = C1_XDIGIT, - char_class_blank = C1_BLANK, - char_class_underscore = 0x4000, - char_class_word = C1_ALPHA | C1_DIGIT | char_class_underscore, - char_class_unicode = 0x8000, - char_class_win = 0x01FF - }; - - -public: - static std::string BOOST_REGEX_CALL set_message_catalogue(const std::string& s); -protected: - static char regex_message_catalogue[BOOST_REGEX_MAX_PATH]; - enum syntax_map_size - { - map_size = UCHAR_MAX + 1 - }; - - static unsigned char syntax_map[map_size]; - static unsigned short class_map[map_size]; - static char lower_case_map[map_size]; - - static boost::uint_fast32_t BOOST_REGEX_CALL do_lookup_class(const char* p); - static bool BOOST_REGEX_CALL do_lookup_collate(std::string& buf, const char* p); - static void BOOST_REGEX_CALL do_free(); - static void BOOST_REGEX_CALL do_init(); -public: - static std::string BOOST_REGEX_CALL error_string(unsigned id); - static char* BOOST_REGEX_CALL get_catalogue() { return regex_message_catalogue; } -}; - - -} // namespace re_detail - -template -class w32_regex_traits; - -template<> -class BOOST_REGEX_DECL w32_regex_traits : public re_detail::w32_traits_base -{ - typedef re_detail::w32_traits_base base_type; -public: - typedef char char_type; - typedef unsigned char uchar_type; - typedef unsigned int size_type; - typedef std::string string_type; - typedef int locale_type; - - static std::size_t BOOST_REGEX_CALL length(const char_type* p) - { - return std::strlen(p); - } - static unsigned int BOOST_REGEX_CALL syntax_type(size_type c) - { - return syntax_map[c]; - } - static char BOOST_REGEX_CALL translate(char c, bool icase) - { - return icase ? lower_case_map[(size_type)(uchar_type)c] : c; - } - static void BOOST_REGEX_CALL transform(std::string& out, const std::string& in); - - static void BOOST_REGEX_CALL transform_primary(std::string& out, const std::string& in); - - static bool BOOST_REGEX_CALL is_separator(char c) - { - return BOOST_REGEX_MAKE_BOOL((c == '\n') || (c == '\r')); - } - - static bool BOOST_REGEX_CALL is_combining(char) - { - return false; - } - - static bool BOOST_REGEX_CALL is_class(char c, boost::uint_fast32_t f) - { - return BOOST_REGEX_MAKE_BOOL(class_map[(size_type)(uchar_type)c] & f); - } - - static int BOOST_REGEX_CALL toi(char c); - static int BOOST_REGEX_CALL toi(const char*& first, const char* last, int radix); - - static boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const char* first, const char* last) - { - std::string s(first, last); - return do_lookup_class(s.c_str()); - } - - static bool BOOST_REGEX_CALL lookup_collatename(std::string& buf, const char* first, const char* last) - { - std::string s(first, last); - return do_lookup_collate(buf, s.c_str()); - } - - static locale_type BOOST_REGEX_CALL imbue(locale_type l){ return l; } - locale_type BOOST_REGEX_CALL getloc()const{ return locale_type(); } - - struct sentry - { - sentry(const w32_regex_traits&) - { w32_regex_traits::update(); } - ~sentry(){} - operator void*() { return this; } - }; - static void BOOST_REGEX_CALL update(); - void swap(w32_regex_traits&){} - w32_regex_traits(); - ~w32_regex_traits(); -private: - static w32_regex_traits i; -}; - -#ifndef BOOST_NO_WREGEX -template<> -class BOOST_REGEX_DECL w32_regex_traits : public re_detail::w32_traits_base -{ - typedef re_detail::w32_traits_base base_type; -public: - typedef wchar_t char_type; - typedef unsigned short uchar_type; - typedef unsigned int size_type; - typedef std::basic_string string_type; - typedef int locale_type; - static std::size_t BOOST_REGEX_CALL length(const char_type* p) - { - return std::wcslen(p); - } - static unsigned int BOOST_REGEX_CALL syntax_type(size_type c); - static wchar_t BOOST_REGEX_CALL translate(wchar_t c, bool icase) - { - return icase ? ((c < 256) ? re_detail::wide_lower_case_map[(uchar_type)c] : wtolower(c)) : c; - } - - static void BOOST_REGEX_CALL transform(std::basic_string& out, const std::basic_string& in); - - static void BOOST_REGEX_CALL transform_primary(std::basic_string& out, const std::basic_string& in); - - static bool BOOST_REGEX_CALL is_separator(wchar_t c) - { - return BOOST_REGEX_MAKE_BOOL((c == L'\n') || (c == L'\r') || (c == (wchar_t)0x2028) || (c == (wchar_t)0x2029)); - } - - static bool BOOST_REGEX_CALL is_combining(wchar_t c) - { return re_detail::is_combining(c); } - - static bool BOOST_REGEX_CALL is_class(wchar_t c, boost::uint_fast32_t f) - { - return BOOST_REGEX_MAKE_BOOL(((uchar_type)c < 256) ? (wide_unicode_classes[(size_type)(uchar_type)c] & f) : do_iswclass(c, f)); - } - - static int BOOST_REGEX_CALL toi(wchar_t c); - static int BOOST_REGEX_CALL toi(const wchar_t*& first, const wchar_t* last, int radix); - - static boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const wchar_t* first, const wchar_t* last); - - static bool BOOST_REGEX_CALL lookup_collatename(std::basic_string& s, const wchar_t* first, const wchar_t* last); - - static locale_type BOOST_REGEX_CALL imbue(locale_type l){ return l; } - locale_type BOOST_REGEX_CALL getloc()const{ return locale_type(); } - - struct sentry - { - sentry(const w32_regex_traits&) - { w32_regex_traits::update(); } - ~sentry(){} - operator void*() { return this; } - }; - static void BOOST_REGEX_CALL update(); - void swap(w32_regex_traits&){} - w32_regex_traits(); - ~w32_regex_traits(); - static std::size_t BOOST_REGEX_CALL strnarrow(char *s1, std::size_t len, const wchar_t *s2); - static std::size_t BOOST_REGEX_CALL strwiden(wchar_t *s1, std::size_t len, const char *s2); - -private: - static bool BOOST_REGEX_CALL do_iswclass(wchar_t c, boost::uint_fast32_t f); - static bool BOOST_REGEX_CALL do_lookup_collate(std::basic_string& out, const wchar_t* first, const wchar_t* last); - static w32_regex_traits init_; - static wchar_t BOOST_REGEX_CALL wtolower(wchar_t c); - static unsigned short wide_unicode_classes[]; -}; -#endif // Wide strings -#endif // Win32 - -#if !defined(BOOST_NO_STD_LOCALE) - -} // namspace boost - -#ifdef __BORLANDC__ - #pragma option pop -#endif -#include -#ifdef __BORLANDC__ - #pragma option push -a4 -b -Ve -pc -#endif - -namespace boost{ - -namespace re_detail -{ - -template -struct message_data; - -template <> -struct message_data; - -template <> -struct message_data; - -struct BOOST_REGEX_DECL cpp_regex_traits_base : public regex_traits_base -{ - enum char_class_type - { - char_class_none = 0, - char_class_alnum = std::ctype_base::alnum, - char_class_alpha = std::ctype_base::alpha, - char_class_cntrl = std::ctype_base::cntrl, - char_class_digit = std::ctype_base::digit, - char_class_graph = std::ctype_base::graph, - char_class_lower = std::ctype_base::lower, - char_class_print = std::ctype_base::print, - char_class_punct = std::ctype_base::punct, - char_class_space = std::ctype_base::space, - char_class_upper = std::ctype_base::upper, - char_class_xdigit = std::ctype_base::xdigit, - char_class_blank = 1<<12, - char_class_underscore = 1<<13, - char_class_word = std::ctype_base::alnum | char_class_underscore, - char_class_unicode = 1<<14, - char_class_all_base = char_class_alnum | char_class_alpha | char_class_cntrl - | char_class_digit | char_class_graph | char_class_lower - | char_class_print | char_class_punct | char_class_space - | char_class_upper | char_class_xdigit - }; - - static std::string BOOST_REGEX_CALL set_message_catalogue(const std::string& s); -protected: - static char regex_message_cat[BOOST_REGEX_MAX_PATH]; -}; - -} // namespace re_detail - -template -class cpp_regex_traits; - -template<> -class BOOST_REGEX_DECL cpp_regex_traits : public re_detail::cpp_regex_traits_base -{ - typedef re_detail::cpp_regex_traits_base base_type; -private: - re_detail::message_data* pmd; - const unsigned char* psyntax; - char* lower_map; - const std::ctype* pctype; - const std::collate* pcollate; - std::locale locale_inst; - unsigned sort_type; - char sort_delim; - - cpp_regex_traits(const cpp_regex_traits&); - cpp_regex_traits& operator=(const cpp_regex_traits&); - -public: - typedef char char_type; - typedef unsigned char uchar_type; - typedef unsigned int size_type; - typedef std::string string_type; - typedef std::locale locale_type; - - cpp_regex_traits(); - ~cpp_regex_traits(); - - static std::size_t BOOST_REGEX_CALL length(const char_type* p) - { - return std::strlen(p); - } - unsigned int BOOST_REGEX_CALL syntax_type(size_type c)const - { - return psyntax[c]; - } - char BOOST_REGEX_CALL translate(char c, bool icase)const - { - return icase ? lower_map[(size_type)(uchar_type)c] : c; - } - void BOOST_REGEX_CALL transform(std::string& out, const std::string& in)const - { - out = pcollate->transform(in.c_str(), in.c_str() + in.size()).c_str(); - } - - void BOOST_REGEX_CALL transform_primary(std::string& out, const std::string& in)const; - - static bool BOOST_REGEX_CALL is_separator(char c) - { - return BOOST_REGEX_MAKE_BOOL((c == '\n') || (c == '\r')); - } - - static bool BOOST_REGEX_CALL is_combining(char) - { - return false; - } - - bool BOOST_REGEX_CALL is_class(char c, boost::uint_fast32_t f)const - { - if(pctype->is((std::ctype::mask)(f & char_class_all_base), c)) - return true; - if((f & char_class_underscore) && (c == '_')) - return true; - if((f & char_class_blank) && ((c == ' ') || (c == '\t'))) - return true; - return false; - } - - int BOOST_REGEX_CALL toi(char c)const; - int BOOST_REGEX_CALL toi(const char*& first, const char* last, int radix)const; - - boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const char* first, const char* last)const; - bool BOOST_REGEX_CALL lookup_collatename(std::string& s, const char* first, const char* last)const; - - std::string BOOST_REGEX_CALL error_string(unsigned id)const; - locale_type BOOST_REGEX_CALL imbue(locale_type l); - locale_type BOOST_REGEX_CALL getloc()const{ return locale_inst; } - void swap(cpp_regex_traits&); - - struct sentry - { - sentry(const cpp_regex_traits&){} - operator void*() { return this; } - }; -}; - -#if !defined(BOOST_NO_WREGEX) && !defined(BOOST_NO_STD_WSTREAMBUF) -template<> -class BOOST_REGEX_DECL cpp_regex_traits : public re_detail::cpp_regex_traits_base -{ - typedef re_detail::cpp_regex_traits_base base_type; -public: - typedef wchar_t char_type; - typedef unsigned short uchar_type; - typedef unsigned int size_type; - typedef std::basic_string string_type; - typedef std::locale locale_type; - -private: - re_detail::message_data* pmd; - const unsigned char* psyntax; - wchar_t* lower_map; - const std::ctype* pctype; - const std::collate* pcollate; - const std::codecvt* pcdv; - std::locale locale_inst; - unsigned int BOOST_REGEX_CALL do_syntax_type(size_type c)const; - unsigned sort_type; - wchar_t sort_delim; - - cpp_regex_traits(const cpp_regex_traits&); - cpp_regex_traits& operator=(const cpp_regex_traits&); - -public: - - static std::size_t BOOST_REGEX_CALL length(const char_type* p) - { - return std::wcslen(p); - } - unsigned int BOOST_REGEX_CALL syntax_type(size_type c)const - { - return (c < UCHAR_MAX) ? psyntax[c] : do_syntax_type(c); - } - wchar_t BOOST_REGEX_CALL translate(wchar_t c, bool icase)const - { - return icase ? (((uchar_type)c) <= UCHAR_MAX) ? lower_map[c] : pctype->tolower(c) : c; - } - void BOOST_REGEX_CALL transform(std::basic_string& out, const std::basic_string& in)const - { - out = pcollate->transform(in.c_str(), in.c_str() + in.size()); - } - - void BOOST_REGEX_CALL transform_primary(std::basic_string& out, const std::basic_string& in)const; - - static bool BOOST_REGEX_CALL is_separator(wchar_t c) - { - return BOOST_REGEX_MAKE_BOOL((c == L'\n') || (c == L'\r') || (c == (wchar_t)0x2028) || (c == (wchar_t)0x2029)); - } - - static bool BOOST_REGEX_CALL is_combining(wchar_t c) - { return re_detail::is_combining(c); } - - bool BOOST_REGEX_CALL is_class(wchar_t c, boost::uint_fast32_t f)const - { - if(pctype->is((std::ctype::mask)(f & char_class_all_base), c)) - return true; - if((f & char_class_underscore) && (c == '_')) - return true; - if((f & char_class_blank) && ((c == ' ') || (c == '\t'))) - return true; - if((f & char_class_unicode) && ((uchar_type)c > (uchar_type)255)) - return true; - return false; - } - - int BOOST_REGEX_CALL toi(wchar_t c)const; - int BOOST_REGEX_CALL toi(const wchar_t*& first, const wchar_t* last, int radix)const; - - boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const wchar_t* first, const wchar_t* last)const; - bool BOOST_REGEX_CALL lookup_collatename(std::basic_string& s, const wchar_t* first, const wchar_t* last)const; - - std::string BOOST_REGEX_CALL error_string(unsigned id)const; - void swap(cpp_regex_traits&); - cpp_regex_traits(); - ~cpp_regex_traits(); - locale_type BOOST_REGEX_CALL imbue(locale_type l); - locale_type BOOST_REGEX_CALL getloc()const{ return locale_inst; } - std::size_t BOOST_REGEX_CALL strwiden(wchar_t *s1, std::size_t len, const char *s2)const; - - struct sentry - { - sentry(const cpp_regex_traits&){} - operator void*() { return this; } - }; -}; -#endif // BOOST_NO_WREGEX - -#endif // BOOST_NO_STD_LOCALE - -#ifdef BOOST_REGEX_USE_WIN32_LOCALE - -template -class regex_traits : public w32_regex_traits -{ -}; - -#elif defined(BOOST_REGEX_USE_C_LOCALE) - -template -class regex_traits : public c_regex_traits -{ -}; - -#elif defined(BOOST_REGEX_USE_CPP_LOCALE) - -template -class regex_traits : public cpp_regex_traits -{ -}; - -#else -#error No default localisation model defined -#endif - -#ifdef __BORLANDC__ - #pragma option pop -#endif - -} // namespace boost - -#endif // include - - - - - - - diff --git a/include/boost/regex/v4/states.hpp b/include/boost/regex/v4/states.hpp deleted file mode 100644 index ec1d276f..00000000 --- a/include/boost/regex/v4/states.hpp +++ /dev/null @@ -1,233 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE states.cpp - * VERSION see - * DESCRIPTION: Declares internal state machine structures. - */ - -#ifndef BOOST_REGEX_V4_STATES_HPP -#define BOOST_REGEX_V4_STATES_HPP - -#ifdef __BORLANDC__ -# pragma option push -a8 -b -Vx -Ve -pc -w-8027 -#endif - -namespace boost{ -namespace re_detail{ - -/*** mask_type ******************************************************* -Whenever we have a choice of two alternatives, we use an array of bytes -to indicate which of the two alternatives it is possible to take for any -given input character. If mask_take is set, then we can take the next -state, and if mask_skip is set then we can take the alternative. -***********************************************************************/ -enum mask_type -{ - mask_take = 1, - mask_skip = 2, - mask_any = mask_skip | mask_take, - mask_all = mask_any -}; - -/*** helpers ********************************************************** -These helpers let us use function overload resolution to detect whether -we have narrow or wide character strings: -***********************************************************************/ -struct _narrow_type{}; -struct _wide_type{}; -template struct is_byte; -template<> struct is_byte { typedef _narrow_type width_type; }; -template<> struct is_byte{ typedef _narrow_type width_type; }; -template<> struct is_byte { typedef _narrow_type width_type; }; -template struct is_byte { typedef _wide_type width_type; }; - -/*** enum syntax_element_type ****************************************** -Every record in the state machine falls into one of the following types: -***********************************************************************/ -enum syntax_element_type -{ - // start of a marked sub-expression, or perl-style (?...) extension - syntax_element_startmark = 0, - // end of a marked sub-expression, or perl-style (?...) extension - syntax_element_endmark = syntax_element_startmark + 1, - // any sequence of literal characters - syntax_element_literal = syntax_element_endmark + 1, - // start of line assertion: ^ - syntax_element_start_line = syntax_element_literal + 1, - // end of line assertion $ - syntax_element_end_line = syntax_element_start_line + 1, - // match any character: . - syntax_element_wild = syntax_element_end_line + 1, - // end of expression: we have a match when we get here - syntax_element_match = syntax_element_wild + 1, - // perl style word boundary: \b - syntax_element_word_boundary = syntax_element_match + 1, - // perl style within word boundary: \B - syntax_element_within_word = syntax_element_word_boundary + 1, - // start of word assertion: \< - syntax_element_word_start = syntax_element_within_word + 1, - // end of word assertion: \> - syntax_element_word_end = syntax_element_word_start + 1, - // start of buffer assertion: \` - syntax_element_buffer_start = syntax_element_word_end + 1, - // end of buffer assertion: \' - syntax_element_buffer_end = syntax_element_buffer_start + 1, - // backreference to previously matched sub-expression - syntax_element_backref = syntax_element_buffer_end + 1, - // either a wide character set [..] or one with multicharacter collating elements: - syntax_element_long_set = syntax_element_backref + 1, - // narrow character set: [...] - syntax_element_set = syntax_element_long_set + 1, - // jump to a new state in the machine: - syntax_element_jump = syntax_element_set + 1, - // choose between two production states: - syntax_element_alt = syntax_element_jump + 1, - // a repeat - syntax_element_rep = syntax_element_alt + 1, - // match a combining character sequence - syntax_element_combining = syntax_element_rep + 1, - // perl style soft buffer end: \z - syntax_element_soft_buffer_end = syntax_element_combining + 1, - // perl style continuation: \G - syntax_element_restart_continue = syntax_element_soft_buffer_end + 1, - // single character repeats: - syntax_element_dot_rep = syntax_element_restart_continue + 1, - syntax_element_char_rep = syntax_element_dot_rep + 1, - syntax_element_short_set_rep = syntax_element_char_rep + 1, - syntax_element_long_set_rep = syntax_element_short_set_rep + 1 -}; - -#ifdef BOOST_REGEX_DEBUG -// dwa 09/26/00 - This is needed to suppress warnings about an ambiguous conversion -std::ostream& operator<<(std::ostream&, syntax_element_type); -#endif - -struct re_syntax_base; - -/*** union offset_type ************************************************ -Points to another state in the machine. During machine construction -we use integral offsets, but these are converted to pointers before -execution of the machine. -***********************************************************************/ -union offset_type -{ - re_syntax_base* p; - std::size_t i; -}; - -/*** struct re_syntax_base ******************************************** -Base class for all states in the machine. -***********************************************************************/ -struct re_syntax_base -{ - syntax_element_type type; // what kind of state this is - offset_type next; // next state in the machine - unsigned int can_be_null; // true if we match a NULL string -}; - -/*** struct re_brace ************************************************** -Base class for all states in the machine. -***********************************************************************/ -struct re_brace : public re_syntax_base -{ - // The index to match, can be zero (don't mark the sub-expression) - // or negative (for perl style (?...) extentions): - int index; -}; - -/*** struct re_literal ************************************************ -A string of literals, following this structure will be an -array of characters: charT[length] -***********************************************************************/ -struct re_literal : public re_syntax_base -{ - unsigned int length; -}; - -/*** struct re_set_long *********************************************** -A wide character set of characters, following this structure will be -an array of type charT: -First csingles null-terminated strings -Then 2 * cranges NULL terminated strings -Then cequivalents NULL terminated strings -***********************************************************************/ -struct re_set_long : public re_syntax_base -{ - unsigned int csingles, cranges, cequivalents; - boost::uint_fast32_t cclasses; - bool isnot; - bool singleton; -}; - -/*** struct re_set **************************************************** -A set of narrow-characters, matches any of _map which is none-zero -***********************************************************************/ -struct re_set : public re_syntax_base -{ - unsigned char _map[256]; -}; - -/*** struct re_jump *************************************************** -Jump to a new location in the machine (not next). -***********************************************************************/ -struct re_jump : public re_syntax_base -{ - offset_type alt; // location to jump to - unsigned char _map[256]; // which characters can take the jump -}; - -/*** struct re_repeat ************************************************* -Repeat a section of the machine -***********************************************************************/ -struct re_repeat : public re_jump -{ - unsigned min, max; // min and max allowable repeats - int 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 -}; - -/*** enum re_jump_size_type ******************************************* -Provides compiled size of re_jump structure (allowing for trailing alignment). -We provide this so we know how manybytes to insert when constructing the machine -(The value of padding_mask is defined in regex_raw_buffer.hpp). -***********************************************************************/ -enum re_jump_size_type -{ - re_jump_size = (sizeof(re_jump) + padding_mask) & ~(padding_mask), - re_repeater_size = (sizeof(re_repeat) + padding_mask) & ~(padding_mask) -}; - -/*** proc re_is_set_member ********************************************* -Forward declaration: we'll need this one later... -***********************************************************************/ -template -iterator BOOST_REGEX_CALL re_is_set_member(iterator next, - iterator last, - const re_set_long* set_, - const reg_expression& e); - -} // namespace re_detail - -} // namespace boost - -#ifdef __BORLANDC__ -# pragma option pop -#endif - -#endif diff --git a/include/boost/regex/v4/sub_match.hpp b/include/boost/regex/v4/sub_match.hpp deleted file mode 100644 index b67dd3ac..00000000 --- a/include/boost/regex/v4/sub_match.hpp +++ /dev/null @@ -1,337 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE sub_match.cpp - * VERSION see - * DESCRIPTION: Declares template class sub_match. - */ - -#ifndef BOOST_REGEX_V4_SUB_MATCH_HPP -#define BOOST_REGEX_V4_SUB_MATCH_HPP - -#ifdef __BORLANDC__ -# pragma option push -a8 -b -Vx -Ve -pc -w-8027 -#endif - -namespace boost{ - -template -struct sub_match : public std::pair -{ - typedef typename re_detail::regex_iterator_traits::value_type value_type; -#if defined(BOOST_NO_STD_ITERATOR_TRAITS) || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - typedef std::ptrdiff_t difference_type; -#else - typedef typename re_detail::regex_iterator_traits::difference_type difference_type; -#endif - typedef BidiIterator iterator_type; - - bool matched; - - sub_match() : std::pair(), matched(false) {} - sub_match(BidiIterator i) : std::pair(i, i), matched(false) {} - - operator std::basic_string ()const - { - return str(); - } - difference_type BOOST_REGEX_CALL length()const - { - difference_type n = boost::re_detail::distance((BidiIterator)this->first, (BidiIterator)this->second); - return n; - } - std::basic_string str()const - { - std::basic_string result; - std::size_t len = boost::re_detail::distance((BidiIterator)this->first, (BidiIterator)this->second); - result.reserve(len); - BidiIterator i = this->first; - while(i != this->second) - { - result.append(1, *i); - ++i; - } - return result; - } - int compare(const sub_match& s)const - { - if(matched != s.matched) - return static_cast(matched) - static_cast(s.matched); - return str().compare(s.str()); - } - - bool operator==(const sub_match& that)const - { return compare(that) == 0; } - bool BOOST_REGEX_CALL operator !=(const sub_match& that)const - { return compare(that) != 0; } - bool operator<(const sub_match& that)const - { return compare(that) < 0; } - bool operator>(const sub_match& that)const - { return compare(that) > 0; } - bool operator<=(const sub_match& that)const - { return compare(that) <= 0; } - bool operator>=(const sub_match& that)const - { return compare(that) >= 0; } - -#ifdef BOOST_OLD_REGEX_H - // - // the following are deprecated, do not use!! - // - operator int()const; - operator unsigned int()const; - operator short()const - { - return (short)(int)(*this); - } - operator unsigned short()const - { - return (unsigned short)(unsigned int)(*this); - } -#endif -}; - -// comparison to std::basic_string<> part 1: -template -bool operator == (const std::basic_string::value_type, traits, Allocator>& s, - const sub_match& m) -{ return s.compare(m.str()) == 0; } -template -bool operator != (const std::basic_string::value_type, traits, Allocator>& s, - const sub_match& m) -{ return s.compare(m.str()) != 0; } -template -bool operator < (const std::basic_string::value_type, traits, Allocator>& s, - const sub_match& m) -{ return s.compare(m.str()) < 0; } -template -bool operator <= (const std::basic_string::value_type, traits, Allocator>& s, - const sub_match& m) -{ return s.compare(m.str()) <= 0; } -template -bool operator >= (const std::basic_string::value_type, traits, Allocator>& s, - const sub_match& m) -{ return s.compare(m.str()) >= 0; } -template -bool operator > (const std::basic_string::value_type, traits, Allocator>& s, - const sub_match& m) -{ return s.compare(m.str()) > 0; } -// comparison to std::basic_string<> part 2: -template -bool operator == (const sub_match& m, - const std::basic_string::value_type, traits, Allocator>& s) -{ return m.str().compare(s) == 0; } -template -bool operator != (const sub_match& m, - const std::basic_string::value_type, traits, Allocator>& s) -{ return m.str().compare(s) != 0; } -template -bool operator < (const sub_match& m, - const std::basic_string::value_type, traits, Allocator>& s) -{ return m.str().compare(s) < 0; } -template -bool operator > (const sub_match& m, - const std::basic_string::value_type, traits, Allocator>& s) -{ return m.str().compare(s) > 0; } -template -bool operator <= (const sub_match& m, - const std::basic_string::value_type, traits, Allocator>& s) -{ return m.str().compare(s) <= 0; } -template -bool operator >= (const sub_match& m, - const std::basic_string::value_type, traits, Allocator>& s) -{ return m.str().compare(s) >= 0; } -// comparison to const charT* part 1: -template -bool operator == (const sub_match& m, - typename re_detail::regex_iterator_traits::value_type const* s) -{ return m.str().compare(s) == 0; } -template -bool operator != (const sub_match& m, - typename re_detail::regex_iterator_traits::value_type const* s) -{ return m.str().compare(s) != 0; } -template -bool operator > (const sub_match& m, - typename re_detail::regex_iterator_traits::value_type const* s) -{ return m.str().compare(s) > 0; } -template -bool operator < (const sub_match& m, - typename re_detail::regex_iterator_traits::value_type const* s) -{ return m.str().compare(s) < 0; } -template -bool operator >= (const sub_match& m, - typename re_detail::regex_iterator_traits::value_type const* s) -{ return m.str().compare(s) >= 0; } -template -bool operator <= (const sub_match& m, - typename re_detail::regex_iterator_traits::value_type const* s) -{ return m.str().compare(s) <= 0; } -// comparison to const charT* part 2: -template -bool operator == (typename re_detail::regex_iterator_traits::value_type const* s, - const sub_match& m) -{ return m.str().compare(s) == 0; } -template -bool operator != (typename re_detail::regex_iterator_traits::value_type const* s, - const sub_match& m) -{ return m.str().compare(s) != 0; } -template -bool operator < (typename re_detail::regex_iterator_traits::value_type const* s, - const sub_match& m) -{ return m.str().compare(s) > 0; } -template -bool operator > (typename re_detail::regex_iterator_traits::value_type const* s, - const sub_match& m) -{ return m.str().compare(s) < 0; } -template -bool operator <= (typename re_detail::regex_iterator_traits::value_type const* s, - const sub_match& m) -{ return m.str().compare(s) >= 0; } -template -bool operator >= (typename re_detail::regex_iterator_traits::value_type const* s, - const sub_match& m) -{ return m.str().compare(s) <= 0; } - -// comparison to const charT& part 1: -template -bool operator == (const sub_match& m, - typename re_detail::regex_iterator_traits::value_type const& s) -{ return m.str().compare(0, m.length(), &s, 1) == 0; } -template -bool operator != (const sub_match& m, - typename re_detail::regex_iterator_traits::value_type const& s) -{ return m.str().compare(0, m.length(), &s, 1) != 0; } -template -bool operator > (const sub_match& m, - typename re_detail::regex_iterator_traits::value_type const& s) -{ return m.str().compare(0, m.length(), &s, 1) > 0; } -template -bool operator < (const sub_match& m, - typename re_detail::regex_iterator_traits::value_type const& s) -{ return m.str().compare(0, m.length(), &s, 1) < 0; } -template -bool operator >= (const sub_match& m, - typename re_detail::regex_iterator_traits::value_type const& s) -{ return m.str().compare(0, m.length(), &s, 1) >= 0; } -template -bool operator <= (const sub_match& m, - typename re_detail::regex_iterator_traits::value_type const& s) -{ return m.str().compare(0, m.length(), &s, 1) <= 0; } -// comparison to const charT* part 2: -template -bool operator == (typename re_detail::regex_iterator_traits::value_type const& s, - const sub_match& m) -{ return m.str().compare(0, m.length(), &s, 1) == 0; } -template -bool operator != (typename re_detail::regex_iterator_traits::value_type const& s, - const sub_match& m) -{ return m.str().compare(0, m.length(), &s, 1) != 0; } -template -bool operator < (typename re_detail::regex_iterator_traits::value_type const& s, - const sub_match& m) -{ return m.str().compare(0, m.length(), &s, 1) > 0; } -template -bool operator > (typename re_detail::regex_iterator_traits::value_type const& s, - const sub_match& m) -{ return m.str().compare(0, m.length(), &s, 1) < 0; } -template -bool operator <= (typename re_detail::regex_iterator_traits::value_type const& s, - const sub_match& m) -{ return m.str().compare(0, m.length(), &s, 1) >= 0; } -template -bool operator >= (typename re_detail::regex_iterator_traits::value_type const& s, - const sub_match& m) -{ return m.str().compare(0, m.length(), &s, 1) <= 0; } - -#ifndef BOOST_NO_STD_LOCALE -template -std::basic_ostream& - operator << (std::basic_ostream& os, - const sub_match& s) -{ - return (os << s.str()); -} -#else -template -std::ostream& operator << (std::ostream& os, - const sub_match& s) -{ - return (os << s.str()); -} -#endif - -#ifdef BOOST_OLD_REGEX_H -namespace re_detail{ -template -int do_toi(BidiIterator i, BidiIterator j, char c, int radix) -{ - std::string s(i, j); - char* p; - int result = std::strtol(s.c_str(), &p, radix); - if(*p)raise_regex_exception("Bad sub-expression"); - return result; -} - -// -// helper: -template -int do_toi(I& i, I j, charT c) -{ - int result = 0; - while((i != j) && (isdigit(*i))) - { - result = result*10 + (*i - '0'); - ++i; - } - return result; -} -} - - -template -sub_match::operator int()const -{ - BidiIterator i = first; - BidiIterator j = second; - if(i == j)raise_regex_exception("Bad sub-expression"); - int neg = 1; - if((i != j) && (*i == '-')) - { - neg = -1; - ++i; - } - neg *= re_detail::do_toi(i, j, *i); - if(i != j)raise_regex_exception("Bad sub-expression"); - return neg; -} -template -sub_match::operator unsigned int()const -{ - BidiIterator i = first; - BidiIterator j = second; - if(i == j) - raise_regex_exception("Bad sub-expression"); - return re_detail::do_toi(i, j, *first); -} -#endif - -} // namespace boost - -#ifdef __BORLANDC__ -# pragma option pop -#endif - -#endif diff --git a/index.html b/index.html deleted file mode 100644 index a1f01b7b..00000000 --- a/index.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - Automatic redirection failed, please go to doc/index.html. - - - diff --git a/licence.txt b/licence.txt deleted file mode 100644 index 90ca57a5..00000000 --- a/licence.txt +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 1998-2000 -Dr John Maddock - -Permission to use, copy, modify, distribute and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation. Dr John Maddock makes no representations -about the suitability of this software for any purpose. -It is provided "as is" without express or implied warranty. - -Footnotes: -1) Localised versions may translate the above notice into the native - language of the version. -2) The above notice applies to source code and documentation, users - who are distributing only binary forms, need only indicate, somewhere - in their documentation or in their help|about notice that the product - uses this library and that the copyright is Dr John Maddock 1998-2000 - diff --git a/old_include/cregex b/old_include/cregex deleted file mode 100644 index 7a59629d..00000000 --- a/old_include/cregex +++ /dev/null @@ -1,3 +0,0 @@ -#include - - diff --git a/old_include/cregex.h b/old_include/cregex.h deleted file mode 100644 index 9e975a19..00000000 --- a/old_include/cregex.h +++ /dev/null @@ -1,129 +0,0 @@ -/* - * - * Copyright (c) 1998-2000 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * FILE cregex.h - * VERSION see - * deprecated regular expression matching algorithms - */ - -#ifndef BOOST_OLD_CREGEX_H -#define BOOST_OLD_CREGEX_H - -#include - -// -// macro defs: -#define JM_STD std -#define JM_CSTD std -#define JM jm - -#ifdef BOOST_RE_OLD_IOSTREAM -#define JM_OLD_IOSTREAM -#endif - -#ifdef __cplusplus - -namespace jm = boost; - -#if !defined(BOOST_RE_NO_USING) -using boost::regex_tA; -using boost::regex_t; -using boost::regoff_t; -using boost::regmatch_t; -using boost::regcompA; -using boost::regerrorA; -using boost::regexecA; -using boost::regfreeA; - -#ifndef BOOST_NO_WREGEX -using boost::regex_tW; -using boost::regcompW; -using boost::regerrorW; -using boost::regexecW; -using boost::regfreeW; -#endif - -using boost::RegEx; -using boost::GrepCallback; -using boost::GrepFileCallback; -using boost::FindFilesCallback; - -using boost::match_flags; -using boost::reg_errcode_t; - -using boost::REG_NOERROR; -using boost::REG_NOMATCH; -using boost::REG_BADPAT; -using boost::REG_ECOLLATE; -using boost::REG_ECTYPE; -using boost::REG_EESCAPE; -using boost::REG_ESUBREG; -using boost::REG_EBRACK; -using boost::REG_EPAREN; -using boost::REG_EBRACE; -using boost::REG_BADBR; -using boost::REG_ERANGE; -using boost::REG_ESPACE; -using boost::REG_BADRPT; -using boost::REG_EEND; -using boost::REG_ESIZE; -using boost::REG_ERPAREN; -using boost::REG_EMPTY; -using boost::REG_E_MEMORY; -using boost::REG_E_UNKNOWN; -using boost::match_default; -using boost::match_not_bol; -using boost::match_not_eol; -using boost::match_not_bob; -using boost::match_not_eob; -using boost::match_not_bow; -using boost::match_not_eow; -using boost::match_not_dot_newline; -using boost::match_not_dot_null; -using boost::match_prev_avail; -using boost::match_init; -using boost::match_any; -using boost::match_not_null; -using boost::match_continuous; -using boost::match_stop; - -using boost::REG_BASIC; -using boost::REG_EXTENDED; -using boost::REG_ICASE; -using boost::REG_NOSUB; -using boost::REG_NEWLINE; -using boost::REG_NOSPEC; -using boost::REG_PEND; -using boost::REG_DUMP; -using boost::REG_NOCOLLATE; - -using boost::REG_ASSERT; -using boost::REG_INVARG; -using boost::REG_ATOI; -using boost::REG_ITOA; - -using boost::REG_NOTBOL; -using boost::REG_NOTEOL; -using boost::REG_STARTEND; - -#endif // BOOST_RE_NO_USING -#endif // __cplusplus - -#ifdef BOOST_RE_USING_HACK -using namespace boost; -#endif - -#endif // include guard diff --git a/old_include/fileiter.h b/old_include/fileiter.h deleted file mode 100644 index 7a3a75e6..00000000 --- a/old_include/fileiter.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * - * Copyright (c) 1998-2000 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - -#ifndef BOOST_FILEITER_H -#define BOOST_FILEITER_H - -#include - -using boost::re_detail::directory_iterator; -using boost::re_detail::file_iterator; -using boost::re_detail::mapfile; - -#endif diff --git a/old_include/regex b/old_include/regex deleted file mode 100644 index 2709369e..00000000 --- a/old_include/regex +++ /dev/null @@ -1,3 +0,0 @@ -#include - - diff --git a/old_include/regex.h b/old_include/regex.h deleted file mode 100644 index 7d8ba539..00000000 --- a/old_include/regex.h +++ /dev/null @@ -1,439 +0,0 @@ -/* - * - * Copyright (c) 1998-2000 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * FILE regex.h - * VERSION see - * deprecated regular expression matching algorithms - */ - -#ifndef BOOST_OLD_REGEX_H -#define BOOST_OLD_REGEX_H - -#include -#include - -namespace boost{ - -namespace deprecated{ -// -// class reg_match: -// old name for match_results, this ones just a thin wrapper: -// -template ::type)> -class reg_match : public boost::match_results -{ - typedef boost::match_results base_type; - typedef boost::re_detail::match_results_base ancestor; -public: - reg_match(const Allocator& a = Allocator()) - : base_type(a){} - - reg_match(const ancestor& m) - : base_type(m){} - - reg_match& operator=(const ancestor& m) - { - // shallow copy - ancestor::operator=(m); - return *this; - } - - reg_match(const base_type& m) - : base_type(m){} - reg_match& operator=(const base_type& m) - { - // deep copy - base_type::operator=(m); - return *this; - } -}; -// -// proc query_match -// returns true if the specified regular expression matches -// at position first. Fills in what matched in m. -// -template -bool query_match(iterator first, iterator last, boost::match_results& m, const reg_expression& e, unsigned flags = match_default) -{ - return regex_search(first, last, m, e, flags | match_continuous); -} - -// -// query_match convenience interfaces: -#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -// -// this isn't really a partial specialisation, but template function -// overloading - if the compiler doesn't support partial specialisation -// then it really won't support this either: -template -inline bool query_match(const charT* str, - boost::match_results& m, - const reg_expression& e, - unsigned flags = match_default) -{ - return query_match(str, str + traits::length(str), m, e, flags); -} - -template -inline bool query_match(const std::basic_string& s, - boost::match_results::const_iterator, Allocator>& m, - const reg_expression& e, - unsigned flags = match_default) -{ - return query_match(s.begin(), s.end(), m, e, flags); -} -#else // partial ordering -inline bool query_match(const char* str, - cmatch& m, - const regex& e, - unsigned flags = match_default) -{ - return query_match(str, str + regex::traits_type::length(str), m, e, flags); -} -#ifndef BOOST_NO_WREGEX -inline bool query_match(const wchar_t* str, - wcmatch& m, - const wregex& e, - unsigned flags = match_default) -{ - return query_match(str, str + wregex::traits_type::length(str), m, e, flags); -} -#endif -inline bool query_match(const std::string& s, - boost::match_results& m, - const regex& e, - unsigned flags = match_default) -{ - return query_match(s.begin(), s.end(), m, e, flags); -} -#if !defined(BOOST_NO_WREGEX) -inline bool query_match(const std::basic_string& s, - boost::match_results::const_iterator, wregex::allocator_type>& m, - const wregex& e, - unsigned flags = match_default) -{ - return query_match(s.begin(), s.end(), m, e, flags); -} -#endif - -#endif - - -template -bool reg_search(iterator first, iterator last, boost::match_results& m, const reg_expression& e, unsigned flags = match_default) -{ - return boost::regex_search(first, last, m, e, flags); -} - -// -// reg_search convenience interfaces: -#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -// -// this isn't really a partial specialisation, but template function -// overloading - if the compiler doesn't support partial specialisation -// then it really won't support this either: -template -inline bool reg_search(const charT* str, - boost::match_results& m, - const reg_expression& e, - unsigned flags = match_default) -{ - return reg_search(str, str + traits::length(str), m, e, flags); -} - -#ifndef BOOST_RE_NO_STRING_H -template -inline bool reg_search(const std::basic_string& s, - boost::match_results::const_iterator, Allocator>& m, - const reg_expression& e, - unsigned flags = match_default) -{ - return reg_search(s.begin(), s.end(), m, e, flags); -} -#endif -#else // partial specialisation -inline bool reg_search(const char* str, - cmatch& m, - const regex& e, - unsigned flags = match_default) -{ - return reg_search(str, str + regex::traits_type::length(str), m, e, flags); -} -#ifndef BOOST_NO_WREGEX -inline bool reg_search(const wchar_t* str, - wcmatch& m, - const wregex& e, - unsigned flags = match_default) -{ - return reg_search(str, str + wregex::traits_type::length(str), m, e, flags); -} -#endif -#ifndef BOOST_RE_NO_STRING_H -inline bool reg_search(const std::string& s, - boost::match_results& m, - const regex& e, - unsigned flags = match_default) -{ - return reg_search(s.begin(), s.end(), m, e, flags); -} -#if !defined(BOOST_NO_WREGEX) -inline bool reg_search(const std::basic_string& s, - boost::match_results::const_iterator, wregex::allocator_type>& m, - const wregex& e, - unsigned flags = match_default) -{ - return reg_search(s.begin(), s.end(), m, e, flags); -} -#endif - -#endif - -#endif - - -// -// reg_grep: -// find all non-overlapping matches within the sequence first last: -// -template -inline unsigned int reg_grep(Predicate foo, iterator first, iterator last, const reg_expression& e, unsigned flags = match_default) -{ - return boost::regex_grep(foo, first, last, e, flags); -} - -// -// reg_grep convenience interfaces: -#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -// -// this isn't really a partial specialisation, but template function -// overloading - if the compiler doesn't support partial specialisation -// then it really won't support this either: -template -inline unsigned int reg_grep(Predicate foo, const charT* str, - const reg_expression& e, - unsigned flags = match_default) -{ - return reg_grep(foo, str, str + traits::length(str), e, flags); -} - -#ifndef BOOST_RE_NO_STRING_H -template -inline unsigned int reg_grep(Predicate foo, const std::basic_string& s, - const reg_expression& e, - unsigned flags = match_default) -{ - return reg_grep(foo, s.begin(), s.end(), e, flags); -} -#endif -#else // partial specialisation -inline unsigned int reg_grep(bool (*foo)(const cmatch&), const char* str, - const regex& e, - unsigned flags = match_default) -{ - return reg_grep(foo, str, str + regex::traits_type::length(str), e, flags); -} -#ifndef BOOST_NO_WREGEX -inline unsigned int reg_grep(bool (*foo)(const wcmatch&), const wchar_t* str, - const wregex& e, - unsigned flags = match_default) -{ - return reg_grep(foo, str, str + wregex::traits_type::length(str), e, flags); -} -#endif -#ifndef BOOST_RE_NO_STRING_H -inline unsigned int reg_grep(bool (*foo)(const boost::match_results&), const std::string& s, - const regex& e, - unsigned flags = match_default) -{ - return reg_grep(foo, s.begin(), s.end(), e, flags); -} -#if !defined(BOOST_NO_WREGEX) -inline unsigned int reg_grep(bool (*foo)(const boost::match_results::const_iterator, wregex::allocator_type>&), - const std::basic_string& s, - const wregex& e, - unsigned flags = match_default) -{ - return reg_grep(foo, s.begin(), s.end(), e, flags); -} -#endif - -#endif - -#endif - -// -// finally for compatablity with version 1.x of the library -// we need a form of reg_grep that takes an output iterator -// as its first argument: -// - -// -// struct grep_match: -// stores what matched during a reg_grep, -// the output iterator type passed to reg_grep must have an -// operator*() that returns a type with an -// operator=(const grep_match&); -// -template -struct grep_match -{ - unsigned int line; - iterator line_start; - reg_match what; - - grep_match(Allocator a = Allocator()) : what(a) {} - - grep_match(unsigned int l, iterator p1, const boost::match_results& m) - : what(m) { line = l; line_start = p1; } - - bool operator == (const grep_match& ) - { return false; } - - bool operator < (const grep_match&) - { return false; } -}; - -namespace re_detail{ - -template -struct grep_adaptor -{ - O oi; - reg_match m; - grep_adaptor(O i, A a) : m(a), oi(i) {} - bool operator()(const boost::re_detail::match_results_base& w) - { - m.what = w; - m.line = w.line(); - m.line_start = w.line_start(); - *oi = m; - ++oi; - return true; - } -}; - -} // namespace re_detail - -template -inline unsigned int reg_grep_old(Out oi, iterator first, iterator last, const reg_expression& e, unsigned flags = match_default) -{ - return boost::regex_grep(re_detail::grep_adaptor(oi, e.allocator()), first, last, e, flags); -} - -template -OutputIterator BOOST_REGEX_CALL reg_format(OutputIterator out, - const boost::match_results& m, - const charT* fmt) -{ - // - // start by updating the locale: - // - return boost::re_detail::_reg_format_aux(out, m, fmt, 0); -} - -template -std::basic_string BOOST_REGEX_CALL reg_format(const boost::match_results& m, const charT* fmt) -{ - std::basic_string result; - boost::re_detail::string_out_iterator > i(result); - reg_format(i, m, fmt); - return result; -} - -template -OutputIterator BOOST_REGEX_CALL reg_merge(OutputIterator out, - iterator first, - iterator last, - const reg_expression& e, - const charT* fmt, - bool copy = true, - unsigned int flags = match_default) -{ - // - // start by updating the locale: - // - iterator l = first; - if(!copy) flags |= format_no_copy; - boost::re_detail::merge_out_predicate oi(out, l, fmt, flags, e.get_traits()); - regex_grep(oi, first, last, e, flags); - return copy ? boost::re_detail::re_copy_out(out, l, last) : out; -} - -template -std::basic_string BOOST_REGEX_CALL reg_merge(const std::basic_string& s, - const reg_expression& e, - const charT* fmt, - bool copy = true, - unsigned int flags = match_default) -{ - std::basic_string result; - boost::re_detail::string_out_iterator > i(result); - reg_merge(i, s.begin(), s.end(), e, fmt, copy, flags); - return result; -} - -} // namespace deprecated - -using deprecated::query_match; -using deprecated::reg_search; -using deprecated::reg_grep; -using deprecated::reg_format; -using deprecated::reg_merge; -//using re_detail::jm_def_alloc; -using deprecated::char_regex_traits_i; -//using re_detail::re_alloc_binder; -using re_detail::padding_size; - - -} // namspace boost - -namespace jm = boost; - -#if !defined(BOOST_RE_NO_NAMESPACES) && !defined(BOOST_RE_NO_USING) - -using boost::bad_expression; -template -struct char_regex_traits : boost::regex_traits{}; -using boost::deprecated::char_regex_traits_i; -using boost::regbase; -using boost::reg_expression; -using boost::deprecated::reg_match; -//using boost::reg_match_base; -using boost::sub_match; -using boost::regex; -using boost::cmatch; -#ifndef BOOST_NO_WREGEX -using boost::wregex; -using boost::wcmatch; -#endif -using boost::deprecated::reg_match; -using boost::deprecated::query_match; -using boost::deprecated::reg_search; -using boost::deprecated::reg_grep; -using boost::deprecated::reg_format; -using boost::deprecated::reg_merge; -//using boost::re_detail::jm_def_alloc; - -#endif - -#ifdef BOOST_RE_USING_HACK -using namespace boost; -using namespace boost::deprecated; -#endif - - - -#endif diff --git a/old_include/tests/snip1.cpp b/old_include/tests/snip1.cpp deleted file mode 100644 index b10ee080..00000000 --- a/old_include/tests/snip1.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/* - * - * Copyright (c) 1998-2000 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - -#include -#include -#include -#include - -using namespace std; - -regex expression("^([0-9]+)(\\-| |$)(.*)$"); - -// process_ftp: -// on success returns the ftp response code, and fills -// msg with the ftp response message. -int process_ftp(const char* response, std::string* msg) -{ - cmatch what; - if(query_match(response, response + strlen(response), what, expression)) - { - // what[0] contains the whole string - // what[1] contains the response code - // what[2] contains the separator character - // what[3] contains the text message. - if(msg) - msg->assign(what[3].first, what[3].second); - return atoi(what[1].first); - } - // failure did not match - if(msg) - msg->erase(); - return -1; -} - -int main() -{ - std::string in, out; - while(true) - { - cout << "enter test string" << endl; - std::getline(cin, in); - if(in == "quit") - break; - int result; - result = process_ftp(in.c_str(), &out); - if(result != -1) - { - cout << "Match found:" << endl; - cout << "Response code: " << result << endl; - cout << "Message text: " << out << endl; - } - else - { - cout << "Match not found" << endl; - } - cout << endl; - } - return 0; -} - - - - - - diff --git a/old_include/tests/snip2.cpp b/old_include/tests/snip2.cpp deleted file mode 100644 index aec7fd7e..00000000 --- a/old_include/tests/snip2.cpp +++ /dev/null @@ -1,84 +0,0 @@ -/* - * - * Copyright (c) 1998-2000 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - -#include -#include -#include - -// purpose: -// takes the contents of a file in the form of a string -// and searches for all the C++ class definitions, storing -// their locations in a map of strings/int's - -typedef std::map > map_type; - -regex expression("^(template[[:space:]]*<[^;:{]+>[[:space:]]*)?(class|struct)[[:space:]]*(\\<\\w+\\>([[:blank:]]*\\([^)]*\\))?[[:space:]]*)*(\\<\\w*\\>)[[:space:]]*(<[^;:{]+>[[:space:]]*)?(\\{|:[^;\\{()]*\\{)"); - -void IndexClasses(map_type& m, const std::string& file) -{ - std::string::const_iterator start, end; - start = file.begin(); - end = file.end(); - reg_match what; - unsigned int flags = match_default; - while(reg_search(start, end, what, expression, flags)) - { - // what[0] contains the whole string - // what[5] contains the class name. - // what[6] contains the template specialisation if any. - // add class name and position to map: - m[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = - what[5].first - file.begin(); - // update search position: - start = what[0].second; - // update flags: - flags |= match_prev_avail; - flags |= ~match_not_bob; - } -} - - -#include -#include - -using namespace std; - -int main(int argc, const char** argv) -{ - for(int i = 1; i < argc; ++i) - { - cout << "Processing file " << argv[i] << endl; - map_type m; - mapfile f(argv[i]); - std::string text(f.begin(), f.end()); - IndexClasses(m, text); - cout << m.size() << " matches found" << endl; - map_type::iterator c, d; - c = m.begin(); - d = m.end(); - while(c != d) - { - cout << "class \"" << (*c).first << "\" found at index: " << (*c).second << endl; - ++c; - } - } - return 0; -} - - - - - - diff --git a/old_include/tests/snip3.cpp b/old_include/tests/snip3.cpp deleted file mode 100644 index aae22e78..00000000 --- a/old_include/tests/snip3.cpp +++ /dev/null @@ -1,85 +0,0 @@ -/* - * - * Copyright (c) 1998-2000 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - -#include -#include -#include - -// purpose: -// takes the contents of a file in the form of a string -// and searches for all the C++ class definitions, storing -// their locations in a map of strings/int's - -typedef std::map > map_type; - -regex expression("^(template[[:space:]]*<[^;:{]+>[[:space:]]*)?(class|struct)[[:space:]]*(\\<\\w+\\>([[:blank:]]*\\([^)]*\\))?[[:space:]]*)*(\\<\\w*\\>)[[:space:]]*(<[^;:{]+>[[:space:]]*)?(\\{|:[^;\\{()]*\\{)"); - -class IndexClassesPred -{ - map_type& m; - std::string::const_iterator base; -public: - IndexClassesPred(map_type& a, std::string::const_iterator b) : m(a), base(b) {} - bool operator()(const reg_match& what) - { - // what[0] contains the whole string - // what[5] contains the class name. - // what[6] contains the template specialisation if any. - // add class name and position to map: - m[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = - what[5].first - base; - return true; - } -}; - -void IndexClasses(map_type& m, const std::string& file) -{ - std::string::const_iterator start, end; - start = file.begin(); - end = file.end(); - reg_grep(IndexClassesPred(m, start), start, end, expression, match_default); -} - - -#include -#include - -using namespace std; - -int main(int argc, const char** argv) -{ - for(int i = 1; i < argc; ++i) - { - cout << "Processing file " << argv[i] << endl; - map_type m; - mapfile f(argv[i]); - std::string text(f.begin(), f.end()); - IndexClasses(m, text); - cout << m.size() << " matches found" << endl; - map_type::iterator c, d; - c = m.begin(); - d = m.end(); - while(c != d) - { - cout << "class \"" << (*c).first << "\" found at index: " << (*c).second << endl; - ++c; - } - } - return 0; -} - - - - diff --git a/old_include/tests/snip4.cpp b/old_include/tests/snip4.cpp deleted file mode 100644 index 5bd3f544..00000000 --- a/old_include/tests/snip4.cpp +++ /dev/null @@ -1,105 +0,0 @@ -/* - * - * Copyright (c) 1998-2000 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - -#include -#include -#include -#include -#include -#include -#include - -// purpose: -// takes the contents of a file and transform to -// syntax highlighted code in html format - -regex e1, e2; -extern const char* expression_text; -extern const char* format_string; -extern const char* pre_expression; -extern const char* pre_format; -extern const char* header_text; -extern const char* footer_text; - -int main(int argc, const char** argv) -{ - e1.set_expression(expression_text); - e2.set_expression(pre_expression); - for(int i = 1; i < argc; ++i) - { - std::cout << "Processing file " << argv[i] << std::endl; - mapfile in(argv[i]); - std::string out_name(std::string(argv[i]) + std::string(".htm")); - std::ofstream os(out_name.c_str()); - os << header_text; - // strip '<' and '>' first by outputting to a - // temporary string stream - std::ostringstream t(std::ios::out | std::ios::binary); - std::ostream_iterator oi(t); - reg_merge(oi, in.begin(), in.end(), e2, pre_format, true); - // then output to final output stream - // adding syntax highlighting: - std::string s(t.str()); - std::ostream_iterator out(os); - reg_merge(out, s.begin(), s.end(), e1, format_string, true); - os << footer_text; - } - return 0; -} - -extern const char* pre_expression = "(<)|(>)|\\r"; -extern const char* pre_format = "(?1<)(?2>)"; - - -const char* expression_text = // preprocessor directives: index 1 - "(^[[:blank:]]*#([^\\n]*\\\\[[:space:]]+)*[^\\n]*)|" - // comment: index 3 - "(//[^\\n]*|/\\*([^*]|\\*+[^*/])*\\*+/)|" - // literals: index 5 - "\\<([+-]?((0x[[:xdigit:]]+)|(([[:digit:]]*\\.)?[[:digit:]]+([eE][+-]?[[:digit:]]+)?))u?((int(8|16|32|64))|L)?)\\>|" - // string literals: index 14 - "('([^\\\\']|\\\\.)*'|\"([^\\\\\"]|\\\\.)*\")|" - // keywords: index 17 - "\\<(__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)\\>" - ; - -const char* format_string = "(?1$&)" - "(?3$&)" - "(?5$&)" - "(?14$&)" - "(?17$&)"; - -const char* header_text = "\n\n" - "\n" - "\n" - "\n" - " \n
";
-
-const char* footer_text = "
\n\n\n"; - - - - - - - diff --git a/old_include/tests/snip5.cpp b/old_include/tests/snip5.cpp deleted file mode 100644 index f14f57b4..00000000 --- a/old_include/tests/snip5.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* - * - * Copyright (c) 1998-2000 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - -#include -#include -#include - -// purpose: -// takes the contents of a file in the form of a string -// and searches for all the C++ class definitions, storing -// their locations in a map of strings/int's - -typedef std::map > map_type; - -regex expression("^(template[[:space:]]*<[^;:{]+>[[:space:]]*)?(class|struct)[[:space:]]*(\\<\\w+\\>([[:blank:]]*\\([^)]*\\))?[[:space:]]*)*(\\<\\w*\\>)[[:space:]]*(<[^;:{]+>[[:space:]]*)?(\\{|:[^;\\{()]*\\{)"); -map_type class_index; -std::string::const_iterator base; - -bool grep_callback(const reg_match& what) -{ - // what[0] contains the whole string - // what[5] contains the class name. - // what[6] contains the template specialisation if any. - // add class name and position to map: - class_index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = - what[5].first - base; - return true; -} - -void IndexClasses(const std::string& file) -{ - std::string::const_iterator start, end; - start = file.begin(); - end = file.end(); - base = start; - reg_grep(grep_callback, start, end, expression, match_default); -} - - diff --git a/old_include/tests/snip6.cpp b/old_include/tests/snip6.cpp deleted file mode 100644 index 65fd72b3..00000000 --- a/old_include/tests/snip6.cpp +++ /dev/null @@ -1,100 +0,0 @@ -/* - * - * Copyright (c) 1998-2000 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - -#include -#include -#include -#include - -// purpose: -// takes the contents of a file in the form of a string -// and searches for all the C++ class definitions, storing -// their locations in a map of strings/int's - -typedef std::map > map_type; - -class class_index -{ - jm::regex expression; - map_type index; - std::string::const_iterator base; - - bool grep_callback(reg_match what); -public: - map_type& get_map() { return index; } - void IndexClasses(const std::string& file); - class_index() - : index(), - expression("^(template[[:space:]]*<[^;:{]+>[[:space:]]*)?" - "(class|struct)[[:space:]]*(\\<\\w+\\>([[:blank:]]*\\([^)]*\\))?" - "[[:space:]]*)*(\\<\\w*\\>)[[:space:]]*(<[^;:{]+>[[:space:]]*)?" - "(\\{|:[^;\\{()]*\\{)" - ){} -}; - -bool class_index::grep_callback(reg_match what) -{ - // what[0] contains the whole string - // what[5] contains the class name. - // what[6] contains the template specialisation if any. - // add class name and position to map: - index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = - what[5].first - base; - return true; -} - -void class_index::IndexClasses(const std::string& file) -{ - std::string::const_iterator start, end; - start = file.begin(); - end = file.end(); - base = start; - reg_grep(std::bind1st(std::mem_fun(&class_index::grep_callback), this), - start, - end, - expression, - match_default); -} - - - -using namespace std; - -#include -#include - -int main(int argc, const char** argv) -{ - for(int i = 1; i < argc; ++i) - { - cout << "Processing file " << argv[i] << endl; - mapfile f(argv[i]); - std::string text(f.begin(), f.end()); - class_index i; - i.IndexClasses(text); - cout << i.get_map().size() << " matches found" << endl; - map_type::iterator c, d; - c = i.get_map().begin(); - d = i.get_map().end(); - while(c != d) - { - cout << "class \"" << (*c).first << "\" found at index: " << (*c).second << endl; - ++c; - } - } - return 0; -} - - diff --git a/old_include/tests/snip7.cpp b/old_include/tests/snip7.cpp deleted file mode 100644 index a9600801..00000000 --- a/old_include/tests/snip7.cpp +++ /dev/null @@ -1,102 +0,0 @@ -/* - * - * Copyright (c) 1998-2000 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - -#include -#include -#include -#include - -// purpose: -// takes the contents of a file in the form of a string -// and searches for all the C++ class definitions, storing -// their locations in a map of strings/int's - -typedef std::map > map_type; - -class class_index -{ - jm::regex expression; - map_type index; - std::string::const_iterator base; - typedef reg_match arg_type; - - bool grep_callback(const reg_match& what); -public: - map_type& get_map() { return index; } - typedef bool (__closure* grep_callback_type)(const arg_type&); - void IndexClasses(const std::string& file); - class_index() - : index(), - expression("^(template[[:space:]]*<[^;:{]+>[[:space:]]*)?" - "(class|struct)[[:space:]]*(\\<\\w+\\>([[:blank:]]*\\([^)]*\\))?" - "[[:space:]]*)*(\\<\\w*\\>)[[:space:]]*(<[^;:{]+>[[:space:]]*)?" - "(\\{|:[^;\\{()]*\\{)" - ){} -}; - -bool class_index::grep_callback(const reg_match& what) -{ - // what[0] contains the whole string - // what[5] contains the class name. - // what[6] contains the template specialisation if any. - // add class name and position to map: - index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] = - what[5].first - base; - return true; -} - -void class_index::IndexClasses(const std::string& file) -{ - std::string::const_iterator start, end; - start = file.begin(); - end = file.end(); - base = start; - class_index::grep_callback_type cl = &(this->grep_callback); - reg_grep(cl, - start, - end, - expression, - match_default); -} - - -using namespace std; - -#include -#include - -int main(int argc, const char** argv) -{ - for(int i = 1; i < argc; ++i) - { - cout << "Processing file " << argv[i] << endl; - mapfile f(argv[i]); - std::string text(f.begin(), f.end()); - class_index i; - i.IndexClasses(text); - cout << i.get_map().size() << " matches found" << endl; - map_type::iterator c, d; - c = i.get_map().begin(); - d = i.get_map().end(); - while(c != d) - { - cout << "class \"" << (*c).first << "\" found at index: " << (*c).second << endl; - ++c; - } - } - return 0; -} - - diff --git a/performance/Jamfile b/performance/Jamfile deleted file mode 100644 index 4e2bd93d..00000000 --- a/performance/Jamfile +++ /dev/null @@ -1,44 +0,0 @@ -# copyright John Maddock 2003 - -subproject libs/regex/performance ; - -SOURCES = command_line main time_boost time_greta time_localised_boost time_pcre time_posix time_safe_greta ; - -if $(HS_REGEX_PATH) -{ - HS_SOURCES = $(HS_REGEX_PATH)/regcomp.c $(HS_REGEX_PATH)/regerror.c $(HS_REGEX_PATH)/regexec.c $(HS_REGEX_PATH)/regfree.c ; - POSIX_OPTS = BOOST_HAS_POSIX=1 $(HS_REGEX_PATH) ; -} -else if $(USE_POSIX) -{ - POSIX_OPTS = BOOST_HAS_POSIX=1 ; -} - -if $(PCRE_PATH) -{ - PCRE_SOURCES = $(PCRE_PATH)/chartables.c $(PCRE_PATH)/get.c $(PCRE_PATH)/pcre.c $(PCRE_PATH)/study.c ; - PCRE_OPTS = BOOST_HAS_PCRE=1 $(PCRE_PATH) ; -} -else if $(USE_PCRE) -{ - PCRE_OPTS = BOOST_HAS_PCRE=1 pcre ; -} - - -exe regex_comparison : - $(SOURCES).cpp - $(HS_SOURCES) - $(PCRE_SOURCES) - ../build/boost_regex - ../../test/build/boost_prg_exec_monitor - : - $(BOOST_ROOT) - BOOST_REGEX_NO_LIB=1 - BOOST_REGEX_STATIC_LINK=1 - $(POSIX_OPTS) - $(PCRE_OPTS) - ; - - - - diff --git a/performance/command_line.cpp b/performance/command_line.cpp deleted file mode 100644 index a8fdc680..00000000 --- a/performance/command_line.cpp +++ /dev/null @@ -1,484 +0,0 @@ -/* - * - * Copyright (c) 2002-2003 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "regex_comparison.hpp" - -#ifdef BOOST_HAS_PCRE -#include "pcre.h" // for pcre version number -#endif - -// -// globals: -// -bool time_boost = false; -bool time_localised_boost = false; -bool time_greta = false; -bool time_safe_greta = false; -bool time_posix = false; -bool time_pcre = false; - -bool test_matches = false; -bool test_code = false; -bool test_html = false; -bool test_short_twain = false; -bool test_long_twain = false; - - -std::string html_template_file; -std::string html_out_file; -std::string html_contents; -std::list result_list; - -// the following let us compute averages: -double greta_total = 0; -double safe_greta_total = 0; -double boost_total = 0; -double locale_boost_total = 0; -double posix_total = 0; -double pcre_total = 0; -unsigned greta_test_count = 0; -unsigned safe_greta_test_count = 0; -unsigned boost_test_count = 0; -unsigned locale_boost_test_count = 0; -unsigned posix_test_count = 0; -unsigned pcre_test_count = 0; - -int handle_argument(const std::string& what) -{ - if(what == "-b") - time_boost = true; - else if(what == "-bl") - time_localised_boost = true; -#ifdef BOOST_HAS_GRETA - else if(what == "-g") - time_greta = true; - else if(what == "-gs") - time_safe_greta = true; -#endif -#ifdef BOOST_HAS_POSIX - else if(what == "-posix") - time_posix = true; -#endif -#ifdef BOOST_HAS_PCRE - else if(what == "-pcre") - time_pcre = true; -#endif - else if(what == "-all") - { - time_boost = true; - time_localised_boost = true; -#ifdef BOOST_HAS_GRETA - time_greta = true; - time_safe_greta = true; -#endif -#ifdef BOOST_HAS_POSIX - time_posix = true; -#endif -#ifdef BOOST_HAS_PCRE - time_pcre = true; -#endif - } - else if(what == "-test-matches") - test_matches = true; - else if(what == "-test-code") - test_code = true; - else if(what == "-test-html") - test_html = true; - else if(what == "-test-short-twain") - test_short_twain = true; - else if(what == "-test-long-twain") - test_long_twain = true; - else if(what == "-test-all") - { - test_matches = true; - test_code = true; - test_html = true; - test_short_twain = true; - test_long_twain = true; - } - else if((what == "-h") || (what == "--help")) - return show_usage(); - else if((what[0] == '-') || (what[0] == '/')) - { - std::cerr << "Unknown argument: \"" << what << "\"" << std::endl; - return 1; - } - else if(html_template_file.size() == 0) - { - html_template_file = what; - load_file(html_contents, what.c_str()); - } - else if(html_out_file.size() == 0) - html_out_file = what; - else - { - std::cerr << "Unexpected argument: \"" << what << "\"" << std::endl; - return 1; - } - return 0; -} - -int show_usage() -{ - std::cout << - "Usage\n" - "regex_comparison [-h] [library options] [test options] [html_template html_output_file]\n" - " -h Show help\n\n" - " library options:\n" - " -b Apply tests to boost library\n" - " -bl Apply tests to boost library with C++ locale\n" -#ifdef BOOST_HAS_GRETA - " -g Apply tests to GRETA library\n" - " -gs Apply tests to GRETA library (in non-recursive mode)\n" -#endif -#ifdef BOOST_HAS_POSIX - " -posix Apply tests to POSIX library\n" -#endif -#ifdef BOOST_HAS_PCRE - " -pcre Apply tests to PCRE library\n" -#endif - " -all Apply tests to all libraries\n\n" - " test options:\n" - " -test-matches Test short matches\n" - " -test-code Test c++ code examples\n" - " -test-html Test c++ code examples\n" - " -test-short-twain Test short searches\n" - " -test-long-twain Test long searches\n" - " -test-all Test everthing\n"; - return 1; -} - -void load_file(std::string& text, const char* file) -{ - std::deque temp_copy; - std::ifstream is(file); - if(!is.good()) - { - std::string msg("Unable to open file: \""); - msg.append(file); - msg.append("\""); - throw std::runtime_error(msg); - } - is.seekg(0, std::ios_base::end); - std::istream::pos_type pos = is.tellg(); - is.seekg(0, std::ios_base::beg); - text.erase(); - text.reserve(pos); - std::istreambuf_iterator it(is); - std::copy(it, std::istreambuf_iterator(), std::back_inserter(text)); -} - -void print_result(std::ostream& os, double time, double best) -{ - static const char* suffixes[] = {"s", "ms", "us", "ns", "ps", }; - - if(time < 0) - { - os << "NA"; - return; - } - double rel = time / best; - bool highlight = ((rel > 0) && (rel < 1.1)); - unsigned suffix = 0; - while(time < 0) - { - time *= 1000; - ++suffix; - } - os << ""; - if(highlight) - os << ""; - if(rel <= 1000) - os << std::setprecision(3) << rel; - else - os << (int)rel; - os << "
("; - if(time <= 1000) - os << std::setprecision(3) << time; - else - os << (int)time; - os << suffixes[suffix] << ")"; - if(highlight) - os << "
"; - os << ""; -} - -std::string html_quote(const std::string& in) -{ - static const boost::regex e("(<)|(>)|(&)|(\")"); - static const std::string format("(?1<)(?2>)(?3&)(?4")"); - return regex_replace(in, e, format, boost::match_default | boost::format_all); -} - -void output_html_results(bool show_description, const std::string& tagname) -{ - std::stringstream os; - if(result_list.size()) - { - // - // start by outputting the table header: - // - os << "\n"; - os << ""; - if(show_description) - os << ""; -#if defined(BOOST_HAS_GRETA) - if(time_greta == true) - os << ""; - if(time_safe_greta == true) - os << ""; -#endif - if(time_boost == true) - os << ""; - if(time_localised_boost == true) - os << ""; -#if defined(BOOST_HAS_POSIX) - if(time_posix == true) - os << ""; -#endif -#ifdef BOOST_HAS_PCRE - if(time_pcre == true) - os << ""; -#endif - os << "\n"; - - // - // Now enumerate through all the test results: - // - std::list::const_iterator first, last; - first = result_list.begin(); - last = result_list.end(); - while(first != last) - { - os << ""; - if(show_description) - os << ""; -#if defined(BOOST_HAS_GRETA) - if(time_greta == true) - { - print_result(os, first->greta_time, first->factor); - if(first->greta_time > 0) - { - greta_total += first->greta_time / first->factor; - ++greta_test_count; - } - } - if(time_safe_greta == true) - { - print_result(os, first->safe_greta_time, first->factor); - if(first->safe_greta_time > 0) - { - safe_greta_total += first->safe_greta_time / first->factor; - ++safe_greta_test_count; - } - } -#endif -#if defined(BOOST_HAS_POSIX) - if(time_boost == true) - { - print_result(os, first->boost_time, first->factor); - if(first->boost_time > 0) - { - boost_total += first->boost_time / first->factor; - ++boost_test_count; - } - } - if(time_localised_boost == true) - { - print_result(os, first->localised_boost_time, first->factor); - if(first->localised_boost_time > 0) - { - locale_boost_total += first->localised_boost_time / first->factor; - ++locale_boost_test_count; - } - } -#endif - if(time_posix == true) - { - print_result(os, first->posix_time, first->factor); - if(first->posix_time > 0) - { - posix_total += first->posix_time / first->factor; - ++posix_test_count; - } - } -#if defined(BOOST_HAS_PCRE) - if(time_pcre == true) - { - print_result(os, first->pcre_time, first->factor); - if(first->pcre_time > 0) - { - pcre_total += first->pcre_time / first->factor; - ++pcre_test_count; - } - } -#endif - os << "\n"; - ++first; - } - os << "
ExpressionTextGRETAGRETA
(non-recursive mode)
BoostBoost + C++ localePOSIXPCRE
" << html_quote(first->expression) << "" << html_quote(first->description) << "
\n"; - result_list.clear(); - } - else - { - os << "

Results not available...

\n"; - } - - std::string result = os.str(); - - std::string::size_type pos = html_contents.find(tagname); - if(pos != std::string::npos) - { - html_contents.replace(pos, tagname.size(), result); - } -} - -std::string get_boost_version() -{ - std::stringstream os; - os << (BOOST_VERSION / 100000) << '.' << ((BOOST_VERSION / 100) % 1000) << '.' << (BOOST_VERSION % 100); - return os.str(); -} - -std::string get_averages_table() -{ - std::stringstream os; - // - // start by outputting the table header: - // - os << "\n"; - os << ""; -#if defined(BOOST_HAS_GRETA) - if(time_greta == true) - { - os << ""; - } - if(time_safe_greta == true) - { - os << ""; - } - -#endif - if(time_boost == true) - { - os << ""; - } - if(time_localised_boost == true) - { - os << ""; - } -#if defined(BOOST_HAS_POSIX) - if(time_posix == true) - { - os << ""; - } -#endif -#ifdef BOOST_HAS_PCRE - if(time_pcre == true) - { - os << ""; - } -#endif - os << "\n"; - - // - // Now enumerate through all averages: - // - os << ""; -#if defined(BOOST_HAS_GRETA) - if(time_greta == true) - os << "\n"; - if(time_safe_greta == true) - os << "\n"; -#endif -#if defined(BOOST_HAS_POSIX) - if(time_boost == true) - os << "\n"; - if(time_localised_boost == true) - os << "\n"; -#endif - if(time_posix == true) - os << "\n"; -#if defined(BOOST_HAS_PCRE) - if(time_pcre == true) - os << "\n"; -#endif - os << "\n"; - os << "
GRETAGRETA
(non-recursive mode)
BoostBoost + C++ localePOSIXPCRE
" << (greta_total / greta_test_count) << "" << (safe_greta_total / safe_greta_test_count) << "" << (boost_total / boost_test_count) << "" << (locale_boost_total / locale_boost_test_count) << "" << (posix_total / posix_test_count) << "" << (pcre_total / pcre_test_count) << "
\n"; - return os.str(); -} - -void output_final_html() -{ - if(html_out_file.size()) - { - // - // start with search and replace ops: - // - std::string::size_type pos; - pos = html_contents.find("%compiler%"); - if(pos != std::string::npos) - { - html_contents.replace(pos, 10, BOOST_COMPILER); - } - pos = html_contents.find("%library%"); - if(pos != std::string::npos) - { - html_contents.replace(pos, 9, BOOST_STDLIB); - } - pos = html_contents.find("%os%"); - if(pos != std::string::npos) - { - html_contents.replace(pos, 4, BOOST_PLATFORM); - } - pos = html_contents.find("%boost%"); - if(pos != std::string::npos) - { - html_contents.replace(pos, 7, get_boost_version()); - } - pos = html_contents.find("%pcre%"); - if(pos != std::string::npos) - { -#ifdef PCRE_MINOR - html_contents.replace(pos, 6, BOOST_STRINGIZE(PCRE_MAJOR.PCRE_MINOR)); -#else - html_contents.replace(pos, 6, "N/A"); -#endif - } - pos = html_contents.find("%averages%"); - if(pos != std::string::npos) - { - html_contents.replace(pos, 10, get_averages_table()); - } - // - // now right the output to file: - // - std::ofstream os(html_out_file.c_str()); - os << html_contents; - } - else - { - std::cout << html_contents; - } -} \ No newline at end of file diff --git a/performance/input.html b/performance/input.html deleted file mode 100644 index 85ca5dba..00000000 --- a/performance/input.html +++ /dev/null @@ -1,70 +0,0 @@ - - - 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: %compiler%.

-

C++ Standard Library: %library%.

-

OS: %os%.

-

Boost version: %boost%.

-

PCRE version: %pcre%.

-

- 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 anything less than 2 - is pretty good.

-

%averages%

-

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). 

-

%long_twain_search%

-

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). 

-

%short_twain_search%

-

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. 

-

%code_search%

-

-

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. 

-

%html_search%

-

Comparison 3: Simple Matches

-

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

-

%short_matches%

-
-

Copyright John Maddock April 2003, all rights reserved.

- - diff --git a/performance/main.cpp b/performance/main.cpp deleted file mode 100644 index 96ecbaf8..00000000 --- a/performance/main.cpp +++ /dev/null @@ -1,251 +0,0 @@ -/* - * - * Copyright (c) 2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - -#include -#include -#include -#include -#include -#include "regex_comparison.hpp" - - -void test_match(const std::string& re, const std::string& text, const std::string& description, bool icase) -{ - double time; - results r(re, description); - - std::cout << "Testing: \"" << re << "\" against \"" << description << "\"" << std::endl; - -#ifdef BOOST_HAS_GRETA - if(time_greta == true) - { - time = g::time_match(re, text, icase); - r.greta_time = time; - std::cout << "\tGRETA regex: " << time << "s\n"; - } - if(time_safe_greta == true) - { - time = gs::time_match(re, text, icase); - r.safe_greta_time = time; - std::cout << "\tSafe GRETA regex: " << time << "s\n"; - } -#endif - if(time_boost == true) - { - time = b::time_match(re, text, icase); - r.boost_time = time; - std::cout << "\tBoost regex: " << time << "s\n"; - } - if(time_localised_boost == true) - { - time = bl::time_match(re, text, icase); - r.localised_boost_time = time; - std::cout << "\tBoost regex (C++ locale): " << time << "s\n"; - } -#ifdef BOOST_HAS_POSIX - if(time_posix == true) - { - time = posix::time_match(re, text, icase); - r.posix_time = time; - std::cout << "\tPOSIX regex: " << time << "s\n"; - } -#endif -#ifdef BOOST_HAS_PCRE - if(time_pcre == true) - { - time = pcr::time_match(re, text, icase); - r.pcre_time = time; - std::cout << "\tPCRE regex: " << time << "s\n"; - } -#endif - r.finalise(); - result_list.push_back(r); -} - -void test_find_all(const std::string& re, const std::string& text, const std::string& description, bool icase) -{ - std::cout << "Testing: " << re << std::endl; - - double time; - results r(re, description); - -#ifdef BOOST_HAS_GRETA - if(time_greta == true) - { - time = g::time_find_all(re, text, icase); - r.greta_time = time; - std::cout << "\tGRETA regex: " << time << "s\n"; - } - if(time_safe_greta == true) - { - time = gs::time_find_all(re, text, icase); - r.safe_greta_time = time; - std::cout << "\tSafe GRETA regex: " << time << "s\n"; - } -#endif - if(time_boost == true) - { - time = b::time_find_all(re, text, icase); - r.boost_time = time; - std::cout << "\tBoost regex: " << time << "s\n"; - } - if(time_localised_boost == true) - { - time = bl::time_find_all(re, text, icase); - r.localised_boost_time = time; - std::cout << "\tBoost regex (C++ locale): " << time << "s\n"; - } -#ifdef BOOST_HAS_POSIX - if(time_posix == true) - { - time = posix::time_find_all(re, text, icase); - r.posix_time = time; - std::cout << "\tPOSIX regex: " << time << "s\n"; - } -#endif -#ifdef BOOST_HAS_PCRE - if(time_pcre == true) - { - time = pcr::time_find_all(re, text, icase); - r.pcre_time = time; - std::cout << "\tPCRE regex: " << time << "s\n"; - } -#endif - r.finalise(); - result_list.push_back(r); -} - -int cpp_main(int argc, char * argv[]) -{ - // start by processing the command line args: - if(argc < 2) - return show_usage(); - int result = 0; - for(int c = 1; c < argc; ++c) - { - result += handle_argument(argv[c]); - } - if(result) - return result; - - if(test_matches) - { - // start with a simple test, this is basically a measure of the minimal overhead - // involved in calling a regex matcher: - test_match("abc", "abc"); - // these are from the regex docs: - test_match("^([0-9]+)(\\-| |$)(.*)$", "100- this is a line of ftp response which contains a message string"); - test_match("([[:digit:]]{4}[- ]){3}[[:digit:]]{3,4}", "1234-5678-1234-456"); - // these are from http://www.regxlib.com/ - test_match("^([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_maddock@compuserve.com"); - test_match("^([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.edu"); - test_match("^([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.tv"); - test_match("^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$", "EH10 2QQ"); - test_match("^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$", "G1 1AA"); - test_match("^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$", "SW1 1ZZ"); - test_match("^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$", "4/1/2001"); - test_match("^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$", "12/12/2001"); - test_match("^[-+]?[[:digit:]]*\\.?[[:digit:]]*$", "123"); - test_match("^[-+]?[[:digit:]]*\\.?[[:digit:]]*$", "+3.14159"); - test_match("^[-+]?[[:digit:]]*\\.?[[:digit:]]*$", "-3.14159"); - } - output_html_results(true, "%short_matches%"); - - std::string file_contents; - - if(test_code) - { - load_file(file_contents, "../../../boost/crc.hpp"); - - const char* highlight_expression = // preprocessor directives: index 1 - "(^[ \t]*#(?:[^\\\\\\n]|\\\\[^\\n_[:punct:][:alnum:]]*[\\n[:punct:][:word:]])*)|" - // comment: index 2 - "(//[^\\n]*|/\\*.*?\\*/)|" - // literals: index 3 - "\\<([+-]?(?:(?:0x[[:xdigit:]]+)|(?:(?:[[:digit:]]*\\.)?[[:digit:]]+(?:[eE][+-]?[[:digit:]]+)?))u?(?:(?:int(?:8|16|32|64))|L)?)\\>|" - // string literals: index 4 - "('(?:[^\\\\']|\\\\.)*'|\"(?:[^\\\\\"]|\\\\.)*\")|" - // keywords: index 5 - "\\<(__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)\\>" - ; - - const char* class_expression = "^(template[[:space:]]*<[^;:{]+>[[:space:]]*)?" - "(class|struct)[[:space:]]*(\\<\\w+\\>([ \t]*\\([^)]*\\))?" - "[[:space:]]*)*(\\<\\w*\\>)[[:space:]]*(<[^;:{]+>[[:space:]]*)?" - "(\\{|:[^;\\{()]*\\{)"; - - const char* include_expression = "^[ \t]*#[ \t]*include[ \t]+(\"[^\"]+\"|<[^>]+>)"; - const char* boost_include_expression = "^[ \t]*#[ \t]*include[ \t]+(\"boost/[^\"]+\"|]+>)"; - - - test_find_all(class_expression, file_contents); - test_find_all(highlight_expression, file_contents); - test_find_all(include_expression, file_contents); - test_find_all(boost_include_expression, file_contents); - } - output_html_results(false, "%code_search%"); - - if(test_html) - { - load_file(file_contents, "../../../libs/libraries.htm"); - test_find_all("beman|john|dave", file_contents, true); - test_find_all("

.*?

", file_contents, true); - test_find_all("]+href=(\"[^\"]*\"|[^[:space:]]+)[^>]*>", file_contents, true); - test_find_all("]*>.*?", file_contents, true); - test_find_all("]+src=(\"[^\"]*\"|[^[:space:]]+)[^>]*>", file_contents, true); - test_find_all("]+face=(\"[^\"]*\"|[^[:space:]]+)[^>]*>.*?", file_contents, true); - } - output_html_results(false, "%html_search%"); - - if(test_short_twain) - { - load_file(file_contents, "short_twain.txt"); - - test_find_all("Twain", file_contents); - test_find_all("Huck[[:alpha:]]+", file_contents); - test_find_all("[[:alpha:]]+ing", file_contents); - test_find_all("^[^\n]*?Twain", file_contents); - test_find_all("Tom|Sawyer|Huckleberry|Finn", file_contents); - test_find_all("(Tom|Sawyer|Huckleberry|Finn).{0,30}river|river.{0,30}(Tom|Sawyer|Huckleberry|Finn)", file_contents); - } - output_html_results(false, "%short_twain_search%"); - - if(test_long_twain) - { - load_file(file_contents, "mtent13.txt"); - - test_find_all("Twain", file_contents); - test_find_all("Huck[[:alpha:]]+", file_contents); - test_find_all("[[:alpha:]]+ing", file_contents); - test_find_all("^[^\n]*?Twain", file_contents); - test_find_all("Tom|Sawyer|Huckleberry|Finn", file_contents); - time_posix = false; - test_find_all("(Tom|Sawyer|Huckleberry|Finn).{0,30}river|river.{0,30}(Tom|Sawyer|Huckleberry|Finn)", file_contents); - time_posix = true; - } - output_html_results(false, "%long_twain_search%"); - - output_final_html(); - return 0; -} - diff --git a/performance/regex_comparison.hpp b/performance/regex_comparison.hpp deleted file mode 100644 index 0a695e3b..00000000 --- a/performance/regex_comparison.hpp +++ /dev/null @@ -1,136 +0,0 @@ -/* - * - * Copyright (c) 2002 - * Dr John Maddock - * - * All rights reserved. - * May not be transfered or disclosed to a third party without - * prior consent of the author. - * - */ - - -#ifndef REGEX_COMPARISON_HPP -#define REGEX_COMPARISON_HPP - -#include -#include -#include - -// -// globals: -// -extern bool time_boost; -extern bool time_localised_boost; -extern bool time_greta; -extern bool time_safe_greta; -extern bool time_posix; -extern bool time_pcre; - -extern bool test_matches; -extern bool test_short_twain; -extern bool test_long_twain; -extern bool test_code; -extern bool test_html; - -extern std::string html_template_file; -extern std::string html_out_file; -extern std::string html_contents; - - -int handle_argument(const std::string& what); -int show_usage(); -void load_file(std::string& text, const char* file); -void output_html_results(bool show_description, const std::string& tagname); -void output_final_html(); - - -struct results -{ - double boost_time; - double localised_boost_time; - double greta_time; - double safe_greta_time; - double posix_time; - double pcre_time; - double factor; - std::string expression; - std::string description; - results(const std::string& ex, const std::string& desc) - : boost_time(-1), - localised_boost_time(-1), - greta_time(-1), - safe_greta_time(-1), - posix_time(-1), - pcre_time(-1), - factor(std::numeric_limits::max()), - expression(ex), - description(desc) - {} - void finalise() - { - if((boost_time >= 0) && (boost_time < factor)) - factor = boost_time; - if((localised_boost_time >= 0) && (localised_boost_time < factor)) - factor = localised_boost_time; - if((greta_time >= 0) && (greta_time < factor)) - factor = greta_time; - if((safe_greta_time >= 0) && (safe_greta_time < factor)) - factor = safe_greta_time; - if((posix_time >= 0) && (posix_time < factor)) - factor = posix_time; - if((pcre_time >= 0) && (pcre_time < factor)) - factor = pcre_time; - } -}; - -extern std::list result_list; - - -namespace b { -// boost tests: -double time_match(const std::string& re, const std::string& text, bool icase); -double time_find_all(const std::string& re, const std::string& text, bool icase); - -} -namespace bl { -// localised boost tests: -double time_match(const std::string& re, const std::string& text, bool icase); -double time_find_all(const std::string& re, const std::string& text, bool icase); - -} -namespace pcr { -// pcre tests: -double time_match(const std::string& re, const std::string& text, bool icase); -double time_find_all(const std::string& re, const std::string& text, bool icase); - -} -namespace g { -// greta tests: -double time_match(const std::string& re, const std::string& text, bool icase); -double time_find_all(const std::string& re, const std::string& text, bool icase); - -} -namespace gs { -// safe greta tests: -double time_match(const std::string& re, const std::string& text, bool icase); -double time_find_all(const std::string& re, const std::string& text, bool icase); - -} -namespace posix { -// safe greta tests: -double time_match(const std::string& re, const std::string& text, bool icase); -double time_find_all(const std::string& re, const std::string& text, bool icase); - -} -void test_match(const std::string& re, const std::string& text, const std::string& description, bool icase = false); -void test_find_all(const std::string& re, const std::string& text, const std::string& description, bool icase = false); -inline void test_match(const std::string& re, const std::string& text, bool icase = false) -{ test_match(re, text, text, icase); } -inline void test_find_all(const std::string& re, const std::string& text, bool icase = false) -{ test_find_all(re, text, "", icase); } - - -#define REPEAT_COUNT 10 - -#endif diff --git a/performance/time_boost.cpp b/performance/time_boost.cpp deleted file mode 100644 index 9dc3e791..00000000 --- a/performance/time_boost.cpp +++ /dev/null @@ -1,98 +0,0 @@ -/* - * - * Copyright (c) 2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - -#include "regex_comparison.hpp" -#include -#include - -namespace b{ - -double time_match(const std::string& re, const std::string& text, bool icase) -{ - boost::regex e(re, (icase ? boost::regex::perl | boost::regex::icase : boost::regex::perl)); - boost::smatch what; - boost::timer tim; - int iter = 1; - int counter, repeats; - double result = 0; - double run; - do - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - boost::regex_match(text, what, e); - } - result = tim.elapsed(); - iter *= 2; - }while(result < 0.5); - iter /= 2; - - // repeat test and report least value for consistency: - for(repeats = 0; repeats < REPEAT_COUNT; ++repeats) - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - boost::regex_match(text, what, e); - } - run = tim.elapsed(); - result = std::min(run, result); - } - return result / iter; -} - -bool dummy_grep_proc(const boost::smatch&) -{ return true; } - -double time_find_all(const std::string& re, const std::string& text, bool icase) -{ - boost::regex e(re, (icase ? boost::regex::perl | boost::regex::icase : boost::regex::perl)); - boost::smatch what; - boost::timer tim; - int iter = 1; - int counter, repeats; - double result = 0; - double run; - do - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - boost::regex_grep(&dummy_grep_proc, text, e); - } - result = tim.elapsed(); - iter *= 2; - }while(result < 0.5); - iter /= 2; - - if(result >10) - return result / iter; - - // repeat test and report least value for consistency: - for(repeats = 0; repeats < REPEAT_COUNT; ++repeats) - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - boost::regex_grep(&dummy_grep_proc, text, e); - } - run = tim.elapsed(); - result = std::min(run, result); - } - return result / iter; -} - -} diff --git a/performance/time_greta.cpp b/performance/time_greta.cpp deleted file mode 100644 index f6e4b309..00000000 --- a/performance/time_greta.cpp +++ /dev/null @@ -1,125 +0,0 @@ -/* - * - * Copyright (c) 2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - -#include "regex_comparison.hpp" -#if defined(BOOST_HAS_GRETA) -#include -#include -#include "regexpr2.h" - -namespace g{ - -double time_match(const std::string& re, const std::string& text, bool icase) -{ - regex::rpattern e(re, (icase ? regex::MULTILINE | regex::NORMALIZE | regex::NOCASE : regex::MULTILINE | regex::NORMALIZE)); - regex::match_results what; - boost::timer tim; - int iter = 1; - int counter, repeats; - double result = 0; - double run; - assert(e.match(text, what)); - do - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - e.match(text, what); - } - result = tim.elapsed(); - iter *= 2; - }while(result < 0.5); - iter /= 2; - - // repeat test and report least value for consistency: - for(repeats = 0; repeats < REPEAT_COUNT; ++repeats) - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - e.match(text, what); - } - run = tim.elapsed(); - result = std::min(run, result); - } - return result / iter; -} - -double time_find_all(const std::string& re, const std::string& text, bool icase) -{ - regex::rpattern e(re, (icase ? regex::MULTILINE | regex::NORMALIZE | regex::NOCASE : regex::MULTILINE | regex::NORMALIZE)); - regex::match_results what; - boost::timer tim; - int iter = 1; - int counter, repeats; - double result = 0; - double run; - do - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - e.match(text.begin(), text.end(), what); - while(what.backref(0).matched) - { - e.match(what.backref(0).end(), text.end(), what); - } - } - result = tim.elapsed(); - iter *= 2; - }while(result < 0.5); - iter /= 2; - - if(result > 10) - return result / iter; - - // repeat test and report least value for consistency: - for(repeats = 0; repeats < REPEAT_COUNT; ++repeats) - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - e.match(text.begin(), text.end(), what); - while(what.backref(0).matched) - { - e.match(what.backref(0).end(), text.end(), what); - } - } - run = tim.elapsed(); - result = std::min(run, result); - } - return result / iter; -} - -} - -#else - -namespace g { - -double time_match(const std::string& re, const std::string& text, bool icase) -{ - return -1; -} - -double time_find_all(const std::string& re, const std::string& text, bool icase) -{ - return -1; -} - -} - -#endif - diff --git a/performance/time_localised_boost.cpp b/performance/time_localised_boost.cpp deleted file mode 100644 index d1aeac89..00000000 --- a/performance/time_localised_boost.cpp +++ /dev/null @@ -1,98 +0,0 @@ -/* - * - * Copyright (c) 2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - -#include "regex_comparison.hpp" -#include -#include - -namespace bl{ - -double time_match(const std::string& re, const std::string& text, bool icase) -{ - boost::reg_expression > e(re, (icase ? boost::regex::perl | boost::regex::icase : boost::regex::perl)); - boost::smatch what; - boost::timer tim; - int iter = 1; - int counter, repeats; - double result = 0; - double run; - do - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - boost::regex_match(text, what, e); - } - result = tim.elapsed(); - iter *= 2; - }while(result < 0.5); - iter /= 2; - - // repeat test and report least value for consistency: - for(repeats = 0; repeats < REPEAT_COUNT; ++repeats) - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - boost::regex_match(text, what, e); - } - run = tim.elapsed(); - result = std::min(run, result); - } - return result / iter; -} - -bool dummy_grep_proc(const boost::smatch&) -{ return true; } - -double time_find_all(const std::string& re, const std::string& text, bool icase) -{ - boost::reg_expression > e(re, (icase ? boost::regex::perl | boost::regex::icase : boost::regex::perl)); - boost::smatch what; - boost::timer tim; - int iter = 1; - int counter, repeats; - double result = 0; - double run; - do - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - boost::regex_grep(&dummy_grep_proc, text, e); - } - result = tim.elapsed(); - iter *= 2; - }while(result < 0.5); - iter /= 2; - - if(result >10) - return result / iter; - - // repeat test and report least value for consistency: - for(repeats = 0; repeats < REPEAT_COUNT; ++repeats) - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - boost::regex_grep(&dummy_grep_proc, text, e); - } - run = tim.elapsed(); - result = std::min(run, result); - } - return result / iter; -} - -} diff --git a/performance/time_pcre.cpp b/performance/time_pcre.cpp deleted file mode 100644 index 5956b521..00000000 --- a/performance/time_pcre.cpp +++ /dev/null @@ -1,180 +0,0 @@ -/* - * - * Copyright (c) 2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - -#include -#include -#include "regex_comparison.hpp" -#ifdef BOOST_HAS_PCRE -#include "pcre.h" -#include - -namespace pcr{ - -double time_match(const std::string& re, const std::string& text, bool icase) -{ - pcre *ppcre; - const char *error; - int erroffset; - - int what[50]; - - boost::timer tim; - int iter = 1; - int counter, repeats; - double result = 0; - double run; - - if(0 == (ppcre = pcre_compile(re.c_str(), (icase ? PCRE_CASELESS | PCRE_ANCHORED | PCRE_DOTALL | PCRE_MULTILINE : PCRE_ANCHORED | PCRE_DOTALL | PCRE_MULTILINE), - &error, &erroffset, NULL))) - { - free(ppcre); - return -1; - } - - pcre_extra *pe; - pe = pcre_study(ppcre, 0, &error); - if(error) - { - free(ppcre); - free(pe); - return -1; - } - - do - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - erroffset = pcre_exec(ppcre, pe, text.c_str(), text.size(), 0, 0, what, sizeof(what)/sizeof(int)); - } - result = tim.elapsed(); - iter *= 2; - }while(result < 0.5); - iter /= 2; - - // repeat test and report least value for consistency: - for(repeats = 0; repeats < REPEAT_COUNT; ++repeats) - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - erroffset = pcre_exec(ppcre, pe, text.c_str(), text.size(), 0, 0, what, sizeof(what)/sizeof(int)); - } - run = tim.elapsed(); - result = std::min(run, result); - } - free(ppcre); - free(pe); - return result / iter; -} - -double time_find_all(const std::string& re, const std::string& text, bool icase) -{ - pcre *ppcre; - const char *error; - int erroffset; - - int what[50]; - - boost::timer tim; - int iter = 1; - int counter, repeats; - double result = 0; - double run; - int exec_result; - int matches; - - if(0 == (ppcre = pcre_compile(re.c_str(), (icase ? PCRE_CASELESS | PCRE_DOTALL | PCRE_MULTILINE : PCRE_DOTALL | PCRE_MULTILINE), &error, &erroffset, NULL))) - { - free(ppcre); - return -1; - } - - pcre_extra *pe; - pe = pcre_study(ppcre, 0, &error); - if(error) - { - free(ppcre); - free(pe); - return -1; - } - - do - { - int startoff; - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - matches = 0; - startoff = 0; - exec_result = pcre_exec(ppcre, pe, text.c_str(), text.size(), startoff, 0, what, sizeof(what)/sizeof(int)); - while(exec_result >= 0) - { - ++matches; - startoff = what[1]; - exec_result = pcre_exec(ppcre, pe, text.c_str(), text.size(), startoff, 0, what, sizeof(what)/sizeof(int)); - } - } - result = tim.elapsed(); - iter *= 2; - }while(result < 0.5); - iter /= 2; - - if(result >10) - return result / iter; - - result = DBL_MAX; - - // repeat test and report least value for consistency: - for(repeats = 0; repeats < REPEAT_COUNT; ++repeats) - { - int startoff; - matches = 0; - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - matches = 0; - startoff = 0; - exec_result = pcre_exec(ppcre, pe, text.c_str(), text.size(), startoff, 0, what, sizeof(what)/sizeof(int)); - while(exec_result >= 0) - { - ++matches; - startoff = what[1]; - exec_result = pcre_exec(ppcre, pe, text.c_str(), text.size(), startoff, 0, what, sizeof(what)/sizeof(int)); - } - } - run = tim.elapsed(); - result = std::min(run, result); - } - return result / iter; -} - -} -#else - -namespace pcr{ - -double time_match(const std::string& re, const std::string& text, bool icase) -{ - return -1; -} -double time_find_all(const std::string& re, const std::string& text, bool icase) -{ - return -1; -} - -} - -#endif \ No newline at end of file diff --git a/performance/time_posix.cpp b/performance/time_posix.cpp deleted file mode 100644 index cd2cec68..00000000 --- a/performance/time_posix.cpp +++ /dev/null @@ -1,143 +0,0 @@ -/* - * - * Copyright (c) 2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - -#include -#include -#include "regex_comparison.hpp" -#ifdef BOOST_HAS_POSIX -#include -#include "regex.h" - -namespace posix{ - -double time_match(const std::string& re, const std::string& text, bool icase) -{ - regex_t e; - regmatch_t what[20]; - boost::timer tim; - int iter = 1; - int counter, repeats; - double result = 0; - double run; - if(0 != regcomp(&e, re.c_str(), (icase ? REG_ICASE | REG_EXTENDED : REG_EXTENDED))) - return -1; - do - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - regexec(&e, text.c_str(), e.re_nsub, what, 0); - } - result = tim.elapsed(); - iter *= 2; - }while(result < 0.5); - iter /= 2; - - // repeat test and report least value for consistency: - for(repeats = 0; repeats < REPEAT_COUNT; ++repeats) - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - regexec(&e, text.c_str(), e.re_nsub, what, 0); - } - run = tim.elapsed(); - result = std::min(run, result); - } - regfree(&e); - return result / iter; -} - -double time_find_all(const std::string& re, const std::string& text, bool icase) -{ - regex_t e; - regmatch_t what[20]; - memset(what, 0, sizeof(what)); - boost::timer tim; - int iter = 1; - int counter, repeats; - double result = 0; - double run; - int exec_result; - int matches; - if(0 != regcomp(&e, re.c_str(), (icase ? REG_ICASE | REG_EXTENDED : REG_EXTENDED))) - return -1; - do - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - what[0].rm_so = 0; - what[0].rm_eo = text.size(); - matches = 0; - exec_result = regexec(&e, text.c_str(), 20, what, REG_STARTEND); - while(exec_result == 0) - { - ++matches; - what[0].rm_so = what[0].rm_eo; - what[0].rm_eo = text.size(); - exec_result = regexec(&e, text.c_str(), 20, what, REG_STARTEND); - } - } - result = tim.elapsed(); - iter *= 2; - }while(result < 0.5); - iter /= 2; - - if(result >10) - return result / iter; - - result = DBL_MAX; - - // repeat test and report least value for consistency: - for(repeats = 0; repeats < REPEAT_COUNT; ++repeats) - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - what[0].rm_so = 0; - what[0].rm_eo = text.size(); - matches = 0; - exec_result = regexec(&e, text.c_str(), 20, what, REG_STARTEND); - while(exec_result == 0) - { - ++matches; - what[0].rm_so = what[0].rm_eo; - what[0].rm_eo = text.size(); - exec_result = regexec(&e, text.c_str(), 20, what, REG_STARTEND); - } - } - run = tim.elapsed(); - result = std::min(run, result); - } - return result / iter; -} - -} -#else - -namespace posix{ - -double time_match(const std::string& re, const std::string& text, bool icase) -{ - return -1; -} -double time_find_all(const std::string& re, const std::string& text, bool icase) -{ - return -1; -} - -} -#endif \ No newline at end of file diff --git a/performance/time_safe_greta.cpp b/performance/time_safe_greta.cpp deleted file mode 100644 index 6c600bda..00000000 --- a/performance/time_safe_greta.cpp +++ /dev/null @@ -1,127 +0,0 @@ -/* - * - * Copyright (c) 2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - -#include "regex_comparison.hpp" -#if defined(BOOST_HAS_GRETA) - -#include -#include -#include "regexpr2.h" - -namespace gs{ - -double time_match(const std::string& re, const std::string& text, bool icase) -{ - regex::rpattern e(re, (icase ? regex::MULTILINE | regex::NORMALIZE | regex::NOCASE : regex::MULTILINE | regex::NORMALIZE), regex::MODE_SAFE); - regex::match_results what; - boost::timer tim; - int iter = 1; - int counter, repeats; - double result = 0; - double run; - assert(e.match(text, what)); - do - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - e.match(text, what); - } - result = tim.elapsed(); - iter *= 2; - }while(result < 0.5); - iter /= 2; - - // repeat test and report least value for consistency: - for(repeats = 0; repeats < REPEAT_COUNT; ++repeats) - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - e.match(text, what); - } - run = tim.elapsed(); - result = std::min(run, result); - } - return result / iter; -} - -double time_find_all(const std::string& re, const std::string& text, bool icase) -{ - regex::rpattern e(re, (icase ? regex::MULTILINE | regex::NORMALIZE | regex::NOCASE : regex::MULTILINE | regex::NORMALIZE), regex::MODE_SAFE); - regex::match_results what; - boost::timer tim; - int iter = 1; - int counter, repeats; - double result = 0; - double run; - do - { - bool r; - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - e.match(text.begin(), text.end(), what); - while(what.backref(0).matched) - { - e.match(what.backref(0).end(), text.end(), what); - } - } - result = tim.elapsed(); - iter *= 2; - }while(result < 0.5); - iter /= 2; - - if(result > 10) - return result / iter; - - // repeat test and report least value for consistency: - for(repeats = 0; repeats < REPEAT_COUNT; ++repeats) - { - tim.restart(); - for(counter = 0; counter < iter; ++counter) - { - e.match(text.begin(), text.end(), what); - while(what.backref(0).matched) - { - e.match(what.backref(0).end(), text.end(), what); - } - } - run = tim.elapsed(); - result = std::min(run, result); - } - return result / iter; -} - -} - -#else - -namespace gs{ - -double time_match(const std::string& re, const std::string& text, bool icase) -{ - return -1; -} - -double time_find_all(const std::string& re, const std::string& text, bool icase) -{ - return -1; -} - -} - -#endif - diff --git a/readme.txt b/readme.txt deleted file mode 100644 index a3cfefd8..00000000 --- a/readme.txt +++ /dev/null @@ -1,24 +0,0 @@ -Copyright (c) 1998-2000 -Dr John Maddock - -Permission to use, copy, modify, distribute and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation. Dr John Maddock makes no representations -about the suitability of this software for any purpose. -It is provided "as is" without express or implied warranty. - -************************************************************************ - -Full instructions for use of this library can be accessed from -libs/regex/index.htm - -Installation instructions and library overview is are in -libs/regex/introduction.htm - -This library is part of boost (see www.boost.org), the latest version -of the library is available from the boost web site, or development -snapshots from the boost cvs repository at -http://sourceforge.net/project/?group_id=7586 - diff --git a/src/c_regex_traits.cpp b/src/c_regex_traits.cpp deleted file mode 100644 index 8baa06b2..00000000 --- a/src/c_regex_traits.cpp +++ /dev/null @@ -1,1079 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE c_regex_traits.cpp - * VERSION see - * DESCRIPTION: Implements the c_regex_traits traits class - */ - -#define BOOST_REGEX_SOURCE - -#include - -# ifdef BOOST_MSVC -# pragma warning(disable: 4702) -# endif - -#include -#include -#include -#include -#include -#include -#include -#ifdef BOOST_REGEX_V3 -#include -#include -#else -#include -#include -#endif -#include - -#include "primary_transform.hpp" - - -#if defined(BOOST_HAS_NL_TYPES_H) -#include -#endif - -// Fixes a very strange bug in Comeau 4.2.45.2 that would otherwise result in -// an instantiation loop -#if defined(__COMO__) && __COMO_VERSION__ <= 4245 -void c_regex_adopted_no_longer_needed_loop_shutter_upper() { } -#endif - -namespace{ - -// -// helper function to get the locale name, -// works around possibly broken setlocale implementations: -// -const char* re_get_locale(int id) -{ - static const char* def = "Unknown"; - const char* pl = std::setlocale(id, 0); - return pl ? pl : def; -} - -// -// character classes: -// -boost::uint_fast32_t re_char_class_id[] = { - boost::re_detail::c_traits_base::char_class_alnum, - boost::re_detail::c_traits_base::char_class_alpha, - boost::re_detail::c_traits_base::char_class_cntrl, - boost::re_detail::c_traits_base::char_class_digit, - boost::re_detail::c_traits_base::char_class_graph, - boost::re_detail::c_traits_base::char_class_lower, - boost::re_detail::c_traits_base::char_class_print, - boost::re_detail::c_traits_base::char_class_punct, - boost::re_detail::c_traits_base::char_class_space, - boost::re_detail::c_traits_base::char_class_upper, - boost::re_detail::c_traits_base::char_class_xdigit, - boost::re_detail::c_traits_base::char_class_blank, - boost::re_detail::c_traits_base::char_class_word, - boost::re_detail::c_traits_base::char_class_unicode, -}; - -const char* re_char_class_names[] = { -"alnum", -"alpha", -"cntrl", -"digit", -"graph", -"lower", -"print", -"punct", -"space", -"upper", -"xdigit", -"blank", -"word", -"unicode", -}; - -std::string* re_cls_name; -std::string* pclasses; -unsigned int classes_count = 0; -const unsigned int re_classes_max = 14; - -// -// collate names: - -struct collate_name_t -{ - std::string name; - std::string value; - collate_name_t(const char* p1, const char* p2, const char* p3, const char* p4) - : name(p1, p2), value(p3, p4) {} -}; - -std::string* re_coll_name; -std::list* pcoll_names; -unsigned int collate_count = 0; - -// -// message handling: -#ifndef BOOST_RE_MESSAGE_BASE -#define BOOST_RE_MESSAGE_BASE 0 -#endif - -#if defined(BOOST_HAS_NL_TYPES_H) -nl_catd message_cat = (nl_catd)-1; -#endif - -unsigned int message_count = 0; -std::string* mess_locale; - -BOOST_REGEX_DECL char* re_custom_error_messages[] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -}; - -#if !defined(LC_MESSAGES) -#define LC_MESSAGES LC_CTYPE -#endif - -char re_zero; -char re_ten; - -unsigned int entry_count = 0; - -std::string* ctype_name; -std::string* collate_name; -enum syntax_map_size -{ - map_size = UCHAR_MAX + 1 -}; - -std::size_t BOOST_REGEX_CALL _re_get_message(char* buf, std::size_t len, std::size_t id); - -#ifndef BOOST_NO_WREGEX - -BOOST_REGEX_DECL wchar_t re_zero_w; -BOOST_REGEX_DECL wchar_t re_ten_w; - -unsigned int nlsw_count = 0; -std::string* wlocale_name = 0; - -struct syntax_map_t -{ - wchar_t c; - unsigned int type; -}; - -std::list* syntax; - -std::size_t BOOST_REGEX_CALL re_get_message(wchar_t* buf, std::size_t len, std::size_t id) -{ - std::size_t size = _re_get_message(static_cast(0), 0, id); - if(len < size) - return size; - boost::scoped_array cb(new char[size]); - _re_get_message(cb.get(), size, id); - size = boost::c_regex_traits::strwiden(buf, len, cb.get()); - return size; -} -#endif - -inline std::size_t BOOST_REGEX_CALL re_get_message(char* buf, std::size_t len, std::size_t id) -{ - return _re_get_message(buf, len, id); -} - -void BOOST_REGEX_CALL re_init_classes() -{ - BOOST_RE_GUARD_STACK - if(classes_count == 0) - { - re_cls_name = new std::string("xxxxxxxx"); -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - pclasses = new std::string[re_classes_max]; - BOOST_REGEX_NOEH_ASSERT(pclasses) -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - delete re_cls_name; - throw; - } -#endif - } - ++classes_count; -} - -void BOOST_REGEX_CALL re_free_classes() -{ - BOOST_RE_GUARD_STACK - if(--classes_count == 0) - { - delete re_cls_name; - delete[] pclasses; - } -} - -void BOOST_REGEX_CALL re_update_classes() -{ - BOOST_RE_GUARD_STACK - if(*re_cls_name != re_get_locale(LC_CTYPE)) - { - *re_cls_name = re_get_locale(LC_CTYPE); - char buf[256]; - unsigned int i; - for(i = 0; i < re_classes_max; ++i) - { - re_get_message(buf, 256, i+300); - pclasses[i] = buf; - } - } -} - -void BOOST_REGEX_CALL re_init_collate() -{ - BOOST_RE_GUARD_STACK - if(collate_count == 0) - { - re_coll_name = new std::string("xxxxxxxx"); -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - pcoll_names = new std::list(); - BOOST_REGEX_NOEH_ASSERT(pcoll_names) -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - delete re_coll_name; - throw; - } -#endif - } - ++collate_count; -} - -void BOOST_REGEX_CALL re_free_collate() -{ - BOOST_RE_GUARD_STACK - if(--collate_count == 0) - { - delete re_coll_name; - delete pcoll_names; - } -} - -void BOOST_REGEX_CALL re_update_collate() -{ - BOOST_RE_GUARD_STACK - if(*re_coll_name != re_get_locale(LC_COLLATE)) - { - *re_coll_name = re_get_locale(LC_COLLATE); - char buf[256]; - unsigned int i = 400; - re_get_message(buf, 256, i); - while(*buf) - { - char* p1, *p2, *p3, *p4;; - p1 = buf; - while(*p1 && std::isspace((unsigned char)*p1))++p1; - p2 = p1; - while(*p2 && !std::isspace((unsigned char)*p2))++p2; - p3 = p2; - while(*p3 && std::isspace((unsigned char)*p3))++p3; - p4 = p3; - while(*p4 && !std::isspace((unsigned char)*p4))++p4; - pcoll_names->push_back(collate_name_t(p1, p2, p3, p4)); - ++i; - re_get_message(buf, 256, i); - } - } -} - -std::size_t BOOST_REGEX_CALL _re_get_message(char* buf, std::size_t len, std::size_t id) -{ - BOOST_RE_GUARD_STACK - // get the customised message if any: - #if defined(BOOST_HAS_NL_TYPES_H) - if(message_cat != (nl_catd)-1) - { - const char* m = catgets(message_cat, 0, id, 0); - if(m) - { - std::size_t size = std::strlen(m) + 1; - if(size > len) - return size; - std::strcpy(buf, m); - return size; - } - } - #endif - - // - // now get the default message if any: - return boost::re_detail::re_get_default_message(buf, len, id); -} - -void BOOST_REGEX_CALL re_message_init() -{ - BOOST_RE_GUARD_STACK - if(message_count == 0) - { - mess_locale = new std::string("xxxxxxxxxxxxxxxx"); - } - ++message_count; -} - -void BOOST_REGEX_CALL re_message_update() -{ - BOOST_RE_GUARD_STACK - // - // called whenever the global locale changes: - // - std::string l(re_get_locale(LC_MESSAGES)); - if(*mess_locale != l) - { - *mess_locale = l; -#if defined(BOOST_HAS_NL_TYPES_H) - if(message_cat != (nl_catd)-1) - { - catclose(message_cat); - message_cat = (nl_catd)-1; - } - if(*boost::re_detail::c_traits_base::get_catalogue()) - { - message_cat = catopen(boost::re_detail::c_traits_base::get_catalogue(), 0); -#ifndef BOOST_NO_EXCEPTIONS - if(message_cat == (nl_catd)-1) - { - std::string m("Unable to open message catalog: "); - throw std::runtime_error(m + boost::re_detail::c_traits_base::get_catalogue()); - } -#else - BOOST_REGEX_NOEH_ASSERT(message_cat != (nl_catd)-1); -#endif - } -#endif - for(int i = 0; i < boost::REG_E_UNKNOWN; ++i) - { - if(re_custom_error_messages[i]) - { - boost::re_detail::re_strfree(re_custom_error_messages[i]); - re_custom_error_messages[i] = 0; - } - } - } -} - -void BOOST_REGEX_CALL re_message_free() -{ - BOOST_RE_GUARD_STACK - --message_count; - if(message_count == 0) - { -#if defined(BOOST_HAS_NL_TYPES_H) - if(message_cat != (nl_catd)-1) - catclose(message_cat); -#endif - delete mess_locale; - for(int i = 0; i < boost::REG_E_UNKNOWN; ++i) - { - if(re_custom_error_messages[i]) - { - boost::re_detail::re_strfree(re_custom_error_messages[i]); - re_custom_error_messages[i] = 0; - } - } - } -} - - -const char* BOOST_REGEX_CALL re_get_error_str(unsigned int id) -{ - BOOST_RE_GUARD_STACK -#ifdef BOOST_HAS_THREADS - boost::re_detail::cs_guard g(*boost::re_detail::p_re_lock); -#endif - if(re_custom_error_messages[id] == 0) - { - char buf[256]; - _re_get_message(buf, 256, id + 200); - if(*buf) - { - re_custom_error_messages[id] = boost::re_detail::re_strdup(buf); - return re_custom_error_messages[id]; - } - return boost::re_detail::re_default_error_messages[id]; - } - return re_custom_error_messages[id]; -} - -} // namespace - -namespace boost{ -namespace re_detail{ - -char c_traits_base::regex_message_catalogue[BOOST_REGEX_MAX_PATH] = {0}; - -std::string BOOST_REGEX_CALL c_traits_base::error_string(unsigned id) -{ - return re_get_error_str(id); -} - -void BOOST_REGEX_CALL c_traits_base::do_update_collate() -{ - BOOST_RE_GUARD_STACK - re_update_collate(); - std::string s; - const char* p = "zero"; - if(c_regex_traits::lookup_collatename(s, p, p+4)) - { - jm_assert(s.size() == 1); - re_zero = *s.c_str(); - } - else - re_zero = '0'; - - p = "ten"; - if(c_regex_traits::lookup_collatename(s, p, p+3)) - { - jm_assert(s.size() == 1); - re_ten = *s.c_str(); - } - else - re_ten = 'a'; -} - -void BOOST_REGEX_CALL c_traits_base::do_update_ctype() -{ - BOOST_RE_GUARD_STACK - // start by updating the syntax map: - unsigned int i; - char buf[map_size+2]; - std::memset(syntax_map, syntax_char, map_size); - for(i = 1; i < syntax_max; ++i) - { - char* ptr = buf; - re_get_message(static_cast(buf), map_size, i+100); - for(; *ptr; ++ptr) - { - syntax_map[(unsigned char)*ptr] = (unsigned char)i; - } - } - - // now update the character class map, - // and lower case map: - std::memset(class_map, 0, map_size); - for(i = 0; i < map_size; ++i) - { - if(std::isalpha(i)) - class_map[i] |= char_class_alpha; - if(std::iscntrl(i)) - class_map[i] |= char_class_cntrl; - if(std::isdigit(i)) - class_map[i] |= char_class_digit; - if(std::islower(i)) - class_map[i] |= char_class_lower; - if(std::isupper(i)) - class_map[i] |= char_class_upper; - if(std::ispunct(i)) - class_map[i] |= char_class_punct; - if(std::isspace(i)) - class_map[i] |= char_class_space; - if(std::isxdigit(i)) - class_map[i] |= char_class_xdigit; - } - class_map['_'] |= char_class_underscore; - class_map[' '] |= char_class_blank; - class_map['\t'] |= char_class_blank; - for(i = 0; i < map_size; ++i) - { - lower_case_map[i] = (char)std::tolower(i); - } - re_update_classes(); -} - -boost::uint_fast32_t BOOST_REGEX_CALL c_traits_base::do_lookup_class(const char* p) -{ - BOOST_RE_GUARD_STACK - unsigned int i; - for(i = 0; i < re_classes_max; ++i) - { - if(pclasses[i] == p) - { - return re_char_class_id[i]; - } - } - for(i = 0; i < re_classes_max; ++i) - { - if(std::strcmp(re_char_class_names[i], p) == 0) - { - return re_char_class_id[i]; - } - } - return 0; -} - -bool BOOST_REGEX_CALL c_traits_base::do_lookup_collate(std::string& buf, const char* p) -{ - BOOST_RE_GUARD_STACK - std::list::iterator first, last; - first = pcoll_names->begin(); - last = pcoll_names->end(); - while(first != last) - { - if((*first).name == p) - { - buf = (*first).value; - return true; - } - ++first; - } - - bool result = re_detail::re_lookup_def_collate_name(buf, p); - if((result == 0) && (std::strlen(p) == 1)) - { - result = true; - buf = *p; - } - return result; -} - -std::string BOOST_REGEX_CALL c_traits_base::set_message_catalogue(const std::string& l) -{ - if(sizeof(regex_message_catalogue) <= l.size()) - return l; - std::string old(regex_message_catalogue); - std::strcpy(regex_message_catalogue, l.c_str()); - return old; -} - -unsigned char c_traits_base::syntax_map[map_size]; -unsigned short c_traits_base::class_map[map_size]; -char c_traits_base::lower_case_map[map_size]; - -} // namespace re_detail - -#ifndef BOOST_NO_WREGEX -bool BOOST_REGEX_CALL c_regex_traits::lookup_collatename(std::basic_string& out, const wchar_t* first, const wchar_t* last) -{ - BOOST_RE_GUARD_STACK - std::basic_string s(first, last); - std::size_t len = strnarrow(static_cast(0), 0, s.c_str()); - scoped_array buf(new char[len]); - strnarrow(buf.get(), len, s.c_str()); - std::string t_out; - bool result = base_type::do_lookup_collate(t_out, buf.get()); - if(t_out.size() == 0) result = false; - if(result) - { - if(t_out[0]) - { - len = strwiden(static_cast(0), 0, t_out.c_str()); - scoped_array wb(new wchar_t[len]); - strwiden(wb.get(), len, t_out.c_str()); - out = wb.get(); - } - else - out.append(1, (wchar_t)0); - } - return result; -} -#endif - -c_regex_traits c_regex_traits::i; - -void BOOST_REGEX_CALL c_regex_traits::init() -{ - BOOST_RE_GUARD_STACK -#ifdef BOOST_HAS_THREADS - re_detail::re_init_threads(); - re_detail::cs_guard g(*re_detail::p_re_lock); -#endif - // just keep track of entry_count - if(entry_count == 0) - { - ctype_name = new std::string("xxxxxxxxxxxxxxxx"); -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - collate_name = new std::string("xxxxxxxxxxxxxxxx"); - BOOST_REGEX_NOEH_ASSERT(collate_name) -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - delete ctype_name; - throw; - } -#endif - } - re_message_init(); - re_init_classes(); - re_init_collate(); - ++entry_count; -} - -void BOOST_REGEX_CALL c_regex_traits::update() -{ - BOOST_RE_GUARD_STACK - #ifdef BOOST_HAS_THREADS - re_detail::cs_guard g(*re_detail::p_re_lock); - #endif - re_message_update(); - if(*collate_name != re_get_locale(LC_COLLATE)) - { - do_update_collate(); - *collate_name = re_get_locale(LC_COLLATE); - } - if(*ctype_name != re_get_locale(LC_CTYPE)) - { - do_update_ctype(); - *ctype_name = re_get_locale(LC_CTYPE); - } - sort_type = re_detail::find_sort_syntax(&i, &sort_delim); -} - -void BOOST_REGEX_CALL c_regex_traits::m_free() -{ - BOOST_RE_GUARD_STACK - #ifdef BOOST_HAS_THREADS - re_detail::cs_guard g(*re_detail::p_re_lock); - #endif - re_message_free(); - re_free_classes(); - re_free_collate(); - --entry_count; - // add reference to static member here to ensure - // that the linker includes it in the .exe: - if((entry_count == 0) && (0 != &c_regex_traits::i)) - { - delete ctype_name; - delete collate_name; - } -#ifdef BOOST_HAS_THREADS - g.acquire(false); - re_detail::re_free_threads(); -#endif -} - -void BOOST_REGEX_CALL c_regex_traits::transform(std::string& out, const std::string& in) -{ - BOOST_RE_GUARD_STACK - std::size_t n = std::strxfrm(0, in.c_str(), 0); - if(n == (std::size_t)(-1)) - { - out = in; - return; - } - scoped_array buf(new char[n+1]); - n = std::strxfrm(buf.get(), in.c_str(), n+1); - if(n == (std::size_t)(-1)) - { - out = in; - return; - } - out = buf.get(); -} - -void BOOST_REGEX_CALL c_regex_traits::transform_primary(std::string& out, const std::string& in) -{ - transform(out, in); - switch(sort_type) - { - case re_detail::sort_C: - case re_detail::sort_unknown: - break; - case re_detail::sort_fixed: - out.erase((int)sort_delim); - break; - case re_detail::sort_delim: - for(unsigned int i = 0; i < out.size(); ++i) - { - if((out[i] == sort_delim) && (i+1 < out.size())) - { - out.erase(i+1); - break; - } - } - } -} - -unsigned c_regex_traits::sort_type; -char c_regex_traits::sort_delim; - - -int BOOST_REGEX_CALL c_regex_traits::toi(char c) -{ - if(is_class(c, char_class_digit)) - return c - re_zero; - if(is_class(c, char_class_xdigit)) - return 10 + translate(c, true) - translate(re_ten, true); - return -1; // error!! -} - -int BOOST_REGEX_CALL c_regex_traits::toi(const char*& first, const char* last, int radix) -{ - unsigned int maxval; - if(radix < 0) - { - // if radix is less than zero, then restrict - // return value to charT. NB assumes sizeof(charT) <= sizeof(int) - radix *= -1; - maxval = 1u << (sizeof(*first) * CHAR_BIT - 1); - maxval /= radix; - maxval *= 2; - maxval -= 1; - } - else - { - maxval = (unsigned int)-1; - maxval /= radix; - } - - unsigned int result = 0; - unsigned int type = (radix > 10) ? char_class_xdigit : char_class_digit; - while((first != last) && is_class(*first, type) && (result <= maxval)) - { - result *= radix; - result += toi(*first); - ++first; - } - return result; -} - -#ifndef BOOST_NO_WREGEX - -unsigned int BOOST_REGEX_CALL c_regex_traits::syntax_type(size_type c) -{ - BOOST_RE_GUARD_STACK - std::list::const_iterator first, last; - first = syntax->begin(); - last = syntax->end(); - while(first != last) - { - if((uchar_type)(*first).c == c) - return (*first).type; - ++first; - } - return 0; -} - -void BOOST_REGEX_CALL c_regex_traits::init() -{ - BOOST_RE_GUARD_STACK - re_detail::re_init_threads(); -#ifdef BOOST_HAS_THREADS - re_detail::cs_guard g(*re_detail::p_re_lock); -#endif - re_message_init(); - re_init_classes(); - re_init_collate(); - if(nlsw_count == 0) - { - wlocale_name = new std::string("xxxxxxxxxxxxxxxx"); -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - syntax = new std::list(); - BOOST_REGEX_NOEH_ASSERT(syntax) -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - delete wlocale_name; - throw; - } -#endif - } - ++nlsw_count; -} - -bool BOOST_REGEX_CALL c_regex_traits::do_lookup_collate(std::basic_string& out, const wchar_t* first, const wchar_t* last) -{ - BOOST_RE_GUARD_STACK - std::basic_string s(first, last); - std::size_t len = strnarrow(static_cast(0), 0, s.c_str()); - scoped_array buf(new char[len]); - strnarrow(buf.get(), len, s.c_str()); - std::string t_out; - bool result = base_type::do_lookup_collate(t_out, buf.get()); - if(result) - { - len = strwiden(static_cast(0), 0, t_out.c_str()); - scoped_array wb(new wchar_t[len]); - strwiden(wb.get(), len, t_out.c_str()); - out = wb.get(); - } - return result; -} - - -void BOOST_REGEX_CALL c_regex_traits::update() -{ - BOOST_RE_GUARD_STACK -#ifdef BOOST_HAS_THREADS - re_detail::cs_guard g(*re_detail::p_re_lock); -#endif - re_message_update(); - re_update_classes(); - re_update_collate(); - std::string l(re_get_locale(LC_CTYPE)); - if(*wlocale_name != l) - { - *wlocale_name = l; - std::basic_string s; - const wchar_t* p = L"zero"; - if(do_lookup_collate(s, p, p+4)) - { - jm_assert(s.size() == 1); - re_zero_w = *s.c_str(); - } - else - re_zero_w = L'0'; - - p = L"ten"; - if(do_lookup_collate(s, p, p+3)) - { - jm_assert(s.size() == 1); - re_ten_w = *s.c_str(); - } - else - re_ten_w = L'a'; - - unsigned int i; - wchar_t buf[256]; - syntax_map_t sm; - syntax->clear(); - for(i = 1; i < syntax_max; ++i) - { - wchar_t* ptr = buf; - re_get_message(static_cast(buf), 256, i+100); - for(; *ptr; ++ptr) - { - sm.c = *ptr; - sm.type = i; - syntax->push_back(sm); - } - } - sort_type = re_detail::find_sort_syntax(&init_, &sort_delim); - } -} - -void BOOST_REGEX_CALL c_regex_traits::m_free() -{ - BOOST_RE_GUARD_STACK -#ifdef BOOST_HAS_THREADS - re_detail::cs_guard g(*re_detail::p_re_lock); -#endif - --nlsw_count; - re_message_free(); - re_free_classes(); - re_free_collate(); - // add reference to static member here to ensure - // that the linker includes it in the .exe: - if((nlsw_count == 0) && (0 != &c_regex_traits::init_)) - { - // cleanup: - delete wlocale_name; - delete syntax; - } -#ifdef BOOST_HAS_THREADS - g.acquire(false); - re_detail::re_free_threads(); -#endif -} - -bool BOOST_REGEX_CALL c_regex_traits::do_iswclass(wchar_t c, boost::uint_fast32_t f) -{ - BOOST_RE_GUARD_STACK - if((c & ~0xFF) == 0) - return BOOST_REGEX_MAKE_BOOL(re_detail::wide_unicode_classes[(uchar_type)c] & f); - if((f & char_class_alpha) && std::iswalpha(c)) - return true; - if((f & char_class_cntrl) && std::iswcntrl(c)) - return true; - if((f & char_class_digit) && std::iswdigit(c)) - return true; - if((f & char_class_lower) && std::iswlower(c)) - return true; - if((f & char_class_punct) && std::iswpunct(c)) - return true; - if((f & char_class_space) && std::iswspace(c)) - return true; - if((f & char_class_upper) && std::iswupper(c)) - return true; - if((f & char_class_xdigit) && std::iswxdigit(c)) - return true; - if(f & char_class_unicode) - return true; - return false; -} - -void BOOST_REGEX_CALL c_regex_traits::transform(std::basic_string& out, const std::basic_string& in) -{ - BOOST_RE_GUARD_STACK -#ifndef BOOST_MSVC - std::size_t n = std::wcsxfrm(0, in.c_str(), 0); -#else - // broken wcsxfrm under VC6 doesn't check size of - // output buffer, we have no choice but to guess! - std::size_t n = 100 * in.size(); -#endif - if((n == (std::size_t)(-1)) || (n == 0)) - { - out = in; - return; - } - scoped_array buf(new wchar_t[n+1]); - n = std::wcsxfrm(buf.get(), in.c_str(), n+1); - if(n == (std::size_t)(-1)) - { - out = in; - return; - } - out = buf.get(); -} - -void BOOST_REGEX_CALL c_regex_traits::transform_primary(std::basic_string& out, const std::basic_string& in) -{ - transform(out, in); - switch(sort_type) - { - case re_detail::sort_C: - case re_detail::sort_unknown: - break; - case re_detail::sort_fixed: - if((unsigned)sort_delim < out.size()) - out.erase((int)sort_delim); - break; - case re_detail::sort_delim: - for(unsigned int i = 0; i < out.size(); ++i) - { - if((out[i] == sort_delim) && (i+1 < out.size())) - { - out.erase(i+1); - break; - } - } - } -} - -unsigned c_regex_traits::sort_type; -wchar_t c_regex_traits::sort_delim; - - -int BOOST_REGEX_CALL c_regex_traits::toi(wchar_t c) -{ - if(is_class(c, char_class_digit)) - return c - re_zero_w; - if(is_class(c, char_class_xdigit)) - return 10 + translate(c, true) - translate(re_ten_w, true); - return -1; // error!! -} - -int BOOST_REGEX_CALL c_regex_traits::toi(const wchar_t*& first, const wchar_t* last, int radix) -{ - unsigned int maxval; - if(radix < 0) - { - // if radix is less than zero, then restrict - // return value to charT. NB assumes sizeof(charT) <= sizeof(int) - radix *= -1; - maxval = 1u << (sizeof(*first) * CHAR_BIT - 1); - maxval /= radix; - maxval *= 2; - maxval -= 1; - } - else - { - maxval = (unsigned int)-1; - maxval /= radix; - } - - unsigned int result = 0; - unsigned int type = (radix > 10) ? char_class_xdigit : char_class_digit; - while((first != last) && is_class(*first, type) && (result <= maxval)) - { - result *= radix; - result += toi(*first); - ++first; - } - return result; -} - -boost::uint_fast32_t BOOST_REGEX_CALL c_regex_traits::lookup_classname(const wchar_t* first, const wchar_t* last) -{ - std::basic_string s(first, last); - std::size_t len = strnarrow(static_cast(0), 0, s.c_str()); - scoped_array buf(new char[len]); - strnarrow(buf.get(), len, s.c_str()); - boost::uint_fast32_t result = do_lookup_class(buf.get()); - return result; -} - -c_regex_traits c_regex_traits::init_; - -std::size_t BOOST_REGEX_CALL c_regex_traits::strnarrow(char *s1, std::size_t len, const wchar_t *s2) -{ - BOOST_RE_GUARD_STACK - std::size_t size = std::wcslen(s2) + 1; - if(size > len) - return size; - return std::wcstombs(s1, s2, len); -} - -std::size_t BOOST_REGEX_CALL c_regex_traits::strwiden(wchar_t *s1, std::size_t len, const char *s2) -{ - BOOST_RE_GUARD_STACK - std::size_t size = std::strlen(s2) + 1; - if(size > len) - return size; - size = std::mbstowcs(s1, s2, len); - s1[size] = 0; - return size + 1; -} - -#endif // BOOST_NO_WREGEX - -} // namespace boost - - - - diff --git a/src/c_regex_traits_common.cpp b/src/c_regex_traits_common.cpp deleted file mode 100644 index df2caabd..00000000 --- a/src/c_regex_traits_common.cpp +++ /dev/null @@ -1,562 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: c_regex_traits_common.cpp - * VERSION: see - * DESCRIPTION: Implements common code and data for the - * c_regex_traits traits classes. - */ - - -#define BOOST_REGEX_SOURCE - -#include -#include -#include -#include -#include -#ifdef BOOST_REGEX_V3 -#include -#else -#include -#endif - - -namespace boost{ - namespace re_detail{ - -// -// these are the POSIX collating names: -// -BOOST_REGEX_DECL const char* def_coll_names[] = { -"NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "alert", "backspace", "tab", "newline", -"vertical-tab", "form-feed", "carriage-return", "SO", "SI", "DLE", "DC1", "DC2", "DC3", "DC4", "NAK", -"SYN", "ETB", "CAN", "EM", "SUB", "ESC", "IS4", "IS3", "IS2", "IS1", "space", "exclamation-mark", -"quotation-mark", "number-sign", "dollar-sign", "percent-sign", "ampersand", "apostrophe", -"left-parenthesis", "right-parenthesis", "asterisk", "plus-sign", "comma", "hyphen", -"period", "slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", -"colon", "semicolon", "less-than-sign", "equals-sign", "greater-than-sign", -"question-mark", "commercial-at", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", -"Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "left-square-bracket", "backslash", -"right-square-bracket", "circumflex", "underscore", "grave-accent", "a", "b", "c", "d", "e", "f", -"g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "left-curly-bracket", -"vertical-line", "right-curly-bracket", "tilde", "DEL", "", -}; - -// these multi-character collating elements -// should keep most Western-European locales -// happy - we should really localise these a -// little more - but this will have to do for -// now: - -BOOST_REGEX_DECL const char* def_multi_coll[] = { - "ae", - "Ae", - "AE", - "ch", - "Ch", - "CH", - "ll", - "Ll", - "LL", - "ss", - "Ss", - "SS", - "nj", - "Nj", - "NJ", - "dz", - "Dz", - "DZ", - "lj", - "Lj", - "LJ", - "", -}; - - - -BOOST_REGEX_DECL bool BOOST_REGEX_CALL re_lookup_def_collate_name(std::string& buf, const char* name) -{ - BOOST_RE_GUARD_STACK - unsigned int i = 0; - while(*def_coll_names[i]) - { - if(std::strcmp(def_coll_names[i], name) == 0) - { - buf = (char)i; - return true; - } - ++i; - } - i = 0; - while(*def_multi_coll[i]) - { - if(std::strcmp(def_multi_coll[i], name) == 0) - { - buf = def_multi_coll[i]; - return true; - } - ++i; - } - return false; -} - -// -// messages: -BOOST_REGEX_DECL const char * re_default_error_messages[] = -{ "Success", /* REG_NOERROR */ - "No match", /* REG_NOMATCH */ - "Invalid regular expression", /* REG_BADPAT */ - "Invalid collation character", /* REG_ECOLLATE */ - "Invalid character class name", /* REG_ECTYPE */ - "Trailing backslash", /* REG_EESCAPE */ - "Invalid back reference", /* REG_ESUBREG */ - "Unmatched [ or [^", /* REG_EBRACK */ - "Unmatched ( or \\(", /* REG_EPAREN */ - "Unmatched \\{", /* REG_EBRACE */ - "Invalid content of \\{\\}", /* REG_BADBR */ - "Invalid range end", /* REG_ERANGE */ - "Memory exhausted", /* REG_ESPACE */ - "Invalid preceding regular expression", /* REG_BADRPT */ - "Premature end of regular expression", /* REG_EEND */ - "Regular expression too big", /* REG_ESIZE */ - "Unmatched ) or \\)", /* REG_ERPAREN */ - "Empty expression", /* REG_EMPTY */ - "Unknown error", /* REG_E_UNKNOWN */ - "", - "", - "", -}; - -const mss default_messages[] = { - { 100+ c_regex_traits::syntax_open_bracket, "(", }, - { 100+ c_regex_traits::syntax_close_bracket, ")", }, - { 100+ c_regex_traits::syntax_dollar, "$", }, - { 100+ c_regex_traits::syntax_caret, "^", }, - { 100+ c_regex_traits::syntax_dot, ".", }, - { 100+ c_regex_traits::syntax_star, "*", }, - { 100+ c_regex_traits::syntax_plus, "+", }, - { 100+ c_regex_traits::syntax_question, "?", }, - { 100+ c_regex_traits::syntax_open_set, "[", }, - { 100+ c_regex_traits::syntax_close_set, "]", }, - { 100+ c_regex_traits::syntax_or, "|", }, - { 100+ c_regex_traits::syntax_slash, "\\", }, - { 100+ c_regex_traits::syntax_hash, "#", }, - { 100+ c_regex_traits::syntax_dash, "-", }, - { 100+ c_regex_traits::syntax_open_brace, "{", }, - { 100+ c_regex_traits::syntax_close_brace, "}", }, - { 100+ c_regex_traits::syntax_digit, "0123456789", }, - { 100+ c_regex_traits::syntax_b, "b", }, - { 100+ c_regex_traits::syntax_B, "B", }, - { 100+ c_regex_traits::syntax_left_word, "<", }, - { 100+ c_regex_traits::syntax_right_word, ">", }, - { 100+ c_regex_traits::syntax_w, "w", }, - { 100+ c_regex_traits::syntax_W, "W", }, - { 100+ c_regex_traits::syntax_start_buffer, "`A", }, - { 100+ c_regex_traits::syntax_end_buffer, "'z", }, - { 100+ c_regex_traits::syntax_newline, "\n", }, - { 100+ c_regex_traits::syntax_comma, ",", }, - { 100+ c_regex_traits::syntax_a, "a", }, - { 100+ c_regex_traits::syntax_f, "f", }, - { 100+ c_regex_traits::syntax_n, "n", }, - { 100+ c_regex_traits::syntax_r, "r", }, - { 100+ c_regex_traits::syntax_t, "t", }, - { 100+ c_regex_traits::syntax_v, "v", }, - { 100+ c_regex_traits::syntax_x, "x", }, - { 100+ c_regex_traits::syntax_c, "c", }, - { 100+ c_regex_traits::syntax_colon, ":", }, - { 100+ c_regex_traits::syntax_equal, "=", }, - - { 100 + c_regex_traits::syntax_e, "e", }, - { 100 + c_regex_traits::syntax_l, "l", }, - { 100 + c_regex_traits::syntax_L, "L", }, - { 100 + c_regex_traits::syntax_u, "u", }, - { 100 + c_regex_traits::syntax_U, "U", }, - { 100 + c_regex_traits::syntax_s, "s", }, - { 100 + c_regex_traits::syntax_S, "S", }, - { 100 + c_regex_traits::syntax_d, "d", }, - { 100 + c_regex_traits::syntax_D, "D", }, - { 100 + c_regex_traits::syntax_E, "E", }, - { 100 + c_regex_traits::syntax_Q, "Q", }, - { 100 + c_regex_traits::syntax_X, "X", }, - { 100 + c_regex_traits::syntax_C, "C", }, - { 100 + c_regex_traits::syntax_Z, "Z", }, - { 100 + c_regex_traits::syntax_G, "G", }, - - { 100 + c_regex_traits::syntax_not, "!", }, - - { 0, "", }, - }; - -BOOST_REGEX_DECL std::size_t BOOST_REGEX_CALL re_get_default_message(char* buf, std::size_t len, std::size_t id) -{ - BOOST_RE_GUARD_STACK - const mss* pm = default_messages; - while(pm->id) - { - if(pm->id == id) - { - std::size_t size = re_strlen(pm->what) + 1; - if(size > len) - return size; - re_strcpy(buf, pm->what); - return size; - } - ++pm; - } - if(buf && len) - *buf = 0; - return 1; -} - -#ifndef BOOST_NO_WREGEX -const wchar_t combining_ranges[] = { 0x0300, 0x0361, - 0x0483, 0x0486, - 0x0903, 0x0903, - 0x093E, 0x0940, - 0x0949, 0x094C, - 0x0982, 0x0983, - 0x09BE, 0x09C0, - 0x09C7, 0x09CC, - 0x09D7, 0x09D7, - 0x0A3E, 0x0A40, - 0x0A83, 0x0A83, - 0x0ABE, 0x0AC0, - 0x0AC9, 0x0ACC, - 0x0B02, 0x0B03, - 0x0B3E, 0x0B3E, - 0x0B40, 0x0B40, - 0x0B47, 0x0B4C, - 0x0B57, 0x0B57, - 0x0B83, 0x0B83, - 0x0BBE, 0x0BBF, - 0x0BC1, 0x0BCC, - 0x0BD7, 0x0BD7, - 0x0C01, 0x0C03, - 0x0C41, 0x0C44, - 0x0C82, 0x0C83, - 0x0CBE, 0x0CBE, - 0x0CC0, 0x0CC4, - 0x0CC7, 0x0CCB, - 0x0CD5, 0x0CD6, - 0x0D02, 0x0D03, - 0x0D3E, 0x0D40, - 0x0D46, 0x0D4C, - 0x0D57, 0x0D57, - 0x0F7F, 0x0F7F, - 0x20D0, 0x20E1, - 0x3099, 0x309A, - 0xFE20, 0xFE23, - 0xffff, 0xffff, }; - -BOOST_REGEX_DECL bool BOOST_REGEX_CALL is_combining(wchar_t c) -{ - BOOST_RE_GUARD_STACK - const wchar_t* p = combining_ranges + 1; - while(*p < c) p += 2; - --p; - if((c >= *p) && (c <= *(p+1))) - return true; - return false; -} - -BOOST_REGEX_DECL unsigned short wide_unicode_classes[] = { - c_traits_base::char_class_cntrl, // '' 0 - c_traits_base::char_class_cntrl, // '' 1 - c_traits_base::char_class_cntrl, // '' 2 - c_traits_base::char_class_cntrl, // '' 3 - c_traits_base::char_class_cntrl, // '' 4 - c_traits_base::char_class_cntrl, // '' 5 - c_traits_base::char_class_cntrl, // '' 6 - c_traits_base::char_class_cntrl, // '' 7 - c_traits_base::char_class_cntrl, // '' 8 - c_traits_base::char_class_cntrl | c_traits_base::char_class_space | c_traits_base::char_class_blank, // '' 9 - c_traits_base::char_class_cntrl | c_traits_base::char_class_space, // '' 10 - c_traits_base::char_class_cntrl | c_traits_base::char_class_space, // '' 11 - c_traits_base::char_class_cntrl | c_traits_base::char_class_space, // '' 12 - c_traits_base::char_class_cntrl | c_traits_base::char_class_space, // '' 13 - c_traits_base::char_class_cntrl, // '.' 14 - c_traits_base::char_class_cntrl, // '.' 15 - c_traits_base::char_class_cntrl, // '.' 16 - c_traits_base::char_class_cntrl, // '.' 17 - c_traits_base::char_class_cntrl, // '.' 18 - c_traits_base::char_class_cntrl, // '.' 19 - c_traits_base::char_class_cntrl, // '.' 20 - c_traits_base::char_class_cntrl, // '.' 21 - c_traits_base::char_class_cntrl, // '.' 22 - c_traits_base::char_class_cntrl, // '.' 23 - c_traits_base::char_class_cntrl, // '.' 24 - c_traits_base::char_class_cntrl, // '' 25 - c_traits_base::char_class_cntrl, // '' 26 - c_traits_base::char_class_cntrl, // '' 27 - c_traits_base::char_class_cntrl, // '.' 28 - c_traits_base::char_class_cntrl, // '.' 29 - c_traits_base::char_class_cntrl, // '.' 30 - c_traits_base::char_class_cntrl, // '.' 31 - c_traits_base::char_class_space | c_traits_base::char_class_blank, // ' ' 32 - c_traits_base::char_class_punct, // '!' 33 - c_traits_base::char_class_punct, // '"' 34 - c_traits_base::char_class_punct, // '#' 35 - c_traits_base::char_class_punct, // '$' 36 - c_traits_base::char_class_punct, // '%' 37 - c_traits_base::char_class_punct, // '&' 38 - c_traits_base::char_class_punct, // ''' 39 - c_traits_base::char_class_punct, // '(' 40 - c_traits_base::char_class_punct, // ')' 41 - c_traits_base::char_class_punct, // '*' 42 - c_traits_base::char_class_punct, // '+' 43 - c_traits_base::char_class_punct, // ',' 44 - c_traits_base::char_class_punct, // '-' 45 - c_traits_base::char_class_punct, // '.' 46 - c_traits_base::char_class_punct, // '/' 47 - c_traits_base::char_class_digit | c_traits_base::char_class_xdigit, // '0' 48 - c_traits_base::char_class_digit | c_traits_base::char_class_xdigit, // '1' 49 - c_traits_base::char_class_digit | c_traits_base::char_class_xdigit, // '2' 50 - c_traits_base::char_class_digit | c_traits_base::char_class_xdigit, // '3' 51 - c_traits_base::char_class_digit | c_traits_base::char_class_xdigit, // '4' 52 - c_traits_base::char_class_digit | c_traits_base::char_class_xdigit, // '5' 53 - c_traits_base::char_class_digit | c_traits_base::char_class_xdigit, // '6' 54 - c_traits_base::char_class_digit | c_traits_base::char_class_xdigit, // '7' 55 - c_traits_base::char_class_digit | c_traits_base::char_class_xdigit, // '8' 56 - c_traits_base::char_class_digit | c_traits_base::char_class_xdigit, // '9' 57 - c_traits_base::char_class_punct, // ':' 58 - c_traits_base::char_class_punct, // ';' 59 - c_traits_base::char_class_punct, // '<' 60 - c_traits_base::char_class_punct, // '=' 61 - c_traits_base::char_class_punct, // '>' 62 - c_traits_base::char_class_punct, // '?' 63 - c_traits_base::char_class_punct, // '@' 64 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper | c_traits_base::char_class_xdigit, // 'A' 65 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper | c_traits_base::char_class_xdigit, // 'B' 66 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper | c_traits_base::char_class_xdigit, // 'C' 67 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper | c_traits_base::char_class_xdigit, // 'D' 68 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper | c_traits_base::char_class_xdigit, // 'E' 69 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper | c_traits_base::char_class_xdigit, // 'F' 70 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'G' 71 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'H' 72 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'I' 73 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'J' 74 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'K' 75 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'L' 76 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'M' 77 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'N' 78 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'O' 79 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'P' 80 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Q' 81 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'R' 82 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'S' 83 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'T' 84 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'U' 85 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'V' 86 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'W' 87 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'X' 88 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Y' 89 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Z' 90 - c_traits_base::char_class_punct, // '[' 91 - c_traits_base::char_class_punct, // '\' 92 - c_traits_base::char_class_punct, // ']' 93 - c_traits_base::char_class_punct, // '^' 94 - c_traits_base::char_class_punct | c_traits_base::char_class_underscore, // '_' 95 - c_traits_base::char_class_punct, // '`' 96 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower | c_traits_base::char_class_xdigit, // 'a' 97 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower | c_traits_base::char_class_xdigit, // 'b' 98 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower | c_traits_base::char_class_xdigit, // 'c' 99 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower | c_traits_base::char_class_xdigit, // 'd' 100 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower | c_traits_base::char_class_xdigit, // 'e' 101 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower | c_traits_base::char_class_xdigit, // 'f' 102 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'g' 103 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'h' 104 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'i' 105 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'j' 106 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'k' 107 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'l' 108 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'm' 109 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'n' 110 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'o' 111 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'p' 112 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'q' 113 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'r' 114 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 's' 115 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 't' 116 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'u' 117 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'v' 118 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'w' 119 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'x' 120 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'y' 121 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'z' 122 - c_traits_base::char_class_punct, // '{' 123 - c_traits_base::char_class_punct, // '|' 124 - c_traits_base::char_class_punct, // '}' 125 - c_traits_base::char_class_punct, // '~' 126 - - c_traits_base::char_class_cntrl, // '' 127 - c_traits_base::char_class_cntrl, // '€' 128 - c_traits_base::char_class_cntrl, // '�' 129 - c_traits_base::char_class_cntrl, // '‚' 130 - c_traits_base::char_class_cntrl, // 'ƒ' 131 - c_traits_base::char_class_cntrl, // '„' 132 - c_traits_base::char_class_cntrl, // '…' 133 - c_traits_base::char_class_cntrl, // '†' 134 - c_traits_base::char_class_cntrl, // '‡' 135 - c_traits_base::char_class_cntrl, // 'ˆ' 136 - c_traits_base::char_class_cntrl, // '‰' 137 - c_traits_base::char_class_cntrl, // 'Š' 138 - c_traits_base::char_class_cntrl, // '‹' 139 - c_traits_base::char_class_cntrl, // 'Œ' 140 - c_traits_base::char_class_cntrl, // '�' 141 - c_traits_base::char_class_cntrl, // 'Ž' 142 - c_traits_base::char_class_cntrl, // '�' 143 - c_traits_base::char_class_cntrl, // '�' 144 - c_traits_base::char_class_cntrl, // '‘' 145 - c_traits_base::char_class_cntrl, // '’' 146 - c_traits_base::char_class_cntrl, // '“' 147 - c_traits_base::char_class_cntrl, // '”' 148 - c_traits_base::char_class_cntrl, // '•' 149 - c_traits_base::char_class_cntrl, // '–' 150 - c_traits_base::char_class_cntrl, // '—' 151 - c_traits_base::char_class_cntrl, // '˜' 152 - c_traits_base::char_class_cntrl, // '™' 153 - c_traits_base::char_class_cntrl, // 'š' 154 - c_traits_base::char_class_cntrl, // '›' 155 - c_traits_base::char_class_cntrl, // 'œ' 156 - c_traits_base::char_class_cntrl, // '�' 157 - c_traits_base::char_class_cntrl, // 'ž' 158 - c_traits_base::char_class_cntrl, // 'Ÿ' 159 - c_traits_base::char_class_space | c_traits_base::char_class_blank, // ' ' 160 - c_traits_base::char_class_punct, // '¡' 161 - c_traits_base::char_class_punct, // '¢' 162 - c_traits_base::char_class_punct, // '£' 163 - c_traits_base::char_class_punct, // '¤' 164 - c_traits_base::char_class_punct, // '¥' 165 - c_traits_base::char_class_punct, // '¦' 166 - c_traits_base::char_class_punct, // '§' 167 - c_traits_base::char_class_punct, // '¨' 168 - c_traits_base::char_class_punct, // '©' 169 - c_traits_base::char_class_punct, // 'ª' 170 - c_traits_base::char_class_punct, // '«' 171 - c_traits_base::char_class_punct, // '¬' 172 - c_traits_base::char_class_punct, // '­' 173 - c_traits_base::char_class_punct, // '®' 174 - c_traits_base::char_class_punct, // '¯' 175 - c_traits_base::char_class_punct, // '°' 176 - c_traits_base::char_class_punct, // '±' 177 - c_traits_base::char_class_punct, // '²' 178 - c_traits_base::char_class_punct, // '³' 179 - c_traits_base::char_class_punct, // '´' 180 - c_traits_base::char_class_punct, // 'µ' 181 - c_traits_base::char_class_punct, // '¶' 182 - c_traits_base::char_class_punct, // '·' 183 - c_traits_base::char_class_punct, // '¸' 184 - c_traits_base::char_class_punct, // '¹' 185 - c_traits_base::char_class_punct, // 'º' 186 - c_traits_base::char_class_punct, // '»' 187 - c_traits_base::char_class_punct, // '¼' 188 - c_traits_base::char_class_punct, // '½' 189 - c_traits_base::char_class_punct, // '¾' 190 - c_traits_base::char_class_punct, // '¿' 191 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'À' 192 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Á' 193 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Â' 194 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Ã' 195 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Ä' 196 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Å' 197 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Æ' 198 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Ç' 199 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'È' 200 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'É' 201 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Ê' 202 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Ë' 203 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Ì' 204 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Í' 205 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Î' 206 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Ï' 207 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Ð' 208 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Ñ' 209 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Ò' 210 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Ó' 211 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Ô' 212 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Õ' 213 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Ö' 214 - c_traits_base::char_class_punct, // '×' 215 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Ø' 216 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Ù' 217 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Ú' 218 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Û' 219 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Ü' 220 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Ý' 221 - c_traits_base::char_class_alpha | c_traits_base::char_class_upper, // 'Þ' 222 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ß' 223 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'à' 224 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'á' 225 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'â' 226 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ã' 227 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ä' 228 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'å' 229 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'æ' 230 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ç' 231 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'è' 232 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'é' 233 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ê' 234 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ë' 235 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ì' 236 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'í' 237 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'î' 238 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ï' 239 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ð' 240 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ñ' 241 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ò' 242 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ó' 243 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ô' 244 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'õ' 245 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ö' 246 - c_traits_base::char_class_punct, // '÷' 247 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ø' 248 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ù' 249 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ú' 250 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'û' 251 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ü' 252 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ý' 253 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'þ' 254 - c_traits_base::char_class_alpha | c_traits_base::char_class_lower, // 'ÿ' 255 -}; - -BOOST_REGEX_DECL wchar_t wide_lower_case_map[] = { - 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, - 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, - 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, - 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, - 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, - 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, - 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, - 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, - 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, - 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, - 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, - 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xd7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xdf, - 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, - 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, -}; -#endif // BOOST_NO_WREGEX - - } // namespace re_detail -} // namespace boost - - - diff --git a/src/cpp_regex_traits.cpp b/src/cpp_regex_traits.cpp deleted file mode 100644 index cdb97a31..00000000 --- a/src/cpp_regex_traits.cpp +++ /dev/null @@ -1,907 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: c_regex_traits.cpp - * VERSION: see - * DESCRIPTION: Implements the cpp_regex_traits traits class - */ - - -#define BOOST_REGEX_SOURCE - -#include - -#if !defined(BOOST_NO_STD_LOCALE) - -# ifdef BOOST_MSVC -# pragma warning(disable:4786 4702 4127 4244) -# endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "primary_transform.hpp" - -# ifdef BOOST_MSVC -# pragma warning(disable:4786 4702 4127 4244) -# endif - -namespace{ - const unsigned int re_classes_max = 14; - const unsigned int char_set_size = CHAR_MAX - CHAR_MIN + 1; - -boost::uint_fast32_t re_char_class_id[] = { - boost::re_detail::cpp_regex_traits_base::char_class_alnum, - boost::re_detail::cpp_regex_traits_base::char_class_alpha, - boost::re_detail::cpp_regex_traits_base::char_class_cntrl, - boost::re_detail::cpp_regex_traits_base::char_class_digit, - boost::re_detail::cpp_regex_traits_base::char_class_graph, - boost::re_detail::cpp_regex_traits_base::char_class_lower, - boost::re_detail::cpp_regex_traits_base::char_class_print, - boost::re_detail::cpp_regex_traits_base::char_class_punct, - boost::re_detail::cpp_regex_traits_base::char_class_space, - boost::re_detail::cpp_regex_traits_base::char_class_upper, - boost::re_detail::cpp_regex_traits_base::char_class_xdigit, - boost::re_detail::cpp_regex_traits_base::char_class_blank, - boost::re_detail::cpp_regex_traits_base::char_class_word, - boost::re_detail::cpp_regex_traits_base::char_class_unicode, -}; - -const char* re_char_class_names[] = { -"alnum", -"alpha", -"cntrl", -"digit", -"graph", -"lower", -"print", -"punct", -"space", -"upper", -"xdigit", -"blank", -"word", -"unicode", -}; - -template > -class parser_buf : public ::std::basic_streambuf -{ - typedef ::std::basic_streambuf base_type; - typedef typename base_type::int_type int_type; - typedef typename base_type::char_type char_type; - typedef typename base_type::pos_type pos_type; - typedef ::std::streamsize streamsize; - typedef typename base_type::off_type off_type; -public: - parser_buf() : base_type() { setbuf(0, 0); } - const charT* getnext() { return this->gptr(); } -protected: - std::basic_streambuf* setbuf(char_type* s, streamsize n); - typename parser_buf::pos_type seekpos(pos_type sp, ::std::ios_base::openmode which); - typename parser_buf::pos_type seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which); -private: - parser_buf& operator=(const parser_buf&); - parser_buf(const parser_buf&); -}; - -template -std::basic_streambuf* -parser_buf::setbuf(char_type* s, streamsize n) -{ - this->setg(s, s, s + n); - return this; -} - -template -typename parser_buf::pos_type -parser_buf::seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which) -{ - typedef typename parser_buf::pos_type pos_type; - if(which & ::std::ios_base::out) - return pos_type(off_type(-1)); - std::ptrdiff_t size = this->egptr() - this->eback(); - std::ptrdiff_t pos = this->gptr() - this->eback(); - charT* g = this->eback(); - switch(way) - { - case ::std::ios_base::beg: - if((off < 0) || (off > size)) - return pos_type(off_type(-1)); - else - this->setg(g, g + off, g + size); - break; - case ::std::ios_base::end: - if((off < 0) || (off > size)) - return pos_type(off_type(-1)); - else - this->setg(g, g + size - off, g + size); - break; - case ::std::ios_base::cur: - { - std::ptrdiff_t newpos = pos + off; - if((newpos < 0) || (newpos > size)) - return pos_type(off_type(-1)); - else - this->setg(g, g + newpos, g + size); - break; - } - default: ; - } - return static_cast(this->gptr() - this->eback()); -} - -template -typename parser_buf::pos_type -parser_buf::seekpos(pos_type sp, ::std::ios_base::openmode which) -{ - if(which & ::std::ios_base::out) - return pos_type(off_type(-1)); - std::ptrdiff_t size = this->egptr() - this->eback(); - charT* g = this->eback(); - if(sp <= size) - { - this->setg(g, g + ::std::streamsize(sp), g + size); - } - return pos_type(off_type(-1)); -} - - -} // namespace - -namespace boost{ - namespace re_detail{ - -template <> -struct message_data -{ - unsigned char syntax_map[CHAR_MAX-CHAR_MIN]; - std::map > collating_elements; - std::map > classes; - //std::string _zero; - //std::string _ten; - parser_buf sbuf; - std::istream is; - std::string error_strings[boost::REG_E_UNKNOWN+1]; - - message_data(const std::locale& l, const std::string& regex_message_catalogue); -private: - message_data(const message_data&); - message_data& operator=(const message_data&); -}; - - -message_data::message_data(const std::locale& l, const std::string& regex_message_catalogue) - : is(&sbuf) -{ - is.imbue(l); -#ifndef BOOST_NO_STD_MESSAGES - - const std::messages* pm = 0; -#ifndef __IBMCPP__ - std::messages::catalog cat = static_cast::catalog>(-1); -#else - std::messages::catalog cat = reinterpret_cast::catalog>(-1); -#endif - if(regex_message_catalogue.size()) - { - pm = &BOOST_USE_FACET(std::messages, l); - cat = pm->open(regex_message_catalogue, l); -#ifndef BOOST_NO_EXCEPTIONS - if(cat < 0) - { - std::string m("Unable to open message catalog: "); - throw std::runtime_error(m + regex_message_catalogue); - } -#else - BOOST_REGEX_NOEH_ASSERT(cat >= 0); -#endif - } -#endif - std::memset(syntax_map, cpp_regex_traits::syntax_char, 256); - unsigned i; - scoped_array a; - std::size_t array_size = 0; - std::size_t new_size; - for(i = 1; i < cpp_regex_traits::syntax_max; ++i) - { - new_size = re_get_default_message(0, 0, i+100); - if(new_size > array_size) - { - a.reset(new char[new_size]); - array_size = new_size; - } - re_get_default_message(a.get(), array_size, i+100); - std::string s = a.get(); -#ifndef BOOST_NO_STD_MESSAGES - if((int)cat >= 0) - s = pm->get(cat, 0, i+100, s); -#endif - for(std::size_t j = 0; j < s.size(); ++j) - { - syntax_map[s[j]] = (unsigned char)(i); - } - } - -#ifndef BOOST_NO_STD_MESSAGES - // load any custom collate names: - // - // for some reason Borland C++ Builder 6 won't let us use - // std::isspace(char, std::locale) unless we call it - // unqualifed - weird. This seems to be affecting other - // STLport users as well (gcc3.1+STLport5), so enable the - // workaround for all STLport users... - // -#if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && !defined(BOOST_MSVC) - using namespace std; - using stlport::isspace; -# define BOOST_REGEX_STD -#else -# define BOOST_REGEX_STD std:: -#endif - - std::string c1, c2; - i = 400; - if((int)cat >= 0) - { - c2 = pm->get(cat, 0, i, c1); - while(c2.size()) - { - const char* p1, *p2, *p3, *p4;; - p1 = c2.c_str(); - while(*p1 && BOOST_REGEX_STD isspace((char)*p1, l))++p1; - p2 = p1; - while(*p2 && !BOOST_REGEX_STD isspace((char)*p2, l))++p2; - p3 = p2; - while(*p3 && BOOST_REGEX_STD isspace((char)*p3, l))++p3; - p4 = p3; - while(*p4 && !BOOST_REGEX_STD isspace((char)*p4, l))++p4; - collating_elements[std::string(p1, p2)] = std::string(p3, p4); - - ++i; - c2 = pm->get(cat, 0, i, c1); - } - } -#endif - std::string m; - std::string s; -#ifndef BOOST_NO_STD_MESSAGES - if((int)cat >= 0) - { - for(i = 0; i < re_classes_max; ++i) - { - s = pm->get(cat, 0, i+300, m); - if(s.size()) - classes[s] = i; - } - for(i = 0; i <= boost::REG_E_UNKNOWN ; ++i) - { - s = pm->get(cat, 0, i+200, m); - error_strings[i] = s; - } - } - - if((int)cat >= 0) - pm->close(cat); -#endif -} - -std::string BOOST_REGEX_CALL cpp_regex_traits_base::set_message_catalogue(const std::string& l) -{ - if(sizeof(regex_message_cat) <= l.size()) - return l; - std::string old(regex_message_cat); - std::strcpy(regex_message_cat, l.c_str()); - return old; -} - -char cpp_regex_traits_base::regex_message_cat[BOOST_REGEX_MAX_PATH] = {0}; - - -} // namespace re_detail - - -cpp_regex_traits::cpp_regex_traits() -{ - pmd = new re_detail::message_data(locale_inst, regex_message_cat); - psyntax = pmd->syntax_map; -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - lower_map = new char[char_set_size]; - BOOST_REGEX_NOEH_ASSERT(lower_map) -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - delete pmd; - throw; - } -#endif - for(unsigned int i = 0; i < char_set_size; ++i) - lower_map[i] = static_cast(i); - pctype = &BOOST_USE_FACET(std::ctype, locale_inst); - pctype->tolower(&lower_map[0], &lower_map[char_set_size]); - pcollate = &BOOST_USE_FACET(std::collate, locale_inst); - sort_type = re_detail::find_sort_syntax(this, &(this->sort_delim)); -} - -void cpp_regex_traits::swap(cpp_regex_traits& that) -{ - std::swap(locale_inst, that.locale_inst); // this one goes first - std::swap(pmd, that.pmd); - std::swap(psyntax, that.psyntax); - std::swap(lower_map, that.lower_map); - std::swap(pctype, that.pctype); - std::swap(pcollate, that.pcollate); - std::swap(sort_type, that.sort_type); - std::swap(sort_delim, that.sort_delim); -} - -cpp_regex_traits::~cpp_regex_traits() -{ - delete pmd; - delete[] lower_map; -} - -int BOOST_REGEX_CALL cpp_regex_traits::toi(char c)const -{ - pmd->sbuf.pubsetbuf(&c, 1); - pmd->is.clear(); - pmd->is >> std::dec; - int val; - if(pmd->is >> val) - { - return val; - } - else - return 0; -} - -int BOOST_REGEX_CALL cpp_regex_traits::toi(const char*& first, const char* last, int radix)const -{ - pmd->sbuf.pubsetbuf(const_cast(first), static_cast(last-first)); - pmd->is.clear(); - if(std::abs(radix) == 16) pmd->is >> std::hex; - else if(std::abs(radix) == 8) pmd->is >> std::oct; - else pmd->is >> std::dec; - int val; - if(pmd->is >> val) - { - first = first + ((last - first) - pmd->sbuf.in_avail()); - return val; - } - else - return 0; -} - -boost::uint_fast32_t BOOST_REGEX_CALL cpp_regex_traits::lookup_classname(const char* first, const char* last)const -{ - BOOST_RE_GUARD_STACK - unsigned int i; - std::string s(first, last); - - std::map >::const_iterator pos = pmd->classes.find(s); - if(pos != pmd->classes.end()) - return re_char_class_id[(*pos).second]; - - for(i = 0; i < re_classes_max; ++i) - { - if(s == re_char_class_names[i]) - return re_char_class_id[i]; - } - return 0; -} - -bool BOOST_REGEX_CALL cpp_regex_traits::lookup_collatename(std::string& s, const char* first, const char* last)const -{ - BOOST_RE_GUARD_STACK - std::string name(first, last); - std::map >::const_iterator pos = pmd->collating_elements.find(name); - if(pos != pmd->collating_elements.end()) - { - s = (*pos).second; - return true; - } - return re_detail::re_lookup_def_collate_name(s, name.c_str()); -} - -void BOOST_REGEX_CALL cpp_regex_traits::transform_primary(std::string& out, const std::string& in)const -{ - transform(out, in); - switch(sort_type) - { - case re_detail::sort_C: - case re_detail::sort_unknown: - break; - case re_detail::sort_fixed: - if((unsigned)sort_delim < out.size()) - out.erase((int)sort_delim); - break; - case re_detail::sort_delim: - for(unsigned int i = 0; i < out.size(); ++i) - { - if((out[i] == sort_delim) && (i+1 < out.size())) - { - out.erase(i+1); - break; - } - } - } -} - - -std::string BOOST_REGEX_CALL cpp_regex_traits::error_string(unsigned id)const -{ - if((id <= boost::REG_E_UNKNOWN) && (pmd->error_strings[id].size())) - return pmd->error_strings[id]; - return boost::re_detail::re_default_error_messages[id]; -} - -cpp_regex_traits::locale_type BOOST_REGEX_CALL cpp_regex_traits::imbue(locale_type l) -{ - locale_type old_l(locale_inst); - locale_inst = l; - re_detail::message_data* npmd = new re_detail::message_data(locale_inst, regex_message_cat); - delete pmd; - pmd = npmd; - psyntax = pmd->syntax_map; - for(unsigned int i = 0; i < char_set_size; ++i) - lower_map[i] = static_cast(i); - pctype = &BOOST_USE_FACET(std::ctype, locale_inst); - pctype->tolower(&lower_map[0], &lower_map[char_set_size]); - pcollate = &BOOST_USE_FACET(std::collate, locale_inst); - sort_type = re_detail::find_sort_syntax(this, &(this->sort_delim)); - return old_l; -} - -#if !defined(BOOST_NO_WREGEX) && !defined(BOOST_NO_STD_WSTREAMBUF) - -namespace re_detail{ - -std::string BOOST_REGEX_CALL to_narrow(const std::basic_string& is, const std::codecvt& cvt) -{ - BOOST_RE_GUARD_STACK - std::basic_string::size_type bufsize = is.size() * 2; - // - // declare buffer first as VC6 workaround for internal compiler error! - char* pc = new char[bufsize]; - scoped_array t(pc); - #if defined(BOOST_MSVC) && !defined(DINKUMWARE_CE) - std::mbstate_t state = 0; - #else - std::mbstate_t state = std::mbstate_t(); - #endif - - const wchar_t* next_in; - char* next_out; - while(true) - { - switch(cvt.out(state, is.c_str(), is.c_str() + is.size(), next_in, t.get(), t.get() + bufsize, next_out)) - { - case std::codecvt_base::ok: - return std::string(t.get(), next_out); - case std::codecvt_base::partial: - bufsize *= 2; - t.reset(new char[bufsize]); - continue; - case std::codecvt_base::error: - // not much we can do here but guess: - case std::codecvt_base::noconv: - std::string out; - for(unsigned i = 0; i < is.size(); ++i) - { - out.append(1, (char)is[i]); - } - return out; - } - } -} - -std::wstring BOOST_REGEX_CALL to_wide(const std::string& is, const std::codecvt& cvt) -{ - BOOST_RE_GUARD_STACK - std::string::size_type bufsize = is.size() + 2; - std::string::size_type maxsize = is.size() * 100; - // - // declare buffer first as VC6 workaround for internal compiler error! - wchar_t* pc = new wchar_t[bufsize]; - scoped_array t(pc); - #if defined(BOOST_MSVC) && !defined(DINKUMWARE_CE) - std::mbstate_t state = 0; - #else - std::mbstate_t state = std::mbstate_t(); - #endif - - - wchar_t* next_out; - const char* next_in; - while(true) - { - switch(cvt.in(state, is.c_str(), is.c_str() + is.size(), next_in, t.get(), t.get() + bufsize, next_out)) - { - case std::codecvt_base::ok: - return std::wstring(t.get(), next_out); - case std::codecvt_base::partial: - bufsize *= 2; - if(bufsize < maxsize) - { - t.reset(new wchar_t[bufsize]); - continue; - } - // - // error fall through: - case std::codecvt_base::error: - // not much we can do here but guess: - case std::codecvt_base::noconv: - std::wstring out; - for(unsigned i = 0; i < is.size(); ++i) - { - out.append(1, is[i]); - } - return out; - } - } -} - - - -template <> -struct message_data -{ -#ifndef BOOST_NO_STD_MESSAGES - typedef std::messages::string_type string_type; -#else - typedef std::wstring string_type; -#endif - - string_type name; - - struct syntax_map - { - wchar_t c; - unsigned int type; - }; - - std::list syntax; - std::map classes; - std::map collating_elements; - unsigned char syntax_[CHAR_MAX-CHAR_MIN+1]; - - parser_buf sbuf; - std::wistream is; - std::string error_strings[boost::REG_E_UNKNOWN+1]; - - message_data(const std::locale& l, const std::string& regex_message_catalogue); -private: - message_data(const message_data&); - message_data& operator=(const message_data&); -}; - -message_data::message_data(const std::locale& l, const std::string& regex_message_catalogue) - : is(&sbuf) -{ - is.imbue(l); - syntax_map m; - typedef std::codecvt cvt_type; - const cvt_type& cvt = BOOST_USE_FACET(cvt_type, l); -#ifndef BOOST_NO_STD_MESSAGES - const std::messages& msgs = BOOST_USE_FACET(std::messages, l); -#ifndef __IBMCPP__ - std::messages::catalog cat = static_cast::catalog>(-1); -#else - std::messages::catalog cat = reinterpret_cast::catalog>(-1); -#endif - if(regex_message_catalogue.size()) - { - cat = msgs.open(regex_message_catalogue, l); -#ifndef BOOST_NO_EXCEPTIONS - if(cat < 0) - { - std::string m("Unable to open message catalog: "); - throw std::runtime_error(m + regex_message_catalogue); - } -#else - BOOST_REGEX_NOEH_ASSERT(cat >= 0); -#endif - } -#endif - scoped_array a; - std::size_t array_size = 0; - std::size_t new_size; - std::size_t i; - std::memset(syntax_, cpp_regex_traits::syntax_char, sizeof(syntax_)); - for(i = 1; i < cpp_regex_traits::syntax_max; ++i) - { - new_size = re_get_default_message(0, 0, i+100); - if(new_size > array_size) - { - a.reset(new char[new_size]); - array_size = new_size; - } - re_get_default_message(a.get(), array_size, i+100); - std::string ns = a.get(); - string_type s = to_wide(ns, cvt); -#ifndef BOOST_NO_STD_MESSAGES - if((int)cat >= 0) - s = BOOST_USE_FACET(std::messages, l).get(cat, 0, (int)i+100, s); -#endif - for(unsigned int j = 0; j < s.size(); ++j) - { - if((s[j] <= UCHAR_MAX) && (s[j] >= 0)) - syntax_[s[j]] = static_cast(i); - else - { - m.c = s[j]; - m.type = static_cast(i); - syntax.push_back(m); - } - } - } - -#ifndef BOOST_NO_STD_MESSAGES - // load any custom collate names: - string_type c1, c2; - i = 400; - if((int)cat >= 0) - { - c2 = msgs.get(cat, 0, (int)i, c1); - while(c2.size()) - { - const wchar_t* p1, *p2, *p3, *p4;; - p1 = c2.c_str(); - while(*p1 && BOOST_REGEX_STD isspace((wchar_t)*p1, l))++p1; - p2 = p1; - while(*p2 && !BOOST_REGEX_STD isspace((wchar_t)*p2, l))++p2; - p3 = p2; - while(*p3 && BOOST_REGEX_STD isspace((wchar_t)*p3, l))++p3; - p4 = p3; - while(*p4 && !BOOST_REGEX_STD isspace((wchar_t)*p4, l))++p4; - collating_elements[std::basic_string(p1, p2)] = std::basic_string(p3, p4); - - ++i; - c2 = msgs.get(cat, 0, (int)i, c1); - } - } - - if((int)cat >= 0) - { - c2.erase(); - for(i = 0; i < re_classes_max; ++i) - { - c1 = msgs.get(cat, 0, static_cast(i+300), c2); - if(c1.size()) - classes[c1] = i; - } - for(i = 0; i <= boost::REG_E_UNKNOWN ; ++i) - { - c1 = msgs.get(cat, 0, static_cast(i+200), c2); - error_strings[i] = to_narrow(c1, cvt); - } - } - - if((int)cat >= 0) - msgs.close(cat); -#endif -} - -} // namespace re_detail - -unsigned int BOOST_REGEX_CALL cpp_regex_traits::do_syntax_type(size_type c)const -{ - std::list::syntax_map>::const_iterator i, j; - i = pmd->syntax.begin(); - j = pmd->syntax.end(); - while(i != j) - { - if(((uchar_type)(*i).c) == c) - return (*i).type; - ++i; - } - return 0; -} - -void BOOST_REGEX_CALL cpp_regex_traits::transform_primary(std::basic_string& out, const std::basic_string& in)const -{ - transform(out, in); - switch(sort_type) - { - case re_detail::sort_C: - case re_detail::sort_unknown: - break; - case re_detail::sort_fixed: - if((unsigned)sort_delim < out.size()) - out.erase((int)sort_delim); - break; - case re_detail::sort_delim: - for(unsigned int i = 0; i < out.size(); ++i) - { - if((out[i] == sort_delim) && (i+1 < out.size())) - { - out.erase(i+1); - break; - } - } - } -} - -int BOOST_REGEX_CALL cpp_regex_traits::toi(wchar_t c)const -{ - pmd->sbuf.pubsetbuf(&c, 1); - pmd->is.clear(); - pmd->is >> std::dec; - int val; - if(pmd->is >> val) - { - return val; - } - else - return 0; -} - -int BOOST_REGEX_CALL cpp_regex_traits::toi(const wchar_t*& first, const wchar_t* last, int radix)const -{ - pmd->sbuf.pubsetbuf(const_cast(first), static_cast(last-first)); - pmd->is.clear(); - if(std::abs(radix) == 16) pmd->is >> std::hex; - else if(std::abs(radix) == 8) pmd->is >> std::oct; - else pmd->is >> std::dec; - int val; - if(pmd->is >> val) - { - first = first + ((last - first) - pmd->sbuf.in_avail()); - return val; - } - else - return 0; -} - -boost::uint_fast32_t BOOST_REGEX_CALL cpp_regex_traits::lookup_classname(const wchar_t* first, const wchar_t* last)const -{ - BOOST_RE_GUARD_STACK - unsigned int i; - std::wstring s(first, last); - - std::map::const_iterator pos = pmd->classes.find(s); - if(pos != pmd->classes.end()) - return re_char_class_id[(*pos).second]; - - std::string ns = re_detail::to_narrow(s, *pcdv); - - for(i = 0; i < re_classes_max; ++i) - { - if(ns == re_char_class_names[i]) - return re_char_class_id[i]; - } - return 0; -} - -bool BOOST_REGEX_CALL cpp_regex_traits::lookup_collatename(std::basic_string& s, const wchar_t* first, const wchar_t* last)const -{ - BOOST_RE_GUARD_STACK - std::wstring name(first, last); - std::map::const_iterator pos = pmd->collating_elements.find(name); - if(pos != pmd->collating_elements.end()) - { - s = (*pos).second; - return true; - } - std::string ns = re_detail::to_narrow(name, *pcdv); - std::string ns2; - bool result = re_detail::re_lookup_def_collate_name(ns2, ns.c_str()); - s = re_detail::to_wide(ns2, *pcdv); - return result; -} - -std::string BOOST_REGEX_CALL cpp_regex_traits::error_string(unsigned id)const -{ - if((id <= boost::REG_E_UNKNOWN) && (pmd->error_strings[id].size())) - return pmd->error_strings[id]; - return boost::re_detail::re_default_error_messages[id]; -} - -cpp_regex_traits::cpp_regex_traits() -{ - pmd = new re_detail::message_data(locale_inst, std::string(regex_message_cat)); - psyntax = pmd->syntax_; -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - lower_map = new wchar_t[char_set_size]; - BOOST_REGEX_NOEH_ASSERT(lower_map) -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - delete pmd; - throw; - } -#endif - for(unsigned int i = 0; i < char_set_size; ++i) - lower_map[i] = static_cast(i); - pctype = &BOOST_USE_FACET(std::ctype, locale_inst); - pctype->tolower(&lower_map[0], &lower_map[char_set_size]); - pcollate = &BOOST_USE_FACET(std::collate, locale_inst); - typedef std::codecvt cvt_t; - pcdv = &BOOST_USE_FACET(cvt_t, locale_inst); - sort_type = re_detail::find_sort_syntax(this, &(this->sort_delim)); -} - -cpp_regex_traits::~cpp_regex_traits() -{ - delete pmd; - delete[] lower_map; -} - -cpp_regex_traits::locale_type BOOST_REGEX_CALL cpp_regex_traits::imbue(locale_type l) -{ - locale_type old_l(locale_inst); - locale_inst = l; - re_detail::message_data* npmd = new re_detail::message_data(locale_inst, std::string(regex_message_cat)); - delete pmd; - pmd = npmd; - psyntax = pmd->syntax_; - for(unsigned int i = 0; i < char_set_size; ++i) - lower_map[i] = static_cast(i); - pctype = &BOOST_USE_FACET(std::ctype, locale_inst); - pctype->tolower(&lower_map[0], &lower_map[char_set_size]); - pcollate = &BOOST_USE_FACET(std::collate, locale_inst); - typedef std::codecvt cvt_t; - pcdv = &BOOST_USE_FACET(cvt_t, locale_inst); - sort_type = re_detail::find_sort_syntax(this, &(this->sort_delim)); - return old_l; -} - -std::size_t BOOST_REGEX_CALL cpp_regex_traits::strwiden(wchar_t *s1, std::size_t len, const char *s2)const -{ - std::string s(s2); - std::wstring ws = re_detail::to_wide(s2, *pcdv); - if(len > ws.size()) - std::wcscpy(s1, ws.c_str()); - return ws.size()+1; -} - -void cpp_regex_traits::swap(cpp_regex_traits& that) -{ - std::swap(locale_inst, that.locale_inst); // this one must go first - std::swap(pmd, that.pmd); - std::swap(psyntax, that.psyntax); - std::swap(lower_map, that.lower_map); - std::swap(pctype, that.pctype); - std::swap(pcollate, that.pcollate); - std::swap(pcdv, that.pcdv); - std::swap(sort_type, that.sort_type); - std::swap(sort_delim, that.sort_delim); -} - -#endif // BOOST_NO_WREGEX - - -} // namespace boost - -#endif - - - diff --git a/src/cregex.cpp b/src/cregex.cpp deleted file mode 100644 index 9ccfadcb..00000000 --- a/src/cregex.cpp +++ /dev/null @@ -1,643 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: cregex.cpp - * VERSION: see - * DESCRIPTION: Implements high level class boost::RexEx - */ - - -#define BOOST_REGEX_SOURCE - -#include -#include -#if !defined(BOOST_NO_STD_STRING) -#include -#include -#ifdef BOOST_REGEX_V3 -#include -typedef unsigned match_flag_type; -#else -#include -typedef boost::match_flag_type match_flag_type; -#endif -#include - -namespace boost{ - -#ifdef __BORLANDC__ -#if __BORLANDC__ < 0x530 -// -// we need to instantiate the vector classes we use -// since declaring a reference to type doesn't seem to -// do the job... -std::vector inst1; -std::vector inst2; -#endif -#endif - -namespace{ - -template -std::string to_string(iterator i, iterator j) -{ - BOOST_RE_GUARD_STACK - std::string s; - while(i != j) - { - s.append(1, *i); - ++i; - } - return s; -} - -inline std::string to_string(const char* i, const char* j) -{ - return std::string(i, j); -} - -} -namespace re_detail{ - -class RegExData -{ -public: - enum type - { - type_pc, - type_pf, - type_copy - }; - regex e; - cmatch m; -#ifndef BOOST_REGEX_NO_FILEITER - match_results fm; -#endif - type t; - const char* pbase; -#ifndef BOOST_REGEX_NO_FILEITER - mapfile::iterator fbase; -#endif - std::map > strings; - std::map > positions; - void update(); - void clean(); - RegExData() : e(), m(), -#ifndef BOOST_REGEX_NO_FILEITER - fm(), -#endif - t(type_copy), pbase(0), -#ifndef BOOST_REGEX_NO_FILEITER - fbase(), -#endif - strings(), positions() {} -}; - -void RegExData::update() -{ - BOOST_RE_GUARD_STACK - strings.erase(strings.begin(), strings.end()); - positions.erase(positions.begin(), positions.end()); - if(t == type_pc) - { - for(unsigned int i = 0; i < m.size(); ++i) - { - if(m[i].matched) strings[i] = std::string(m[i].first, m[i].second); - positions[i] = m[i].matched ? m[i].first - pbase : -1; - } - } -#ifndef BOOST_REGEX_NO_FILEITER - else - { - for(unsigned int i = 0; i < fm.size(); ++i) - { - if(fm[i].matched) strings[i] = to_string(fm[i].first, fm[i].second); - positions[i] = fm[i].matched ? fm[i].first - fbase : -1; - } - } -#endif - t = type_copy; -} - -void RegExData::clean() -{ - BOOST_RE_GUARD_STACK -#ifndef BOOST_REGEX_NO_FILEITER - fbase = mapfile::iterator(); - fm = match_results(); -#endif -} - -} // namespace - -RegEx::RegEx() -{ - BOOST_RE_GUARD_STACK - pdata = new re_detail::RegExData(); -} - -RegEx::RegEx(const RegEx& o) -{ - BOOST_RE_GUARD_STACK - pdata = new re_detail::RegExData(*(o.pdata)); -} - -RegEx::~RegEx() -{ - BOOST_RE_GUARD_STACK - delete pdata; -} - -RegEx::RegEx(const char* c, bool icase) -{ - BOOST_RE_GUARD_STACK - pdata = new re_detail::RegExData(); - SetExpression(c, icase); -} - -RegEx::RegEx(const std::string& s, bool icase) -{ - BOOST_RE_GUARD_STACK - pdata = new re_detail::RegExData(); - SetExpression(s.c_str(), icase); -} - -RegEx& RegEx::operator=(const RegEx& o) -{ - BOOST_RE_GUARD_STACK - *pdata = *(o.pdata); - return *this; -} - -RegEx& RegEx::operator=(const char* p) -{ - BOOST_RE_GUARD_STACK - SetExpression(p, false); - return *this; -} - -unsigned int RegEx::SetExpression(const char* p, bool icase) -{ - BOOST_RE_GUARD_STACK - boost::uint_fast32_t f = icase ? regex::normal | regex::use_except | regex::icase : regex::normal | regex::use_except; - return pdata->e.set_expression(p, f); -} - -unsigned int RegEx::error_code()const -{ - return pdata->e.error_code(); -} - - -std::string RegEx::Expression()const -{ - BOOST_RE_GUARD_STACK - return pdata->e.expression(); -} - -// -// now matching operators: -// -bool RegEx::Match(const char* p, match_flag_type flags) -{ - BOOST_RE_GUARD_STACK - pdata->t = re_detail::RegExData::type_pc; - pdata->pbase = p; - const char* end = p; - while(*end)++end; - - if(regex_match(p, end, pdata->m, pdata->e, flags)) - { - pdata->update(); - return true; - } - return false; -} - -bool RegEx::Search(const char* p, match_flag_type flags) -{ - BOOST_RE_GUARD_STACK - pdata->t = re_detail::RegExData::type_pc; - pdata->pbase = p; - const char* end = p; - while(*end)++end; - - if(regex_search(p, end, pdata->m, pdata->e, flags)) - { - pdata->update(); - return true; - } - return false; -} -namespace re_detail{ -struct pred1 -{ - GrepCallback cb; - RegEx* pe; - pred1(GrepCallback c, RegEx* i) : cb(c), pe(i) {} - bool operator()(const cmatch& m) - { - pe->pdata->m = m; - return cb(*pe); - } -}; -} -unsigned int RegEx::Grep(GrepCallback cb, const char* p, match_flag_type flags) -{ - BOOST_RE_GUARD_STACK - pdata->t = re_detail::RegExData::type_pc; - pdata->pbase = p; - const char* end = p; - while(*end)++end; - - unsigned int result = regex_grep(re_detail::pred1(cb, this), p, end, pdata->e, flags); - if(result) - pdata->update(); - return result; -} -namespace re_detail{ -struct pred2 -{ - std::vector& v; - RegEx* pe; - pred2(std::vector& o, RegEx* e) : v(o), pe(e) {} - bool operator()(const cmatch& m) - { - pe->pdata->m = m; - v.push_back(std::string(m[0].first, m[0].second)); - return true; - } -private: - pred2& operator=(const pred2&); -}; -} - -unsigned int RegEx::Grep(std::vector& v, const char* p, match_flag_type flags) -{ - BOOST_RE_GUARD_STACK - pdata->t = re_detail::RegExData::type_pc; - pdata->pbase = p; - const char* end = p; - while(*end)++end; - - unsigned int result = regex_grep(re_detail::pred2(v, this), p, end, pdata->e, flags); - if(result) - pdata->update(); - return result; -} -namespace re_detail{ -struct pred3 -{ - std::vector& v; - const char* base; - RegEx* pe; - pred3(std::vector& o, const char* pb, RegEx* p) : v(o), base(pb), pe(p) {} - bool operator()(const cmatch& m) - { - pe->pdata->m = m; - v.push_back(static_cast(m[0].first - base)); - return true; - } -private: - pred3& operator=(const pred3&); -}; -} -unsigned int RegEx::Grep(std::vector& v, const char* p, match_flag_type flags) -{ - BOOST_RE_GUARD_STACK - pdata->t = re_detail::RegExData::type_pc; - pdata->pbase = p; - const char* end = p; - while(*end)++end; - - unsigned int result = regex_grep(re_detail::pred3(v, p, this), p, end, pdata->e, flags); - if(result) - pdata->update(); - return result; -} -#ifndef BOOST_REGEX_NO_FILEITER -namespace re_detail{ -struct pred4 -{ - GrepFileCallback cb; - RegEx* pe; - const char* file; - bool ok; - pred4(GrepFileCallback c, RegEx* i, const char* f) : cb(c), pe(i), file(f), ok(true) {} - bool operator()(const match_results& m) - { - pe->pdata->t = RegExData::type_pf; - pe->pdata->fm = m; - pe->pdata->update(); - ok = cb(file, *pe); - return ok; - } -}; -} -namespace{ -void BuildFileList(std::list* pl, const char* files, bool recurse) -{ - BOOST_RE_GUARD_STACK - file_iterator start(files); - file_iterator end; - if(recurse) - { - // go through sub directories: - char buf[MAX_PATH]; - std::strcpy(buf, start.root()); - if(*buf == 0) - { - std::strcpy(buf, "."); - std::strcat(buf, directory_iterator::separator()); - std::strcat(buf, "*"); - } - else - { - std::strcat(buf, directory_iterator::separator()); - std::strcat(buf, "*"); - } - directory_iterator dstart(buf); - directory_iterator dend; - - // now get the file mask bit of "files": - const char* ptr = files; - while(*ptr) ++ptr; - while((ptr != files) && (*ptr != *directory_iterator::separator()) && (*ptr != '/'))--ptr; - if(ptr != files) ++ptr; - - while(dstart != dend) - { - std::sprintf(buf, "%s%s%s", dstart.path(), directory_iterator::separator(), ptr); - BuildFileList(pl, buf, recurse); - ++dstart; - } - } - while(start != end) - { - pl->push_back(*start); - ++start; - } -} -} - -unsigned int RegEx::GrepFiles(GrepFileCallback cb, const char* files, bool recurse, match_flag_type flags) -{ - BOOST_RE_GUARD_STACK - unsigned int result = 0; - std::list file_list; - BuildFileList(&file_list, files, recurse); - std::list::iterator start, end; - start = file_list.begin(); - end = file_list.end(); - - while(start != end) - { - mapfile map((*start).c_str()); - pdata->t = re_detail::RegExData::type_pf; - pdata->fbase = map.begin(); - re_detail::pred4 pred(cb, this, (*start).c_str()); - int r = regex_grep(pred, map.begin(), map.end(), pdata->e, flags); - result += r; - ++start; - pdata->clean(); - if(pred.ok == false) - return result; - } - - return result; -} - - -unsigned int RegEx::FindFiles(FindFilesCallback cb, const char* files, bool recurse, match_flag_type flags) -{ - BOOST_RE_GUARD_STACK - unsigned int result = 0; - std::list file_list; - BuildFileList(&file_list, files, recurse); - std::list::iterator start, end; - start = file_list.begin(); - end = file_list.end(); - - while(start != end) - { - mapfile map((*start).c_str()); - pdata->t = re_detail::RegExData::type_pf; - pdata->fbase = map.begin(); - - if(regex_search(map.begin(), map.end(), pdata->fm, pdata->e, flags)) - { - ++result; - if(false == cb((*start).c_str())) - return result; - } - //pdata->update(); - ++start; - //pdata->clean(); - } - - return result; -} -#endif - -std::string RegEx::Merge(const std::string& in, const std::string& fmt, - bool copy, match_flag_type flags) -{ - std::string result; - re_detail::string_out_iterator i(result); - if(!copy) flags |= format_no_copy; - regex_replace(i, in.begin(), in.end(), pdata->e, fmt.c_str(), flags); - return result; -} - -std::string RegEx::Merge(const char* in, const char* fmt, - bool copy, match_flag_type flags) -{ - std::string result; - if(!copy) flags |= format_no_copy; - re_detail::string_out_iterator i(result); - regex_replace(i, in, in + std::strlen(in), pdata->e, fmt, flags); - return result; -} - -std::size_t RegEx::Split(std::vector& v, - std::string& s, - match_flag_type flags, - unsigned max_count) -{ - return regex_split(std::back_inserter(v), s, pdata->e, flags, max_count); -} - - - -// -// now operators for returning what matched in more detail: -// -std::size_t RegEx::Position(int i)const -{ - BOOST_RE_GUARD_STACK - switch(pdata->t) - { - case re_detail::RegExData::type_pc: - return pdata->m[i].matched ? pdata->m[i].first - pdata->pbase : RegEx::npos; -#ifndef BOOST_REGEX_NO_FILEITER - case re_detail::RegExData::type_pf: - return pdata->fm[i].matched ? pdata->fm[i].first - pdata->fbase : RegEx::npos; -#endif - case re_detail::RegExData::type_copy: - { - std::map >::iterator pos = pdata->positions.find(i); - if(pos == pdata->positions.end()) - return RegEx::npos; - return (*pos).second; - } - } - return RegEx::npos; -} - -unsigned int RegEx::Marks()const -{ - BOOST_RE_GUARD_STACK - return pdata->e.mark_count(); -} - - -std::size_t RegEx::Length(int i)const -{ - BOOST_RE_GUARD_STACK - switch(pdata->t) - { - case re_detail::RegExData::type_pc: - return pdata->m[i].matched ? pdata->m[i].second - pdata->m[i].first : RegEx::npos; -#ifndef BOOST_REGEX_NO_FILEITER - case re_detail::RegExData::type_pf: - return pdata->fm[i].matched ? pdata->fm[i].second - pdata->fm[i].first : RegEx::npos; -#endif - case re_detail::RegExData::type_copy: - { - std::map >::iterator pos = pdata->strings.find(i); - if(pos == pdata->strings.end()) - return RegEx::npos; - return (*pos).second.size(); - } - } - return RegEx::npos; -} - -bool RegEx::Matched(int i)const -{ - BOOST_RE_GUARD_STACK - switch(pdata->t) - { - case re_detail::RegExData::type_pc: - return pdata->m[i].matched; -#ifndef BOOST_REGEX_NO_FILEITER - case re_detail::RegExData::type_pf: - return pdata->fm[i].matched; -#endif - case re_detail::RegExData::type_copy: - { - std::map >::iterator pos = pdata->strings.find(i); - if(pos == pdata->strings.end()) - return false; - return true; - } - } - return false; -} - - -std::string RegEx::What(int i)const -{ - BOOST_RE_GUARD_STACK - std::string result; - switch(pdata->t) - { - case re_detail::RegExData::type_pc: - if(pdata->m[i].matched) - result.assign(pdata->m[i].first, pdata->m[i].second); - break; - case re_detail::RegExData::type_pf: - if(pdata->m[i].matched) - result.assign(to_string(pdata->m[i].first, pdata->m[i].second)); - break; - case re_detail::RegExData::type_copy: - { - std::map >::iterator pos = pdata->strings.find(i); - if(pos != pdata->strings.end()) - result = (*pos).second; - break; - } - } - return result; -} - -const unsigned int RegEx::npos = ~0u; - - -} // namespace boost - -#if defined(__BORLANDC__) && (__BORLANDC__ >= 0x550) && (__BORLANDC__ <= 0x551) && !defined(_RWSTD_COMPILE_INSTANTIATE) -// -// this is an ugly hack to work around an ugly problem: -// by default this file will produce unresolved externals during -// linking unless _RWSTD_COMPILE_INSTANTIATE is defined (Borland bug). -// However if _RWSTD_COMPILE_INSTANTIATE is defined then we get separate -// copies of basic_string's static data in the RTL and this DLL, this messes -// with basic_string's memory management and results in run-time crashes, -// Oh sweet joy of Catch 22.... -// -namespace std{ -template<> template<> -basic_string& -basic_string::replace(char* f1, char* f2, const char* i1, const char* i2) -{ - unsigned insert_pos = f1 - begin(); - unsigned remove_len = f2 - f1; - unsigned insert_len = i2 - i1; - unsigned org_size = size(); - if(insert_len > remove_len) - { - append(insert_len-remove_len, ' '); - std::copy_backward(begin() + insert_pos + remove_len, begin() + org_size, end()); - std::copy(i1, i2, begin() + insert_pos); - } - else - { - std::copy(begin() + insert_pos + remove_len, begin() + org_size, begin() + insert_pos + insert_len); - std::copy(i1, i2, begin() + insert_pos); - erase(size() + insert_len - remove_len); - } - return *this; -} -} -#endif - -#endif - - - - - - - - - - - - - - diff --git a/src/fileiter.cpp b/src/fileiter.cpp deleted file mode 100644 index 042e2b98..00000000 --- a/src/fileiter.cpp +++ /dev/null @@ -1,908 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: fileiter.cpp - * VERSION: see - * DESCRIPTION: Implements file io primitives + directory searching for class boost::RegEx. - */ - - -#define BOOST_REGEX_SOURCE - -#include -#include -#ifdef BOOST_REGEX_V3 -#include -#else -#include -#endif - -#ifndef BOOST_REGEX_NO_FILEITER - -#if defined(__CYGWIN__) || defined(__CYGWIN32__) -#include -#endif - -#ifdef BOOST_MSVC -# pragma warning(disable: 4800) -#endif - -namespace boost{ - namespace re_detail{ -// start with the operating system specific stuff: - -#if (defined(__BORLANDC__) || defined(BOOST_REGEX_FI_WIN32_DIR) || defined(BOOST_MSVC)) && !defined(BOOST_RE_NO_WIN32) - -// platform is DOS or Windows -// directories are separated with '\\' -// and names are insensitive of case - -const char* _fi_sep = "\\"; -const char* _fi_sep_alt = "/"; -#define BOOST_REGEX_FI_TRANSLATE(c) std::tolower(c) - -#else - -// platform is not DOS or Windows -// directories are separated with '/' -// and names are sensitive of case - -const char* _fi_sep = "/"; -const char* _fi_sep_alt = _fi_sep; -#define BOOST_REGEX_FI_TRANSLATE(c) c - -#endif - -#ifdef BOOST_REGEX_FI_WIN32_MAP - -void mapfile::open(const char* file) -{ - BOOST_RE_GUARD_STACK -#if 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); -#else - hfile = CreateFileA(file, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); -#endif - if(hfile != INVALID_HANDLE_VALUE) - { - hmap = CreateFileMapping(hfile, 0, PAGE_READONLY, 0, 0, 0); - if((hmap == INVALID_HANDLE_VALUE) || (hmap == NULL)) - { - CloseHandle(hfile); - hmap = 0; - hfile = 0; -#ifndef BOOST_NO_EXCEPTIONS - throw std::runtime_error("Unable to create file mapping."); -#else - BOOST_REGEX_NOEH_ASSERT(hmap != INVALID_HANDLE_VALUE); -#endif - } - _first = static_cast(MapViewOfFile(hmap, FILE_MAP_READ, 0, 0, 0)); - if(_first == 0) - { - CloseHandle(hmap); - CloseHandle(hfile); - hmap = 0; - hfile = 0; -#ifndef BOOST_NO_EXCEPTIONS - throw std::runtime_error("Unable to create file mapping."); -#else - BOOST_REGEX_NOEH_ASSERT(_first != 0); -#endif - } - _last = _first + GetFileSize(hfile, 0); - } - else - { - hfile = 0; -#ifndef BOOST_NO_EXCEPTIONS - throw std::runtime_error("Unable to open file."); -#else - BOOST_REGEX_NOEH_ASSERT(hfile != INVALID_HANDLE_VALUE); -#endif - } -} - -void mapfile::close() -{ - BOOST_RE_GUARD_STACK - if(hfile != INVALID_HANDLE_VALUE) - { - UnmapViewOfFile((void*)_first); - CloseHandle(hmap); - CloseHandle(hfile); - hmap = hfile = 0; - _first = _last = 0; - } -} - -#elif !defined(BOOST_RE_NO_STL) - -mapfile_iterator& mapfile_iterator::operator = (const mapfile_iterator& i) -{ - BOOST_RE_GUARD_STACK - if(file && node) - file->unlock(node); - file = i.file; - node = i.node; - offset = i.offset; - if(file) - file->lock(node); - return *this; -} - -mapfile_iterator& mapfile_iterator::operator++ () -{ - BOOST_RE_GUARD_STACK - if((++offset == mapfile::buf_size) && file) - { - ++node; - offset = 0; - file->lock(node); - file->unlock(node-1); - } - return *this; -} - -mapfile_iterator mapfile_iterator::operator++ (int) -{ - BOOST_RE_GUARD_STACK - mapfile_iterator temp(*this); - if((++offset == mapfile::buf_size) && file) - { - ++node; - offset = 0; - file->lock(node); - file->unlock(node-1); - } - return temp; -} - -mapfile_iterator& mapfile_iterator::operator-- () -{ - BOOST_RE_GUARD_STACK - if((offset == 0) && file) - { - --node; - offset = mapfile::buf_size - 1; - file->lock(node); - file->unlock(node + 1); - } - else - --offset; - return *this; -} - -mapfile_iterator mapfile_iterator::operator-- (int) -{ - BOOST_RE_GUARD_STACK - mapfile_iterator temp(*this); - if((offset == 0) && file) - { - --node; - offset = mapfile::buf_size - 1; - file->lock(node); - file->unlock(node + 1); - } - else - --offset; - return temp; -} - -mapfile_iterator operator + (const mapfile_iterator& i, long off) -{ - BOOST_RE_GUARD_STACK - mapfile_iterator temp(i); - temp += off; - return temp; -} - -mapfile_iterator operator - (const mapfile_iterator& i, long off) -{ - BOOST_RE_GUARD_STACK - mapfile_iterator temp(i); - temp -= off; - return temp; -} - -mapfile::iterator mapfile::begin()const -{ - BOOST_RE_GUARD_STACK - return mapfile_iterator(this, 0); -} - -mapfile::iterator mapfile::end()const -{ - BOOST_RE_GUARD_STACK - return mapfile_iterator(this, _size); -} - -void mapfile::lock(pointer* node)const -{ - BOOST_RE_GUARD_STACK - assert(node >= _first); - assert(node <= _last); - if(node < _last) - { - if(*node == 0) - { - if(condemed.empty()) - { - *node = new char[sizeof(int) + buf_size]; - *(reinterpret_cast(*node)) = 1; - } - else - { - pointer* p = condemed.front(); - condemed.pop_front(); - *node = *p; - *p = 0; - *(reinterpret_cast(*node)) = 1; - } - std::fseek(hfile, (node - _first) * buf_size, SEEK_SET); - if(node == _last - 1) - std::fread(*node + sizeof(int), _size % buf_size, 1, hfile); - else - std::fread(*node + sizeof(int), buf_size, 1, hfile); - } - else - { - if(*reinterpret_cast(*node) == 0) - { - *reinterpret_cast(*node) = 1; - condemed.remove(node); - } - else - ++(*reinterpret_cast(*node)); - } - } -} - -void mapfile::unlock(pointer* node)const -{ - BOOST_RE_GUARD_STACK - assert(node >= _first); - assert(node <= _last); - if(node < _last) - { - if(--(*reinterpret_cast(*node)) == 0) - { - condemed.push_back(node); - } - } -} - -long int get_file_length(std::FILE* hfile) -{ - BOOST_RE_GUARD_STACK - long int result; - std::fseek(hfile, 0, SEEK_END); - result = std::ftell(hfile); - std::fseek(hfile, 0, SEEK_SET); - return result; -} - - -void mapfile::open(const char* file) -{ - BOOST_RE_GUARD_STACK - hfile = std::fopen(file, "rb"); -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - if(hfile != 0) - { - _size = get_file_length(hfile); - long cnodes = (_size + buf_size - 1) / buf_size; - - // check that number of nodes is not too high: - if(cnodes > (long)((INT_MAX) / sizeof(pointer*))) - { - std::fclose(hfile); - hfile = 0; - _size = 0; - return; - } - - _first = new pointer[(int)cnodes]; - _last = _first + cnodes; - std::memset(_first, 0, cnodes*sizeof(pointer)); - } - else - { -#ifndef BOOST_NO_EXCEPTIONS - throw std::runtime_error("Unable to open file."); -#else - BOOST_REGEX_NOEH_ASSERT(hfile != 0); -#endif - } -#ifndef BOOST_NO_EXCEPTIONS - }catch(...) - { close(); throw; } -#endif -} - -void mapfile::close() -{ - BOOST_RE_GUARD_STACK - if(hfile != 0) - { - pointer* p = _first; - while(p != _last) - { - if(*p) - delete[] *p; - ++p; - } - delete[] _first; - _size = 0; - _first = _last = 0; - std::fclose(hfile); - hfile = 0; - condemed.erase(condemed.begin(), condemed.end()); - } -} - - -#endif - - -file_iterator::file_iterator() -{ - BOOST_RE_GUARD_STACK - _root = _path = 0; - ref = 0; -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - _root = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_root) - _path = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_path) - ptr = _path; - *_path = 0; - *_root = 0; - ref = new file_iterator_ref(); - BOOST_REGEX_NOEH_ASSERT(ref) - ref->hf = _fi_invalid_handle; - ref->count = 1; -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - delete[] _root; - delete[] _path; - delete ref; - throw; - } -#endif -} - -file_iterator::file_iterator(const char* wild) -{ - BOOST_RE_GUARD_STACK - _root = _path = 0; - ref = 0; -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - _root = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_root) - _path = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_path) - std::strcpy(_root, wild); - ptr = _root; - while(*ptr)++ptr; - while((ptr > _root) && (*ptr != *_fi_sep) && (*ptr != *_fi_sep_alt))--ptr; - #if 0 - *ptr = 0; - std::strcpy(_path, _root); - if(*_path == 0) - std::strcpy(_path, "."); - std::strcat(_path, _fi_sep); - ptr = _path + std::strlen(_path); - #else - if((ptr == _root) && ( (*ptr== *_fi_sep) || (*ptr==*_fi_sep_alt) ) ) - { - _root[1]='\0'; - std::strcpy(_path, _root); - ptr = _path + std::strlen(_path); - } - else - { - *ptr = 0; - std::strcpy(_path, _root); - if(*_path == 0) - std::strcpy(_path, "."); - std::strcat(_path, _fi_sep); - ptr = _path + std::strlen(_path); - } - #endif - - ref = new file_iterator_ref(); - BOOST_REGEX_NOEH_ASSERT(ref) - ref->hf = FindFirstFileA(wild, &(ref->_data)); - ref->count = 1; - - if(ref->hf == _fi_invalid_handle) - { - *_path = 0; - ptr = _path; - } - else - { - std::strcpy(ptr, ref->_data.cFileName); - if(ref->_data.dwFileAttributes & _fi_dir) - next(); - } -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - delete[] _root; - delete[] _path; - delete ref; - throw; - } -#endif -} - -file_iterator::file_iterator(const file_iterator& other) -{ - BOOST_RE_GUARD_STACK - _root = _path = 0; - ref = 0; -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - _root = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_root) - _path = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_path) - std::strcpy(_root, other._root); - std::strcpy(_path, other._path); - ptr = _path + (other.ptr - other._path); - ref = other.ref; -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - delete[] _root; - delete[] _path; - throw; - } -#endif - ++(ref->count); -} - -file_iterator& file_iterator::operator=(const file_iterator& other) -{ - BOOST_RE_GUARD_STACK - std::strcpy(_root, other._root); - std::strcpy(_path, other._path); - ptr = _path + (other.ptr - other._path); - if(--(ref->count) == 0) - { - if(ref->hf != _fi_invalid_handle) - FindClose(ref->hf); - delete ref; - } - ref = other.ref; - ++(ref->count); - return *this; -} - - -file_iterator::~file_iterator() -{ - BOOST_RE_GUARD_STACK - delete[] _root; - delete[] _path; - if(--(ref->count) == 0) - { - if(ref->hf != _fi_invalid_handle) - FindClose(ref->hf); - delete ref; - } -} - -file_iterator file_iterator::operator++(int) -{ - BOOST_RE_GUARD_STACK - file_iterator temp(*this); - next(); - return temp; -} - - -void file_iterator::next() -{ - BOOST_RE_GUARD_STACK - if(ref->hf != _fi_invalid_handle) - { - bool cont = true; - while(cont) - { - cont = FindNextFileA(ref->hf, &(ref->_data)); - if(cont && ((ref->_data.dwFileAttributes & _fi_dir) == 0)) - break; - } - if(!cont) - { - // end of sequence - FindClose(ref->hf); - ref->hf = _fi_invalid_handle; - *_path = 0; - ptr = _path; - } - else - std::strcpy(ptr, ref->_data.cFileName); - } -} - - - -directory_iterator::directory_iterator() -{ - BOOST_RE_GUARD_STACK - _root = _path = 0; - ref = 0; -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - _root = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_root) - _path = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_path) - ptr = _path; - *_path = 0; - *_root = 0; - ref = new file_iterator_ref(); - BOOST_REGEX_NOEH_ASSERT(ref) - ref->hf = _fi_invalid_handle; - ref->count = 1; -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - delete[] _root; - delete[] _path; - delete ref; - throw; - } -#endif -} - -directory_iterator::directory_iterator(const char* wild) -{ - BOOST_RE_GUARD_STACK - _root = _path = 0; - ref = 0; -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - _root = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_root) - _path = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_path) - std::strcpy(_root, wild); - ptr = _root; - while(*ptr)++ptr; - while((ptr > _root) && (*ptr != *_fi_sep) && (*ptr != *_fi_sep_alt))--ptr; - #if 0 - *ptr = 0; - std::strcpy(_path, _root); - if(*_path == 0) - std::strcpy(_path, "."); - std::strcat(_path, _fi_sep); - ptr = _path + std::strlen(_path); - #else - if((ptr == _root) && ( (*ptr== *_fi_sep) || (*ptr==*_fi_sep_alt) ) ) - { - _root[1]='\0'; - std::strcpy(_path, _root); - ptr = _path + std::strlen(_path); - } - else - { - *ptr = 0; - std::strcpy(_path, _root); - if(*_path == 0) - std::strcpy(_path, "."); - std::strcat(_path, _fi_sep); - ptr = _path + std::strlen(_path); - } - #endif - ref = new file_iterator_ref(); - BOOST_REGEX_NOEH_ASSERT(ref) - ref->count = 1; - ref->hf = FindFirstFileA(wild, &(ref->_data)); - if(ref->hf == _fi_invalid_handle) - { - *_path = 0; - ptr = _path; - } - else - { - std::strcpy(ptr, ref->_data.cFileName); - if(((ref->_data.dwFileAttributes & _fi_dir) == 0) || (std::strcmp(ref->_data.cFileName, ".") == 0) || (std::strcmp(ref->_data.cFileName, "..") == 0)) - next(); - } -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - delete[] _root; - delete[] _path; - delete ref; - throw; - } -#endif -} - -directory_iterator::~directory_iterator() -{ - BOOST_RE_GUARD_STACK - delete[] _root; - delete[] _path; - if(--(ref->count) == 0) - { - if(ref->hf != _fi_invalid_handle) - FindClose(ref->hf); - delete ref; - } -} - -directory_iterator::directory_iterator(const directory_iterator& other) -{ - BOOST_RE_GUARD_STACK - _root = _path = 0; - ref = 0; -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - _root = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_root) - _path = new char[MAX_PATH]; - BOOST_REGEX_NOEH_ASSERT(_path) - std::strcpy(_root, other._root); - std::strcpy(_path, other._path); - ptr = _path + (other.ptr - other._path); - ref = other.ref; -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - delete[] _root; - delete[] _path; - throw; - } -#endif - ++(ref->count); -} - -directory_iterator& directory_iterator::operator=(const directory_iterator& other) -{ - BOOST_RE_GUARD_STACK - std::strcpy(_root, other._root); - std::strcpy(_path, other._path); - ptr = _path + (other.ptr - other._path); - if(--(ref->count) == 0) - { - if(ref->hf != _fi_invalid_handle) - FindClose(ref->hf); - delete ref; - } - ref = other.ref; - ++(ref->count); - return *this; -} - -directory_iterator directory_iterator::operator++(int) -{ - BOOST_RE_GUARD_STACK - directory_iterator temp(*this); - next(); - return temp; -} - -void directory_iterator::next() -{ - BOOST_RE_GUARD_STACK - if(ref->hf != _fi_invalid_handle) - { - bool cont = true; - while(cont) - { - cont = FindNextFileA(ref->hf, &(ref->_data)); - if(cont && (ref->_data.dwFileAttributes & _fi_dir)) - { - if(std::strcmp(ref->_data.cFileName, ".") && std::strcmp(ref->_data.cFileName, "..")) - break; - } - } - if(!cont) - { - // end of sequence - FindClose(ref->hf); - ref->hf = _fi_invalid_handle; - *_path = 0; - ptr = _path; - } - else - std::strcpy(ptr, ref->_data.cFileName); - } -} - - -#ifdef BOOST_REGEX_FI_POSIX_DIR - -struct _fi_priv_data -{ - char root[MAX_PATH]; - char* mask; - DIR* d; - _fi_priv_data(const char* p); -}; - -_fi_priv_data::_fi_priv_data(const char* p) -{ - BOOST_RE_GUARD_STACK - std::strcpy(root, p); - mask = root; - while(*mask) ++mask; - while((mask > root) && (*mask != *_fi_sep) && (*mask != *_fi_sep_alt)) --mask; - if(mask == root && ((*mask== *_fi_sep) || (*mask == *_fi_sep_alt)) ) - { - root[1] = '\0'; - std::strcpy(root+2, p+1); - mask = root+2; - } - else if(mask == root) - { - root[0] = '.'; - root[1] = '\0'; - std::strcpy(root+2, p); - mask = root+2; - } - else - { - *mask = 0; - ++mask; - } -} - -bool iswild(const char* mask, const char* name) -{ - BOOST_RE_GUARD_STACK - while(*mask && *name) - { - switch(*mask) - { - case '?': - ++name; - ++mask; - continue; - case '*': - ++mask; - if(*mask == 0) - return true; - while(*name) - { - if(iswild(mask, name)) - return true; - ++name; - } - return false; - case '.': - if(0 == *name) - { - ++mask; - continue; - } - // fall through: - default: - if(BOOST_REGEX_FI_TRANSLATE(*mask) != BOOST_REGEX_FI_TRANSLATE(*name)) - return false; - ++mask; - ++name; - continue; - } - } - if(*mask != *name) - return false; - return true; -} - -unsigned _fi_attributes(const char* root, const char* name) -{ - BOOST_RE_GUARD_STACK - char buf[MAX_PATH]; - if( ( (root[0] == *_fi_sep) || (root[0] == *_fi_sep_alt) ) && (root[1] == '\0') ) - std::sprintf(buf, "%s%s", root, name); - else - std::sprintf(buf, "%s%s%s", root, _fi_sep, name); - DIR* d = opendir(buf); - if(d) - { - closedir(d); - return _fi_dir; - } - return 0; -} - -_fi_find_handle _fi_FindFirstFile(const char* lpFileName, _fi_find_data* lpFindFileData) -{ - BOOST_RE_GUARD_STACK - _fi_find_handle dat = new _fi_priv_data(lpFileName); - - DIR* h = opendir(dat->root); - dat->d = h; - if(h != 0) - { - if(_fi_FindNextFile(dat, lpFindFileData)) - return dat; - } - delete dat; - return 0; -} - -bool _fi_FindNextFile(_fi_find_handle dat, _fi_find_data* lpFindFileData) -{ - BOOST_RE_GUARD_STACK - dirent* d; - do - { - d = readdir(dat->d); - } while(d && !iswild(dat->mask, d->d_name)); - - if(d) - { - std::strcpy(lpFindFileData->cFileName, d->d_name); - lpFindFileData->dwFileAttributes = _fi_attributes(dat->root, d->d_name); - return true; - } - return false; -} - -bool _fi_FindClose(_fi_find_handle dat) -{ - BOOST_RE_GUARD_STACK - closedir(dat->d); - delete dat; - return true; -} - -#endif - -} // namespace re_detail -} // namspace boost - -#endif // BOOST_REGEX_NO_FILEITER - - - - - - - - - - - diff --git a/src/instances.cpp b/src/instances.cpp deleted file mode 100644 index afaef373..00000000 --- a/src/instances.cpp +++ /dev/null @@ -1,36 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: instances.cpp - * VERSION: see - * DESCRIPTION: regex narrow character template instances. - */ - -#define BOOST_REGEX_SOURCE - -#include - -#if !defined(BOOST_REGEX_NO_EXTERNAL_TEMPLATES) -#define BOOST_REGEX_NARROW_INSTANTIATE - -#ifdef __BORLANDC__ -#pragma hrdstop -#endif - -#include - -#endif diff --git a/src/posix_api.cpp b/src/posix_api.cpp deleted file mode 100644 index 4c2025c2..00000000 --- a/src/posix_api.cpp +++ /dev/null @@ -1,244 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: posix_api.cpp - * VERSION: see - * DESCRIPTION: Implements the Posix API wrappers. - */ - -#define BOOST_REGEX_SOURCE - -#include -#include - -namespace boost{ - -namespace{ - -unsigned int magic_value = 25631; - -const char* names[] = {"REG_NOERROR", "REG_NOMATCH", "REG_BADPAT", "REG_ECOLLATE", - "REG_ECTYPE", "REG_EESCAPE", "REG_ESUBREG", "REG_EBRACK", - "REG_EPAREN", "REG_EBRACE", "REG_BADBR", "REG_ERANGE", - "REG_ESPACE", "REG_BADRPT", "REG_EMPTY", "REG_E_UNKNOWN"}; -} // namespace - -BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA* expression, const char* ptr, int f) -{ - BOOST_RE_GUARD_STACK - if(expression->re_magic != magic_value) - { - expression->guts = 0; -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - expression->guts = new regex(); -#ifndef BOOST_NO_EXCEPTIONS - } catch(...) - { - return REG_ESPACE; - } -#else - if(0 == expression->guts) - return REG_E_MEMORY; -#endif - } - // set default flags: - boost::uint_fast32_t flags = (f & REG_EXTENDED) ? regex::extended : regex::basic; - expression->eflags = (f & REG_NEWLINE) ? match_not_dot_newline : match_default; - // and translate those that are actually set: - - if(f & REG_NOCOLLATE) - { - flags |= regex::nocollate; - flags &= ~regex::collate; - } - - if(f & REG_NOSUB) - expression->eflags |= match_any; - - if(f & REG_NOSPEC) - flags |= regex::literal; - if(f & REG_ICASE) - flags |= regex::icase; - if(f & REG_ESCAPE_IN_LISTS) - flags |= regex::escape_in_lists; - if(f & REG_NEWLINE_ALT) - flags |= regex::newline_alt; -#ifndef BOOST_REGEX_V3 - if(f & REG_PERLEX) - flags |= regex::perlex; -#endif - - const char* p2; - if(f & REG_PEND) - p2 = expression->re_endp; - else p2 = ptr + std::strlen(ptr); - - int result; - -#ifndef BOOST_NO_EXCEPTIONS - 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(); -#ifndef BOOST_NO_EXCEPTIONS - } catch(...) - { - result = REG_E_UNKNOWN; - } -#endif - if(result) - regfreeA(expression); - return result; - -} - -BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int code, const regex_tA* e, char* buf, regsize_t buf_size) -{ - BOOST_RE_GUARD_STACK - std::size_t result = 0; - if(code & REG_ITOA) - { - code &= ~REG_ITOA; - if(code <= REG_E_UNKNOWN) - { - result = std::strlen(names[code]) + 1; - if(buf_size >= result) - std::strcpy(buf, names[code]); - return result; - } - return result; - } - if(code == REG_ATOI) - { - char localbuf[5]; - if(e == 0) - return 0; - for(int i = 0; i <= REG_E_UNKNOWN; ++i) - { - if(std::strcmp(e->re_endp, names[i]) == 0) - { - std::sprintf(localbuf, "%d", i); - if(std::strlen(localbuf) < buf_size) - std::strcpy(buf, localbuf); - return std::strlen(localbuf) + 1; - } - } - std::sprintf(localbuf, "%d", 0); - if(std::strlen(localbuf) < buf_size) - std::strcpy(buf, localbuf); - return std::strlen(localbuf) + 1; - } - if(code <= REG_E_UNKNOWN) - { - std::string p; - if((e) && (e->re_magic == magic_value)) - p = static_cast(e->guts)->get_traits().error_string(code); - else - { - boost::regex_traits t; - p = t.error_string(code); - } - std::size_t len = p.size(); - if(len < buf_size) - { - std::strcpy(buf, p.c_str()); - } - return len + 1; - } - if(buf_size) - *buf = 0; - return 0; -} - -BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecA(const regex_tA* expression, const char* buf, regsize_t n, regmatch_t* array, int eflags) -{ - BOOST_RE_GUARD_STACK - bool result = false; - match_flag_type flags = match_default | expression->eflags; - const char* end; - const char* start; - cmatch m; - - if(eflags & REG_NOTBOL) - flags |= match_not_bol; - if(eflags & REG_NOTEOL) - flags |= match_not_eol; - if(eflags & REG_STARTEND) - { - start = buf + array[0].rm_so; - end = buf + array[0].rm_eo; - } - else - { - start = buf; - end = buf + std::strlen(buf); - } - -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - if(expression->re_magic == magic_value) - { - result = regex_search(start, end, m, *static_cast(expression->guts), flags); - } - else - return result; -#ifndef BOOST_NO_EXCEPTIONS - } catch(...) - { - return REG_E_UNKNOWN; - } -#endif - - if(result) - { - // extract what matched: - unsigned int i; - for(i = 0; (i < n) && (i < expression->re_nsub + 1); ++i) - { - array[i].rm_so = (m[i].matched == false) ? -1 : (m[i].first - buf); - array[i].rm_eo = (m[i].matched == false) ? -1 : (m[i].second - buf); - } - // and set anything else to -1: - for(i = expression->re_nsub + 1; i < n; ++i) - { - array[i].rm_so = -1; - array[i].rm_eo = -1; - } - return 0; - } - return REG_NOMATCH; -} - -BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeA(regex_tA* expression) -{ - BOOST_RE_GUARD_STACK - if(expression->re_magic == magic_value) - { - delete static_cast(expression->guts); - } - expression->re_magic = 0; -} - -} // namespace boost - - - diff --git a/src/primary_transform.hpp b/src/primary_transform.hpp deleted file mode 100644 index 32d9c8a5..00000000 --- a/src/primary_transform.hpp +++ /dev/null @@ -1,120 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: primary_transform.hpp - * VERSION: see - * DESCRIPTION: Heuristically determines the sort string format in use - * by the current locale. - */ - -namespace boost{ - namespace re_detail{ - - -enum{ - sort_C, - sort_fixed, - sort_delim, - sort_unknown -}; - -template -unsigned count_chars(const S& s, charT c) -{ - unsigned int count = 0; - for(unsigned pos = 0; pos < s.size(); ++pos) - { - if(s[pos] == c) ++count; - } - return count; -} - - -template -unsigned find_sort_syntax(const traits* pt, charT* delim) -{ - // - // compare 'a' with 'A' to see how similar they are, - // should really use a-accute but we can't portably do that, - // - typedef typename traits::string_type string_type; - typedef typename traits::char_type char_type; - - // Suppress incorrect warning for MSVC - (void)pt; - - string_type a(1, (char_type)'a'); - string_type sa; - pt->transform(sa, a); - if(sa == a) - { - *delim = 0; - return sort_C; - } - string_type A(1, (char_type)'A'); - string_type sA; - pt->transform(sA, A); - string_type c(1, (char_type)';'); - string_type sc; - pt->transform(sc, c); - - int pos = 0; - while((pos <= static_cast(sa.size())) && (pos <= static_cast(sA.size())) && (sa[pos] == sA[pos])) ++pos; - --pos; - if(pos < 0) - { - *delim = 0; - return sort_unknown; - } - // - // at this point sa[pos] is either the end of a fixed with field - // or the character that acts as a delimiter: - // - charT maybe_delim = sa[pos]; - if((pos != 0) && (count_chars(sa, maybe_delim) == count_chars(sA, maybe_delim)) && (count_chars(sa, maybe_delim) == count_chars(c, maybe_delim))) - { - *delim = maybe_delim; - return sort_delim; - } - // - // OK doen't look like a delimiter, try for fixed width field: - // - if((sa.size() == sA.size()) && (sa.size() == c.size())) - { - // note assumes that the fixed width field is less than - // numeric_limits::max(), should be true for all types - // I can't imagine 127 character fields... - *delim = static_cast(++pos); - return sort_fixed; - } - // - // don't know what it is: - // - *delim = 0; - return sort_unknown; -} - - - } // namespace re_detail -} // namespace boost - - - - - - - diff --git a/src/regex.cpp b/src/regex.cpp deleted file mode 100644 index 34d45b8a..00000000 --- a/src/regex.cpp +++ /dev/null @@ -1,130 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: regex.cpp - * VERSION: see - * DESCRIPTION: Misc boost::regbase member funnctions. - */ - - -#define BOOST_REGEX_SOURCE - -#include -#include -#include - -#if defined(BOOST_REGEX_HAS_MS_STACK_GUARD) && defined(_MSC_VER) && (_MSC_VER >= 1300) -# include -#endif - -namespace boost{ - -// -// fix: these are declared out of line here to ensure -// that dll builds contain the Virtual table for these -// types - this ensures that exceptions can be thrown -// from the dll and caught in an exe. -bad_pattern::~bad_pattern() throw() {} -bad_expression::~bad_expression() throw() {} - -regbase::regbase() - : _flags(regbase::failbit){} - -regbase::regbase(const regbase& b) - : _flags(b._flags){} - - -namespace re_detail{ - -#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD - -BOOST_REGEX_DECL void BOOST_REGEX_CALL reset_stack_guard_page() -{ -#if defined(BOOST_REGEX_HAS_MS_STACK_GUARD) && defined(_MSC_VER) && (_MSC_VER >= 1300) - _resetstkoflw(); -#else - // - // We need to locate the current page being used by the stack, - // move to the page below it and then deallocate and protect - // that page. Note that ideally we would protect only the lowest - // stack page that has been allocated: in practice there - // seems to be no easy way to locate this page, in any case as - // long as the next page is protected, then Windows will figure - // the rest out for us... - // - SYSTEM_INFO si; - GetSystemInfo(&si); - MEMORY_BASIC_INFORMATION mi; - DWORD previous_protection_status; - // - // this is an address in our stack space: - // - LPBYTE page = (LPBYTE)&page; - // - // Get the current memory page in use: - // - VirtualQuery(page, &mi, sizeof(mi)); - // - // Go to the page one below this: - // - page = (LPBYTE)(mi.BaseAddress)-si.dwPageSize; - // - // Free and protect everything from the start of the - // allocation range, to the end of the page below the - // one in use: - // - if (!VirtualFree(mi.AllocationBase, (LPBYTE)page - (LPBYTE)mi.AllocationBase, MEM_DECOMMIT) - || !VirtualProtect(page, si.dwPageSize, PAGE_GUARD | PAGE_READWRITE, &previous_protection_status)) - { - throw std::bad_exception(); - } -#endif -} -#endif - -BOOST_REGEX_DECL void BOOST_REGEX_CALL raise_regex_exception(const std::string& msg) -{ - bad_expression e(msg); - throw_exception(e); -} - -#if defined(BOOST_REGEX_NON_RECURSIVE) && !defined(BOOST_REGEX_V3) - -mem_block_cache block_cache = { 0, }; - -#endif - -} // namespace re_detail - - - -} // namespace boost - -#if defined(BOOST_RE_USE_VCL) && defined(BOOST_REGEX_BUILD_DLL) - -int WINAPI DllEntryPoint(HINSTANCE , unsigned long , void*) -{ - return 1; -} -#endif - - - - - - - diff --git a/src/regex_debug.cpp b/src/regex_debug.cpp deleted file mode 100644 index d9439098..00000000 --- a/src/regex_debug.cpp +++ /dev/null @@ -1,224 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: regex_debug.cpp - * VERSION: see - * DESCRIPTION: Misc. debugging helpers. - */ - - -#define BOOST_REGEX_SOURCE - -#include - -#ifdef BOOST_REGEX_DEBUG - -#ifdef BOOST_MSVC -#include -#endif - -#ifdef BOOST_REGEX_V3 -#include -#else -#include -#endif -#include - -#ifndef BOOST_RE_OLD_IOSTREAM -#include -#else -#include -#endif - -namespace boost { namespace re_detail { -std::ostream& operator<<(std::ostream& s, syntax_element_type x) -{ - return s << static_cast(x); -} -}} // namespace boost::re_detail - - -namespace { - -char b1[32] = {0,}; -char guard_pattern[32] -= { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, -16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, }; -char b2[32] = {0,}; - -static const int guard_size = 32; - -bool check_pattern(void* p) -{ - return p ? memcmp(p, guard_pattern, guard_size) : 0; -} - -inline unsigned maxi(unsigned i, unsigned j) -{ - return i < j ? j : i; -} - -unsigned int allocated = 0; - -struct init -{ - init(); - ~init(); -}; - -init::init() -{ -#ifdef BOOST_MSVC - _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_DELAY_FREE_MEM_DF|_CRTDBG_LEAK_CHECK_DF); -#endif -} - -init::~init() -{ -} - - -init i; - -void* get_mem(size_t n) -{ - ++allocated; - char* p = (char*)malloc(n + guard_size * 2 + maxi(sizeof(int) + sizeof(void*), boost::re_detail::padding_size) + boost::re_detail::padding_size); - char* base = p; - p = (char*)((std::ptrdiff_t)(p + boost::re_detail::padding_mask) & ~boost::re_detail::padding_mask); - std::memcpy(p + maxi(sizeof(int) + sizeof(void*), boost::re_detail::padding_size), guard_pattern, guard_size); - std::memcpy(p + maxi(sizeof(int) + sizeof(void*), boost::re_detail::padding_size) + guard_size + n, guard_pattern, guard_size); - *(int*)p = n; - *(void**)(p + sizeof(int)) = base; - return p + guard_size + maxi(sizeof(int) + sizeof(void*), boost::re_detail::padding_size); -} - -void free_mem(void* b) -{ - if(b) - { - char* p = (char*)b; - p -= (guard_size + maxi(sizeof(int) + sizeof(void*), boost::re_detail::padding_size)); - if(check_pattern(p + maxi(sizeof(int) + sizeof(void*), boost::re_detail::padding_size)) || check_pattern(p + maxi(sizeof(int) + sizeof(void*), boost::re_detail::padding_size) + guard_size + *(int*)p)) - { - cerr << "Error: freed memory has been written past end..." << endl; - } - free(*(void**)(p + sizeof(int))); - --allocated; - } -} - -} // namespace - -void* operator new(size_t n) -{ - return get_mem(n); -} - -void* operator new[](size_t n) -{ - return get_mem(n); -} - -void operator delete(void* p) -{ - free_mem(p); -} - -void operator delete[](void* p) -{ - free_mem(p); -} - -#include - -namespace boost{ - namespace re_detail{ - -std::set >* patterns = 0; - -int pattern_count = 0; - -void check_patterns(const char* f, int l) -{ - if(pattern_count) - { - std::set >::iterator i, j; - i = patterns->begin(); - j = patterns->end(); - while(i != j) - { - if(check_pattern((void*)(*i)->g1) || check_pattern((*i)->g2) || check_pattern((void*)(*i)->pc) || check_pattern((*i)->pnc)) - { - cerr << "Error: static memory corruption at " << hex << *i << dec << " in " << (*i)->file << "@" << (*i)->line << " called from " << f << "@" << l << endl; - } - ++i; - } - } -} - -debug_guard::debug_guard(const char* f, int l, const char* p1, char* p2) -{ - if(++pattern_count == 1) - patterns = new std::set >; - file = f; - line = l; - std::memcpy(g1, guard_pattern, guard_size); - std::memcpy(g2, guard_pattern, guard_size); - if(p1) - { - pc = p1; - } - else - pc = 0; - if(p2) - { - pnc = p2; - std::memcpy(pnc, guard_pattern, guard_size); - } - else - pnc = 0; - patterns->insert(this); -} - -debug_guard::~debug_guard() -{ - check_patterns(file, line); - if(check_pattern(g1) || check_pattern(g2)) - { - cerr << "Error: memory corruption " << file << "@" << line << endl; - } - patterns->erase(this); - if(--pattern_count == 0) - { - delete patterns; - patterns = 0; - } -} - - } // namespace re_detail - -} // namespace boost - - - -#endif - - - - - diff --git a/src/regex_synch.cpp b/src/regex_synch.cpp deleted file mode 100644 index 93300cf5..00000000 --- a/src/regex_synch.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: regex_synch.cpp - * VERSION: see - * DESCRIPTION: Thread synch helper functions, for regular - * expression library. - */ - - -#define BOOST_REGEX_SOURCE - -#include -#ifdef BOOST_REGEX_V3 -#include -#else -#include -#endif - -namespace boost{ - namespace re_detail{ - -void BOOST_REGEX_CALL re_init_threads() -{ - BOOST_RE_GUARD_STACK -#ifdef BOOST_HAS_THREADS - if(p_re_lock == 0) - p_re_lock = new critical_section(); - cs_guard g(*p_re_lock); - ++re_lock_count; -#endif -} - -void BOOST_REGEX_CALL re_free_threads() -{ - BOOST_RE_GUARD_STACK -#ifdef BOOST_HAS_THREADS - cs_guard g(*p_re_lock); - --re_lock_count; - if(re_lock_count == 0) - { - g.acquire(false); - delete p_re_lock; - p_re_lock = 0; - } -#endif -} - -#ifdef BOOST_HAS_THREADS - -BOOST_REGEX_DECL critical_section* p_re_lock = 0; - -BOOST_REGEX_DECL unsigned int re_lock_count = 0; - -#endif - - } // namespace re_detail -} // namespace boost - - - - - diff --git a/src/w32_regex_traits.cpp b/src/w32_regex_traits.cpp deleted file mode 100644 index bcd888d1..00000000 --- a/src/w32_regex_traits.cpp +++ /dev/null @@ -1,1110 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: w32_regex_traits.cpp - * VERSION: see - * DESCRIPTION: Implements the w32_regex_traits traits class - */ - -#define BOOST_REGEX_SOURCE - -#include -#include -#include -#include -#include -#include -#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32) -#include -#ifdef BOOST_REGEX_V3 -#include -#include -#else -#include -#include -#endif -#include - - -// -// VC6 needs to link to user32.lib, as do all compilers that -// claim to be VC6/7 compatible: -// -#if defined(_MSC_VER) && !defined(__BORLANDC__) -#pragma comment(lib, "user32.lib") -#endif - -namespace{ - -// -// character classes: - -boost::uint_fast32_t re_char_class_id[] = { - boost::re_detail::w32_traits_base::char_class_alnum, - boost::re_detail::w32_traits_base::char_class_alpha, - boost::re_detail::w32_traits_base::char_class_cntrl, - boost::re_detail::w32_traits_base::char_class_digit, - boost::re_detail::w32_traits_base::char_class_graph, - boost::re_detail::w32_traits_base::char_class_lower, - boost::re_detail::w32_traits_base::char_class_print, - boost::re_detail::w32_traits_base::char_class_punct, - boost::re_detail::w32_traits_base::char_class_space, - boost::re_detail::w32_traits_base::char_class_upper, - boost::re_detail::w32_traits_base::char_class_xdigit, - boost::re_detail::w32_traits_base::char_class_blank, - boost::re_detail::w32_traits_base::char_class_word, - boost::re_detail::w32_traits_base::char_class_unicode, -}; - -const char* re_char_class_names[] = { -"alnum", -"alpha", -"cntrl", -"digit", -"graph", -"lower", -"print", -"punct", -"space", -"upper", -"xdigit", -"blank", -"word", -"unicode", -}; - -std::string* pclasses = 0; -const unsigned int re_classes_max = 14; - -// -// collate names: - -struct collate_name_t -{ - std::string name; - std::string value; - collate_name_t(){} - collate_name_t(const char* p1, const char* p2, const char* p3, const char* p4) - : name(p1, p2), value(p3, p4) {} -}; - -std::list* pcoll_names = 0; - -// -// message handling: -#ifndef BOOST_RE_MESSAGE_BASE -#define BOOST_RE_MESSAGE_BASE 0 -#endif - -HINSTANCE hresmod = 0; - -BOOST_REGEX_DECL char* re_custom_error_messages[] = { - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -}; - -char re_zero; -char re_ten; - -unsigned int entry_count = 0; -bool is_init = false; - -enum syntax_map_size -{ - map_size = UCHAR_MAX + 1 -}; - -#ifndef BOOST_NO_WREGEX - -BOOST_REGEX_DECL wchar_t re_zero_w; -BOOST_REGEX_DECL wchar_t re_ten_w; - -bool isPlatformNT = false; - -struct syntax_map_t -{ - wchar_t c; - unsigned int type; -}; - -std::list* syntax; - -#endif - -std::size_t BOOST_REGEX_CALL _re_get_message(char* buf, std::size_t len, unsigned id); - -std::size_t BOOST_REGEX_CALL get_message(wchar_t* buf, std::size_t len, unsigned id) -{ - std::size_t size = _re_get_message(static_cast(0), 0, id); - if(len < size) - return size; - boost::scoped_array cb(new char[size]); - _re_get_message(cb.get(), size, id); - size = boost::w32_regex_traits::strwiden(buf, len, cb.get()); - return size; -} - -inline std::size_t BOOST_REGEX_CALL get_message(char* buf, std::size_t len, unsigned id) -{ - return _re_get_message(buf, len, id); -} - -std::size_t BOOST_REGEX_CALL _re_get_message(char* buf, std::size_t len, unsigned id) -{ - BOOST_RE_GUARD_STACK - // get the customised message if any: - if(len < 255) - return 255; - std::size_t size = 0; - if(hresmod) - size = LoadStringA(hresmod, BOOST_RE_MESSAGE_BASE + id, buf, 255); - if(size) - return size; - - // - // now get the default message if any: - return boost::re_detail::re_get_default_message(buf, len, id); -} - -const char* BOOST_REGEX_CALL re_get_error_str(unsigned int id) -{ - BOOST_RE_GUARD_STACK -#ifdef BOOST_HAS_THREADS - boost::re_detail::cs_guard g(*boost::re_detail::p_re_lock); -#endif - if(re_custom_error_messages[id] == 0) - { - char buf[256]; - _re_get_message(buf, 256, id + 200); - if(*buf) - { - re_custom_error_messages[id] = boost::re_detail::re_strdup(buf); - return re_custom_error_messages[id]; - } - return boost::re_detail::re_default_error_messages[id]; - } - return re_custom_error_messages[id]; -} - -} // namespace - -namespace boost{ - -namespace re_detail{ - -char w32_traits_base::regex_message_catalogue[BOOST_REGEX_MAX_PATH] = {0}; - -void BOOST_REGEX_CALL w32_traits_base::do_init() -{ - BOOST_RE_GUARD_STACK - if(is_init == 0) - { - // - // update the messages first: - is_init = true; - if(*regex_message_catalogue) - { - hresmod = LoadLibraryA(regex_message_catalogue); -#ifndef BOOST_NO_EXCEPTIONS - if(hresmod == NULL) - { - std::string s("Unable to open dll: "); - throw std::runtime_error(s + regex_message_catalogue); - } -#else - BOOST_REGEX_NOEH_ASSERT(hresmod != NULL); -#endif - } - unsigned int i; - for(i = 0; i < REG_E_UNKNOWN; ++i) - { - if(re_custom_error_messages[i]) - { - re_detail::re_strfree(re_custom_error_messages[i]); - re_custom_error_messages[i] = 0; - } - } -#ifndef BOOST_NO_WREGEX - // - // wide character strings: - syntax = new std::list(); - OSVERSIONINFO VersionInformation = {0}; - VersionInformation.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&VersionInformation); - if(VersionInformation.dwPlatformId == VER_PLATFORM_WIN32_NT) - isPlatformNT = true; -#endif - // - // now the character classes: - pclasses = new std::string[re_classes_max]; - char buf[map_size+2]; - for(i = 0; i < re_classes_max; ++i) - { - get_message(buf, 256, i+300); - pclasses[i] = buf; - } - // start by updating the syntax map: - std::memset(syntax_map, syntax_char, map_size); - for(i = 1; i < syntax_max; ++i) - { - char* ptr = buf; - get_message(buf, map_size, i+100); - for(; *ptr; ++ptr) - { - syntax_map[(unsigned char)*ptr] = (unsigned char)i; - } - } - - // now update the character class map, - // and lower case map: - for(i = 0; i < map_size; ++i) - { - buf[i] = (char)i; - } - buf[map_size] = (char)0; - GetStringTypeA(GetUserDefaultLCID(), CT_CTYPE1, buf, map_size, class_map); - for(i = 0; i < map_size; ++i) - { - class_map[i] &= char_class_win; - } - class_map['_'] |= char_class_underscore; - LCMapStringA(GetUserDefaultLCID(), LCMAP_LOWERCASE, buf, map_size, lower_case_map, map_size); - // - // update our collating elements: - pcoll_names = new std::list(); - i = 400; - get_message(buf, 256, i); - while(*buf) - { - char* p1, *p2, *p3, *p4;; - p1 = buf; - while(*p1 && isspace(*p1))++p1; - p2 = p1; - while(*p2 && !isspace(*p2))++p2; - p3 = p2; - while(*p3 && isspace(*p3))++p3; - p4 = p3; - while(*p4 && !isspace(*p4))++p4; - pcoll_names->push_back(collate_name_t(p1, p2, p3, p4)); - ++i; - get_message(buf, 256, i); - } - std::string s; - const char* p = "zero"; - if(w32_regex_traits::lookup_collatename(s, p, p+4)) - { - jm_assert(s.size() == 1); - re_zero = *s.c_str(); - } - else - re_zero = '0'; - - p = "ten"; - if(w32_regex_traits::lookup_collatename(s, p, p+3)) - { - jm_assert(s.size() == 1); - re_ten = *s.c_str(); - } - else - re_ten = 'a'; -#ifndef BOOST_NO_WREGEX - // - // wide string data: - std::basic_string ws; - const wchar_t* wp = L"zero"; - if(w32_regex_traits::lookup_collatename(ws, wp, wp+4)) - { - jm_assert(ws.size() == 1); - re_zero_w = *ws.c_str(); - } - else - re_zero_w = L'0'; - - wp = L"ten"; - if(w32_regex_traits::lookup_collatename(ws, wp, wp+3)) - { - jm_assert(ws.size() == 1); - re_ten_w = *ws.c_str(); - } - else - re_ten_w = L'a'; - - wchar_t wbuf[256]; - syntax_map_t sm; - syntax->clear(); - for(i = 1; i < syntax_max; ++i) - { - wchar_t* ptr = wbuf; - get_message(wbuf, 256, i+100); - for(; *ptr; ++ptr) - { - sm.c = *ptr; - sm.type = i; - syntax->push_back(sm); - } - } -#endif // BOOST_NO_WREGEX - } -} - -void BOOST_REGEX_CALL w32_traits_base::do_free() -{ - BOOST_RE_GUARD_STACK - delete[] pclasses; - pclasses = 0; - delete pcoll_names; - pcoll_names = 0; -#ifndef BOOST_NO_WREGEX - delete syntax; - syntax = 0; -#endif - if(hresmod) - { - FreeLibrary(hresmod); - hresmod = 0; - } - for(int i = 0; i < REG_E_UNKNOWN; ++i) - { - if(re_custom_error_messages[i]) - { - re_detail::re_strfree(re_custom_error_messages[i]); - re_custom_error_messages[i] = 0; - } - } - is_init = false; -} - -std::string BOOST_REGEX_CALL w32_traits_base::error_string(unsigned id) -{ - return re_get_error_str(id); -} - -boost::uint_fast32_t BOOST_REGEX_CALL w32_traits_base::do_lookup_class(const char* p) -{ - BOOST_RE_GUARD_STACK - unsigned int i; - for(i = 0; i < re_classes_max; ++i) - { - if(pclasses[i] == p) - { - return re_char_class_id[i]; - } - } - for(i = 0; i < re_classes_max; ++i) - { - if(std::strcmp(re_char_class_names[i], p) == 0) - { - return re_char_class_id[i]; - } - } - return 0; -} - -bool BOOST_REGEX_CALL w32_traits_base::do_lookup_collate(std::string& buf, const char* p) -{ - BOOST_RE_GUARD_STACK - std::list::iterator first, last; - first = pcoll_names->begin(); - last = pcoll_names->end(); - while(first != last) - { - if((*first).name == p) - { - buf = (*first).value; - return true; - } - ++first; - } - - bool result = re_detail::re_lookup_def_collate_name(buf, p); - if((result == 0) && (std::strlen(p) == 1)) - { - result = true; - buf = *p; - } - return result; -} - -std::string BOOST_REGEX_CALL w32_traits_base::set_message_catalogue(const std::string& l) -{ - BOOST_RE_GUARD_STACK - #ifdef BOOST_HAS_THREADS - re_detail::cs_guard g(*re_detail::p_re_lock); - #endif - if(sizeof(regex_message_catalogue) <= l.size()) - return l; - std::string old(regex_message_catalogue); - std::strcpy(regex_message_catalogue, l.c_str()); - return old; -} - -unsigned char w32_traits_base::syntax_map[map_size]; -unsigned short w32_traits_base::class_map[map_size]; -char w32_traits_base::lower_case_map[map_size]; - -} // namespace re_detail - -w32_regex_traits w32_regex_traits::i; - -void BOOST_REGEX_CALL w32_regex_traits::update() -{ - BOOST_RE_GUARD_STACK - #ifdef BOOST_HAS_THREADS - re_detail::cs_guard g(*re_detail::p_re_lock); - #endif - do_init(); -} - -w32_regex_traits::w32_regex_traits() -{ - BOOST_RE_GUARD_STACK - #ifdef BOOST_HAS_THREADS - re_detail::re_init_threads(); - re_detail::cs_guard g(*re_detail::p_re_lock); - #endif - ++entry_count; -} - -w32_regex_traits::~w32_regex_traits() -{ - BOOST_RE_GUARD_STACK -#ifdef BOOST_HAS_THREADS - re_detail::cs_guard g(*re_detail::p_re_lock); -#endif - // add reference to static member here to ensure - // that the linker includes it in the .exe: - if((--entry_count == 0) && (0 != &w32_regex_traits::i) && is_init) - do_free(); -#ifdef BOOST_HAS_THREADS - g.acquire(false); - re_detail::re_free_threads(); -#endif -} - -void BOOST_REGEX_CALL w32_regex_traits::transform(std::string& out, const std::string& in) -{ - BOOST_RE_GUARD_STACK - size_t n = LCMapStringA(GetUserDefaultLCID(), LCMAP_SORTKEY, in.c_str(), -1, 0, 0); - if(n == (size_t)(-1)) - { - out = in; - return; - } - scoped_array buf(new char[n+1]); - n = LCMapStringA(GetUserDefaultLCID(), LCMAP_SORTKEY, in.c_str(), -1, buf.get(), (int)n); - if(n == (size_t)(-1)) - { - out = in; - return; - } - out = buf.get(); -} - -void BOOST_REGEX_CALL w32_regex_traits::transform_primary(std::string& out, const std::string& in) -{ - transform(out, in); - for(unsigned int i = 0; i < out.size(); ++i) - { - if((out[i] == 1) && (i+1 < out.size())) - { - out.erase(i+1); - break; - } - } -} - - -int BOOST_REGEX_CALL w32_regex_traits::toi(char c) -{ - if(is_class(c, char_class_digit)) - return c - re_zero; - if(is_class(c, char_class_xdigit)) - return 10 + translate(c, true) - translate(re_ten, true); - return -1; // error!! -} - -int BOOST_REGEX_CALL w32_regex_traits::toi(const char*& first, const char* last, int radix) -{ - unsigned int maxval; - if(radix < 0) - { - // if radix is less than zero, then restrict - // return value to charT. NB assumes sizeof(charT) <= sizeof(int) - radix *= -1; - maxval = 1 << (sizeof(*first) * CHAR_BIT - 1); - maxval /= radix; - maxval *= 2; - maxval -= 1; - } - else - { - maxval = (unsigned int)-1; - maxval /= radix; - } - - unsigned int result = 0; - unsigned int type = (radix > 10) ? char_class_xdigit : char_class_digit; - while((first != last) && is_class(*first, type) && (result <= maxval)) - { - result *= radix; - result += toi(*first); - ++first; - } - return result; -} - -#ifndef BOOST_NO_WREGEX - -bool BOOST_REGEX_CALL w32_regex_traits::lookup_collatename(std::basic_string& out, const wchar_t* first, const wchar_t* last) -{ - BOOST_RE_GUARD_STACK - std::basic_string s(first, last); - std::size_t len = strnarrow(static_cast(0), 0, s.c_str()); - scoped_array buf(new char[len]); - strnarrow(buf.get(), len, s.c_str()); - std::string t_out; - bool result = base_type::do_lookup_collate(t_out, buf.get()); - if(t_out.size() == 0) result = false; - if(result) - { - if(t_out[0]) - { - len = strwiden(static_cast(0), 0, t_out.c_str()); - scoped_array wb(new wchar_t[len]); - strwiden(wb.get(), len, t_out.c_str()); - out = wb.get(); - } - else - out.append(1,(wchar_t)0); - } - return result; -} - -unsigned int BOOST_REGEX_CALL w32_regex_traits::syntax_type(size_type c) -{ - BOOST_RE_GUARD_STACK - std::list::const_iterator first, last; - first = syntax->begin(); - last = syntax->end(); - while(first != last) - { - if((size_type)(uchar_type)((*first).c) == c) - return (*first).type; - ++first; - } - return 0; -} - -bool BOOST_REGEX_CALL w32_regex_traits::do_lookup_collate(std::basic_string& out, const wchar_t* first, const wchar_t* last) -{ - BOOST_RE_GUARD_STACK - std::basic_string s(first, last); - std::size_t len = strnarrow(static_cast(0), 0, s.c_str()); - scoped_array buf(new char[len]); - strnarrow(buf.get(), len, s.c_str()); - std::string t_out; - bool result = base_type::do_lookup_collate(t_out, buf.get()); - if(result) - { - len = strwiden(static_cast(0), 0, t_out.c_str()); - scoped_array wb(new wchar_t[len]); - strwiden(wb.get(), len, t_out.c_str()); - out = wb.get(); - } - return result; -} - - -void BOOST_REGEX_CALL w32_regex_traits::update() -{ - BOOST_RE_GUARD_STACK -#ifdef BOOST_HAS_THREADS - re_detail::cs_guard g(*re_detail::p_re_lock); -#endif - do_init(); -} - -w32_regex_traits::w32_regex_traits() -{ - BOOST_RE_GUARD_STACK -#ifdef BOOST_HAS_THREADS - re_detail::re_init_threads(); - re_detail::cs_guard g(*re_detail::p_re_lock); -#endif - ++entry_count; -} - -w32_regex_traits::~w32_regex_traits() -{ - BOOST_RE_GUARD_STACK -#ifdef BOOST_HAS_THREADS - re_detail::cs_guard g(*re_detail::p_re_lock); -#endif - // add reference to static member here to ensure - // that the linker includes it in the .exe: - if((--entry_count == 0) && (0 != &w32_regex_traits::init_) && is_init) - do_free(); -#ifdef BOOST_HAS_THREADS - g.acquire(false); - re_detail::re_free_threads(); -#endif -} - -bool BOOST_REGEX_CALL w32_regex_traits::do_iswclass(wchar_t c, boost::uint_fast32_t f) -{ - BOOST_RE_GUARD_STACK - if((c & ~0xFF) == 0) - return BOOST_REGEX_MAKE_BOOL(re_detail::wide_unicode_classes[(uchar_type)c] & f & char_class_win); - WORD mask; - if(f & char_class_unicode) - return true; - else if(isPlatformNT && GetStringTypeW(CT_CTYPE1, &c, 1, &mask)) - return BOOST_REGEX_MAKE_BOOL(mask & f & char_class_win); - else if((f & char_class_graph) == char_class_graph) - return true; // all wide characters are considered "graphics" - return false; -} - -void BOOST_REGEX_CALL w32_regex_traits::transform(std::basic_string& out, const std::basic_string& in) -{ - BOOST_RE_GUARD_STACK - scoped_array alt; - size_t n; - if(isPlatformNT) - n = LCMapStringW(GetUserDefaultLCID(), LCMAP_SORTKEY, in.c_str(), -1, 0, 0); - else - { - n = strnarrow(static_cast(0), 0, in.c_str()); - alt.reset(new char[n+1]); - strnarrow(alt.get(), n+1, in.c_str()); - n = LCMapStringA(GetUserDefaultLCID(), LCMAP_SORTKEY, alt.get(), -1, 0, 0); - } - if((n == (size_t)(-1)) || (n == 0)) - { - out = in; - return; - } - scoped_array buf(new wchar_t[n+1]); - // under win32 we get mapped to an array of bytes - // not characters; since the underlying engine has to - // deal with chars we widen the bytes to wchar_t to ensure - // the sort order remains unchanged when we compare. - scoped_array t(new char[n+1]); - if(isPlatformNT) - n = LCMapStringW(GetUserDefaultLCID(), LCMAP_SORTKEY, in.c_str(), -1, reinterpret_cast(t.get()), (int)n); - else - n = LCMapStringA(GetUserDefaultLCID(), LCMAP_SORTKEY, alt.get(), -1, t.get(), (int)n); - int i = -1; - do - { - ++i; - buf[i] = (wchar_t)(unsigned char)t[i]; - } while(t[i]); - if(n == (size_t)(-1)) - { - out = in; - return; - } - out = buf.get(); -} - -void BOOST_REGEX_CALL w32_regex_traits::transform_primary(std::basic_string& out, const std::basic_string& in) -{ - transform(out, in); - for(unsigned int i = 0; i < out.size(); ++i) - { - if((out[i] == 1) && ((i + 1) < out.size())) - { - out.erase(i+1); - break; - } - } -} - - -int BOOST_REGEX_CALL w32_regex_traits::toi(wchar_t c) -{ - if(is_class(c, char_class_digit)) - return c - re_zero_w; - if(is_class(c, char_class_xdigit)) - return 10 + translate(c, true) - translate(re_ten_w, true); - return -1; // error!! -} - -int BOOST_REGEX_CALL w32_regex_traits::toi(const wchar_t*& first, const wchar_t* last, int radix) -{ - unsigned int maxval; - if(radix < 0) - { - // if radix is less than zero, then restrict - // return value to charT. NB assumes sizeof(charT) <= sizeof(int) - radix *= -1; - maxval = 1 << (sizeof(*first) * CHAR_BIT - 1); - maxval /= radix; - maxval *= 2; - maxval -= 1; - } - else - { - maxval = (unsigned int)-1; - maxval /= radix; - } - - unsigned int result = 0; - unsigned int type = (radix > 10) ? char_class_xdigit : char_class_digit; - while((first != last) && is_class(*first, type) && (result <= maxval)) - { - result *= radix; - result += toi(*first); - ++first; - } - return result; -} - -boost::uint_fast32_t BOOST_REGEX_CALL w32_regex_traits::lookup_classname(const wchar_t* first, const wchar_t* last) -{ - std::basic_string s(first, last); - std::size_t len = strnarrow(static_cast(0), 0, s.c_str()); - scoped_array buf(new char[len]); - strnarrow(buf.get(), len, s.c_str()); - boost::uint_fast32_t result = do_lookup_class(buf.get()); - return result; -} - -wchar_t BOOST_REGEX_CALL w32_regex_traits::wtolower(wchar_t c) -{ - BOOST_RE_GUARD_STACK - if(isPlatformNT) - return LOWORD(CharLowerW(reinterpret_cast(static_cast(c)))); - return c; -} - - -w32_regex_traits w32_regex_traits::init_; - -std::size_t BOOST_REGEX_CALL w32_regex_traits::strnarrow(char *s1, std::size_t len, const wchar_t *s2) -{ - BOOST_RE_GUARD_STACK - std::size_t size = WideCharToMultiByte(CP_ACP, 0, s2, -1, s1, 0, 0, 0); - if(size > len) - return size; - return WideCharToMultiByte(CP_ACP, 0, s2, -1, s1, (int)len, 0, 0); -} - -std::size_t BOOST_REGEX_CALL w32_regex_traits::strwiden(wchar_t *s1, std::size_t len, const char *s2) -{ - BOOST_RE_GUARD_STACK - std::size_t size = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, s2, -1, s1, 0); - if(size > len) - return size; - return MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, s2, -1, s1, (int)len); -} - -unsigned short w32_regex_traits::wide_unicode_classes[] = { - re_detail::w32_traits_base::char_class_cntrl, // '' 0 - re_detail::w32_traits_base::char_class_cntrl, // '' 1 - re_detail::w32_traits_base::char_class_cntrl, // '' 2 - re_detail::w32_traits_base::char_class_cntrl, // '' 3 - re_detail::w32_traits_base::char_class_cntrl, // '' 4 - re_detail::w32_traits_base::char_class_cntrl, // '' 5 - re_detail::w32_traits_base::char_class_cntrl, // '' 6 - re_detail::w32_traits_base::char_class_cntrl, // '' 7 - re_detail::w32_traits_base::char_class_cntrl, // '' 8 - re_detail::w32_traits_base::char_class_cntrl | re_detail::w32_traits_base::char_class_space | re_detail::w32_traits_base::char_class_blank, // '' 9 - re_detail::w32_traits_base::char_class_cntrl | re_detail::w32_traits_base::char_class_space, // '' 10 - re_detail::w32_traits_base::char_class_cntrl | re_detail::w32_traits_base::char_class_space, // '' 11 - re_detail::w32_traits_base::char_class_cntrl | re_detail::w32_traits_base::char_class_space, // '' 12 - re_detail::w32_traits_base::char_class_cntrl | re_detail::w32_traits_base::char_class_space, // '' 13 - re_detail::w32_traits_base::char_class_cntrl, // '.' 14 - re_detail::w32_traits_base::char_class_cntrl, // '.' 15 - re_detail::w32_traits_base::char_class_cntrl, // '.' 16 - re_detail::w32_traits_base::char_class_cntrl, // '.' 17 - re_detail::w32_traits_base::char_class_cntrl, // '.' 18 - re_detail::w32_traits_base::char_class_cntrl, // '.' 19 - re_detail::w32_traits_base::char_class_cntrl, // '.' 20 - re_detail::w32_traits_base::char_class_cntrl, // '.' 21 - re_detail::w32_traits_base::char_class_cntrl, // '.' 22 - re_detail::w32_traits_base::char_class_cntrl, // '.' 23 - re_detail::w32_traits_base::char_class_cntrl, // '.' 24 - re_detail::w32_traits_base::char_class_cntrl, // '' 25 - re_detail::w32_traits_base::char_class_cntrl, // '' 26 - re_detail::w32_traits_base::char_class_cntrl, // '' 27 - re_detail::w32_traits_base::char_class_cntrl, // '.' 28 - re_detail::w32_traits_base::char_class_cntrl, // '.' 29 - re_detail::w32_traits_base::char_class_cntrl, // '.' 30 - re_detail::w32_traits_base::char_class_cntrl, // '.' 31 - re_detail::w32_traits_base::char_class_space | re_detail::w32_traits_base::char_class_blank, // ' ' 32 - re_detail::w32_traits_base::char_class_punct, // '!' 33 - re_detail::w32_traits_base::char_class_punct, // '"' 34 - re_detail::w32_traits_base::char_class_punct, // '#' 35 - re_detail::w32_traits_base::char_class_punct, // '$' 36 - re_detail::w32_traits_base::char_class_punct, // '%' 37 - re_detail::w32_traits_base::char_class_punct, // '&' 38 - re_detail::w32_traits_base::char_class_punct, // ''' 39 - re_detail::w32_traits_base::char_class_punct, // '(' 40 - re_detail::w32_traits_base::char_class_punct, // ')' 41 - re_detail::w32_traits_base::char_class_punct, // '*' 42 - re_detail::w32_traits_base::char_class_punct, // '+' 43 - re_detail::w32_traits_base::char_class_punct, // ',' 44 - re_detail::w32_traits_base::char_class_punct, // '-' 45 - re_detail::w32_traits_base::char_class_punct, // '.' 46 - re_detail::w32_traits_base::char_class_punct, // '/' 47 - re_detail::w32_traits_base::char_class_digit | re_detail::w32_traits_base::char_class_xdigit, // '0' 48 - re_detail::w32_traits_base::char_class_digit | re_detail::w32_traits_base::char_class_xdigit, // '1' 49 - re_detail::w32_traits_base::char_class_digit | re_detail::w32_traits_base::char_class_xdigit, // '2' 50 - re_detail::w32_traits_base::char_class_digit | re_detail::w32_traits_base::char_class_xdigit, // '3' 51 - re_detail::w32_traits_base::char_class_digit | re_detail::w32_traits_base::char_class_xdigit, // '4' 52 - re_detail::w32_traits_base::char_class_digit | re_detail::w32_traits_base::char_class_xdigit, // '5' 53 - re_detail::w32_traits_base::char_class_digit | re_detail::w32_traits_base::char_class_xdigit, // '6' 54 - re_detail::w32_traits_base::char_class_digit | re_detail::w32_traits_base::char_class_xdigit, // '7' 55 - re_detail::w32_traits_base::char_class_digit | re_detail::w32_traits_base::char_class_xdigit, // '8' 56 - re_detail::w32_traits_base::char_class_digit | re_detail::w32_traits_base::char_class_xdigit, // '9' 57 - re_detail::w32_traits_base::char_class_punct, // ':' 58 - re_detail::w32_traits_base::char_class_punct, // ';' 59 - re_detail::w32_traits_base::char_class_punct, // '<' 60 - re_detail::w32_traits_base::char_class_punct, // '=' 61 - re_detail::w32_traits_base::char_class_punct, // '>' 62 - re_detail::w32_traits_base::char_class_punct, // '?' 63 - re_detail::w32_traits_base::char_class_punct, // '@' 64 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper | re_detail::w32_traits_base::char_class_xdigit, // 'A' 65 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper | re_detail::w32_traits_base::char_class_xdigit, // 'B' 66 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper | re_detail::w32_traits_base::char_class_xdigit, // 'C' 67 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper | re_detail::w32_traits_base::char_class_xdigit, // 'D' 68 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper | re_detail::w32_traits_base::char_class_xdigit, // 'E' 69 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper | re_detail::w32_traits_base::char_class_xdigit, // 'F' 70 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'G' 71 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'H' 72 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'I' 73 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'J' 74 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'K' 75 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'L' 76 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'M' 77 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'N' 78 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'O' 79 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'P' 80 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Q' 81 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'R' 82 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'S' 83 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'T' 84 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'U' 85 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'V' 86 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'W' 87 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'X' 88 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Y' 89 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Z' 90 - re_detail::w32_traits_base::char_class_punct, // '[' 91 - re_detail::w32_traits_base::char_class_punct, // '\' 92 - re_detail::w32_traits_base::char_class_punct, // ']' 93 - re_detail::w32_traits_base::char_class_punct, // '^' 94 - re_detail::w32_traits_base::char_class_punct | re_detail::w32_traits_base::char_class_underscore, // '_' 95 - re_detail::w32_traits_base::char_class_punct, // '`' 96 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower | re_detail::w32_traits_base::char_class_xdigit, // 'a' 97 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower | re_detail::w32_traits_base::char_class_xdigit, // 'b' 98 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower | re_detail::w32_traits_base::char_class_xdigit, // 'c' 99 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower | re_detail::w32_traits_base::char_class_xdigit, // 'd' 100 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower | re_detail::w32_traits_base::char_class_xdigit, // 'e' 101 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower | re_detail::w32_traits_base::char_class_xdigit, // 'f' 102 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'g' 103 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'h' 104 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'i' 105 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'j' 106 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'k' 107 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'l' 108 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'm' 109 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'n' 110 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'o' 111 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'p' 112 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'q' 113 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'r' 114 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 's' 115 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 't' 116 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'u' 117 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'v' 118 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'w' 119 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'x' 120 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'y' 121 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'z' 122 - re_detail::w32_traits_base::char_class_punct, // '{' 123 - re_detail::w32_traits_base::char_class_punct, // '|' 124 - re_detail::w32_traits_base::char_class_punct, // '}' 125 - re_detail::w32_traits_base::char_class_punct, // '~' 126 - - re_detail::w32_traits_base::char_class_cntrl, // '' 127 - re_detail::w32_traits_base::char_class_cntrl, // '€' 128 - re_detail::w32_traits_base::char_class_cntrl, // '�' 129 - re_detail::w32_traits_base::char_class_cntrl, // '‚' 130 - re_detail::w32_traits_base::char_class_cntrl, // 'ƒ' 131 - re_detail::w32_traits_base::char_class_cntrl, // '„' 132 - re_detail::w32_traits_base::char_class_cntrl, // '…' 133 - re_detail::w32_traits_base::char_class_cntrl, // '†' 134 - re_detail::w32_traits_base::char_class_cntrl, // '‡' 135 - re_detail::w32_traits_base::char_class_cntrl, // 'ˆ' 136 - re_detail::w32_traits_base::char_class_cntrl, // '‰' 137 - re_detail::w32_traits_base::char_class_cntrl, // 'Š' 138 - re_detail::w32_traits_base::char_class_cntrl, // '‹' 139 - re_detail::w32_traits_base::char_class_cntrl, // 'Œ' 140 - re_detail::w32_traits_base::char_class_cntrl, // '�' 141 - re_detail::w32_traits_base::char_class_cntrl, // 'Ž' 142 - re_detail::w32_traits_base::char_class_cntrl, // '�' 143 - re_detail::w32_traits_base::char_class_cntrl, // '�' 144 - re_detail::w32_traits_base::char_class_cntrl, // '‘' 145 - re_detail::w32_traits_base::char_class_cntrl, // '’' 146 - re_detail::w32_traits_base::char_class_cntrl, // '“' 147 - re_detail::w32_traits_base::char_class_cntrl, // '”' 148 - re_detail::w32_traits_base::char_class_cntrl, // '•' 149 - re_detail::w32_traits_base::char_class_cntrl, // '–' 150 - re_detail::w32_traits_base::char_class_cntrl, // '—' 151 - re_detail::w32_traits_base::char_class_cntrl, // '˜' 152 - re_detail::w32_traits_base::char_class_cntrl, // '™' 153 - re_detail::w32_traits_base::char_class_cntrl, // 'š' 154 - re_detail::w32_traits_base::char_class_cntrl, // '›' 155 - re_detail::w32_traits_base::char_class_cntrl, // 'œ' 156 - re_detail::w32_traits_base::char_class_cntrl, // '�' 157 - re_detail::w32_traits_base::char_class_cntrl, // 'ž' 158 - re_detail::w32_traits_base::char_class_cntrl, // 'Ÿ' 159 - re_detail::w32_traits_base::char_class_space | re_detail::w32_traits_base::char_class_blank, // ' ' 160 - re_detail::w32_traits_base::char_class_punct, // '¡' 161 - re_detail::w32_traits_base::char_class_punct, // '¢' 162 - re_detail::w32_traits_base::char_class_punct, // '£' 163 - re_detail::w32_traits_base::char_class_punct, // '¤' 164 - re_detail::w32_traits_base::char_class_punct, // '¥' 165 - re_detail::w32_traits_base::char_class_punct, // '¦' 166 - re_detail::w32_traits_base::char_class_punct, // '§' 167 - re_detail::w32_traits_base::char_class_punct, // '¨' 168 - re_detail::w32_traits_base::char_class_punct, // '©' 169 - re_detail::w32_traits_base::char_class_punct, // 'ª' 170 - re_detail::w32_traits_base::char_class_punct, // '«' 171 - re_detail::w32_traits_base::char_class_punct, // '¬' 172 - re_detail::w32_traits_base::char_class_punct, // '­' 173 - re_detail::w32_traits_base::char_class_punct, // '®' 174 - re_detail::w32_traits_base::char_class_punct, // '¯' 175 - re_detail::w32_traits_base::char_class_punct, // '°' 176 - re_detail::w32_traits_base::char_class_punct, // '±' 177 - re_detail::w32_traits_base::char_class_punct, // '²' 178 - re_detail::w32_traits_base::char_class_punct, // '³' 179 - re_detail::w32_traits_base::char_class_punct, // '´' 180 - re_detail::w32_traits_base::char_class_punct, // 'µ' 181 - re_detail::w32_traits_base::char_class_punct, // '¶' 182 - re_detail::w32_traits_base::char_class_punct, // '·' 183 - re_detail::w32_traits_base::char_class_punct, // '¸' 184 - re_detail::w32_traits_base::char_class_punct, // '¹' 185 - re_detail::w32_traits_base::char_class_punct, // 'º' 186 - re_detail::w32_traits_base::char_class_punct, // '»' 187 - re_detail::w32_traits_base::char_class_punct, // '¼' 188 - re_detail::w32_traits_base::char_class_punct, // '½' 189 - re_detail::w32_traits_base::char_class_punct, // '¾' 190 - re_detail::w32_traits_base::char_class_punct, // '¿' 191 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'À' 192 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Á' 193 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Â' 194 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Ã' 195 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Ä' 196 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Å' 197 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Æ' 198 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Ç' 199 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'È' 200 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'É' 201 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Ê' 202 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Ë' 203 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Ì' 204 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Í' 205 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Î' 206 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Ï' 207 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Ð' 208 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Ñ' 209 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Ò' 210 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Ó' 211 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Ô' 212 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Õ' 213 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Ö' 214 - re_detail::w32_traits_base::char_class_punct, // '×' 215 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Ø' 216 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Ù' 217 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Ú' 218 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Û' 219 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Ü' 220 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Ý' 221 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_upper, // 'Þ' 222 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ß' 223 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'à' 224 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'á' 225 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'â' 226 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ã' 227 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ä' 228 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'å' 229 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'æ' 230 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ç' 231 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'è' 232 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'é' 233 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ê' 234 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ë' 235 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ì' 236 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'í' 237 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'î' 238 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ï' 239 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ð' 240 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ñ' 241 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ò' 242 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ó' 243 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ô' 244 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'õ' 245 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ö' 246 - re_detail::w32_traits_base::char_class_punct, // '÷' 247 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ø' 248 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ù' 249 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ú' 250 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'û' 251 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ü' 252 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ý' 253 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'þ' 254 - re_detail::w32_traits_base::char_class_alpha | re_detail::w32_traits_base::char_class_lower, // 'ÿ' 255 -}; - - - -#endif // BOOST_NO_WREGEX - - -} // namespace boost - -#endif // #if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32) - - - - - diff --git a/src/wide_posix_api.cpp b/src/wide_posix_api.cpp deleted file mode 100644 index 841c92b2..00000000 --- a/src/wide_posix_api.cpp +++ /dev/null @@ -1,253 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: wide_posix_api.cpp - * VERSION: see - * DESCRIPTION: Implements the wide character POSIX API wrappers. - */ - -#define BOOST_REGEX_SOURCE - -#include - -#ifndef BOOST_NO_WREGEX - -#include - -#include -#include -#include - -namespace boost{ - -namespace { - -unsigned int wmagic_value = 28631; - -const wchar_t* wnames[] = {L"REG_NOERROR", L"REG_NOMATCH", L"REG_BADPAT", L"REG_ECOLLATE", - L"REG_ECTYPE", L"REG_EESCAPE", L"REG_ESUBREG", L"REG_EBRACK", - L"REG_EPAREN", L"REG_EBRACE", L"REG_BADBR", L"REG_ERANGE", - L"REG_ESPACE", L"REG_BADRPT", L"REG_EMPTY", L"REG_E_UNKNOWN"}; - -} - -BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW* expression, const wchar_t* ptr, int f) -{ - BOOST_RE_GUARD_STACK - if(expression->re_magic != wmagic_value) - { - expression->guts = 0; -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - expression->guts = new wregex(); -#ifndef BOOST_NO_EXCEPTIONS - } catch(...) - { - return REG_ESPACE; - } -#else - if(0 == expression->guts) - return REG_E_MEMORY; -#endif - } - // set default flags: - boost::uint_fast32_t flags = (f & REG_EXTENDED) ? wregex::extended : wregex::basic; - expression->eflags = (f & REG_NEWLINE) ? match_not_dot_newline : match_default; - - // and translate those that are actually set: - if(f & REG_NOCOLLATE) - { - flags |= wregex::nocollate; - flags &= ~wregex::collate; - } - - if(f & REG_NOSUB) - expression->eflags |= match_any; - - if(f & REG_NOSPEC) - flags |= wregex::literal; - if(f & REG_ICASE) - flags |= wregex::icase; - if(f & REG_ESCAPE_IN_LISTS) - flags |= wregex::escape_in_lists; - if(f & REG_NEWLINE_ALT) - flags |= wregex::newline_alt; -#ifndef BOOST_REGEX_V3 - if(f & REG_PERLEX) - flags |= wregex::perlex; -#endif - - const wchar_t* p2; - if(f & REG_PEND) - p2 = expression->re_endp; - else p2 = ptr + std::wcslen(ptr); - - int result; - -#ifndef BOOST_NO_EXCEPTIONS - 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(); -#ifndef BOOST_NO_EXCEPTIONS - } catch(...) - { - result = REG_E_UNKNOWN; - } -#endif - if(result) - regfreeW(expression); - return result; - -} - -BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int code, const regex_tW* e, wchar_t* buf, regsize_t buf_size) -{ - BOOST_RE_GUARD_STACK - std::size_t result = 0; - if(code & REG_ITOA) - { - code &= ~REG_ITOA; - if(code <= REG_E_UNKNOWN) - { - result = std::wcslen(wnames[code]) + 1; - if(buf_size >= result) - std::wcscpy(buf, wnames[code]); - return result; - } - return result; - } -#if !defined(BOOST_NO_SWPRINTF) - if(code == REG_ATOI) - { - wchar_t localbuf[5]; - if(e == 0) - return 0; - for(int i = 0; i <= REG_E_UNKNOWN; ++i) - { - if(std::wcscmp(e->re_endp, wnames[i]) == 0) - { - std::swprintf(localbuf, 5, L"%d", i); - if(std::wcslen(localbuf) < buf_size) - std::wcscpy(buf, localbuf); - return std::wcslen(localbuf) + 1; - } - } - std::swprintf(localbuf, 5, L"%d", 0); - if(std::wcslen(localbuf) < buf_size) - std::wcscpy(buf, localbuf); - return std::wcslen(localbuf) + 1; - } -#endif - if(code <= REG_E_UNKNOWN) - { - regex_traits rt; - const regex_traits* pt = &rt; - if(e && (e->re_magic == wmagic_value)) - pt = &static_cast(e->guts)->get_traits(); - (void)pt; // warning suppression - std::string p = pt->error_string(code); - std::size_t len = pt->strwiden(static_cast(0), 0, p.c_str()); - if(len < buf_size) - { - pt->strwiden(buf, buf_size, p.c_str()); - } - return len + 1; - } - if(buf_size) - *buf = 0; - return 0; -} - -BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecW(const regex_tW* expression, const wchar_t* buf, regsize_t n, regmatch_t* array, int eflags) -{ - BOOST_RE_GUARD_STACK - bool result = false; - match_flag_type flags = match_default | expression->eflags; - const wchar_t* end; - const wchar_t* start; - wcmatch m; - - if(eflags & REG_NOTBOL) - flags |= match_not_bol; - if(eflags & REG_NOTEOL) - flags |= match_not_eol; - if(eflags & REG_STARTEND) - { - start = buf + array[0].rm_so; - end = buf + array[0].rm_eo; - } - else - { - start = buf; - end = buf + std::wcslen(buf); - } - -#ifndef BOOST_NO_EXCEPTIONS - try{ -#endif - if(expression->re_magic == wmagic_value) - { - result = regex_search(start, end, m, *static_cast(expression->guts), flags); - } - else - return result; -#ifndef BOOST_NO_EXCEPTIONS - } catch(...) - { - return REG_E_UNKNOWN; - } -#endif - if(result) - { - // extract what matched: - unsigned int i; - for(i = 0; (i < n) && (i < expression->re_nsub + 1); ++i) - { - array[i].rm_so = (m[i].matched == false) ? -1 : (m[i].first - buf); - array[i].rm_eo = (m[i].matched == false) ? -1 : (m[i].second - buf); - } - // and set anything else to -1: - for(i = expression->re_nsub + 1; i < n; ++i) - { - array[i].rm_so = -1; - array[i].rm_eo = -1; - } - return 0; - } - return REG_NOMATCH; -} - -BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeW(regex_tW* expression) -{ - BOOST_RE_GUARD_STACK - if(expression->re_magic == wmagic_value) - { - delete static_cast(expression->guts); - } - expression->re_magic = 0; -} - -} // namespace boost; - -#endif - - - diff --git a/src/winstances.cpp b/src/winstances.cpp deleted file mode 100644 index ef35ee87..00000000 --- a/src/winstances.cpp +++ /dev/null @@ -1,36 +0,0 @@ -/* - * - * Copyright (c) 1998-2002 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - */ - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE: winstances.cpp - * VERSION: see - * DESCRIPTION: regex wide character template instances. - */ - -#define BOOST_REGEX_SOURCE - -#include - -#if !defined(BOOST_NO_WREGEX) && !defined(BOOST_REGEX_NO_EXTERNAL_TEMPLATES) -#define BOOST_REGEX_WIDE_INSTANTIATE - -#ifdef __BORLANDC__ -#pragma hrdstop -#endif - -#include - -#endif diff --git a/test/Jamfile b/test/Jamfile deleted file mode 100644 index f4b73dc4..00000000 --- a/test/Jamfile +++ /dev/null @@ -1,77 +0,0 @@ -# copyright John Maddock 2003 - -subproject libs/regex/test ; - -# bring in the rules for testing -SEARCH on testing.jam = $(BOOST_BUILD_PATH) ; -include testing.jam ; - -template test - : ../build/boost_regex # sources - : BOOST_REGEX_NO_LIB=1 # requirements - BOOST_REGEX_STATIC_LINK=1 - multi - ; - -template regression - :