Compare commits

...

180 Commits

Author SHA1 Message Date
61741228da This commit was manufactured by cvs2svn to create branch
'function_signature_patches_1_31'.

[SVN r22633]
2004-04-13 12:19:16 +00:00
e3aacc5c55 Fixes for POSIX regexes not grepping correctly.
[SVN r22623]
2004-04-09 15:55:32 +00:00
dc90d07749 Added fix for grepping for POSIX style matches.
[SVN r22621]
2004-04-07 11:04:06 +00:00
300ca31723 Added missing hyperlink
[SVN r22620]
2004-04-07 10:49:50 +00:00
c65dd3be41 Added link to old docs.
[SVN r22530]
2004-03-20 12:12:03 +00:00
5a29047906 Added missing preconditions, and fixed minor typos.
[SVN r22529]
2004-03-20 11:53:56 +00:00
cdd130ae2d Added typedefs to index
[SVN r22511]
2004-03-17 12:53:57 +00:00
9f47972bcf Removed unneeded export specifiers
[SVN r22506]
2004-03-16 17:37:54 +00:00
0633ba70f2 Added missing typedefs
[SVN r22505]
2004-03-16 17:36:15 +00:00
8330b19cec Added tests to check new format specifiers.
[SVN r22487]
2004-03-12 13:13:14 +00:00
b8eab985e5 Added support for perl style \u \U \l \L etc in formatting.
[SVN r22486]
2004-03-12 13:12:33 +00:00
f90d8c667e Fixed typo
[SVN r22438]
2004-03-05 11:32:34 +00:00
4b7f14e72d Added extra non-greedy repeat tests,
fixed concept checks for vc6 (they don't work, and won't work).


[SVN r22423]
2004-03-02 17:00:15 +00:00
89515b9a8e Fixed nasty non-greedy repeat bug,
tidied up min/max workarounds,
removed unneeded #if


[SVN r22422]
2004-03-02 16:58:50 +00:00
3075aaba4a remove minmax hack from win32.hpp and fix all places that could be affected by the minmax macros
[SVN r22394]
2004-02-26 18:27:02 +00:00
50b8204753 Updated iterator defs.
[SVN r22387]
2004-02-25 12:36:45 +00:00
02c652c01e Added extra iterator based tests
[SVN r22385]
2004-02-25 12:35:08 +00:00
b3f7d35f68 Added extra acknowledgements
[SVN r22384]
2004-02-25 12:34:42 +00:00
f1312f16c4 Cleared up references to implementation specific types.
[SVN r22190]
2004-02-07 13:11:54 +00:00
9ebe515adf Fixed errors in docs:
unsigned int changed to match_flag_type in several places,
plus occurance of std rather than boost.


[SVN r22160]
2004-02-04 11:57:35 +00:00
c9efbea4a7 Added more tests to catch some additional regressions.
[SVN r21526]
2004-01-07 12:02:58 +00:00
6cbda47155 Added last minute patch for .*?$ failing in the non-recursive algorithm.
[SVN r21525]
2004-01-07 12:00:51 +00:00
3e60ca3481 Added tentative fix for AIX shared lib.
[SVN r21425]
2003-12-30 12:09:03 +00:00
3026d5e6c6 Added missing std:: prefix.
[SVN r21413]
2003-12-29 11:38:03 +00:00
f3088d1c77 Fix broken links.
[SVN r21404]
2003-12-27 02:37:02 +00:00
f82771be8c Fix tabs in file.
[SVN r21399]
2003-12-26 23:26:49 +00:00
02f6fd45b8 Updated history.
[SVN r21370]
2003-12-22 12:35:09 +00:00
9058b985a9 Fixed mis-spelling of __MWERKS__, hopefully fixed regex_token_iterator failure on MWCW as well.
[SVN r21363]
2003-12-21 16:32:02 +00:00
65f6604b24 Only disable cpp_regex_traits<wchar_t> if we are in weird dual-wchar_t mode.
[SVN r21359]
2003-12-20 13:34:34 +00:00
16d6b87b1b Removed <native-wchar_t>on requirement (it's on by default for vc7 anyway, and vc7+stlport is better without it)
[SVN r21354]
2003-12-20 12:55:02 +00:00
82572db442 Disabled dual wchar_t mode with vc7 + STLPort, as it doesn't work.
[SVN r21352]
2003-12-20 12:52:27 +00:00
80104e292d Added needed C header includes
[SVN r21334]
2003-12-19 11:40:31 +00:00
be01708af3 Added checks for bad input files
[SVN r21321]
2003-12-18 11:53:47 +00:00
39f1fb4d17 Changed name of a local variable to hopefully suppress gcc3.4 error
[SVN r21300]
2003-12-17 12:05:59 +00:00
b84b17b3c4 Added BOOST_REGEX_V3 compatibilty workarounds.
[SVN r21288]
2003-12-16 13:06:01 +00:00
2c3ff62e1b Added explicit calls to fstream::close rather than relying on destructors as a tentative gcc-cygwin fix.
[SVN r21287]
2003-12-16 13:05:22 +00:00
7858e47a26 Refactored code so that __try statements only call bool (void) functions.
[SVN r21286]
2003-12-16 13:04:01 +00:00
cd0072b3e7 Added patch for BOOST_REGEX_V3 compatibility
[SVN r21285]
2003-12-16 13:02:57 +00:00
bf9350aa16 Added new experimental captures support.
[SVN r21243]
2003-12-13 12:28:48 +00:00
6b95ac002e Suppressed __try blocks in MWCW.
[SVN r21221]
2003-12-11 11:50:57 +00:00
7f93cee9af fixed msvc-stlport builds.
[SVN r21168]
2003-12-07 13:09:44 +00:00
e79458b0e3 Added ugly workaround for linker errors from bcb5
[SVN r21167]
2003-12-07 12:52:18 +00:00
207b0c63cd Changed to use new iterator typedefs.
[SVN r21161]
2003-12-06 12:11:49 +00:00
f6b9c3d809 Added como specific fix for C builds.
[SVN r21160]
2003-12-06 12:10:27 +00:00
a008c722a4 Added new iterator typedefs
[SVN r21148]
2003-12-05 13:01:54 +00:00
dddfc1a63a Refined building without /Zc:wchar_t on msvc 7 and above
[SVN r21147]
2003-12-05 13:01:29 +00:00
a247f4d7f8 Added new typedefs for iterator types
[SVN r21146]
2003-12-05 13:00:59 +00:00
84c2228b3f Added support for BOOST_ALL_NO_LIB
[SVN r21119]
2003-12-03 13:32:05 +00:00
ebc12d24c9 Patched up support for the new Borland 6.0 compiler in strict mode.
[SVN r21035]
2003-12-01 11:52:28 +00:00
1a50827c46 stripped tabs from files
[SVN r21011]
2003-11-30 13:06:58 +00:00
d19f04af7b Fix broken link
[SVN r20986]
2003-11-28 15:17:45 +00:00
2e9fa8c8f8 Updated build system.
Fixes for vc7+stlport


[SVN r20952]
2003-11-26 11:46:19 +00:00
c642977acd Patches for vc7+stlport
[SVN r20951]
2003-11-26 11:44:53 +00:00
27875c1e55 Fix gcc -Wshadow warnings
[SVN r20857]
2003-11-19 12:57:50 +00:00
42337410fc Added tests for Windows compiler auto-linking
[SVN r20804]
2003-11-13 12:46:27 +00:00
aa132bec5d removed unneeded version calculation
[SVN r20803]
2003-11-13 12:44:18 +00:00
d0258375ae Added support for BOOST_ALL_DYN_LINK
[SVN r20802]
2003-11-13 12:17:49 +00:00
7ba011232c Removed define that disables auto-linking for bjam builds since it is no longer required.
[SVN r20774]
2003-11-10 11:26:39 +00:00
6bb6cddad6 Added [common-names] tags to dll and lib builds.
Added <native-wchar_t>on build requirement


[SVN r20765]
2003-11-08 13:16:53 +00:00
f9d0907868 Fixed up traits classes so that no matter whether /Zc:wchar_t is specified for vc builds or not, then we can still link to the same lib build.
[SVN r20764]
2003-11-08 13:02:55 +00:00
8324fad77c Tidies up new code, fixed one bug.
[SVN r20635]
2003-11-04 11:30:44 +00:00
23f71d7727 Changed regex_token_iterator to return a sub_match rather than a std::string (it's more efficient).
[SVN r20613]
2003-11-03 11:25:30 +00:00
de9338cedf Updated regex build system and tests to match the new Boost.Install code.
[SVN r20604]
2003-11-02 12:13:16 +00:00
dc3878df84 Added new macro BOOST_LIB_VERSION to version.hpp so that auto-linking code knows what version suffix to append to library file names.
Updated auto-linking headers to match new Boost.Install code.


[SVN r20602]
2003-11-02 11:43:56 +00:00
aa68609a60 New warning supression code doesn't work for VC6 :-( So work around the workaround...
[SVN r20493]
2003-10-25 11:20:35 +00:00
a804285fb6 Changed email address to john@johnmaddock.co.uk
[SVN r20472]
2003-10-24 11:13:42 +00:00
8b4da77f83 Undone unintended commit on this file.
[SVN r20471]
2003-10-24 11:00:29 +00:00
2606d1bdd1 Updated copyrights
[SVN r20470]
2003-10-24 10:51:38 +00:00
9215a04042 Mostly cgg warning suppression, plus some gcc 2.95 workarounds.
[SVN r20462]
2003-10-23 12:40:47 +00:00
f7eb12d9c7 Updated tests to check new sub_match non-member operators.
[SVN r20444]
2003-10-21 11:19:42 +00:00
515044821c Updated docs to include recent changes, and improve general quality.
[SVN r20443]
2003-10-21 11:18:40 +00:00
72a7a13565 Added new sub_match operators.
Made member operators const.


[SVN r20442]
2003-10-21 11:14:13 +00:00
63778bea05 Add install definitions for new common install configuration.
[SVN r20409]
2003-10-19 19:52:56 +00:00
54e9a2fbcb Changed no-exception behaviour to call throw_exception directly so that the handler sees the actual error message.
[SVN r20361]
2003-10-13 11:45:11 +00:00
ff1c0a0bb5 Moved common build options into build/Jamfile
[SVN r20355]
2003-10-12 11:19:15 +00:00
c23a7a8cfe Fixed no exception handling builds
[SVN r20330]
2003-10-10 12:13:23 +00:00
651256800f Add V2 Jamfile
[SVN r20273]
2003-10-07 10:45:15 +00:00
696fa47670 Add V2 Jamfile
[SVN r20272]
2003-10-07 10:34:27 +00:00
ab5a7a768d Added new licence info.
[SVN r20254]
2003-10-04 11:29:20 +00:00
a669854a84 renamed null re_null in case the compiler #defines null.
[SVN r20240]
2003-10-02 11:06:06 +00:00
11ea8aab76 switched over to new Boost Licence
[SVN r20232]
2003-09-30 13:02:51 +00:00
ee85ed89a1 Added checks on constructor and assign member function usage.
[SVN r20230]
2003-09-30 11:41:40 +00:00
13dfa17e63 Changed to make use of iterators and not strings where possible.
[SVN r20229]
2003-09-30 11:40:47 +00:00
182616ea25 Changed char_type to be the type used by the regex object not the iterator - allows code to compile where the iterator enumerates types that are different to the regex type.
[SVN r20228]
2003-09-30 11:39:41 +00:00
83306608a7 Fixed template constructor and assign member function iterator usage.
[SVN r20227]
2003-09-30 11:38:30 +00:00
f3c1b8d784 Added fix for broken VC++ preprocessor
[SVN r20226]
2003-09-30 11:37:04 +00:00
3b27d5a38e Use the import rule
[SVN r19968]
2003-09-08 17:38:49 +00:00
567d76e8e4 Fixed Borland compiles, so that regex can be mixed with vcl.h.
[SVN r19880]
2003-08-30 10:14:56 +00:00
51ef8177d3 Fixed Borland warning suppression.
Changed config to use BOOST_HAS_DECLSPEC


[SVN r19781]
2003-08-26 10:49:41 +00:00
2e1ed31f34 Fixed spelling of "BOOST" - basically a enormous cut and paste error!
[SVN r19581]
2003-08-14 10:22:05 +00:00
ccc9c16e93 Added fixes for tests which are unsupported on some platforms.
[SVN r19548]
2003-08-12 12:03:25 +00:00
4e412a1774 Various minor warning suppressions.
[SVN r19547]
2003-08-12 11:24:09 +00:00
e4248fcb19 Moved some config code into boost.config (ABI and lib selection code).
[SVN r19546]
2003-08-12 11:23:02 +00:00
ae95ac6ad0 Fixed STLPort detection
[SVN r19413]
2003-08-03 11:44:41 +00:00
feb3f7bc40 name required for wide_posix_api_check_c
[SVN r19368]
2003-07-30 20:43:35 +00:00
b66ac65061 Disabled tests that are causing problems for the regression testers
[SVN r19361]
2003-07-30 12:16:32 +00:00
d695b70ee9 Added check to prevent macro redeffinition
[SVN r19360]
2003-07-30 12:15:45 +00:00
222b16693c Added tentative como fix
[SVN r19320]
2003-07-27 10:55:35 +00:00
6750cf4892 Modified wide character tests to warn not fail when no wide character support is available in the platform.
Modified Jamfiles to use centralised options.
Added wide character concept check.


[SVN r19318]
2003-07-26 11:22:17 +00:00
9d565f63ed Added Como dll export options.
[SVN r19317]
2003-07-26 11:12:32 +00:00
8a5b00c128 Added needed const qualifier on out of line deffinition.
[SVN r19306]
2003-07-25 11:57:19 +00:00
11f535596b Added fix for SGI64 (std::messages::open appears to require a non-const reference on that platform :-( )
[SVN r19305]
2003-07-25 11:27:17 +00:00
bba214f904 Added out of line deffinition for integral constant.
[SVN r19304]
2003-07-25 11:20:39 +00:00
8be91f0568 Added SGI-Irix tentative fix.
[SVN r19228]
2003-07-20 11:17:15 +00:00
cddfd077a8 Added tentative fix for Metrowerks problem.
Removed Intel test code.


[SVN r19227]
2003-07-20 11:16:26 +00:00
41e54c1cf2 Added temporary Intel diagnostic code
[SVN r19211]
2003-07-19 12:12:50 +00:00
0f2f6b6dfc changed MSVC calling convention setup - can't use __fastcall in debug mode especially with /RTC
[SVN r19190]
2003-07-18 11:25:34 +00:00
ff80be2019 avoid gcc "signed/unsigned" warning
[SVN r19128]
2003-07-15 15:55:59 +00:00
8e03097d9d Added explicit bounds to the array variables to work around Mtrowerks problems.
Added extra check before setting dllexport options.


[SVN r19095]
2003-07-13 11:27:05 +00:00
e12105e591 Added casts to (unsigned char) to suppress warnings from picky compilers.
Changed array initialisation to take account of it's true size (bug fix).


[SVN r19087]
2003-07-12 11:51:36 +00:00
1c915e3fda Disabled workarounds for SGI compiler - they don't work and shouldn't be needed.
Removed local declaration of icase, when class member should do.


[SVN r19085]
2003-07-12 10:33:10 +00:00
cb9409160a Moved static stables into the function bodies to fix a gcc on MacOS X and IMB compiler bug.
Fixed config system for dll builds - the default linkage option is now static linking.
Fixed makefiles - dll builds now work.
Added Misc fixes for the example programs.


[SVN r19044]
2003-07-11 11:51:35 +00:00
c32c644a38 Added fixes for:
Compilers that pretend to be Visual C++
export of memory management code


[SVN r18955]
2003-07-07 11:44:00 +00:00
5c0a6398ab Updated link in docs
[SVN r18948]
2003-07-06 10:51:00 +00:00
4a851cf958 Fixed C++ Builder 5 support,
Fixed support for bidirectional iterators,
Fixed enum declaration in states.hpp.


[SVN r18874]
2003-06-27 11:12:47 +00:00
6f9ba7a289 Added new concept check,
removed assertion in degug allocator that was being triggered by std lib code !


[SVN r18873]
2003-06-27 11:11:21 +00:00
4a06f15183 Added missing needed include
[SVN r18863]
2003-06-24 10:52:51 +00:00
01a3b56f8a removed some previous attempted workarounds - they don't work.
[SVN r18855]
2003-06-23 11:02:00 +00:00
3fc6433d44 Updated performance figures for GRETA.
[SVN r18822]
2003-06-17 10:30:08 +00:00
5255c45b0a Fixed bug in token_iterator that caused it to miss items when field splitting.
[SVN r18821]
2003-06-17 10:28:51 +00:00
ed48905c5e Added check for invalid regular expression in matching code.
[SVN r18777]
2003-06-11 12:11:17 +00:00
13769e4fff Fixed array bounds so that gcc3 will actually compile the code, it's now seriously unmainable though, still it's the only thing that seems to work...
[SVN r18761]
2003-06-10 11:59:44 +00:00
6dfa7ef86c Added explicit bounds to arrays, as patch for broken compilers that can't otherwise cope.
[SVN r18743]
2003-06-09 11:56:15 +00:00
eb91bf612a Fixed allocator type.
[SVN r18680]
2003-06-05 11:56:59 +00:00
e016ef8e21 Added minor bug fixes (some expressions starting with ^ were not being found), plus a few warning suppressions.
[SVN r18679]
2003-06-05 10:46:03 +00:00
ca984697f0 Add <no-warn> so como can compile winnt.h
[SVN r18656]
2003-06-03 20:07:02 +00:00
2f9da388c1 Added fix for IBM C++
[SVN r18586]
2003-05-28 11:38:00 +00:00
f50f35d1fc Added <ios> include for KCC
[SVN r18536]
2003-05-25 11:16:14 +00:00
df4b8e696f Added patch for gcc 2.95 and get_line under cygwin
[SVN r18535]
2003-05-25 10:58:24 +00:00
3673a0a888 Added support for BOOST_DEDUCED_TYPENAME
[SVN r18534]
2003-05-25 10:54:03 +00:00
a69678c3c6 stripped tabs from files
[SVN r18526]
2003-05-24 11:14:53 +00:00
8fb69853fc Fixed broken links, added copyright declarations, renamed some long file names
[SVN r18525]
2003-05-24 11:13:26 +00:00
70199360d3 Use the recently added BOOST_INTEL macro
[SVN r18511]
2003-05-23 11:53:49 +00:00
9aa18a159d Added como warning suppression.
[SVN r18508]
2003-05-23 11:31:00 +00:00
4122e8f08d Fixed VC warning
[SVN r18506]
2003-05-23 10:57:04 +00:00
922322b644 Updated install docs.
[SVN r18494]
2003-05-22 11:20:26 +00:00
89d445c1b6 Tweaked dll selection code,
Fixed various errors detected by MWCW and Como


[SVN r18493]
2003-05-22 11:19:58 +00:00
31d1dc1182 Removed external templates for unknown compilers.
Fixed std conformance bugs in v4 code (shown up by metrowerks compiler).


[SVN r18467]
2003-05-20 11:28:47 +00:00
8bb6861595 Updated Jamfile to use simplified naming scheme on Unix platforms.
Updated build docs.


[SVN r18466]
2003-05-20 11:27:29 +00:00
11ddff601b Added new makefile
[SVN r18444]
2003-05-19 11:57:32 +00:00
088b492987 changed lib names, minor gcc3.3 warning patches
[SVN r18443]
2003-05-19 11:56:17 +00:00
535e1b05cc Updated library names, minor fixes for gcc2.95
[SVN r18442]
2003-05-19 11:55:23 +00:00
1f15026060 Merged regex-4 branch.
[SVN r18431]
2003-05-17 11:55:51 +00:00
f0f32bdda1 Merged regex-4 branch.
[SVN r18430]
2003-05-17 11:45:48 +00:00
a81a1ea30f restore from disk crash
[SVN r18353]
2003-05-08 02:19:10 +00:00
640f633395 Patched boost-base.jam to allow rules in stage target requirements
Fixed grammar in build_system.htm
Added vc7.1-tools.jam/.html for msvc 7.1
Updated the regex lib Jamfile to build correctly-named libraries


[SVN r18319]
2003-04-27 14:10:52 +00:00
0ed72c37e4 Fixed nasty typo
[SVN r18133]
2003-03-30 10:30:16 +00:00
5cf85df857 Changed name of getlocale proc to avoid HP OS clash.
[SVN r18079]
2003-03-25 11:43:57 +00:00
3819294ac1 Added check to verify that we have something to clean up before calling do_free
[SVN r18075]
2003-03-24 12:36:55 +00:00
ea96eafacc Fixed bug that effect some searches
[SVN r18003]
2003-03-19 12:19:14 +00:00
a31ae14cf8 added extra tests to test new fixes
[SVN r17891]
2003-03-13 13:45:44 +00:00
158c26d85c Misc. new fixes:
Better support for BOOST_NO_WREGEX
Fixed bug in trailing null backrefs
Fixed bug in null repeat code
Fixed bug in negative forward lookahead assert when used as a prefix.


[SVN r17889]
2003-03-13 12:50:54 +00:00
86e5251979 Fix for broken std::setlocale implementations (MacOS X ?)
[SVN r17575]
2003-02-21 12:43:49 +00:00
cebaf09b5d cleanup
[SVN r17531]
2003-02-19 13:56:27 +00:00
d0ba00a2e7 Fixed bug in match_continuous code
[SVN r17276]
2003-02-08 12:30:57 +00:00
75293e9854 Fixed by adding BOOST_REGEX_NO_EXTERNAL_TEMPLATES define and extra error checks.
[SVN r17264]
2003-02-07 12:16:40 +00:00
45e593c4fe Added copyright statement
[SVN r17196]
2003-02-04 12:24:06 +00:00
251099c828 OpenBSD fixes
[SVN r16990]
2003-01-22 12:38:54 +00:00
5705d52e84 Added threading build options.
[SVN r16972]
2003-01-21 12:21:35 +00:00
88a0f9d75a Added multithreaded build options.
[SVN r16971]
2003-01-21 12:20:20 +00:00
fbb087dec9 fix misspelled dir name
[SVN r16948]
2003-01-19 20:21:36 +00:00
c84ebf1c5b Update V2 Jamfile for Boost.
[SVN r16882]
2003-01-13 10:05:01 +00:00
1eec12f177 Modified regression program arguments, so they work when called from some other path.
[SVN r16877]
2003-01-12 12:29:49 +00:00
82ad27c468 Modified Jamfile to use testing.jam
[SVN r16868]
2003-01-11 11:52:19 +00:00
897c33be2a Updated test lib names
[SVN r16714]
2002-12-28 12:51:48 +00:00
2ecd905fb2 add or update See www.boost.org comments
[SVN r16708]
2002-12-27 16:51:53 +00:00
abef9c7249 removed calls to wprintf: Linux doesn't have that API.
removed calls to assert: MWCW can't cope with it when UNICODE is defined.


[SVN r16392]
2002-11-24 11:48:36 +00:00
0e37a76df0 Fix for MWCW which doesn't like incomplete array type.
[SVN r16375]
2002-11-23 11:30:36 +00:00
adc4ee41e3 Fixed using declarations (some types are no longer in the library).
[SVN r16340]
2002-11-20 12:08:43 +00:00
9a4e5d29c1 tentative fix for VC7
[SVN r16252]
2002-11-15 11:50:41 +00:00
ff4890b2e2 Changed detail/ to v3/ in dependency list.
[SVN r16194]
2002-11-11 12:15:04 +00:00
3a5f4775f7 changed boost/regex/detail to boost/regex/v3
[SVN r16185]
2002-11-10 11:37:08 +00:00
5a65397974 Changed boost/regex/detail to boost/regex/v3
[SVN r16184]
2002-11-10 11:35:53 +00:00
e5d9c95456 Fixed header include after recent changes
[SVN r16159]
2002-11-08 11:55:49 +00:00
b6a13dd215 Added check for BOOST_NO_STD_DISTANCE
[SVN r16144]
2002-11-07 12:59:57 +00:00
cf285ed3e5 Changes made in preparation for new regex version.
[SVN r16141]
2002-11-07 12:50:29 +00:00
66ddab7fae Fixes for Intel C++
[SVN r16029]
2002-10-31 12:13:56 +00:00
09bfc7f853 Merged changes from the RC_1_29_0 branch.
[SVN r15959]
2002-10-21 11:03:05 +00:00
13df8a293b Add missing typename
[SVN r15905]
2002-10-11 20:46:12 +00:00
40ab965ee9 Added V2 Jamfile.
[SVN r15778]
2002-10-07 16:45:38 +00:00
264 changed files with 46680 additions and 14809 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,34 +1,74 @@
# copyright John Maddock 2003
subproject libs/regex/build ;
#
# this template defines the options common to
# all regex builds and tests:
#
template regex-options
: # sources
: # requirements
<debug><define>BOOST_REGEX_CONFIG_INFO=1
<sysinclude>$(BOOST_ROOT)
# <native-wchar_t>on
# como requires this:
<como-win32><*><define>BOOST_REGEX_NO_W32=1
;
#
# this template defines the options common to
# all regex dll builds and tests:
#
template regex-dll-options
: <template>regex-options # sources
: # requirements
<define>BOOST_REGEX_DYN_LINK=1
<runtime-link>dynamic
;
#
# this template defines extra settings required to work
# around STLPort defects when used with msvc 6:
#
template msvc-stlport-tricky
: # sources
: <msvc-stlport><*><runtime-build>release
<define>BOOST_ALL_NO_LIB=1
;
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
lib boost_regex : ../src/$(SOURCES).cpp <template>regex-options
:
<sysinclude>$(BOOST_ROOT)
<define>BOOST_REGEX_NO_LIB=1
<define>BOOST_REGEX_STATIC_LINK=1
common-variant-tag
:
debug release
;
dll boost_regex : ../src/$(SOURCES).cpp
dll boost_regex : ../src/$(SOURCES).cpp <template>regex-dll-options
:
<sysinclude>$(BOOST_ROOT)
<define>BOOST_RE_BUILD_DLL=1
common-variant-tag
:
debug release
;
stage bin-stage : <lib>boost_regex <dll>boost_regex
stage stage/lib : <lib>boost_regex <dll>boost_regex
:
<tag><debug>"_debug"
<locate>$(BOOST_ROOT)
common-variant-tag
<target>stage
<target>all
:
debug release
;
install regex lib
: <dll>boost_regex <lib>boost_regex
;

15
build/Jamfile.v2 Normal file
View File

@ -0,0 +1,15 @@
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
:
<link>static:<define>BOOST_REGEX_NO_LIB=1
<link>static:<define>BOOST_REGEX_STATIC_LINK=1
<link>shared:<define>BOOST_RE_BUILD_DLL=1
;

View File

@ -46,7 +46,7 @@ EOF
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"
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
@ -70,8 +70,9 @@ EOF
#
# now for the main target for this library:
echo $subdir\\$libname.lib : $all_obj >> $tout
echo " if exist $subdir\\$libname.lib del $subdir\\$libname.lib " >> $tout
echo " tlib @&&|" >> $tout
echo "/P128 /C /u /a \$(XSFLAGS) $subdir\\$libname.lib $all_lib_obj" >> $tout
echo "/P128 /C /u /a \$(XSFLAGS) \"$subdir\\$libname.lib\" $all_lib_obj" >> $tout
echo "|" >> $tout
echo "" >> $tout
}
@ -101,7 +102,7 @@ EOF
all_obj="$all_obj $obj"
echo "$obj: $file \$(ALL_HEADER)" >> $tout
echo " bcc32 @&&|" >> $tout
echo "-c \$(INCLUDES) $opts \$(CXXFLAGS) -o$obj $file" >> $tout
echo "-c \$(INCLUDES) $opts \$(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -o$obj $file" >> $tout
echo "|" >> $tout
echo "" >> $tout
done
@ -142,58 +143,54 @@ function bcb_gen()
echo > $tout
rm -f $iout
libname="boost_regex_${subdir}_sss"
libname="libboost_regex-${subdir}-s-${boost_version}"
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="boost_regex_${subdir}_mss"
libname="libboost_regex-${subdir}-mt-s-${boost_version}"
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}_mdi"
libname="boost_regex-${subdir}-mt-${boost_version}"
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}_sdi"
libname="boost_regex-${subdir}-${boost_version}"
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="boost_regex_${subdir}_mds"
libname="libboost_regex-${subdir}-mt-${boost_version}"
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="boost_regex_${subdir}_sds"
libname="libboost_regex-${subdir}-${boost_version}"
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="boost_regex_${subdir}_sssdd"
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;../../../"
libname="libboost_regex-${subdir}-sd-${boost_version}"
opts="-tWM- -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="boost_regex_${subdir}_mssdd"
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;../../../"
libname="libboost_regex-${subdir}-mt-sd-${boost_version}"
opts="-tWM -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}_mdidd"
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;"
libname="boost_regex-${subdir}-mt-d-${boost_version}"
opts="-tWD -tWM -tWR -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}_sdidd"
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;"
libname="boost_regex-${subdir}-d-${boost_version}"
opts="-tWD -tWR -tWM- -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}_mdsdd"
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;"
libname="libboost_regex-${subdir}-mt-d-${boost_version}"
opts="-tWD -tWM -tWR -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="boost_regex_${subdir}_sdsdd"
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;"
libname="libboost_regex-${subdir}-d-${boost_version}"
opts="-tWD -tWR -tWM- -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
@ -251,20 +248,10 @@ EOF
. 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"
subdir="bcb"
has_stlport="yes"
bcb_gen

View File

@ -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/detail/fileiter.hpp ../../../boost/regex/detail/instances.hpp ../../../boost/regex/detail/regex_compile.hpp ../../../boost/regex/detail/regex_cstring.hpp ../../../boost/regex/detail/regex_format.hpp ../../../boost/regex/detail/regex_kmp.hpp ../../../boost/regex/detail/regex_library_include.hpp ../../../boost/regex/detail/regex_match.hpp ../../../boost/regex/detail/regex_raw_buffer.hpp ../../../boost/regex/detail/regex_split.hpp ../../../boost/regex/detail/regex_stack.hpp ../../../boost/regex/detail/regex_synch.hpp
all : bcb4 bcb4\boost_regex_bcb4_sss bcb4\boost_regex_bcb4_sss.lib bcb4\boost_regex_bcb4_mss bcb4\boost_regex_bcb4_mss.lib bcb4\boost_regex_bcb4_mdi bcb4\boost_regex_bcb4_mdi.lib bcb4\boost_regex_bcb4_sdi bcb4\boost_regex_bcb4_sdi.lib bcb4\boost_regex_bcb4_mds bcb4\boost_regex_bcb4_mds.lib bcb4\boost_regex_bcb4_sds bcb4\boost_regex_bcb4_sds.lib
clean : boost_regex_bcb4_sss_clean boost_regex_bcb4_mss_clean boost_regex_bcb4_mdi_clean boost_regex_bcb4_sdi_clean boost_regex_bcb4_mds_clean boost_regex_bcb4_sds_clean
install : all
copy bcb4\boost_regex_bcb4_sss.lib $(BCROOT)\lib
copy bcb4\boost_regex_bcb4_mss.lib $(BCROOT)\lib
copy bcb4\boost_regex_bcb4_mdi.lib $(BCROOT)\lib
copy bcb4\boost_regex_bcb4_mdi.dll $(BCROOT)\bin
copy bcb4\boost_regex_bcb4_mdi.tds $(BCROOT)\bin
copy bcb4\boost_regex_bcb4_sdi.lib $(BCROOT)\lib
copy bcb4\boost_regex_bcb4_sdi.dll $(BCROOT)\bin
copy bcb4\boost_regex_bcb4_sdi.tds $(BCROOT)\bin
copy bcb4\boost_regex_bcb4_mds.lib $(BCROOT)\lib
copy bcb4\boost_regex_bcb4_sds.lib $(BCROOT)\lib
bcb4 :
-@mkdir bcb4
########################################################
#
# section for boost_regex_bcb4_sss.lib
#
########################################################
bcb4\boost_regex_bcb4_sss\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\boost_regex_bcb4_sss\c_regex_traits.obj ../src/c_regex_traits.cpp
|
bcb4\boost_regex_bcb4_sss\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\boost_regex_bcb4_sss\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp
|
bcb4\boost_regex_bcb4_sss\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\boost_regex_bcb4_sss\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
|
bcb4\boost_regex_bcb4_sss\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\boost_regex_bcb4_sss\cregex.obj ../src/cregex.cpp
|
bcb4\boost_regex_bcb4_sss\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\boost_regex_bcb4_sss\fileiter.obj ../src/fileiter.cpp
|
bcb4\boost_regex_bcb4_sss\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\boost_regex_bcb4_sss\instances.obj ../src/instances.cpp
|
bcb4\boost_regex_bcb4_sss\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\boost_regex_bcb4_sss\posix_api.obj ../src/posix_api.cpp
|
bcb4\boost_regex_bcb4_sss\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\boost_regex_bcb4_sss\regex.obj ../src/regex.cpp
|
bcb4\boost_regex_bcb4_sss\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\boost_regex_bcb4_sss\regex_debug.obj ../src/regex_debug.cpp
|
bcb4\boost_regex_bcb4_sss\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\boost_regex_bcb4_sss\regex_synch.obj ../src/regex_synch.cpp
|
bcb4\boost_regex_bcb4_sss\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\boost_regex_bcb4_sss\w32_regex_traits.obj ../src/w32_regex_traits.cpp
|
bcb4\boost_regex_bcb4_sss\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\boost_regex_bcb4_sss\wide_posix_api.obj ../src/wide_posix_api.cpp
|
bcb4\boost_regex_bcb4_sss\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\boost_regex_bcb4_sss\winstances.obj ../src/winstances.cpp
|
bcb4\boost_regex_bcb4_sss :
-@mkdir bcb4\boost_regex_bcb4_sss
boost_regex_bcb4_sss_clean :
del bcb4\boost_regex_bcb4_sss\*.obj
del bcb4\boost_regex_bcb4_sss\*.il?
del bcb4\boost_regex_bcb4_sss\*.csm
del bcb4\boost_regex_bcb4_sss\*.tds
bcb4\boost_regex_bcb4_sss.lib : bcb4\boost_regex_bcb4_sss\c_regex_traits.obj bcb4\boost_regex_bcb4_sss\c_regex_traits_common.obj bcb4\boost_regex_bcb4_sss\cpp_regex_traits.obj bcb4\boost_regex_bcb4_sss\cregex.obj bcb4\boost_regex_bcb4_sss\fileiter.obj bcb4\boost_regex_bcb4_sss\instances.obj bcb4\boost_regex_bcb4_sss\posix_api.obj bcb4\boost_regex_bcb4_sss\regex.obj bcb4\boost_regex_bcb4_sss\regex_debug.obj bcb4\boost_regex_bcb4_sss\regex_synch.obj bcb4\boost_regex_bcb4_sss\w32_regex_traits.obj bcb4\boost_regex_bcb4_sss\wide_posix_api.obj bcb4\boost_regex_bcb4_sss\winstances.obj
tlib @&&|
/P128 /C /u /a $(XSFLAGS) bcb4\boost_regex_bcb4_sss.lib -+bcb4\boost_regex_bcb4_sss\c_regex_traits.obj -+bcb4\boost_regex_bcb4_sss\c_regex_traits_common.obj -+bcb4\boost_regex_bcb4_sss\cpp_regex_traits.obj -+bcb4\boost_regex_bcb4_sss\cregex.obj -+bcb4\boost_regex_bcb4_sss\fileiter.obj -+bcb4\boost_regex_bcb4_sss\instances.obj -+bcb4\boost_regex_bcb4_sss\posix_api.obj -+bcb4\boost_regex_bcb4_sss\regex.obj -+bcb4\boost_regex_bcb4_sss\regex_debug.obj -+bcb4\boost_regex_bcb4_sss\regex_synch.obj -+bcb4\boost_regex_bcb4_sss\w32_regex_traits.obj -+bcb4\boost_regex_bcb4_sss\wide_posix_api.obj -+bcb4\boost_regex_bcb4_sss\winstances.obj
|
########################################################
#
# section for boost_regex_bcb4_mss.lib
#
########################################################
bcb4\boost_regex_bcb4_mss\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\boost_regex_bcb4_mss\c_regex_traits.obj ../src/c_regex_traits.cpp
|
bcb4\boost_regex_bcb4_mss\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\boost_regex_bcb4_mss\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp
|
bcb4\boost_regex_bcb4_mss\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\boost_regex_bcb4_mss\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
|
bcb4\boost_regex_bcb4_mss\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\boost_regex_bcb4_mss\cregex.obj ../src/cregex.cpp
|
bcb4\boost_regex_bcb4_mss\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\boost_regex_bcb4_mss\fileiter.obj ../src/fileiter.cpp
|
bcb4\boost_regex_bcb4_mss\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\boost_regex_bcb4_mss\instances.obj ../src/instances.cpp
|
bcb4\boost_regex_bcb4_mss\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\boost_regex_bcb4_mss\posix_api.obj ../src/posix_api.cpp
|
bcb4\boost_regex_bcb4_mss\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\boost_regex_bcb4_mss\regex.obj ../src/regex.cpp
|
bcb4\boost_regex_bcb4_mss\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\boost_regex_bcb4_mss\regex_debug.obj ../src/regex_debug.cpp
|
bcb4\boost_regex_bcb4_mss\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\boost_regex_bcb4_mss\regex_synch.obj ../src/regex_synch.cpp
|
bcb4\boost_regex_bcb4_mss\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\boost_regex_bcb4_mss\w32_regex_traits.obj ../src/w32_regex_traits.cpp
|
bcb4\boost_regex_bcb4_mss\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\boost_regex_bcb4_mss\wide_posix_api.obj ../src/wide_posix_api.cpp
|
bcb4\boost_regex_bcb4_mss\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\boost_regex_bcb4_mss\winstances.obj ../src/winstances.cpp
|
bcb4\boost_regex_bcb4_mss :
-@mkdir bcb4\boost_regex_bcb4_mss
boost_regex_bcb4_mss_clean :
del bcb4\boost_regex_bcb4_mss\*.obj
del bcb4\boost_regex_bcb4_mss\*.il?
del bcb4\boost_regex_bcb4_mss\*.csm
del bcb4\boost_regex_bcb4_mss\*.tds
bcb4\boost_regex_bcb4_mss.lib : bcb4\boost_regex_bcb4_mss\c_regex_traits.obj bcb4\boost_regex_bcb4_mss\c_regex_traits_common.obj bcb4\boost_regex_bcb4_mss\cpp_regex_traits.obj bcb4\boost_regex_bcb4_mss\cregex.obj bcb4\boost_regex_bcb4_mss\fileiter.obj bcb4\boost_regex_bcb4_mss\instances.obj bcb4\boost_regex_bcb4_mss\posix_api.obj bcb4\boost_regex_bcb4_mss\regex.obj bcb4\boost_regex_bcb4_mss\regex_debug.obj bcb4\boost_regex_bcb4_mss\regex_synch.obj bcb4\boost_regex_bcb4_mss\w32_regex_traits.obj bcb4\boost_regex_bcb4_mss\wide_posix_api.obj bcb4\boost_regex_bcb4_mss\winstances.obj
tlib @&&|
/P128 /C /u /a $(XSFLAGS) bcb4\boost_regex_bcb4_mss.lib -+bcb4\boost_regex_bcb4_mss\c_regex_traits.obj -+bcb4\boost_regex_bcb4_mss\c_regex_traits_common.obj -+bcb4\boost_regex_bcb4_mss\cpp_regex_traits.obj -+bcb4\boost_regex_bcb4_mss\cregex.obj -+bcb4\boost_regex_bcb4_mss\fileiter.obj -+bcb4\boost_regex_bcb4_mss\instances.obj -+bcb4\boost_regex_bcb4_mss\posix_api.obj -+bcb4\boost_regex_bcb4_mss\regex.obj -+bcb4\boost_regex_bcb4_mss\regex_debug.obj -+bcb4\boost_regex_bcb4_mss\regex_synch.obj -+bcb4\boost_regex_bcb4_mss\w32_regex_traits.obj -+bcb4\boost_regex_bcb4_mss\wide_posix_api.obj -+bcb4\boost_regex_bcb4_mss\winstances.obj
|
########################################################
#
# section for boost_regex_bcb4_mdi.lib
#
########################################################
bcb4\boost_regex_bcb4_mdi\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_mdi\c_regex_traits.obj ../src/c_regex_traits.cpp
|
bcb4\boost_regex_bcb4_mdi\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_mdi\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp
|
bcb4\boost_regex_bcb4_mdi\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_mdi\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
|
bcb4\boost_regex_bcb4_mdi\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_mdi\cregex.obj ../src/cregex.cpp
|
bcb4\boost_regex_bcb4_mdi\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_mdi\fileiter.obj ../src/fileiter.cpp
|
bcb4\boost_regex_bcb4_mdi\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_mdi\instances.obj ../src/instances.cpp
|
bcb4\boost_regex_bcb4_mdi\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_mdi\posix_api.obj ../src/posix_api.cpp
|
bcb4\boost_regex_bcb4_mdi\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_mdi\regex.obj ../src/regex.cpp
|
bcb4\boost_regex_bcb4_mdi\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_mdi\regex_debug.obj ../src/regex_debug.cpp
|
bcb4\boost_regex_bcb4_mdi\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_mdi\regex_synch.obj ../src/regex_synch.cpp
|
bcb4\boost_regex_bcb4_mdi\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_mdi\w32_regex_traits.obj ../src/w32_regex_traits.cpp
|
bcb4\boost_regex_bcb4_mdi\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_mdi\wide_posix_api.obj ../src/wide_posix_api.cpp
|
bcb4\boost_regex_bcb4_mdi\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_mdi\winstances.obj ../src/winstances.cpp
|
bcb4\boost_regex_bcb4_mdi :
-@mkdir bcb4\boost_regex_bcb4_mdi
boost_regex_bcb4_mdi_clean :
del bcb4\boost_regex_bcb4_mdi\*.obj
del bcb4\boost_regex_bcb4_mdi\*.il?
del bcb4\boost_regex_bcb4_mdi\*.csm
del bcb4\boost_regex_bcb4_mdi\*.tds
del bcb4\*.tds
bcb4\boost_regex_bcb4_mdi.lib : bcb4\boost_regex_bcb4_mdi\c_regex_traits.obj bcb4\boost_regex_bcb4_mdi\c_regex_traits_common.obj bcb4\boost_regex_bcb4_mdi\cpp_regex_traits.obj bcb4\boost_regex_bcb4_mdi\cregex.obj bcb4\boost_regex_bcb4_mdi\fileiter.obj bcb4\boost_regex_bcb4_mdi\instances.obj bcb4\boost_regex_bcb4_mdi\posix_api.obj bcb4\boost_regex_bcb4_mdi\regex.obj bcb4\boost_regex_bcb4_mdi\regex_debug.obj bcb4\boost_regex_bcb4_mdi\regex_synch.obj bcb4\boost_regex_bcb4_mdi\w32_regex_traits.obj bcb4\boost_regex_bcb4_mdi\wide_posix_api.obj bcb4\boost_regex_bcb4_mdi\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_mdi.dll $(XLFLAGS) bcb4\boost_regex_bcb4_mdi\c_regex_traits.obj bcb4\boost_regex_bcb4_mdi\c_regex_traits_common.obj bcb4\boost_regex_bcb4_mdi\cpp_regex_traits.obj bcb4\boost_regex_bcb4_mdi\cregex.obj bcb4\boost_regex_bcb4_mdi\fileiter.obj bcb4\boost_regex_bcb4_mdi\instances.obj bcb4\boost_regex_bcb4_mdi\posix_api.obj bcb4\boost_regex_bcb4_mdi\regex.obj bcb4\boost_regex_bcb4_mdi\regex_debug.obj bcb4\boost_regex_bcb4_mdi\regex_synch.obj bcb4\boost_regex_bcb4_mdi\w32_regex_traits.obj bcb4\boost_regex_bcb4_mdi\wide_posix_api.obj bcb4\boost_regex_bcb4_mdi\winstances.obj $(LIBS)
|
implib -w bcb4\boost_regex_bcb4_mdi.lib bcb4\boost_regex_bcb4_mdi.dll
########################################################
#
# section for boost_regex_bcb4_sdi.lib
#
########################################################
bcb4\boost_regex_bcb4_sdi\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_sdi\c_regex_traits.obj ../src/c_regex_traits.cpp
|
bcb4\boost_regex_bcb4_sdi\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_sdi\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp
|
bcb4\boost_regex_bcb4_sdi\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_sdi\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
|
bcb4\boost_regex_bcb4_sdi\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_sdi\cregex.obj ../src/cregex.cpp
|
bcb4\boost_regex_bcb4_sdi\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_sdi\fileiter.obj ../src/fileiter.cpp
|
bcb4\boost_regex_bcb4_sdi\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_sdi\instances.obj ../src/instances.cpp
|
bcb4\boost_regex_bcb4_sdi\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_sdi\posix_api.obj ../src/posix_api.cpp
|
bcb4\boost_regex_bcb4_sdi\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_sdi\regex.obj ../src/regex.cpp
|
bcb4\boost_regex_bcb4_sdi\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_sdi\regex_debug.obj ../src/regex_debug.cpp
|
bcb4\boost_regex_bcb4_sdi\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_sdi\regex_synch.obj ../src/regex_synch.cpp
|
bcb4\boost_regex_bcb4_sdi\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_sdi\w32_regex_traits.obj ../src/w32_regex_traits.cpp
|
bcb4\boost_regex_bcb4_sdi\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_sdi\wide_posix_api.obj ../src/wide_posix_api.cpp
|
bcb4\boost_regex_bcb4_sdi\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_sdi\winstances.obj ../src/winstances.cpp
|
bcb4\boost_regex_bcb4_sdi :
-@mkdir bcb4\boost_regex_bcb4_sdi
boost_regex_bcb4_sdi_clean :
del bcb4\boost_regex_bcb4_sdi\*.obj
del bcb4\boost_regex_bcb4_sdi\*.il?
del bcb4\boost_regex_bcb4_sdi\*.csm
del bcb4\boost_regex_bcb4_sdi\*.tds
del bcb4\*.tds
bcb4\boost_regex_bcb4_sdi.lib : bcb4\boost_regex_bcb4_sdi\c_regex_traits.obj bcb4\boost_regex_bcb4_sdi\c_regex_traits_common.obj bcb4\boost_regex_bcb4_sdi\cpp_regex_traits.obj bcb4\boost_regex_bcb4_sdi\cregex.obj bcb4\boost_regex_bcb4_sdi\fileiter.obj bcb4\boost_regex_bcb4_sdi\instances.obj bcb4\boost_regex_bcb4_sdi\posix_api.obj bcb4\boost_regex_bcb4_sdi\regex.obj bcb4\boost_regex_bcb4_sdi\regex_debug.obj bcb4\boost_regex_bcb4_sdi\regex_synch.obj bcb4\boost_regex_bcb4_sdi\w32_regex_traits.obj bcb4\boost_regex_bcb4_sdi\wide_posix_api.obj bcb4\boost_regex_bcb4_sdi\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_sdi.dll $(XLFLAGS) bcb4\boost_regex_bcb4_sdi\c_regex_traits.obj bcb4\boost_regex_bcb4_sdi\c_regex_traits_common.obj bcb4\boost_regex_bcb4_sdi\cpp_regex_traits.obj bcb4\boost_regex_bcb4_sdi\cregex.obj bcb4\boost_regex_bcb4_sdi\fileiter.obj bcb4\boost_regex_bcb4_sdi\instances.obj bcb4\boost_regex_bcb4_sdi\posix_api.obj bcb4\boost_regex_bcb4_sdi\regex.obj bcb4\boost_regex_bcb4_sdi\regex_debug.obj bcb4\boost_regex_bcb4_sdi\regex_synch.obj bcb4\boost_regex_bcb4_sdi\w32_regex_traits.obj bcb4\boost_regex_bcb4_sdi\wide_posix_api.obj bcb4\boost_regex_bcb4_sdi\winstances.obj $(LIBS)
|
implib -w bcb4\boost_regex_bcb4_sdi.lib bcb4\boost_regex_bcb4_sdi.dll
########################################################
#
# section for boost_regex_bcb4_mds.lib
#
########################################################
bcb4\boost_regex_bcb4_mds\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\boost_regex_bcb4_mds\c_regex_traits.obj ../src/c_regex_traits.cpp
|
bcb4\boost_regex_bcb4_mds\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\boost_regex_bcb4_mds\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp
|
bcb4\boost_regex_bcb4_mds\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\boost_regex_bcb4_mds\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
|
bcb4\boost_regex_bcb4_mds\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\boost_regex_bcb4_mds\cregex.obj ../src/cregex.cpp
|
bcb4\boost_regex_bcb4_mds\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\boost_regex_bcb4_mds\fileiter.obj ../src/fileiter.cpp
|
bcb4\boost_regex_bcb4_mds\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\boost_regex_bcb4_mds\instances.obj ../src/instances.cpp
|
bcb4\boost_regex_bcb4_mds\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\boost_regex_bcb4_mds\posix_api.obj ../src/posix_api.cpp
|
bcb4\boost_regex_bcb4_mds\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\boost_regex_bcb4_mds\regex.obj ../src/regex.cpp
|
bcb4\boost_regex_bcb4_mds\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\boost_regex_bcb4_mds\regex_debug.obj ../src/regex_debug.cpp
|
bcb4\boost_regex_bcb4_mds\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\boost_regex_bcb4_mds\regex_synch.obj ../src/regex_synch.cpp
|
bcb4\boost_regex_bcb4_mds\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\boost_regex_bcb4_mds\w32_regex_traits.obj ../src/w32_regex_traits.cpp
|
bcb4\boost_regex_bcb4_mds\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\boost_regex_bcb4_mds\wide_posix_api.obj ../src/wide_posix_api.cpp
|
bcb4\boost_regex_bcb4_mds\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\boost_regex_bcb4_mds\winstances.obj ../src/winstances.cpp
|
bcb4\boost_regex_bcb4_mds :
-@mkdir bcb4\boost_regex_bcb4_mds
boost_regex_bcb4_mds_clean :
del bcb4\boost_regex_bcb4_mds\*.obj
del bcb4\boost_regex_bcb4_mds\*.il?
del bcb4\boost_regex_bcb4_mds\*.csm
del bcb4\boost_regex_bcb4_mds\*.tds
bcb4\boost_regex_bcb4_mds.lib : bcb4\boost_regex_bcb4_mds\c_regex_traits.obj bcb4\boost_regex_bcb4_mds\c_regex_traits_common.obj bcb4\boost_regex_bcb4_mds\cpp_regex_traits.obj bcb4\boost_regex_bcb4_mds\cregex.obj bcb4\boost_regex_bcb4_mds\fileiter.obj bcb4\boost_regex_bcb4_mds\instances.obj bcb4\boost_regex_bcb4_mds\posix_api.obj bcb4\boost_regex_bcb4_mds\regex.obj bcb4\boost_regex_bcb4_mds\regex_debug.obj bcb4\boost_regex_bcb4_mds\regex_synch.obj bcb4\boost_regex_bcb4_mds\w32_regex_traits.obj bcb4\boost_regex_bcb4_mds\wide_posix_api.obj bcb4\boost_regex_bcb4_mds\winstances.obj
tlib @&&|
/P128 /C /u /a $(XSFLAGS) bcb4\boost_regex_bcb4_mds.lib -+bcb4\boost_regex_bcb4_mds\c_regex_traits.obj -+bcb4\boost_regex_bcb4_mds\c_regex_traits_common.obj -+bcb4\boost_regex_bcb4_mds\cpp_regex_traits.obj -+bcb4\boost_regex_bcb4_mds\cregex.obj -+bcb4\boost_regex_bcb4_mds\fileiter.obj -+bcb4\boost_regex_bcb4_mds\instances.obj -+bcb4\boost_regex_bcb4_mds\posix_api.obj -+bcb4\boost_regex_bcb4_mds\regex.obj -+bcb4\boost_regex_bcb4_mds\regex_debug.obj -+bcb4\boost_regex_bcb4_mds\regex_synch.obj -+bcb4\boost_regex_bcb4_mds\w32_regex_traits.obj -+bcb4\boost_regex_bcb4_mds\wide_posix_api.obj -+bcb4\boost_regex_bcb4_mds\winstances.obj
|
########################################################
#
# section for boost_regex_bcb4_sds.lib
#
########################################################
bcb4\boost_regex_bcb4_sds\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\boost_regex_bcb4_sds\c_regex_traits.obj ../src/c_regex_traits.cpp
|
bcb4\boost_regex_bcb4_sds\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\boost_regex_bcb4_sds\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp
|
bcb4\boost_regex_bcb4_sds\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\boost_regex_bcb4_sds\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
|
bcb4\boost_regex_bcb4_sds\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\boost_regex_bcb4_sds\cregex.obj ../src/cregex.cpp
|
bcb4\boost_regex_bcb4_sds\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\boost_regex_bcb4_sds\fileiter.obj ../src/fileiter.cpp
|
bcb4\boost_regex_bcb4_sds\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\boost_regex_bcb4_sds\instances.obj ../src/instances.cpp
|
bcb4\boost_regex_bcb4_sds\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\boost_regex_bcb4_sds\posix_api.obj ../src/posix_api.cpp
|
bcb4\boost_regex_bcb4_sds\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\boost_regex_bcb4_sds\regex.obj ../src/regex.cpp
|
bcb4\boost_regex_bcb4_sds\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\boost_regex_bcb4_sds\regex_debug.obj ../src/regex_debug.cpp
|
bcb4\boost_regex_bcb4_sds\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\boost_regex_bcb4_sds\regex_synch.obj ../src/regex_synch.cpp
|
bcb4\boost_regex_bcb4_sds\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\boost_regex_bcb4_sds\w32_regex_traits.obj ../src/w32_regex_traits.cpp
|
bcb4\boost_regex_bcb4_sds\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\boost_regex_bcb4_sds\wide_posix_api.obj ../src/wide_posix_api.cpp
|
bcb4\boost_regex_bcb4_sds\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\boost_regex_bcb4_sds\winstances.obj ../src/winstances.cpp
|
bcb4\boost_regex_bcb4_sds :
-@mkdir bcb4\boost_regex_bcb4_sds
boost_regex_bcb4_sds_clean :
del bcb4\boost_regex_bcb4_sds\*.obj
del bcb4\boost_regex_bcb4_sds\*.il?
del bcb4\boost_regex_bcb4_sds\*.csm
del bcb4\boost_regex_bcb4_sds\*.tds
bcb4\boost_regex_bcb4_sds.lib : bcb4\boost_regex_bcb4_sds\c_regex_traits.obj bcb4\boost_regex_bcb4_sds\c_regex_traits_common.obj bcb4\boost_regex_bcb4_sds\cpp_regex_traits.obj bcb4\boost_regex_bcb4_sds\cregex.obj bcb4\boost_regex_bcb4_sds\fileiter.obj bcb4\boost_regex_bcb4_sds\instances.obj bcb4\boost_regex_bcb4_sds\posix_api.obj bcb4\boost_regex_bcb4_sds\regex.obj bcb4\boost_regex_bcb4_sds\regex_debug.obj bcb4\boost_regex_bcb4_sds\regex_synch.obj bcb4\boost_regex_bcb4_sds\w32_regex_traits.obj bcb4\boost_regex_bcb4_sds\wide_posix_api.obj bcb4\boost_regex_bcb4_sds\winstances.obj
tlib @&&|
/P128 /C /u /a $(XSFLAGS) bcb4\boost_regex_bcb4_sds.lib -+bcb4\boost_regex_bcb4_sds\c_regex_traits.obj -+bcb4\boost_regex_bcb4_sds\c_regex_traits_common.obj -+bcb4\boost_regex_bcb4_sds\cpp_regex_traits.obj -+bcb4\boost_regex_bcb4_sds\cregex.obj -+bcb4\boost_regex_bcb4_sds\fileiter.obj -+bcb4\boost_regex_bcb4_sds\instances.obj -+bcb4\boost_regex_bcb4_sds\posix_api.obj -+bcb4\boost_regex_bcb4_sds\regex.obj -+bcb4\boost_regex_bcb4_sds\regex_debug.obj -+bcb4\boost_regex_bcb4_sds\regex_synch.obj -+bcb4\boost_regex_bcb4_sds\w32_regex_traits.obj -+bcb4\boost_regex_bcb4_sds\wide_posix_api.obj -+bcb4\boost_regex_bcb4_sds\winstances.obj
|

View File

@ -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/detail/fileiter.hpp ../../../boost/regex/detail/instances.hpp ../../../boost/regex/detail/regex_compile.hpp ../../../boost/regex/detail/regex_cstring.hpp ../../../boost/regex/detail/regex_format.hpp ../../../boost/regex/detail/regex_kmp.hpp ../../../boost/regex/detail/regex_library_include.hpp ../../../boost/regex/detail/regex_match.hpp ../../../boost/regex/detail/regex_raw_buffer.hpp ../../../boost/regex/detail/regex_split.hpp ../../../boost/regex/detail/regex_stack.hpp ../../../boost/regex/detail/regex_synch.hpp
all : bcb5 bcb5\boost_regex_bcb5_sss bcb5\boost_regex_bcb5_sss.lib bcb5\boost_regex_bcb5_mss bcb5\boost_regex_bcb5_mss.lib bcb5\boost_regex_bcb5_mdi bcb5\boost_regex_bcb5_mdi.lib bcb5\boost_regex_bcb5_sdi bcb5\boost_regex_bcb5_sdi.lib bcb5\boost_regex_bcb5_mds bcb5\boost_regex_bcb5_mds.lib bcb5\boost_regex_bcb5_sds bcb5\boost_regex_bcb5_sds.lib
clean : boost_regex_bcb5_sss_clean boost_regex_bcb5_mss_clean boost_regex_bcb5_mdi_clean boost_regex_bcb5_sdi_clean boost_regex_bcb5_mds_clean boost_regex_bcb5_sds_clean
install : all
copy bcb5\boost_regex_bcb5_sss.lib $(BCROOT)\lib
copy bcb5\boost_regex_bcb5_mss.lib $(BCROOT)\lib
copy bcb5\boost_regex_bcb5_mdi.lib $(BCROOT)\lib
copy bcb5\boost_regex_bcb5_mdi.dll $(BCROOT)\bin
copy bcb5\boost_regex_bcb5_mdi.tds $(BCROOT)\bin
copy bcb5\boost_regex_bcb5_sdi.lib $(BCROOT)\lib
copy bcb5\boost_regex_bcb5_sdi.dll $(BCROOT)\bin
copy bcb5\boost_regex_bcb5_sdi.tds $(BCROOT)\bin
copy bcb5\boost_regex_bcb5_mds.lib $(BCROOT)\lib
copy bcb5\boost_regex_bcb5_sds.lib $(BCROOT)\lib
bcb5 :
-@mkdir bcb5
########################################################
#
# section for boost_regex_bcb5_sss.lib
#
########################################################
bcb5\boost_regex_bcb5_sss\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\boost_regex_bcb5_sss\c_regex_traits.obj ../src/c_regex_traits.cpp
|
bcb5\boost_regex_bcb5_sss\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\boost_regex_bcb5_sss\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp
|
bcb5\boost_regex_bcb5_sss\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\boost_regex_bcb5_sss\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
|
bcb5\boost_regex_bcb5_sss\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\boost_regex_bcb5_sss\cregex.obj ../src/cregex.cpp
|
bcb5\boost_regex_bcb5_sss\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\boost_regex_bcb5_sss\fileiter.obj ../src/fileiter.cpp
|
bcb5\boost_regex_bcb5_sss\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\boost_regex_bcb5_sss\instances.obj ../src/instances.cpp
|
bcb5\boost_regex_bcb5_sss\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\boost_regex_bcb5_sss\posix_api.obj ../src/posix_api.cpp
|
bcb5\boost_regex_bcb5_sss\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\boost_regex_bcb5_sss\regex.obj ../src/regex.cpp
|
bcb5\boost_regex_bcb5_sss\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\boost_regex_bcb5_sss\regex_debug.obj ../src/regex_debug.cpp
|
bcb5\boost_regex_bcb5_sss\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\boost_regex_bcb5_sss\regex_synch.obj ../src/regex_synch.cpp
|
bcb5\boost_regex_bcb5_sss\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\boost_regex_bcb5_sss\w32_regex_traits.obj ../src/w32_regex_traits.cpp
|
bcb5\boost_regex_bcb5_sss\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\boost_regex_bcb5_sss\wide_posix_api.obj ../src/wide_posix_api.cpp
|
bcb5\boost_regex_bcb5_sss\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\boost_regex_bcb5_sss\winstances.obj ../src/winstances.cpp
|
bcb5\boost_regex_bcb5_sss :
-@mkdir bcb5\boost_regex_bcb5_sss
boost_regex_bcb5_sss_clean :
del bcb5\boost_regex_bcb5_sss\*.obj
del bcb5\boost_regex_bcb5_sss\*.il?
del bcb5\boost_regex_bcb5_sss\*.csm
del bcb5\boost_regex_bcb5_sss\*.tds
bcb5\boost_regex_bcb5_sss.lib : bcb5\boost_regex_bcb5_sss\c_regex_traits.obj bcb5\boost_regex_bcb5_sss\c_regex_traits_common.obj bcb5\boost_regex_bcb5_sss\cpp_regex_traits.obj bcb5\boost_regex_bcb5_sss\cregex.obj bcb5\boost_regex_bcb5_sss\fileiter.obj bcb5\boost_regex_bcb5_sss\instances.obj bcb5\boost_regex_bcb5_sss\posix_api.obj bcb5\boost_regex_bcb5_sss\regex.obj bcb5\boost_regex_bcb5_sss\regex_debug.obj bcb5\boost_regex_bcb5_sss\regex_synch.obj bcb5\boost_regex_bcb5_sss\w32_regex_traits.obj bcb5\boost_regex_bcb5_sss\wide_posix_api.obj bcb5\boost_regex_bcb5_sss\winstances.obj
tlib @&&|
/P128 /C /u /a $(XSFLAGS) bcb5\boost_regex_bcb5_sss.lib -+bcb5\boost_regex_bcb5_sss\c_regex_traits.obj -+bcb5\boost_regex_bcb5_sss\c_regex_traits_common.obj -+bcb5\boost_regex_bcb5_sss\cpp_regex_traits.obj -+bcb5\boost_regex_bcb5_sss\cregex.obj -+bcb5\boost_regex_bcb5_sss\fileiter.obj -+bcb5\boost_regex_bcb5_sss\instances.obj -+bcb5\boost_regex_bcb5_sss\posix_api.obj -+bcb5\boost_regex_bcb5_sss\regex.obj -+bcb5\boost_regex_bcb5_sss\regex_debug.obj -+bcb5\boost_regex_bcb5_sss\regex_synch.obj -+bcb5\boost_regex_bcb5_sss\w32_regex_traits.obj -+bcb5\boost_regex_bcb5_sss\wide_posix_api.obj -+bcb5\boost_regex_bcb5_sss\winstances.obj
|
########################################################
#
# section for boost_regex_bcb5_mss.lib
#
########################################################
bcb5\boost_regex_bcb5_mss\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\boost_regex_bcb5_mss\c_regex_traits.obj ../src/c_regex_traits.cpp
|
bcb5\boost_regex_bcb5_mss\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\boost_regex_bcb5_mss\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp
|
bcb5\boost_regex_bcb5_mss\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\boost_regex_bcb5_mss\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
|
bcb5\boost_regex_bcb5_mss\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\boost_regex_bcb5_mss\cregex.obj ../src/cregex.cpp
|
bcb5\boost_regex_bcb5_mss\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\boost_regex_bcb5_mss\fileiter.obj ../src/fileiter.cpp
|
bcb5\boost_regex_bcb5_mss\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\boost_regex_bcb5_mss\instances.obj ../src/instances.cpp
|
bcb5\boost_regex_bcb5_mss\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\boost_regex_bcb5_mss\posix_api.obj ../src/posix_api.cpp
|
bcb5\boost_regex_bcb5_mss\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\boost_regex_bcb5_mss\regex.obj ../src/regex.cpp
|
bcb5\boost_regex_bcb5_mss\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\boost_regex_bcb5_mss\regex_debug.obj ../src/regex_debug.cpp
|
bcb5\boost_regex_bcb5_mss\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\boost_regex_bcb5_mss\regex_synch.obj ../src/regex_synch.cpp
|
bcb5\boost_regex_bcb5_mss\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\boost_regex_bcb5_mss\w32_regex_traits.obj ../src/w32_regex_traits.cpp
|
bcb5\boost_regex_bcb5_mss\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\boost_regex_bcb5_mss\wide_posix_api.obj ../src/wide_posix_api.cpp
|
bcb5\boost_regex_bcb5_mss\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\boost_regex_bcb5_mss\winstances.obj ../src/winstances.cpp
|
bcb5\boost_regex_bcb5_mss :
-@mkdir bcb5\boost_regex_bcb5_mss
boost_regex_bcb5_mss_clean :
del bcb5\boost_regex_bcb5_mss\*.obj
del bcb5\boost_regex_bcb5_mss\*.il?
del bcb5\boost_regex_bcb5_mss\*.csm
del bcb5\boost_regex_bcb5_mss\*.tds
bcb5\boost_regex_bcb5_mss.lib : bcb5\boost_regex_bcb5_mss\c_regex_traits.obj bcb5\boost_regex_bcb5_mss\c_regex_traits_common.obj bcb5\boost_regex_bcb5_mss\cpp_regex_traits.obj bcb5\boost_regex_bcb5_mss\cregex.obj bcb5\boost_regex_bcb5_mss\fileiter.obj bcb5\boost_regex_bcb5_mss\instances.obj bcb5\boost_regex_bcb5_mss\posix_api.obj bcb5\boost_regex_bcb5_mss\regex.obj bcb5\boost_regex_bcb5_mss\regex_debug.obj bcb5\boost_regex_bcb5_mss\regex_synch.obj bcb5\boost_regex_bcb5_mss\w32_regex_traits.obj bcb5\boost_regex_bcb5_mss\wide_posix_api.obj bcb5\boost_regex_bcb5_mss\winstances.obj
tlib @&&|
/P128 /C /u /a $(XSFLAGS) bcb5\boost_regex_bcb5_mss.lib -+bcb5\boost_regex_bcb5_mss\c_regex_traits.obj -+bcb5\boost_regex_bcb5_mss\c_regex_traits_common.obj -+bcb5\boost_regex_bcb5_mss\cpp_regex_traits.obj -+bcb5\boost_regex_bcb5_mss\cregex.obj -+bcb5\boost_regex_bcb5_mss\fileiter.obj -+bcb5\boost_regex_bcb5_mss\instances.obj -+bcb5\boost_regex_bcb5_mss\posix_api.obj -+bcb5\boost_regex_bcb5_mss\regex.obj -+bcb5\boost_regex_bcb5_mss\regex_debug.obj -+bcb5\boost_regex_bcb5_mss\regex_synch.obj -+bcb5\boost_regex_bcb5_mss\w32_regex_traits.obj -+bcb5\boost_regex_bcb5_mss\wide_posix_api.obj -+bcb5\boost_regex_bcb5_mss\winstances.obj
|
########################################################
#
# section for boost_regex_bcb5_mdi.lib
#
########################################################
bcb5\boost_regex_bcb5_mdi\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_mdi\c_regex_traits.obj ../src/c_regex_traits.cpp
|
bcb5\boost_regex_bcb5_mdi\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_mdi\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp
|
bcb5\boost_regex_bcb5_mdi\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_mdi\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
|
bcb5\boost_regex_bcb5_mdi\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_mdi\cregex.obj ../src/cregex.cpp
|
bcb5\boost_regex_bcb5_mdi\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_mdi\fileiter.obj ../src/fileiter.cpp
|
bcb5\boost_regex_bcb5_mdi\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_mdi\instances.obj ../src/instances.cpp
|
bcb5\boost_regex_bcb5_mdi\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_mdi\posix_api.obj ../src/posix_api.cpp
|
bcb5\boost_regex_bcb5_mdi\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_mdi\regex.obj ../src/regex.cpp
|
bcb5\boost_regex_bcb5_mdi\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_mdi\regex_debug.obj ../src/regex_debug.cpp
|
bcb5\boost_regex_bcb5_mdi\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_mdi\regex_synch.obj ../src/regex_synch.cpp
|
bcb5\boost_regex_bcb5_mdi\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_mdi\w32_regex_traits.obj ../src/w32_regex_traits.cpp
|
bcb5\boost_regex_bcb5_mdi\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_mdi\wide_posix_api.obj ../src/wide_posix_api.cpp
|
bcb5\boost_regex_bcb5_mdi\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_mdi\winstances.obj ../src/winstances.cpp
|
bcb5\boost_regex_bcb5_mdi :
-@mkdir bcb5\boost_regex_bcb5_mdi
boost_regex_bcb5_mdi_clean :
del bcb5\boost_regex_bcb5_mdi\*.obj
del bcb5\boost_regex_bcb5_mdi\*.il?
del bcb5\boost_regex_bcb5_mdi\*.csm
del bcb5\boost_regex_bcb5_mdi\*.tds
del bcb5\*.tds
bcb5\boost_regex_bcb5_mdi.lib : bcb5\boost_regex_bcb5_mdi\c_regex_traits.obj bcb5\boost_regex_bcb5_mdi\c_regex_traits_common.obj bcb5\boost_regex_bcb5_mdi\cpp_regex_traits.obj bcb5\boost_regex_bcb5_mdi\cregex.obj bcb5\boost_regex_bcb5_mdi\fileiter.obj bcb5\boost_regex_bcb5_mdi\instances.obj bcb5\boost_regex_bcb5_mdi\posix_api.obj bcb5\boost_regex_bcb5_mdi\regex.obj bcb5\boost_regex_bcb5_mdi\regex_debug.obj bcb5\boost_regex_bcb5_mdi\regex_synch.obj bcb5\boost_regex_bcb5_mdi\w32_regex_traits.obj bcb5\boost_regex_bcb5_mdi\wide_posix_api.obj bcb5\boost_regex_bcb5_mdi\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_mdi.dll $(XLFLAGS) bcb5\boost_regex_bcb5_mdi\c_regex_traits.obj bcb5\boost_regex_bcb5_mdi\c_regex_traits_common.obj bcb5\boost_regex_bcb5_mdi\cpp_regex_traits.obj bcb5\boost_regex_bcb5_mdi\cregex.obj bcb5\boost_regex_bcb5_mdi\fileiter.obj bcb5\boost_regex_bcb5_mdi\instances.obj bcb5\boost_regex_bcb5_mdi\posix_api.obj bcb5\boost_regex_bcb5_mdi\regex.obj bcb5\boost_regex_bcb5_mdi\regex_debug.obj bcb5\boost_regex_bcb5_mdi\regex_synch.obj bcb5\boost_regex_bcb5_mdi\w32_regex_traits.obj bcb5\boost_regex_bcb5_mdi\wide_posix_api.obj bcb5\boost_regex_bcb5_mdi\winstances.obj $(LIBS)
|
implib -w bcb5\boost_regex_bcb5_mdi.lib bcb5\boost_regex_bcb5_mdi.dll
########################################################
#
# section for boost_regex_bcb5_sdi.lib
#
########################################################
bcb5\boost_regex_bcb5_sdi\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_sdi\c_regex_traits.obj ../src/c_regex_traits.cpp
|
bcb5\boost_regex_bcb5_sdi\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_sdi\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp
|
bcb5\boost_regex_bcb5_sdi\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_sdi\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
|
bcb5\boost_regex_bcb5_sdi\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_sdi\cregex.obj ../src/cregex.cpp
|
bcb5\boost_regex_bcb5_sdi\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_sdi\fileiter.obj ../src/fileiter.cpp
|
bcb5\boost_regex_bcb5_sdi\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_sdi\instances.obj ../src/instances.cpp
|
bcb5\boost_regex_bcb5_sdi\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_sdi\posix_api.obj ../src/posix_api.cpp
|
bcb5\boost_regex_bcb5_sdi\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_sdi\regex.obj ../src/regex.cpp
|
bcb5\boost_regex_bcb5_sdi\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_sdi\regex_debug.obj ../src/regex_debug.cpp
|
bcb5\boost_regex_bcb5_sdi\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_sdi\regex_synch.obj ../src/regex_synch.cpp
|
bcb5\boost_regex_bcb5_sdi\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_sdi\w32_regex_traits.obj ../src/w32_regex_traits.cpp
|
bcb5\boost_regex_bcb5_sdi\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_sdi\wide_posix_api.obj ../src/wide_posix_api.cpp
|
bcb5\boost_regex_bcb5_sdi\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_sdi\winstances.obj ../src/winstances.cpp
|
bcb5\boost_regex_bcb5_sdi :
-@mkdir bcb5\boost_regex_bcb5_sdi
boost_regex_bcb5_sdi_clean :
del bcb5\boost_regex_bcb5_sdi\*.obj
del bcb5\boost_regex_bcb5_sdi\*.il?
del bcb5\boost_regex_bcb5_sdi\*.csm
del bcb5\boost_regex_bcb5_sdi\*.tds
del bcb5\*.tds
bcb5\boost_regex_bcb5_sdi.lib : bcb5\boost_regex_bcb5_sdi\c_regex_traits.obj bcb5\boost_regex_bcb5_sdi\c_regex_traits_common.obj bcb5\boost_regex_bcb5_sdi\cpp_regex_traits.obj bcb5\boost_regex_bcb5_sdi\cregex.obj bcb5\boost_regex_bcb5_sdi\fileiter.obj bcb5\boost_regex_bcb5_sdi\instances.obj bcb5\boost_regex_bcb5_sdi\posix_api.obj bcb5\boost_regex_bcb5_sdi\regex.obj bcb5\boost_regex_bcb5_sdi\regex_debug.obj bcb5\boost_regex_bcb5_sdi\regex_synch.obj bcb5\boost_regex_bcb5_sdi\w32_regex_traits.obj bcb5\boost_regex_bcb5_sdi\wide_posix_api.obj bcb5\boost_regex_bcb5_sdi\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_sdi.dll $(XLFLAGS) bcb5\boost_regex_bcb5_sdi\c_regex_traits.obj bcb5\boost_regex_bcb5_sdi\c_regex_traits_common.obj bcb5\boost_regex_bcb5_sdi\cpp_regex_traits.obj bcb5\boost_regex_bcb5_sdi\cregex.obj bcb5\boost_regex_bcb5_sdi\fileiter.obj bcb5\boost_regex_bcb5_sdi\instances.obj bcb5\boost_regex_bcb5_sdi\posix_api.obj bcb5\boost_regex_bcb5_sdi\regex.obj bcb5\boost_regex_bcb5_sdi\regex_debug.obj bcb5\boost_regex_bcb5_sdi\regex_synch.obj bcb5\boost_regex_bcb5_sdi\w32_regex_traits.obj bcb5\boost_regex_bcb5_sdi\wide_posix_api.obj bcb5\boost_regex_bcb5_sdi\winstances.obj $(LIBS)
|
implib -w bcb5\boost_regex_bcb5_sdi.lib bcb5\boost_regex_bcb5_sdi.dll
########################################################
#
# section for boost_regex_bcb5_mds.lib
#
########################################################
bcb5\boost_regex_bcb5_mds\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\boost_regex_bcb5_mds\c_regex_traits.obj ../src/c_regex_traits.cpp
|
bcb5\boost_regex_bcb5_mds\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\boost_regex_bcb5_mds\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp
|
bcb5\boost_regex_bcb5_mds\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\boost_regex_bcb5_mds\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
|
bcb5\boost_regex_bcb5_mds\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\boost_regex_bcb5_mds\cregex.obj ../src/cregex.cpp
|
bcb5\boost_regex_bcb5_mds\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\boost_regex_bcb5_mds\fileiter.obj ../src/fileiter.cpp
|
bcb5\boost_regex_bcb5_mds\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\boost_regex_bcb5_mds\instances.obj ../src/instances.cpp
|
bcb5\boost_regex_bcb5_mds\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\boost_regex_bcb5_mds\posix_api.obj ../src/posix_api.cpp
|
bcb5\boost_regex_bcb5_mds\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\boost_regex_bcb5_mds\regex.obj ../src/regex.cpp
|
bcb5\boost_regex_bcb5_mds\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\boost_regex_bcb5_mds\regex_debug.obj ../src/regex_debug.cpp
|
bcb5\boost_regex_bcb5_mds\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\boost_regex_bcb5_mds\regex_synch.obj ../src/regex_synch.cpp
|
bcb5\boost_regex_bcb5_mds\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\boost_regex_bcb5_mds\w32_regex_traits.obj ../src/w32_regex_traits.cpp
|
bcb5\boost_regex_bcb5_mds\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\boost_regex_bcb5_mds\wide_posix_api.obj ../src/wide_posix_api.cpp
|
bcb5\boost_regex_bcb5_mds\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\boost_regex_bcb5_mds\winstances.obj ../src/winstances.cpp
|
bcb5\boost_regex_bcb5_mds :
-@mkdir bcb5\boost_regex_bcb5_mds
boost_regex_bcb5_mds_clean :
del bcb5\boost_regex_bcb5_mds\*.obj
del bcb5\boost_regex_bcb5_mds\*.il?
del bcb5\boost_regex_bcb5_mds\*.csm
del bcb5\boost_regex_bcb5_mds\*.tds
bcb5\boost_regex_bcb5_mds.lib : bcb5\boost_regex_bcb5_mds\c_regex_traits.obj bcb5\boost_regex_bcb5_mds\c_regex_traits_common.obj bcb5\boost_regex_bcb5_mds\cpp_regex_traits.obj bcb5\boost_regex_bcb5_mds\cregex.obj bcb5\boost_regex_bcb5_mds\fileiter.obj bcb5\boost_regex_bcb5_mds\instances.obj bcb5\boost_regex_bcb5_mds\posix_api.obj bcb5\boost_regex_bcb5_mds\regex.obj bcb5\boost_regex_bcb5_mds\regex_debug.obj bcb5\boost_regex_bcb5_mds\regex_synch.obj bcb5\boost_regex_bcb5_mds\w32_regex_traits.obj bcb5\boost_regex_bcb5_mds\wide_posix_api.obj bcb5\boost_regex_bcb5_mds\winstances.obj
tlib @&&|
/P128 /C /u /a $(XSFLAGS) bcb5\boost_regex_bcb5_mds.lib -+bcb5\boost_regex_bcb5_mds\c_regex_traits.obj -+bcb5\boost_regex_bcb5_mds\c_regex_traits_common.obj -+bcb5\boost_regex_bcb5_mds\cpp_regex_traits.obj -+bcb5\boost_regex_bcb5_mds\cregex.obj -+bcb5\boost_regex_bcb5_mds\fileiter.obj -+bcb5\boost_regex_bcb5_mds\instances.obj -+bcb5\boost_regex_bcb5_mds\posix_api.obj -+bcb5\boost_regex_bcb5_mds\regex.obj -+bcb5\boost_regex_bcb5_mds\regex_debug.obj -+bcb5\boost_regex_bcb5_mds\regex_synch.obj -+bcb5\boost_regex_bcb5_mds\w32_regex_traits.obj -+bcb5\boost_regex_bcb5_mds\wide_posix_api.obj -+bcb5\boost_regex_bcb5_mds\winstances.obj
|
########################################################
#
# section for boost_regex_bcb5_sds.lib
#
########################################################
bcb5\boost_regex_bcb5_sds\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\boost_regex_bcb5_sds\c_regex_traits.obj ../src/c_regex_traits.cpp
|
bcb5\boost_regex_bcb5_sds\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\boost_regex_bcb5_sds\c_regex_traits_common.obj ../src/c_regex_traits_common.cpp
|
bcb5\boost_regex_bcb5_sds\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\boost_regex_bcb5_sds\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
|
bcb5\boost_regex_bcb5_sds\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\boost_regex_bcb5_sds\cregex.obj ../src/cregex.cpp
|
bcb5\boost_regex_bcb5_sds\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\boost_regex_bcb5_sds\fileiter.obj ../src/fileiter.cpp
|
bcb5\boost_regex_bcb5_sds\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\boost_regex_bcb5_sds\instances.obj ../src/instances.cpp
|
bcb5\boost_regex_bcb5_sds\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\boost_regex_bcb5_sds\posix_api.obj ../src/posix_api.cpp
|
bcb5\boost_regex_bcb5_sds\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\boost_regex_bcb5_sds\regex.obj ../src/regex.cpp
|
bcb5\boost_regex_bcb5_sds\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\boost_regex_bcb5_sds\regex_debug.obj ../src/regex_debug.cpp
|
bcb5\boost_regex_bcb5_sds\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\boost_regex_bcb5_sds\regex_synch.obj ../src/regex_synch.cpp
|
bcb5\boost_regex_bcb5_sds\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\boost_regex_bcb5_sds\w32_regex_traits.obj ../src/w32_regex_traits.cpp
|
bcb5\boost_regex_bcb5_sds\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\boost_regex_bcb5_sds\wide_posix_api.obj ../src/wide_posix_api.cpp
|
bcb5\boost_regex_bcb5_sds\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\boost_regex_bcb5_sds\winstances.obj ../src/winstances.cpp
|
bcb5\boost_regex_bcb5_sds :
-@mkdir bcb5\boost_regex_bcb5_sds
boost_regex_bcb5_sds_clean :
del bcb5\boost_regex_bcb5_sds\*.obj
del bcb5\boost_regex_bcb5_sds\*.il?
del bcb5\boost_regex_bcb5_sds\*.csm
del bcb5\boost_regex_bcb5_sds\*.tds
bcb5\boost_regex_bcb5_sds.lib : bcb5\boost_regex_bcb5_sds\c_regex_traits.obj bcb5\boost_regex_bcb5_sds\c_regex_traits_common.obj bcb5\boost_regex_bcb5_sds\cpp_regex_traits.obj bcb5\boost_regex_bcb5_sds\cregex.obj bcb5\boost_regex_bcb5_sds\fileiter.obj bcb5\boost_regex_bcb5_sds\instances.obj bcb5\boost_regex_bcb5_sds\posix_api.obj bcb5\boost_regex_bcb5_sds\regex.obj bcb5\boost_regex_bcb5_sds\regex_debug.obj bcb5\boost_regex_bcb5_sds\regex_synch.obj bcb5\boost_regex_bcb5_sds\w32_regex_traits.obj bcb5\boost_regex_bcb5_sds\wide_posix_api.obj bcb5\boost_regex_bcb5_sds\winstances.obj
tlib @&&|
/P128 /C /u /a $(XSFLAGS) bcb5\boost_regex_bcb5_sds.lib -+bcb5\boost_regex_bcb5_sds\c_regex_traits.obj -+bcb5\boost_regex_bcb5_sds\c_regex_traits_common.obj -+bcb5\boost_regex_bcb5_sds\cpp_regex_traits.obj -+bcb5\boost_regex_bcb5_sds\cregex.obj -+bcb5\boost_regex_bcb5_sds\fileiter.obj -+bcb5\boost_regex_bcb5_sds\instances.obj -+bcb5\boost_regex_bcb5_sds\posix_api.obj -+bcb5\boost_regex_bcb5_sds\regex.obj -+bcb5\boost_regex_bcb5_sds\regex_debug.obj -+bcb5\boost_regex_bcb5_sds\regex_synch.obj -+bcb5\boost_regex_bcb5_sds\w32_regex_traits.obj -+bcb5\boost_regex_bcb5_sds\wide_posix_api.obj -+bcb5\boost_regex_bcb5_sds\winstances.obj
|

File diff suppressed because it is too large Load Diff

View File

@ -6,13 +6,37 @@ for file in ../../../boost/regex/*.hpp ; do
fi
done
for file in ../../../boost/regex/detail/*.hpp; do
for file in ../../../boost/regex/v3/*.hpp; do
if [ -f $file ]; then
header="$header $file"
fi
done
for file in ../../../boost/regex/detail/*.hxx; do
for file in ../../../boost/regex/v3/*.hxx; do
if [ -f $file ]; then
header="$header $file"
fi
done
for file in ../../../boost/regex/v4/*.hpp; do
if [ -f $file ]; then
header="$header $file"
fi
done
for file in ../../../boost/regex/v4/*.hxx; do
if [ -f $file ]; then
header="$header $file"
fi
done
for file in ../../../boost/regex/config/*.hpp; do
if [ -f $file ]; then
header="$header $file"
fi
done
for file in ../../../boost/regex/config/*.hxx; do
if [ -f $file ]; then
header="$header $file"
fi
@ -26,3 +50,6 @@ for file in ../src/*.cpp; do
fi
done
boost_version=$(grep 'define.*BOOST_LIB_VERSION' ../../../boost/version.hpp | sed 's/.*"\([^"]*\)".*/\1/')
echo Boost version tag = $boost_version

View File

@ -29,14 +29,14 @@ C1=-c -O2 -I../../../ -fPIC
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/detail/fileiter.hpp ../../../boost/regex/detail/instances.hpp ../../../boost/regex/detail/regex_compile.hpp ../../../boost/regex/detail/regex_cstring.hpp ../../../boost/regex/detail/regex_format.hpp ../../../boost/regex/detail/regex_kmp.hpp ../../../boost/regex/detail/regex_library_include.hpp ../../../boost/regex/detail/regex_match.hpp ../../../boost/regex/detail/regex_raw_buffer.hpp ../../../boost/regex/detail/regex_split.hpp ../../../boost/regex/detail/regex_stack.hpp ../../../boost/regex/detail/regex_synch.hpp
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 ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_compile.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_synch.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cstring.hpp ../../../boost/regex/config/cwchar.hpp ../../../boost/regex/config/regex_library_include.hpp
all : gcc gcc gcc/boost_regex_shared ./gcc/libboost_regex.so gcc gcc/boost_regex_debug_shared ./gcc/libboost_regex_debug.so
all : gcc gcc gcc/boost_regex-gcc-1_31_shared ./gcc/libboost_regex-gcc-1_31.so gcc gcc/boost_regex-gcc-d-1_31_shared ./gcc/libboost_regex-gcc-d-1_31.so
gcc :
mkdir -p gcc
clean : boost_regex_clean boost_regex_debug_clean
clean : boost_regex-gcc-1_31_clean boost_regex-gcc-d-1_31_clean
install : all
@ -44,107 +44,107 @@ install : all
########################################################
#
# section for libboost_regex.a
# section for libboost_regex-gcc-1_31.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-gcc-1_31_shared/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31_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-gcc-1_31_shared/c_regex_traits_common.o: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31_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-gcc-1_31_shared/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31_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-gcc-1_31_shared/cregex.o: ../src/cregex.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31_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-gcc-1_31_shared/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31_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-gcc-1_31_shared/instances.o: ../src/instances.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31_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-gcc-1_31_shared/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31_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-gcc-1_31_shared/regex.o: ../src/regex.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31_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-gcc-1_31_shared/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31_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-gcc-1_31_shared/regex_synch.o: ../src/regex_synch.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31_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-gcc-1_31_shared/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31_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-gcc-1_31_shared/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31_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-gcc-1_31_shared/winstances.o: ../src/winstances.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31_shared/winstances.o $(C1) $(CXXFLAGS) ../src/winstances.cpp
gcc/boost_regex_shared :
mkdir -p gcc/boost_regex_shared
gcc/boost_regex-gcc-1_31_shared :
mkdir -p gcc/boost_regex-gcc-1_31_shared
boost_regex_clean :
rm -f gcc/boost_regex_shared/*.o
boost_regex-gcc-1_31_clean :
rm -f gcc/boost_regex-gcc-1_31_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)
./gcc/libboost_regex-gcc-1_31.so : gcc/boost_regex-gcc-1_31_shared/c_regex_traits.o gcc/boost_regex-gcc-1_31_shared/c_regex_traits_common.o gcc/boost_regex-gcc-1_31_shared/cpp_regex_traits.o gcc/boost_regex-gcc-1_31_shared/cregex.o gcc/boost_regex-gcc-1_31_shared/fileiter.o gcc/boost_regex-gcc-1_31_shared/instances.o gcc/boost_regex-gcc-1_31_shared/posix_api.o gcc/boost_regex-gcc-1_31_shared/regex.o gcc/boost_regex-gcc-1_31_shared/regex_debug.o gcc/boost_regex-gcc-1_31_shared/regex_synch.o gcc/boost_regex-gcc-1_31_shared/w32_regex_traits.o gcc/boost_regex-gcc-1_31_shared/wide_posix_api.o gcc/boost_regex-gcc-1_31_shared/winstances.o
$(LINKER) -o gcc/libboost_regex-gcc-1_31.so $(LDFLAGS) gcc/boost_regex-gcc-1_31_shared/c_regex_traits.o gcc/boost_regex-gcc-1_31_shared/c_regex_traits_common.o gcc/boost_regex-gcc-1_31_shared/cpp_regex_traits.o gcc/boost_regex-gcc-1_31_shared/cregex.o gcc/boost_regex-gcc-1_31_shared/fileiter.o gcc/boost_regex-gcc-1_31_shared/instances.o gcc/boost_regex-gcc-1_31_shared/posix_api.o gcc/boost_regex-gcc-1_31_shared/regex.o gcc/boost_regex-gcc-1_31_shared/regex_debug.o gcc/boost_regex-gcc-1_31_shared/regex_synch.o gcc/boost_regex-gcc-1_31_shared/w32_regex_traits.o gcc/boost_regex-gcc-1_31_shared/wide_posix_api.o gcc/boost_regex-gcc-1_31_shared/winstances.o $(LIBS)
########################################################
#
# section for libboost_regex_debug.a
# section for libboost_regex-gcc-d-1_31.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-gcc-d-1_31_shared/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31_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-gcc-d-1_31_shared/c_regex_traits_common.o: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31_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-gcc-d-1_31_shared/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31_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-gcc-d-1_31_shared/cregex.o: ../src/cregex.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31_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-gcc-d-1_31_shared/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31_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-gcc-d-1_31_shared/instances.o: ../src/instances.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31_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-gcc-d-1_31_shared/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31_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-gcc-d-1_31_shared/regex.o: ../src/regex.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31_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-gcc-d-1_31_shared/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31_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-gcc-d-1_31_shared/regex_synch.o: ../src/regex_synch.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31_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-gcc-d-1_31_shared/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31_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-gcc-d-1_31_shared/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31_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-gcc-d-1_31_shared/winstances.o: ../src/winstances.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31_shared/winstances.o $(C2) $(CXXFLAGS) ../src/winstances.cpp
gcc/boost_regex_debug_shared :
mkdir -p gcc/boost_regex_debug_shared
gcc/boost_regex-gcc-d-1_31_shared :
mkdir -p gcc/boost_regex-gcc-d-1_31_shared
boost_regex_debug_clean :
rm -f gcc/boost_regex_debug_shared/*.o
boost_regex-gcc-d-1_31_clean :
rm -f gcc/boost_regex-gcc-d-1_31_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)
./gcc/libboost_regex-gcc-d-1_31.so : gcc/boost_regex-gcc-d-1_31_shared/c_regex_traits.o gcc/boost_regex-gcc-d-1_31_shared/c_regex_traits_common.o gcc/boost_regex-gcc-d-1_31_shared/cpp_regex_traits.o gcc/boost_regex-gcc-d-1_31_shared/cregex.o gcc/boost_regex-gcc-d-1_31_shared/fileiter.o gcc/boost_regex-gcc-d-1_31_shared/instances.o gcc/boost_regex-gcc-d-1_31_shared/posix_api.o gcc/boost_regex-gcc-d-1_31_shared/regex.o gcc/boost_regex-gcc-d-1_31_shared/regex_debug.o gcc/boost_regex-gcc-d-1_31_shared/regex_synch.o gcc/boost_regex-gcc-d-1_31_shared/w32_regex_traits.o gcc/boost_regex-gcc-d-1_31_shared/wide_posix_api.o gcc/boost_regex-gcc-d-1_31_shared/winstances.o
$(LINKER) -o gcc/libboost_regex-gcc-d-1_31.so $(LDFLAGS) gcc/boost_regex-gcc-d-1_31_shared/c_regex_traits.o gcc/boost_regex-gcc-d-1_31_shared/c_regex_traits_common.o gcc/boost_regex-gcc-d-1_31_shared/cpp_regex_traits.o gcc/boost_regex-gcc-d-1_31_shared/cregex.o gcc/boost_regex-gcc-d-1_31_shared/fileiter.o gcc/boost_regex-gcc-d-1_31_shared/instances.o gcc/boost_regex-gcc-d-1_31_shared/posix_api.o gcc/boost_regex-gcc-d-1_31_shared/regex.o gcc/boost_regex-gcc-d-1_31_shared/regex_debug.o gcc/boost_regex-gcc-d-1_31_shared/regex_synch.o gcc/boost_regex-gcc-d-1_31_shared/w32_regex_traits.o gcc/boost_regex-gcc-d-1_31_shared/wide_posix_api.o gcc/boost_regex-gcc-d-1_31_shared/winstances.o $(LIBS)

View File

@ -30,14 +30,14 @@ 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/detail/fileiter.hpp ../../../boost/regex/detail/instances.hpp ../../../boost/regex/detail/regex_compile.hpp ../../../boost/regex/detail/regex_cstring.hpp ../../../boost/regex/detail/regex_format.hpp ../../../boost/regex/detail/regex_kmp.hpp ../../../boost/regex/detail/regex_library_include.hpp ../../../boost/regex/detail/regex_match.hpp ../../../boost/regex/detail/regex_raw_buffer.hpp ../../../boost/regex/detail/regex_split.hpp ../../../boost/regex/detail/regex_stack.hpp ../../../boost/regex/detail/regex_synch.hpp
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 ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_compile.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_synch.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cstring.hpp ../../../boost/regex/config/cwchar.hpp ../../../boost/regex/config/regex_library_include.hpp
all : gcc gcc gcc/boost_regex ./gcc/libboost_regex.a gcc gcc/boost_regex_debug ./gcc/libboost_regex_debug.a
all : gcc gcc gcc/boost_regex-gcc-1_31 ./gcc/libboost_regex-gcc-1_31.a gcc gcc/boost_regex-gcc-d-1_31 ./gcc/libboost_regex-gcc-d-1_31.a
gcc :
mkdir -p gcc
clean : boost_regex_clean boost_regex_debug_clean
clean : boost_regex-gcc-1_31_clean boost_regex-gcc-d-1_31_clean
install : all
@ -45,109 +45,109 @@ install : all
########################################################
#
# section for libboost_regex.a
# section for libboost_regex-gcc-1_31.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-gcc-1_31/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31/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-gcc-1_31/c_regex_traits_common.o: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31/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-gcc-1_31/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31/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-gcc-1_31/cregex.o: ../src/cregex.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31/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-gcc-1_31/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31/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-gcc-1_31/instances.o: ../src/instances.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31/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-gcc-1_31/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31/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-gcc-1_31/regex.o: ../src/regex.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31/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-gcc-1_31/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31/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-gcc-1_31/regex_synch.o: ../src/regex_synch.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31/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-gcc-1_31/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31/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-gcc-1_31/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31/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-gcc-1_31/winstances.o: ../src/winstances.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_31/winstances.o $(C1) $(CXXFLAGS) ../src/winstances.cpp
gcc/boost_regex :
mkdir -p gcc/boost_regex
gcc/boost_regex-gcc-1_31 :
mkdir -p gcc/boost_regex-gcc-1_31
boost_regex_clean :
rm -f gcc/boost_regex/*.o
boost_regex-gcc-1_31_clean :
rm -f gcc/boost_regex-gcc-1_31/*.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
./gcc/libboost_regex-gcc-1_31.a : gcc/boost_regex-gcc-1_31/c_regex_traits.o gcc/boost_regex-gcc-1_31/c_regex_traits_common.o gcc/boost_regex-gcc-1_31/cpp_regex_traits.o gcc/boost_regex-gcc-1_31/cregex.o gcc/boost_regex-gcc-1_31/fileiter.o gcc/boost_regex-gcc-1_31/instances.o gcc/boost_regex-gcc-1_31/posix_api.o gcc/boost_regex-gcc-1_31/regex.o gcc/boost_regex-gcc-1_31/regex_debug.o gcc/boost_regex-gcc-1_31/regex_synch.o gcc/boost_regex-gcc-1_31/w32_regex_traits.o gcc/boost_regex-gcc-1_31/wide_posix_api.o gcc/boost_regex-gcc-1_31/winstances.o
ar -r gcc/libboost_regex-gcc-1_31.a gcc/boost_regex-gcc-1_31/c_regex_traits.o gcc/boost_regex-gcc-1_31/c_regex_traits_common.o gcc/boost_regex-gcc-1_31/cpp_regex_traits.o gcc/boost_regex-gcc-1_31/cregex.o gcc/boost_regex-gcc-1_31/fileiter.o gcc/boost_regex-gcc-1_31/instances.o gcc/boost_regex-gcc-1_31/posix_api.o gcc/boost_regex-gcc-1_31/regex.o gcc/boost_regex-gcc-1_31/regex_debug.o gcc/boost_regex-gcc-1_31/regex_synch.o gcc/boost_regex-gcc-1_31/w32_regex_traits.o gcc/boost_regex-gcc-1_31/wide_posix_api.o gcc/boost_regex-gcc-1_31/winstances.o
-ar -s gcc/libboost_regex-gcc-1_31.a
########################################################
#
# section for libboost_regex_debug.a
# section for libboost_regex-gcc-d-1_31.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-gcc-d-1_31/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31/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-gcc-d-1_31/c_regex_traits_common.o: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31/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-gcc-d-1_31/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31/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-gcc-d-1_31/cregex.o: ../src/cregex.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31/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-gcc-d-1_31/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31/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-gcc-d-1_31/instances.o: ../src/instances.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31/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-gcc-d-1_31/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31/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-gcc-d-1_31/regex.o: ../src/regex.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31/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-gcc-d-1_31/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31/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-gcc-d-1_31/regex_synch.o: ../src/regex_synch.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31/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-gcc-d-1_31/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31/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-gcc-d-1_31/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31/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-gcc-d-1_31/winstances.o: ../src/winstances.cpp $(ALL_HEADER)
$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_31/winstances.o $(C2) $(CXXFLAGS) ../src/winstances.cpp
gcc/boost_regex_debug :
mkdir -p gcc/boost_regex_debug
gcc/boost_regex-gcc-d-1_31 :
mkdir -p gcc/boost_regex-gcc-d-1_31
boost_regex_debug_clean :
rm -f gcc/boost_regex_debug/*.o
boost_regex-gcc-d-1_31_clean :
rm -f gcc/boost_regex-gcc-d-1_31/*.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
./gcc/libboost_regex-gcc-d-1_31.a : gcc/boost_regex-gcc-d-1_31/c_regex_traits.o gcc/boost_regex-gcc-d-1_31/c_regex_traits_common.o gcc/boost_regex-gcc-d-1_31/cpp_regex_traits.o gcc/boost_regex-gcc-d-1_31/cregex.o gcc/boost_regex-gcc-d-1_31/fileiter.o gcc/boost_regex-gcc-d-1_31/instances.o gcc/boost_regex-gcc-d-1_31/posix_api.o gcc/boost_regex-gcc-d-1_31/regex.o gcc/boost_regex-gcc-d-1_31/regex_debug.o gcc/boost_regex-gcc-d-1_31/regex_synch.o gcc/boost_regex-gcc-d-1_31/w32_regex_traits.o gcc/boost_regex-gcc-d-1_31/wide_posix_api.o gcc/boost_regex-gcc-d-1_31/winstances.o
ar -r gcc/libboost_regex-gcc-d-1_31.a gcc/boost_regex-gcc-d-1_31/c_regex_traits.o gcc/boost_regex-gcc-d-1_31/c_regex_traits_common.o gcc/boost_regex-gcc-d-1_31/cpp_regex_traits.o gcc/boost_regex-gcc-d-1_31/cregex.o gcc/boost_regex-gcc-d-1_31/fileiter.o gcc/boost_regex-gcc-d-1_31/instances.o gcc/boost_regex-gcc-d-1_31/posix_api.o gcc/boost_regex-gcc-d-1_31/regex.o gcc/boost_regex-gcc-d-1_31/regex_debug.o gcc/boost_regex-gcc-d-1_31/regex_synch.o gcc/boost_regex-gcc-d-1_31/w32_regex_traits.o gcc/boost_regex-gcc-d-1_31/wide_posix_api.o gcc/boost_regex-gcc-d-1_31/winstances.o
-ar -s gcc/libboost_regex-gcc-d-1_31.a

View File

@ -94,10 +94,10 @@ function gcc_gen()
echo > $tout
echo > $iout
libname="boost_regex"
libname="boost_regex-gcc-${boost_version}"
opts="\$(C1)"
gcc_gen_lib
libname="boost_regex_debug"
libname="boost_regex-gcc-d-${boost_version}"
opts="\$(C2)"
gcc_gen_lib
@ -163,10 +163,10 @@ function gcc_gen_shared()
echo > $tout
echo > $iout
libname="boost_regex"
libname="boost_regex-gcc-${boost_version}"
opts="\$(C1)"
gcc_gen_lib
libname="boost_regex_debug"
libname="boost_regex-gcc-d-${boost_version}"
opts="\$(C2)"
gcc_gen_lib

View File

@ -26,7 +26,7 @@ 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/detail/fileiter.hpp ../../../boost/regex/detail/instances.hpp ../../../boost/regex/detail/regex_compile.hpp ../../../boost/regex/detail/regex_cstring.hpp ../../../boost/regex/detail/regex_format.hpp ../../../boost/regex/detail/regex_kmp.hpp ../../../boost/regex/detail/regex_library_include.hpp ../../../boost/regex/detail/regex_match.hpp ../../../boost/regex/detail/regex_raw_buffer.hpp ../../../boost/regex/detail/regex_split.hpp ../../../boost/regex/detail/regex_stack.hpp ../../../boost/regex/detail/regex_synch.hpp
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 ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_compile.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_synch.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cstring.hpp ../../../boost/regex/config/cwchar.hpp ../../../boost/regex/config/regex_library_include.hpp
all : $(DIRNAME) $(DIRNAME) $(DIRNAME)/boost_regex ./$(DIRNAME)/libboost_regex.so

View File

@ -34,7 +34,7 @@ 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/detail/fileiter.hpp ../../../boost/regex/detail/instances.hpp ../../../boost/regex/detail/regex_compile.hpp ../../../boost/regex/detail/regex_cstring.hpp ../../../boost/regex/detail/regex_format.hpp ../../../boost/regex/detail/regex_kmp.hpp ../../../boost/regex/detail/regex_library_include.hpp ../../../boost/regex/detail/regex_match.hpp ../../../boost/regex/detail/regex_raw_buffer.hpp ../../../boost/regex/detail/regex_split.hpp ../../../boost/regex/detail/regex_stack.hpp ../../../boost/regex/detail/regex_synch.hpp
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 ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_compile.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_synch.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cstring.hpp ../../../boost/regex/config/cwchar.hpp ../../../boost/regex/config/regex_library_include.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

View File

@ -40,28 +40,24 @@ NULL=nul
!ENDIF
ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/detail/fileiter.hpp ../../../boost/regex/detail/instances.hpp ../../../boost/regex/detail/regex_compile.hpp ../../../boost/regex/detail/regex_cstring.hpp ../../../boost/regex/detail/regex_format.hpp ../../../boost/regex/detail/regex_kmp.hpp ../../../boost/regex/detail/regex_library_include.hpp ../../../boost/regex/detail/regex_match.hpp ../../../boost/regex/detail/regex_raw_buffer.hpp ../../../boost/regex/detail/regex_split.hpp ../../../boost/regex/detail/regex_stack.hpp ../../../boost/regex/detail/regex_synch.hpp
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 ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_compile.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_synch.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cstring.hpp ../../../boost/regex/config/cwchar.hpp ../../../boost/regex/config/regex_library_include.hpp
all : main_dir boost_regex_vc6-stlport_mss_dir ./vc6-stlport/boost_regex_vc6-stlport_mss.lib boost_regex_vc6-stlport_mssd_dir ./vc6-stlport/boost_regex_vc6-stlport_mssd.lib boost_regex_vc6-stlport_mdid_dir ./vc6-stlport/boost_regex_vc6-stlport_mdid.lib boost_regex_vc6-stlport_mdi_dir ./vc6-stlport/boost_regex_vc6-stlport_mdi.lib boost_regex_vc6-stlport_mds_dir ./vc6-stlport/boost_regex_vc6-stlport_mds.lib boost_regex_vc6-stlport_mdsd_dir ./vc6-stlport/boost_regex_vc6-stlport_mdsd.lib boost_regex_vc6-stlport_mdidd_dir ./vc6-stlport/boost_regex_vc6-stlport_mdidd.lib boost_regex_vc6-stlport_mssdd_dir ./vc6-stlport/boost_regex_vc6-stlport_mssdd.lib boost_regex_vc6-stlport_mdsdd_dir ./vc6-stlport/boost_regex_vc6-stlport_mdsdd.lib
all : main_dir libboost_regex-vc6-mt-sp-1_31_dir ./vc6-stlport/libboost_regex-vc6-mt-sp-1_31.lib boost_regex-vc6-mt-p-1_31_dir ./vc6-stlport/boost_regex-vc6-mt-p-1_31.lib libboost_regex-vc6-mt-p-1_31_dir ./vc6-stlport/libboost_regex-vc6-mt-p-1_31.lib boost_regex-vc6-mt-gdp-1_31_dir ./vc6-stlport/boost_regex-vc6-mt-gdp-1_31.lib libboost_regex-vc6-mt-sgdp-1_31_dir ./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31.lib libboost_regex-vc6-mt-gdp-1_31_dir ./vc6-stlport/libboost_regex-vc6-mt-gdp-1_31.lib
clean : boost_regex_vc6-stlport_mss_clean boost_regex_vc6-stlport_mssd_clean boost_regex_vc6-stlport_mdid_clean boost_regex_vc6-stlport_mdi_clean boost_regex_vc6-stlport_mds_clean boost_regex_vc6-stlport_mdsd_clean boost_regex_vc6-stlport_mdidd_clean boost_regex_vc6-stlport_mssdd_clean boost_regex_vc6-stlport_mdsdd_clean
clean : libboost_regex-vc6-mt-sp-1_31_clean boost_regex-vc6-mt-p-1_31_clean libboost_regex-vc6-mt-p-1_31_clean boost_regex-vc6-mt-gdp-1_31_clean libboost_regex-vc6-mt-sgdp-1_31_clean libboost_regex-vc6-mt-gdp-1_31_clean
install : stlport_check all
copy vc6-stlport\boost_regex_vc6-stlport_mss.lib "$(MSVCDIR)\lib"
copy vc6-stlport\boost_regex_vc6-stlport_mssd.lib "$(MSVCDIR)\lib"
copy vc6-stlport\boost_regex_vc6-stlport_mdid.lib "$(MSVCDIR)\lib"
copy vc6-stlport\boost_regex_vc6-stlport_mdid.dll "$(MSVCDIR)\bin"
copy vc6-stlport\boost_regex_vc6-stlport_mdi.lib "$(MSVCDIR)\lib"
copy vc6-stlport\boost_regex_vc6-stlport_mdi.dll "$(MSVCDIR)\bin"
copy vc6-stlport\boost_regex_vc6-stlport_mds.lib "$(MSVCDIR)\lib"
copy vc6-stlport\boost_regex_vc6-stlport_mdsd.lib "$(MSVCDIR)\lib"
copy vc6-stlport\boost_regex_vc6-stlport_mdidd.lib "$(MSVCDIR)\lib"
copy vc6-stlport\boost_regex_vc6-stlport_mdidd.dll "$(MSVCDIR)\bin"
copy vc6-stlport\boost_regex_vc6-stlport_mdidd.pdb "$(MSVCDIR)\lib"
copy vc6-stlport\boost_regex_vc6-stlport_mssdd.lib "$(MSVCDIR)\lib"
copy vc6-stlport\boost_regex_vc6-stlport_mssdd.pdb "$(MSVCDIR)\lib"
copy vc6-stlport\boost_regex_vc6-stlport_mdsdd.lib "$(MSVCDIR)\lib"
copy vc6-stlport\boost_regex_vc6-stlport_mdsdd.pdb "$(MSVCDIR)\lib"
copy vc6-stlport\libboost_regex-vc6-mt-sp-1_31.lib "$(MSVCDIR)\lib"
copy vc6-stlport\boost_regex-vc6-mt-p-1_31.lib "$(MSVCDIR)\lib"
copy vc6-stlport\boost_regex-vc6-mt-p-1_31.dll "$(MSVCDIR)\bin"
copy vc6-stlport\libboost_regex-vc6-mt-p-1_31.lib "$(MSVCDIR)\lib"
copy vc6-stlport\boost_regex-vc6-mt-gdp-1_31.lib "$(MSVCDIR)\lib"
copy vc6-stlport\boost_regex-vc6-mt-gdp-1_31.dll "$(MSVCDIR)\bin"
copy vc6-stlport\boost_regex-vc6-mt-gdp-1_31.pdb "$(MSVCDIR)\lib"
copy vc6-stlport\libboost_regex-vc6-mt-sgdp-1_31.lib "$(MSVCDIR)\lib"
copy vc6-stlport\libboost_regex-vc6-mt-sgdp-1_31.pdb "$(MSVCDIR)\lib"
copy vc6-stlport\libboost_regex-vc6-mt-gdp-1_31.lib "$(MSVCDIR)\lib"
copy vc6-stlport\libboost_regex-vc6-mt-gdp-1_31.pdb "$(MSVCDIR)\lib"
main_dir :
@if not exist "vc6-stlport\$(NULL)" mkdir vc6-stlport
@ -72,505 +68,337 @@ stlport_check : $(STLPORT_PATH)\stlport\string
########################################################
#
# section for boost_regex_vc6-stlport_mss.lib
# section for libboost_regex-vc6-mt-sp-1_31.lib
#
########################################################
vc6-stlport/boost_regex_vc6-stlport_mss/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/boost_regex_vc6-stlport_mss/boost_regex_vc6-stlport_mss.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mss/ -Fdvc6-stlport/boost_regex_vc6-stlport_mss.pdb ../src/c_regex_traits.cpp
vc6-stlport/libboost_regex-vc6-mt-sp-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_31.pdb ../src/c_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mss/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/boost_regex_vc6-stlport_mss/boost_regex_vc6-stlport_mss.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mss/ -Fdvc6-stlport/boost_regex_vc6-stlport_mss.pdb ../src/c_regex_traits_common.cpp
vc6-stlport/libboost_regex-vc6-mt-sp-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_31.pdb ../src/c_regex_traits_common.cpp
vc6-stlport/boost_regex_vc6-stlport_mss/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/boost_regex_vc6-stlport_mss/boost_regex_vc6-stlport_mss.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mss/ -Fdvc6-stlport/boost_regex_vc6-stlport_mss.pdb ../src/cpp_regex_traits.cpp
vc6-stlport/libboost_regex-vc6-mt-sp-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_31.pdb ../src/cpp_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mss/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/boost_regex_vc6-stlport_mss/boost_regex_vc6-stlport_mss.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mss/ -Fdvc6-stlport/boost_regex_vc6-stlport_mss.pdb ../src/cregex.cpp
vc6-stlport/libboost_regex-vc6-mt-sp-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_31.pdb ../src/cregex.cpp
vc6-stlport/boost_regex_vc6-stlport_mss/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/boost_regex_vc6-stlport_mss/boost_regex_vc6-stlport_mss.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mss/ -Fdvc6-stlport/boost_regex_vc6-stlport_mss.pdb ../src/fileiter.cpp
vc6-stlport/libboost_regex-vc6-mt-sp-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_31.pdb ../src/fileiter.cpp
vc6-stlport/boost_regex_vc6-stlport_mss/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/boost_regex_vc6-stlport_mss/boost_regex_vc6-stlport_mss.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mss/ -Fdvc6-stlport/boost_regex_vc6-stlport_mss.pdb ../src/instances.cpp
vc6-stlport/libboost_regex-vc6-mt-sp-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_31.pdb ../src/instances.cpp
vc6-stlport/boost_regex_vc6-stlport_mss/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/boost_regex_vc6-stlport_mss/boost_regex_vc6-stlport_mss.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mss/ -Fdvc6-stlport/boost_regex_vc6-stlport_mss.pdb ../src/posix_api.cpp
vc6-stlport/libboost_regex-vc6-mt-sp-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_31.pdb ../src/posix_api.cpp
vc6-stlport/boost_regex_vc6-stlport_mss/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/boost_regex_vc6-stlport_mss/boost_regex_vc6-stlport_mss.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mss/ -Fdvc6-stlport/boost_regex_vc6-stlport_mss.pdb ../src/regex.cpp
vc6-stlport/libboost_regex-vc6-mt-sp-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_31.pdb ../src/regex.cpp
vc6-stlport/boost_regex_vc6-stlport_mss/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/boost_regex_vc6-stlport_mss/boost_regex_vc6-stlport_mss.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mss/ -Fdvc6-stlport/boost_regex_vc6-stlport_mss.pdb ../src/regex_debug.cpp
vc6-stlport/libboost_regex-vc6-mt-sp-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_31.pdb ../src/regex_debug.cpp
vc6-stlport/boost_regex_vc6-stlport_mss/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/boost_regex_vc6-stlport_mss/boost_regex_vc6-stlport_mss.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mss/ -Fdvc6-stlport/boost_regex_vc6-stlport_mss.pdb ../src/regex_synch.cpp
vc6-stlport/libboost_regex-vc6-mt-sp-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_31.pdb ../src/regex_synch.cpp
vc6-stlport/boost_regex_vc6-stlport_mss/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/boost_regex_vc6-stlport_mss/boost_regex_vc6-stlport_mss.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mss/ -Fdvc6-stlport/boost_regex_vc6-stlport_mss.pdb ../src/w32_regex_traits.cpp
vc6-stlport/libboost_regex-vc6-mt-sp-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_31.pdb ../src/w32_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mss/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/boost_regex_vc6-stlport_mss/boost_regex_vc6-stlport_mss.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mss/ -Fdvc6-stlport/boost_regex_vc6-stlport_mss.pdb ../src/wide_posix_api.cpp
vc6-stlport/libboost_regex-vc6-mt-sp-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_31.pdb ../src/wide_posix_api.cpp
vc6-stlport/boost_regex_vc6-stlport_mss/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/boost_regex_vc6-stlport_mss/boost_regex_vc6-stlport_mss.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mss/ -Fdvc6-stlport/boost_regex_vc6-stlport_mss.pdb ../src/winstances.cpp
vc6-stlport/libboost_regex-vc6-mt-sp-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_31.pdb ../src/winstances.cpp
boost_regex_vc6-stlport_mss_dir :
@if not exist "vc6-stlport\boost_regex_vc6-stlport_mss\$(NULL)" mkdir vc6-stlport\boost_regex_vc6-stlport_mss
libboost_regex-vc6-mt-sp-1_31_dir :
@if not exist "vc6-stlport\libboost_regex-vc6-mt-sp-1_31\$(NULL)" mkdir vc6-stlport\libboost_regex-vc6-mt-sp-1_31
boost_regex_vc6-stlport_mss_clean :
del vc6-stlport\boost_regex_vc6-stlport_mss\*.obj
del vc6-stlport\boost_regex_vc6-stlport_mss\*.idb
del vc6-stlport\boost_regex_vc6-stlport_mss\*.exp
del vc6-stlport\boost_regex_vc6-stlport_mss\*.pch
libboost_regex-vc6-mt-sp-1_31_clean :
del vc6-stlport\libboost_regex-vc6-mt-sp-1_31\*.obj
del vc6-stlport\libboost_regex-vc6-mt-sp-1_31\*.idb
del vc6-stlport\libboost_regex-vc6-mt-sp-1_31\*.exp
del vc6-stlport\libboost_regex-vc6-mt-sp-1_31\*.pch
./vc6-stlport/boost_regex_vc6-stlport_mss.lib : vc6-stlport/boost_regex_vc6-stlport_mss/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mss/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mss/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mss/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mss/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mss/instances.obj vc6-stlport/boost_regex_vc6-stlport_mss/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mss/regex.obj vc6-stlport/boost_regex_vc6-stlport_mss/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mss/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mss/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mss/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mss/winstances.obj
link -lib /nologo /out:vc6-stlport/boost_regex_vc6-stlport_mss.lib $(XSFLAGS) vc6-stlport/boost_regex_vc6-stlport_mss/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mss/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mss/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mss/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mss/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mss/instances.obj vc6-stlport/boost_regex_vc6-stlport_mss/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mss/regex.obj vc6-stlport/boost_regex_vc6-stlport_mss/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mss/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mss/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mss/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mss/winstances.obj
./vc6-stlport/libboost_regex-vc6-mt-sp-1_31.lib : vc6-stlport/libboost_regex-vc6-mt-sp-1_31/c_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/c_regex_traits_common.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/cpp_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/cregex.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/fileiter.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/instances.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/posix_api.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/regex.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/regex_debug.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/regex_synch.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/w32_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/wide_posix_api.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/winstances.obj
link -lib /nologo /out:vc6-stlport/libboost_regex-vc6-mt-sp-1_31.lib $(XSFLAGS) vc6-stlport/libboost_regex-vc6-mt-sp-1_31/c_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/c_regex_traits_common.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/cpp_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/cregex.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/fileiter.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/instances.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/posix_api.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/regex.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/regex_debug.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/regex_synch.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/w32_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/wide_posix_api.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_31/winstances.obj
########################################################
#
# section for boost_regex_vc6-stlport_mssd.lib
# section for boost_regex-vc6-mt-p-1_31.lib
#
########################################################
vc6-stlport/boost_regex_vc6-stlport_mssd/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/boost_regex_vc6-stlport_mssd/boost_regex_vc6-stlport_mssd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssd.pdb ../src/c_regex_traits.cpp
vc6-stlport/boost_regex-vc6-mt-p-1_31/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../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_31.pdb ../src/c_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mssd/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/boost_regex_vc6-stlport_mssd/boost_regex_vc6-stlport_mssd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssd.pdb ../src/c_regex_traits_common.cpp
vc6-stlport/boost_regex-vc6-mt-p-1_31/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../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_31.pdb ../src/c_regex_traits_common.cpp
vc6-stlport/boost_regex_vc6-stlport_mssd/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/boost_regex_vc6-stlport_mssd/boost_regex_vc6-stlport_mssd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssd.pdb ../src/cpp_regex_traits.cpp
vc6-stlport/boost_regex-vc6-mt-p-1_31/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../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_31.pdb ../src/cpp_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mssd/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/boost_regex_vc6-stlport_mssd/boost_regex_vc6-stlport_mssd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssd.pdb ../src/cregex.cpp
vc6-stlport/boost_regex-vc6-mt-p-1_31/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_31.pdb ../src/cregex.cpp
vc6-stlport/boost_regex_vc6-stlport_mssd/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/boost_regex_vc6-stlport_mssd/boost_regex_vc6-stlport_mssd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssd.pdb ../src/fileiter.cpp
vc6-stlport/boost_regex-vc6-mt-p-1_31/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_31.pdb ../src/fileiter.cpp
vc6-stlport/boost_regex_vc6-stlport_mssd/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/boost_regex_vc6-stlport_mssd/boost_regex_vc6-stlport_mssd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssd.pdb ../src/instances.cpp
vc6-stlport/boost_regex-vc6-mt-p-1_31/instances.obj: ../src/instances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_31.pdb ../src/instances.cpp
vc6-stlport/boost_regex_vc6-stlport_mssd/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/boost_regex_vc6-stlport_mssd/boost_regex_vc6-stlport_mssd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssd.pdb ../src/posix_api.cpp
vc6-stlport/boost_regex-vc6-mt-p-1_31/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_31.pdb ../src/posix_api.cpp
vc6-stlport/boost_regex_vc6-stlport_mssd/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/boost_regex_vc6-stlport_mssd/boost_regex_vc6-stlport_mssd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssd.pdb ../src/regex.cpp
vc6-stlport/boost_regex-vc6-mt-p-1_31/regex.obj: ../src/regex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_31.pdb ../src/regex.cpp
vc6-stlport/boost_regex_vc6-stlport_mssd/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/boost_regex_vc6-stlport_mssd/boost_regex_vc6-stlport_mssd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssd.pdb ../src/regex_debug.cpp
vc6-stlport/boost_regex-vc6-mt-p-1_31/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_31.pdb ../src/regex_debug.cpp
vc6-stlport/boost_regex_vc6-stlport_mssd/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/boost_regex_vc6-stlport_mssd/boost_regex_vc6-stlport_mssd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssd.pdb ../src/regex_synch.cpp
vc6-stlport/boost_regex-vc6-mt-p-1_31/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_31.pdb ../src/regex_synch.cpp
vc6-stlport/boost_regex_vc6-stlport_mssd/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/boost_regex_vc6-stlport_mssd/boost_regex_vc6-stlport_mssd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssd.pdb ../src/w32_regex_traits.cpp
vc6-stlport/boost_regex-vc6-mt-p-1_31/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../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_31.pdb ../src/w32_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mssd/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/boost_regex_vc6-stlport_mssd/boost_regex_vc6-stlport_mssd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssd.pdb ../src/wide_posix_api.cpp
vc6-stlport/boost_regex-vc6-mt-p-1_31/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../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_31.pdb ../src/wide_posix_api.cpp
vc6-stlport/boost_regex_vc6-stlport_mssd/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/boost_regex_vc6-stlport_mssd/boost_regex_vc6-stlport_mssd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssd.pdb ../src/winstances.cpp
vc6-stlport/boost_regex-vc6-mt-p-1_31/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_31.pdb ../src/winstances.cpp
boost_regex_vc6-stlport_mssd_dir :
@if not exist "vc6-stlport\boost_regex_vc6-stlport_mssd\$(NULL)" mkdir vc6-stlport\boost_regex_vc6-stlport_mssd
boost_regex-vc6-mt-p-1_31_dir :
@if not exist "vc6-stlport\boost_regex-vc6-mt-p-1_31\$(NULL)" mkdir vc6-stlport\boost_regex-vc6-mt-p-1_31
boost_regex_vc6-stlport_mssd_clean :
del vc6-stlport\boost_regex_vc6-stlport_mssd\*.obj
del vc6-stlport\boost_regex_vc6-stlport_mssd\*.idb
del vc6-stlport\boost_regex_vc6-stlport_mssd\*.exp
del vc6-stlport\boost_regex_vc6-stlport_mssd\*.pch
boost_regex-vc6-mt-p-1_31_clean :
del vc6-stlport\boost_regex-vc6-mt-p-1_31\*.obj
del vc6-stlport\boost_regex-vc6-mt-p-1_31\*.idb
del vc6-stlport\boost_regex-vc6-mt-p-1_31\*.exp
del vc6-stlport\boost_regex-vc6-mt-p-1_31\*.pch
./vc6-stlport/boost_regex_vc6-stlport_mssd.lib : vc6-stlport/boost_regex_vc6-stlport_mssd/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mssd/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mssd/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mssd/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mssd/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mssd/instances.obj vc6-stlport/boost_regex_vc6-stlport_mssd/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mssd/regex.obj vc6-stlport/boost_regex_vc6-stlport_mssd/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mssd/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mssd/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mssd/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mssd/winstances.obj
link -lib /nologo /out:vc6-stlport/boost_regex_vc6-stlport_mssd.lib $(XSFLAGS) vc6-stlport/boost_regex_vc6-stlport_mssd/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mssd/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mssd/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mssd/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mssd/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mssd/instances.obj vc6-stlport/boost_regex_vc6-stlport_mssd/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mssd/regex.obj vc6-stlport/boost_regex_vc6-stlport_mssd/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mssd/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mssd/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mssd/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mssd/winstances.obj
./vc6-stlport/boost_regex-vc6-mt-p-1_31.lib : vc6-stlport/boost_regex-vc6-mt-p-1_31/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/c_regex_traits_common.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/cpp_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/cregex.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/fileiter.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/instances.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/posix_api.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/regex.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/regex_debug.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/regex_synch.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/w32_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/wide_posix_api.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/winstances.obj
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6-stlport/boost_regex-vc6-mt-p-1_31.pdb" /debug /machine:I386 /out:"vc6-stlport/boost_regex-vc6-mt-p-1_31.dll" /implib:"vc6-stlport/boost_regex-vc6-mt-p-1_31.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc6-stlport/boost_regex-vc6-mt-p-1_31/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/c_regex_traits_common.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/cpp_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/cregex.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/fileiter.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/instances.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/posix_api.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/regex.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/regex_debug.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/regex_synch.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/w32_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/wide_posix_api.obj vc6-stlport/boost_regex-vc6-mt-p-1_31/winstances.obj
########################################################
#
# section for boost_regex_vc6-stlport_mdid.lib
# section for libboost_regex-vc6-mt-p-1_31.lib
#
########################################################
vc6-stlport/boost_regex_vc6-stlport_mdid/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_mdid/boost_regex_vc6-stlport_mdid.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdid/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdid.pdb ../src/c_regex_traits.cpp
vc6-stlport/libboost_regex-vc6-mt-p-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_31.pdb ../src/c_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mdid/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_mdid/boost_regex_vc6-stlport_mdid.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdid/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdid.pdb ../src/c_regex_traits_common.cpp
vc6-stlport/libboost_regex-vc6-mt-p-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_31.pdb ../src/c_regex_traits_common.cpp
vc6-stlport/boost_regex_vc6-stlport_mdid/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_mdid/boost_regex_vc6-stlport_mdid.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdid/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdid.pdb ../src/cpp_regex_traits.cpp
vc6-stlport/libboost_regex-vc6-mt-p-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_31.pdb ../src/cpp_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mdid/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_mdid/boost_regex_vc6-stlport_mdid.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdid/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdid.pdb ../src/cregex.cpp
vc6-stlport/libboost_regex-vc6-mt-p-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_31.pdb ../src/cregex.cpp
vc6-stlport/boost_regex_vc6-stlport_mdid/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_mdid/boost_regex_vc6-stlport_mdid.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdid/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdid.pdb ../src/fileiter.cpp
vc6-stlport/libboost_regex-vc6-mt-p-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_31.pdb ../src/fileiter.cpp
vc6-stlport/boost_regex_vc6-stlport_mdid/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_mdid/boost_regex_vc6-stlport_mdid.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdid/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdid.pdb ../src/instances.cpp
vc6-stlport/libboost_regex-vc6-mt-p-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_31.pdb ../src/instances.cpp
vc6-stlport/boost_regex_vc6-stlport_mdid/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_mdid/boost_regex_vc6-stlport_mdid.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdid/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdid.pdb ../src/posix_api.cpp
vc6-stlport/libboost_regex-vc6-mt-p-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_31.pdb ../src/posix_api.cpp
vc6-stlport/boost_regex_vc6-stlport_mdid/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_mdid/boost_regex_vc6-stlport_mdid.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdid/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdid.pdb ../src/regex.cpp
vc6-stlport/libboost_regex-vc6-mt-p-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_31.pdb ../src/regex.cpp
vc6-stlport/boost_regex_vc6-stlport_mdid/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_mdid/boost_regex_vc6-stlport_mdid.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdid/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdid.pdb ../src/regex_debug.cpp
vc6-stlport/libboost_regex-vc6-mt-p-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_31.pdb ../src/regex_debug.cpp
vc6-stlport/boost_regex_vc6-stlport_mdid/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_mdid/boost_regex_vc6-stlport_mdid.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdid/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdid.pdb ../src/regex_synch.cpp
vc6-stlport/libboost_regex-vc6-mt-p-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_31.pdb ../src/regex_synch.cpp
vc6-stlport/boost_regex_vc6-stlport_mdid/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_mdid/boost_regex_vc6-stlport_mdid.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdid/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdid.pdb ../src/w32_regex_traits.cpp
vc6-stlport/libboost_regex-vc6-mt-p-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_31.pdb ../src/w32_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mdid/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_mdid/boost_regex_vc6-stlport_mdid.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdid/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdid.pdb ../src/wide_posix_api.cpp
vc6-stlport/libboost_regex-vc6-mt-p-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_31.pdb ../src/wide_posix_api.cpp
vc6-stlport/boost_regex_vc6-stlport_mdid/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_mdid/boost_regex_vc6-stlport_mdid.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdid/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdid.pdb ../src/winstances.cpp
vc6-stlport/libboost_regex-vc6-mt-p-1_31/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 /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_31.pdb ../src/winstances.cpp
boost_regex_vc6-stlport_mdid_dir :
@if not exist "vc6-stlport\boost_regex_vc6-stlport_mdid\$(NULL)" mkdir vc6-stlport\boost_regex_vc6-stlport_mdid
libboost_regex-vc6-mt-p-1_31_dir :
@if not exist "vc6-stlport\libboost_regex-vc6-mt-p-1_31\$(NULL)" mkdir vc6-stlport\libboost_regex-vc6-mt-p-1_31
boost_regex_vc6-stlport_mdid_clean :
del vc6-stlport\boost_regex_vc6-stlport_mdid\*.obj
del vc6-stlport\boost_regex_vc6-stlport_mdid\*.idb
del vc6-stlport\boost_regex_vc6-stlport_mdid\*.exp
del vc6-stlport\boost_regex_vc6-stlport_mdid\*.pch
libboost_regex-vc6-mt-p-1_31_clean :
del vc6-stlport\libboost_regex-vc6-mt-p-1_31\*.obj
del vc6-stlport\libboost_regex-vc6-mt-p-1_31\*.idb
del vc6-stlport\libboost_regex-vc6-mt-p-1_31\*.exp
del vc6-stlport\libboost_regex-vc6-mt-p-1_31\*.pch
./vc6-stlport/boost_regex_vc6-stlport_mdid.lib : vc6-stlport/boost_regex_vc6-stlport_mdid/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdid/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mdid/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdid/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mdid/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mdid/instances.obj vc6-stlport/boost_regex_vc6-stlport_mdid/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdid/regex.obj vc6-stlport/boost_regex_vc6-stlport_mdid/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mdid/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mdid/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdid/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdid/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_mdid.pdb" /debug /machine:I386 /out:"vc6-stlport/boost_regex_vc6-stlport_mdid.dll" /implib:"vc6-stlport/boost_regex_vc6-stlport_mdid.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc6-stlport/boost_regex_vc6-stlport_mdid/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdid/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mdid/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdid/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mdid/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mdid/instances.obj vc6-stlport/boost_regex_vc6-stlport_mdid/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdid/regex.obj vc6-stlport/boost_regex_vc6-stlport_mdid/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mdid/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mdid/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdid/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdid/winstances.obj
./vc6-stlport/libboost_regex-vc6-mt-p-1_31.lib : vc6-stlport/libboost_regex-vc6-mt-p-1_31/c_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/c_regex_traits_common.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/cpp_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/cregex.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/fileiter.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/instances.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/posix_api.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/regex.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/regex_debug.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/regex_synch.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/w32_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/wide_posix_api.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/winstances.obj
link -lib /nologo /out:vc6-stlport/libboost_regex-vc6-mt-p-1_31.lib $(XSFLAGS) vc6-stlport/libboost_regex-vc6-mt-p-1_31/c_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/c_regex_traits_common.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/cpp_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/cregex.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/fileiter.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/instances.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/posix_api.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/regex.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/regex_debug.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/regex_synch.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/w32_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/wide_posix_api.obj vc6-stlport/libboost_regex-vc6-mt-p-1_31/winstances.obj
########################################################
#
# section for boost_regex_vc6-stlport_mdi.lib
# section for boost_regex-vc6-mt-gdp-1_31.lib
#
########################################################
vc6-stlport/boost_regex_vc6-stlport_mdi/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_mdi/boost_regex_vc6-stlport_mdi.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdi/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdi.pdb ../src/c_regex_traits.cpp
vc6-stlport/boost_regex-vc6-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_31.pdb ../src/c_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mdi/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_mdi/boost_regex_vc6-stlport_mdi.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdi/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdi.pdb ../src/c_regex_traits_common.cpp
vc6-stlport/boost_regex-vc6-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_31.pdb ../src/c_regex_traits_common.cpp
vc6-stlport/boost_regex_vc6-stlport_mdi/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_mdi/boost_regex_vc6-stlport_mdi.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdi/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdi.pdb ../src/cpp_regex_traits.cpp
vc6-stlport/boost_regex-vc6-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_31.pdb ../src/cpp_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mdi/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_mdi/boost_regex_vc6-stlport_mdi.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdi/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdi.pdb ../src/cregex.cpp
vc6-stlport/boost_regex-vc6-mt-gdp-1_31/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_31.pdb ../src/cregex.cpp
vc6-stlport/boost_regex_vc6-stlport_mdi/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_mdi/boost_regex_vc6-stlport_mdi.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdi/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdi.pdb ../src/fileiter.cpp
vc6-stlport/boost_regex-vc6-mt-gdp-1_31/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_31.pdb ../src/fileiter.cpp
vc6-stlport/boost_regex_vc6-stlport_mdi/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_mdi/boost_regex_vc6-stlport_mdi.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdi/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdi.pdb ../src/instances.cpp
vc6-stlport/boost_regex-vc6-mt-gdp-1_31/instances.obj: ../src/instances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_31.pdb ../src/instances.cpp
vc6-stlport/boost_regex_vc6-stlport_mdi/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_mdi/boost_regex_vc6-stlport_mdi.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdi/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdi.pdb ../src/posix_api.cpp
vc6-stlport/boost_regex-vc6-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_31.pdb ../src/posix_api.cpp
vc6-stlport/boost_regex_vc6-stlport_mdi/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_mdi/boost_regex_vc6-stlport_mdi.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdi/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdi.pdb ../src/regex.cpp
vc6-stlport/boost_regex-vc6-mt-gdp-1_31/regex.obj: ../src/regex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_31.pdb ../src/regex.cpp
vc6-stlport/boost_regex_vc6-stlport_mdi/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_mdi/boost_regex_vc6-stlport_mdi.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdi/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdi.pdb ../src/regex_debug.cpp
vc6-stlport/boost_regex-vc6-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_31.pdb ../src/regex_debug.cpp
vc6-stlport/boost_regex_vc6-stlport_mdi/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_mdi/boost_regex_vc6-stlport_mdi.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdi/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdi.pdb ../src/regex_synch.cpp
vc6-stlport/boost_regex-vc6-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_31.pdb ../src/regex_synch.cpp
vc6-stlport/boost_regex_vc6-stlport_mdi/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_mdi/boost_regex_vc6-stlport_mdi.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdi/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdi.pdb ../src/w32_regex_traits.cpp
vc6-stlport/boost_regex-vc6-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_31.pdb ../src/w32_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mdi/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_mdi/boost_regex_vc6-stlport_mdi.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdi/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdi.pdb ../src/wide_posix_api.cpp
vc6-stlport/boost_regex-vc6-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_31.pdb ../src/wide_posix_api.cpp
vc6-stlport/boost_regex_vc6-stlport_mdi/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_mdi/boost_regex_vc6-stlport_mdi.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdi/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdi.pdb ../src/winstances.cpp
vc6-stlport/boost_regex-vc6-mt-gdp-1_31/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_31.pdb ../src/winstances.cpp
boost_regex_vc6-stlport_mdi_dir :
@if not exist "vc6-stlport\boost_regex_vc6-stlport_mdi\$(NULL)" mkdir vc6-stlport\boost_regex_vc6-stlport_mdi
boost_regex-vc6-mt-gdp-1_31_dir :
@if not exist "vc6-stlport\boost_regex-vc6-mt-gdp-1_31\$(NULL)" mkdir vc6-stlport\boost_regex-vc6-mt-gdp-1_31
boost_regex_vc6-stlport_mdi_clean :
del vc6-stlport\boost_regex_vc6-stlport_mdi\*.obj
del vc6-stlport\boost_regex_vc6-stlport_mdi\*.idb
del vc6-stlport\boost_regex_vc6-stlport_mdi\*.exp
del vc6-stlport\boost_regex_vc6-stlport_mdi\*.pch
boost_regex-vc6-mt-gdp-1_31_clean :
del vc6-stlport\boost_regex-vc6-mt-gdp-1_31\*.obj
del vc6-stlport\boost_regex-vc6-mt-gdp-1_31\*.idb
del vc6-stlport\boost_regex-vc6-mt-gdp-1_31\*.exp
del vc6-stlport\boost_regex-vc6-mt-gdp-1_31\*.pch
./vc6-stlport/boost_regex_vc6-stlport_mdi.lib : vc6-stlport/boost_regex_vc6-stlport_mdi/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdi/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mdi/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdi/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mdi/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mdi/instances.obj vc6-stlport/boost_regex_vc6-stlport_mdi/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdi/regex.obj vc6-stlport/boost_regex_vc6-stlport_mdi/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mdi/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mdi/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdi/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdi/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_mdi.pdb" /debug /machine:I386 /out:"vc6-stlport/boost_regex_vc6-stlport_mdi.dll" /implib:"vc6-stlport/boost_regex_vc6-stlport_mdi.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc6-stlport/boost_regex_vc6-stlport_mdi/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdi/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mdi/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdi/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mdi/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mdi/instances.obj vc6-stlport/boost_regex_vc6-stlport_mdi/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdi/regex.obj vc6-stlport/boost_regex_vc6-stlport_mdi/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mdi/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mdi/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdi/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdi/winstances.obj
./vc6-stlport/boost_regex-vc6-mt-gdp-1_31.lib : vc6-stlport/boost_regex-vc6-mt-gdp-1_31/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/c_regex_traits_common.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/cpp_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/cregex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/fileiter.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/instances.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/posix_api.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/regex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/regex_debug.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/regex_synch.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/w32_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/wide_posix_api.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/winstances.obj
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6-stlport/boost_regex-vc6-mt-gdp-1_31.pdb" /debug /machine:I386 /out:"vc6-stlport/boost_regex-vc6-mt-gdp-1_31.dll" /implib:"vc6-stlport/boost_regex-vc6-mt-gdp-1_31.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc6-stlport/boost_regex-vc6-mt-gdp-1_31/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/c_regex_traits_common.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/cpp_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/cregex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/fileiter.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/instances.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/posix_api.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/regex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/regex_debug.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/regex_synch.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/w32_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/wide_posix_api.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_31/winstances.obj
########################################################
#
# section for boost_regex_vc6-stlport_mds.lib
# section for libboost_regex-vc6-mt-sgdp-1_31.lib
#
########################################################
vc6-stlport/boost_regex_vc6-stlport_mds/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/boost_regex_vc6-stlport_mds/boost_regex_vc6-stlport_mds.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mds/ -Fdvc6-stlport/boost_regex_vc6-stlport_mds.pdb ../src/c_regex_traits.cpp
vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_31.pdb ../src/c_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mds/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/boost_regex_vc6-stlport_mds/boost_regex_vc6-stlport_mds.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mds/ -Fdvc6-stlport/boost_regex_vc6-stlport_mds.pdb ../src/c_regex_traits_common.cpp
vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_31.pdb ../src/c_regex_traits_common.cpp
vc6-stlport/boost_regex_vc6-stlport_mds/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/boost_regex_vc6-stlport_mds/boost_regex_vc6-stlport_mds.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mds/ -Fdvc6-stlport/boost_regex_vc6-stlport_mds.pdb ../src/cpp_regex_traits.cpp
vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_31.pdb ../src/cpp_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mds/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/boost_regex_vc6-stlport_mds/boost_regex_vc6-stlport_mds.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mds/ -Fdvc6-stlport/boost_regex_vc6-stlport_mds.pdb ../src/cregex.cpp
vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_31.pdb ../src/cregex.cpp
vc6-stlport/boost_regex_vc6-stlport_mds/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/boost_regex_vc6-stlport_mds/boost_regex_vc6-stlport_mds.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mds/ -Fdvc6-stlport/boost_regex_vc6-stlport_mds.pdb ../src/fileiter.cpp
vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_31.pdb ../src/fileiter.cpp
vc6-stlport/boost_regex_vc6-stlport_mds/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/boost_regex_vc6-stlport_mds/boost_regex_vc6-stlport_mds.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mds/ -Fdvc6-stlport/boost_regex_vc6-stlport_mds.pdb ../src/instances.cpp
vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_31.pdb ../src/instances.cpp
vc6-stlport/boost_regex_vc6-stlport_mds/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/boost_regex_vc6-stlport_mds/boost_regex_vc6-stlport_mds.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mds/ -Fdvc6-stlport/boost_regex_vc6-stlport_mds.pdb ../src/posix_api.cpp
vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_31.pdb ../src/posix_api.cpp
vc6-stlport/boost_regex_vc6-stlport_mds/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/boost_regex_vc6-stlport_mds/boost_regex_vc6-stlport_mds.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mds/ -Fdvc6-stlport/boost_regex_vc6-stlport_mds.pdb ../src/regex.cpp
vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_31.pdb ../src/regex.cpp
vc6-stlport/boost_regex_vc6-stlport_mds/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/boost_regex_vc6-stlport_mds/boost_regex_vc6-stlport_mds.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mds/ -Fdvc6-stlport/boost_regex_vc6-stlport_mds.pdb ../src/regex_debug.cpp
vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_31.pdb ../src/regex_debug.cpp
vc6-stlport/boost_regex_vc6-stlport_mds/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/boost_regex_vc6-stlport_mds/boost_regex_vc6-stlport_mds.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mds/ -Fdvc6-stlport/boost_regex_vc6-stlport_mds.pdb ../src/regex_synch.cpp
vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_31.pdb ../src/regex_synch.cpp
vc6-stlport/boost_regex_vc6-stlport_mds/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/boost_regex_vc6-stlport_mds/boost_regex_vc6-stlport_mds.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mds/ -Fdvc6-stlport/boost_regex_vc6-stlport_mds.pdb ../src/w32_regex_traits.cpp
vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_31.pdb ../src/w32_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mds/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/boost_regex_vc6-stlport_mds/boost_regex_vc6-stlport_mds.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mds/ -Fdvc6-stlport/boost_regex_vc6-stlport_mds.pdb ../src/wide_posix_api.cpp
vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_31.pdb ../src/wide_posix_api.cpp
vc6-stlport/boost_regex_vc6-stlport_mds/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/boost_regex_vc6-stlport_mds/boost_regex_vc6-stlport_mds.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mds/ -Fdvc6-stlport/boost_regex_vc6-stlport_mds.pdb ../src/winstances.cpp
vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_31.pdb ../src/winstances.cpp
boost_regex_vc6-stlport_mds_dir :
@if not exist "vc6-stlport\boost_regex_vc6-stlport_mds\$(NULL)" mkdir vc6-stlport\boost_regex_vc6-stlport_mds
libboost_regex-vc6-mt-sgdp-1_31_dir :
@if not exist "vc6-stlport\libboost_regex-vc6-mt-sgdp-1_31\$(NULL)" mkdir vc6-stlport\libboost_regex-vc6-mt-sgdp-1_31
boost_regex_vc6-stlport_mds_clean :
del vc6-stlport\boost_regex_vc6-stlport_mds\*.obj
del vc6-stlport\boost_regex_vc6-stlport_mds\*.idb
del vc6-stlport\boost_regex_vc6-stlport_mds\*.exp
del vc6-stlport\boost_regex_vc6-stlport_mds\*.pch
libboost_regex-vc6-mt-sgdp-1_31_clean :
del vc6-stlport\libboost_regex-vc6-mt-sgdp-1_31\*.obj
del vc6-stlport\libboost_regex-vc6-mt-sgdp-1_31\*.idb
del vc6-stlport\libboost_regex-vc6-mt-sgdp-1_31\*.exp
del vc6-stlport\libboost_regex-vc6-mt-sgdp-1_31\*.pch
./vc6-stlport/boost_regex_vc6-stlport_mds.lib : vc6-stlport/boost_regex_vc6-stlport_mds/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mds/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mds/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mds/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mds/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mds/instances.obj vc6-stlport/boost_regex_vc6-stlport_mds/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mds/regex.obj vc6-stlport/boost_regex_vc6-stlport_mds/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mds/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mds/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mds/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mds/winstances.obj
link -lib /nologo /out:vc6-stlport/boost_regex_vc6-stlport_mds.lib $(XSFLAGS) vc6-stlport/boost_regex_vc6-stlport_mds/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mds/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mds/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mds/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mds/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mds/instances.obj vc6-stlport/boost_regex_vc6-stlport_mds/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mds/regex.obj vc6-stlport/boost_regex_vc6-stlport_mds/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mds/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mds/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mds/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mds/winstances.obj
./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31.lib : vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/c_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/c_regex_traits_common.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/cpp_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/cregex.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/fileiter.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/instances.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/posix_api.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/regex.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/regex_debug.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/regex_synch.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/w32_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/wide_posix_api.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/winstances.obj
link -lib /nologo /out:vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31.lib $(XSFLAGS) vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/c_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/c_regex_traits_common.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/cpp_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/cregex.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/fileiter.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/instances.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/posix_api.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/regex.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/regex_debug.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/regex_synch.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/w32_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/wide_posix_api.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_31/winstances.obj
########################################################
#
# section for boost_regex_vc6-stlport_mdsd.lib
# section for libboost_regex-vc6-mt-gdp-1_31.lib
#
########################################################
vc6-stlport/boost_regex_vc6-stlport_mdsd/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/boost_regex_vc6-stlport_mdsd/boost_regex_vc6-stlport_mdsd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsd.pdb ../src/c_regex_traits.cpp
vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_31.pdb ../src/c_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsd/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/boost_regex_vc6-stlport_mdsd/boost_regex_vc6-stlport_mdsd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsd.pdb ../src/c_regex_traits_common.cpp
vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_31.pdb ../src/c_regex_traits_common.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsd/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/boost_regex_vc6-stlport_mdsd/boost_regex_vc6-stlport_mdsd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsd.pdb ../src/cpp_regex_traits.cpp
vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_31.pdb ../src/cpp_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsd/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/boost_regex_vc6-stlport_mdsd/boost_regex_vc6-stlport_mdsd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsd.pdb ../src/cregex.cpp
vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_31.pdb ../src/cregex.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsd/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/boost_regex_vc6-stlport_mdsd/boost_regex_vc6-stlport_mdsd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsd.pdb ../src/fileiter.cpp
vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_31.pdb ../src/fileiter.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsd/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/boost_regex_vc6-stlport_mdsd/boost_regex_vc6-stlport_mdsd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsd.pdb ../src/instances.cpp
vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_31.pdb ../src/instances.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsd/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/boost_regex_vc6-stlport_mdsd/boost_regex_vc6-stlport_mdsd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsd.pdb ../src/posix_api.cpp
vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_31.pdb ../src/posix_api.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsd/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/boost_regex_vc6-stlport_mdsd/boost_regex_vc6-stlport_mdsd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsd.pdb ../src/regex.cpp
vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_31.pdb ../src/regex.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsd/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/boost_regex_vc6-stlport_mdsd/boost_regex_vc6-stlport_mdsd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsd.pdb ../src/regex_debug.cpp
vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_31.pdb ../src/regex_debug.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsd/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/boost_regex_vc6-stlport_mdsd/boost_regex_vc6-stlport_mdsd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsd.pdb ../src/regex_synch.cpp
vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_31.pdb ../src/regex_synch.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsd/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/boost_regex_vc6-stlport_mdsd/boost_regex_vc6-stlport_mdsd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsd.pdb ../src/w32_regex_traits.cpp
vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_31.pdb ../src/w32_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsd/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/boost_regex_vc6-stlport_mdsd/boost_regex_vc6-stlport_mdsd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsd.pdb ../src/wide_posix_api.cpp
vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_31.pdb ../src/wide_posix_api.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsd/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/boost_regex_vc6-stlport_mdsd/boost_regex_vc6-stlport_mdsd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsd.pdb ../src/winstances.cpp
vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/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 /GX /c $(CXXFLAGS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_31.pdb ../src/winstances.cpp
boost_regex_vc6-stlport_mdsd_dir :
@if not exist "vc6-stlport\boost_regex_vc6-stlport_mdsd\$(NULL)" mkdir vc6-stlport\boost_regex_vc6-stlport_mdsd
libboost_regex-vc6-mt-gdp-1_31_dir :
@if not exist "vc6-stlport\libboost_regex-vc6-mt-gdp-1_31\$(NULL)" mkdir vc6-stlport\libboost_regex-vc6-mt-gdp-1_31
boost_regex_vc6-stlport_mdsd_clean :
del vc6-stlport\boost_regex_vc6-stlport_mdsd\*.obj
del vc6-stlport\boost_regex_vc6-stlport_mdsd\*.idb
del vc6-stlport\boost_regex_vc6-stlport_mdsd\*.exp
del vc6-stlport\boost_regex_vc6-stlport_mdsd\*.pch
libboost_regex-vc6-mt-gdp-1_31_clean :
del vc6-stlport\libboost_regex-vc6-mt-gdp-1_31\*.obj
del vc6-stlport\libboost_regex-vc6-mt-gdp-1_31\*.idb
del vc6-stlport\libboost_regex-vc6-mt-gdp-1_31\*.exp
del vc6-stlport\libboost_regex-vc6-mt-gdp-1_31\*.pch
./vc6-stlport/boost_regex_vc6-stlport_mdsd.lib : vc6-stlport/boost_regex_vc6-stlport_mdsd/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/instances.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/regex.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/winstances.obj
link -lib /nologo /out:vc6-stlport/boost_regex_vc6-stlport_mdsd.lib $(XSFLAGS) vc6-stlport/boost_regex_vc6-stlport_mdsd/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/instances.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/regex.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdsd/winstances.obj
########################################################
#
# section for boost_regex_vc6-stlport_mdidd.lib
#
########################################################
vc6-stlport/boost_regex_vc6-stlport_mdidd/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_mdidd/boost_regex_vc6-stlport_mdidd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdidd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdidd.pdb ../src/c_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mdidd/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_mdidd/boost_regex_vc6-stlport_mdidd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdidd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdidd.pdb ../src/c_regex_traits_common.cpp
vc6-stlport/boost_regex_vc6-stlport_mdidd/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_mdidd/boost_regex_vc6-stlport_mdidd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdidd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdidd.pdb ../src/cpp_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mdidd/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_mdidd/boost_regex_vc6-stlport_mdidd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdidd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdidd.pdb ../src/cregex.cpp
vc6-stlport/boost_regex_vc6-stlport_mdidd/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_mdidd/boost_regex_vc6-stlport_mdidd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdidd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdidd.pdb ../src/fileiter.cpp
vc6-stlport/boost_regex_vc6-stlport_mdidd/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_mdidd/boost_regex_vc6-stlport_mdidd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdidd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdidd.pdb ../src/instances.cpp
vc6-stlport/boost_regex_vc6-stlport_mdidd/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_mdidd/boost_regex_vc6-stlport_mdidd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdidd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdidd.pdb ../src/posix_api.cpp
vc6-stlport/boost_regex_vc6-stlport_mdidd/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_mdidd/boost_regex_vc6-stlport_mdidd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdidd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdidd.pdb ../src/regex.cpp
vc6-stlport/boost_regex_vc6-stlport_mdidd/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_mdidd/boost_regex_vc6-stlport_mdidd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdidd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdidd.pdb ../src/regex_debug.cpp
vc6-stlport/boost_regex_vc6-stlport_mdidd/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_mdidd/boost_regex_vc6-stlport_mdidd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdidd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdidd.pdb ../src/regex_synch.cpp
vc6-stlport/boost_regex_vc6-stlport_mdidd/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_mdidd/boost_regex_vc6-stlport_mdidd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdidd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdidd.pdb ../src/w32_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mdidd/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_mdidd/boost_regex_vc6-stlport_mdidd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdidd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdidd.pdb ../src/wide_posix_api.cpp
vc6-stlport/boost_regex_vc6-stlport_mdidd/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_mdidd/boost_regex_vc6-stlport_mdidd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdidd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdidd.pdb ../src/winstances.cpp
boost_regex_vc6-stlport_mdidd_dir :
@if not exist "vc6-stlport\boost_regex_vc6-stlport_mdidd\$(NULL)" mkdir vc6-stlport\boost_regex_vc6-stlport_mdidd
boost_regex_vc6-stlport_mdidd_clean :
del vc6-stlport\boost_regex_vc6-stlport_mdidd\*.obj
del vc6-stlport\boost_regex_vc6-stlport_mdidd\*.idb
del vc6-stlport\boost_regex_vc6-stlport_mdidd\*.exp
del vc6-stlport\boost_regex_vc6-stlport_mdidd\*.pch
./vc6-stlport/boost_regex_vc6-stlport_mdidd.lib : vc6-stlport/boost_regex_vc6-stlport_mdidd/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/instances.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/regex.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/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_mdidd.pdb" /debug /machine:I386 /out:"vc6-stlport/boost_regex_vc6-stlport_mdidd.dll" /implib:"vc6-stlport/boost_regex_vc6-stlport_mdidd.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc6-stlport/boost_regex_vc6-stlport_mdidd/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/instances.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/regex.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdidd/winstances.obj
########################################################
#
# section for boost_regex_vc6-stlport_mssdd.lib
#
########################################################
vc6-stlport/boost_regex_vc6-stlport_mssdd/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/boost_regex_vc6-stlport_mssdd/boost_regex_vc6-stlport_mssdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssdd.pdb ../src/c_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mssdd/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/boost_regex_vc6-stlport_mssdd/boost_regex_vc6-stlport_mssdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssdd.pdb ../src/c_regex_traits_common.cpp
vc6-stlport/boost_regex_vc6-stlport_mssdd/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/boost_regex_vc6-stlport_mssdd/boost_regex_vc6-stlport_mssdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssdd.pdb ../src/cpp_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mssdd/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/boost_regex_vc6-stlport_mssdd/boost_regex_vc6-stlport_mssdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssdd.pdb ../src/cregex.cpp
vc6-stlport/boost_regex_vc6-stlport_mssdd/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/boost_regex_vc6-stlport_mssdd/boost_regex_vc6-stlport_mssdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssdd.pdb ../src/fileiter.cpp
vc6-stlport/boost_regex_vc6-stlport_mssdd/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/boost_regex_vc6-stlport_mssdd/boost_regex_vc6-stlport_mssdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssdd.pdb ../src/instances.cpp
vc6-stlport/boost_regex_vc6-stlport_mssdd/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/boost_regex_vc6-stlport_mssdd/boost_regex_vc6-stlport_mssdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssdd.pdb ../src/posix_api.cpp
vc6-stlport/boost_regex_vc6-stlport_mssdd/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/boost_regex_vc6-stlport_mssdd/boost_regex_vc6-stlport_mssdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssdd.pdb ../src/regex.cpp
vc6-stlport/boost_regex_vc6-stlport_mssdd/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/boost_regex_vc6-stlport_mssdd/boost_regex_vc6-stlport_mssdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssdd.pdb ../src/regex_debug.cpp
vc6-stlport/boost_regex_vc6-stlport_mssdd/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/boost_regex_vc6-stlport_mssdd/boost_regex_vc6-stlport_mssdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssdd.pdb ../src/regex_synch.cpp
vc6-stlport/boost_regex_vc6-stlport_mssdd/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/boost_regex_vc6-stlport_mssdd/boost_regex_vc6-stlport_mssdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssdd.pdb ../src/w32_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mssdd/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/boost_regex_vc6-stlport_mssdd/boost_regex_vc6-stlport_mssdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssdd.pdb ../src/wide_posix_api.cpp
vc6-stlport/boost_regex_vc6-stlport_mssdd/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/boost_regex_vc6-stlport_mssdd/boost_regex_vc6-stlport_mssdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mssdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mssdd.pdb ../src/winstances.cpp
boost_regex_vc6-stlport_mssdd_dir :
@if not exist "vc6-stlport\boost_regex_vc6-stlport_mssdd\$(NULL)" mkdir vc6-stlport\boost_regex_vc6-stlport_mssdd
boost_regex_vc6-stlport_mssdd_clean :
del vc6-stlport\boost_regex_vc6-stlport_mssdd\*.obj
del vc6-stlport\boost_regex_vc6-stlport_mssdd\*.idb
del vc6-stlport\boost_regex_vc6-stlport_mssdd\*.exp
del vc6-stlport\boost_regex_vc6-stlport_mssdd\*.pch
./vc6-stlport/boost_regex_vc6-stlport_mssdd.lib : vc6-stlport/boost_regex_vc6-stlport_mssdd/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/instances.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/regex.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/winstances.obj
link -lib /nologo /out:vc6-stlport/boost_regex_vc6-stlport_mssdd.lib $(XSFLAGS) vc6-stlport/boost_regex_vc6-stlport_mssdd/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/instances.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/regex.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mssdd/winstances.obj
########################################################
#
# section for boost_regex_vc6-stlport_mdsdd.lib
#
########################################################
vc6-stlport/boost_regex_vc6-stlport_mdsdd/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/boost_regex_vc6-stlport_mdsdd/boost_regex_vc6-stlport_mdsdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsdd.pdb ../src/c_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsdd/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/boost_regex_vc6-stlport_mdsdd/boost_regex_vc6-stlport_mdsdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsdd.pdb ../src/c_regex_traits_common.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsdd/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/boost_regex_vc6-stlport_mdsdd/boost_regex_vc6-stlport_mdsdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsdd.pdb ../src/cpp_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsdd/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/boost_regex_vc6-stlport_mdsdd/boost_regex_vc6-stlport_mdsdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsdd.pdb ../src/cregex.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsdd/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/boost_regex_vc6-stlport_mdsdd/boost_regex_vc6-stlport_mdsdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsdd.pdb ../src/fileiter.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsdd/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/boost_regex_vc6-stlport_mdsdd/boost_regex_vc6-stlport_mdsdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsdd.pdb ../src/instances.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsdd/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/boost_regex_vc6-stlport_mdsdd/boost_regex_vc6-stlport_mdsdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsdd.pdb ../src/posix_api.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsdd/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/boost_regex_vc6-stlport_mdsdd/boost_regex_vc6-stlport_mdsdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsdd.pdb ../src/regex.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsdd/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/boost_regex_vc6-stlport_mdsdd/boost_regex_vc6-stlport_mdsdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsdd.pdb ../src/regex_debug.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsdd/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/boost_regex_vc6-stlport_mdsdd/boost_regex_vc6-stlport_mdsdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsdd.pdb ../src/regex_synch.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsdd/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/boost_regex_vc6-stlport_mdsdd/boost_regex_vc6-stlport_mdsdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsdd.pdb ../src/w32_regex_traits.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsdd/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/boost_regex_vc6-stlport_mdsdd/boost_regex_vc6-stlport_mdsdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsdd.pdb ../src/wide_posix_api.cpp
vc6-stlport/boost_regex_vc6-stlport_mdsdd/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/boost_regex_vc6-stlport_mdsdd/boost_regex_vc6-stlport_mdsdd.pch -Fo./vc6-stlport/boost_regex_vc6-stlport_mdsdd/ -Fdvc6-stlport/boost_regex_vc6-stlport_mdsdd.pdb ../src/winstances.cpp
boost_regex_vc6-stlport_mdsdd_dir :
@if not exist "vc6-stlport\boost_regex_vc6-stlport_mdsdd\$(NULL)" mkdir vc6-stlport\boost_regex_vc6-stlport_mdsdd
boost_regex_vc6-stlport_mdsdd_clean :
del vc6-stlport\boost_regex_vc6-stlport_mdsdd\*.obj
del vc6-stlport\boost_regex_vc6-stlport_mdsdd\*.idb
del vc6-stlport\boost_regex_vc6-stlport_mdsdd\*.exp
del vc6-stlport\boost_regex_vc6-stlport_mdsdd\*.pch
./vc6-stlport/boost_regex_vc6-stlport_mdsdd.lib : vc6-stlport/boost_regex_vc6-stlport_mdsdd/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/instances.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/regex.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/winstances.obj
link -lib /nologo /out:vc6-stlport/boost_regex_vc6-stlport_mdsdd.lib $(XSFLAGS) vc6-stlport/boost_regex_vc6-stlport_mdsdd/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/instances.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/regex.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/winstances.obj
./vc6-stlport/libboost_regex-vc6-mt-gdp-1_31.lib : vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/c_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/c_regex_traits_common.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/cpp_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/cregex.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/fileiter.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/instances.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/posix_api.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/regex.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/regex_debug.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/regex_synch.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/w32_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/wide_posix_api.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/winstances.obj
link -lib /nologo /out:vc6-stlport/libboost_regex-vc6-mt-gdp-1_31.lib $(XSFLAGS) vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/c_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/c_regex_traits_common.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/cpp_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/cregex.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/fileiter.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/instances.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/posix_api.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/regex.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/regex_debug.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/regex_synch.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/w32_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/wide_posix_api.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_31/winstances.obj

View File

@ -36,27 +36,27 @@ NULL=nul
!ENDIF
ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/detail/fileiter.hpp ../../../boost/regex/detail/instances.hpp ../../../boost/regex/detail/regex_compile.hpp ../../../boost/regex/detail/regex_cstring.hpp ../../../boost/regex/detail/regex_format.hpp ../../../boost/regex/detail/regex_kmp.hpp ../../../boost/regex/detail/regex_library_include.hpp ../../../boost/regex/detail/regex_match.hpp ../../../boost/regex/detail/regex_raw_buffer.hpp ../../../boost/regex/detail/regex_split.hpp ../../../boost/regex/detail/regex_stack.hpp ../../../boost/regex/detail/regex_synch.hpp
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 ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_compile.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_synch.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cstring.hpp ../../../boost/regex/config/cwchar.hpp ../../../boost/regex/config/regex_library_include.hpp
all : main_dir boost_regex_vc6_sss_dir ./vc6/boost_regex_vc6_sss.lib boost_regex_vc6_mss_dir ./vc6/boost_regex_vc6_mss.lib boost_regex_vc6_sssd_dir ./vc6/boost_regex_vc6_sssd.lib boost_regex_vc6_mssd_dir ./vc6/boost_regex_vc6_mssd.lib boost_regex_vc6_mdid_dir ./vc6/boost_regex_vc6_mdid.lib boost_regex_vc6_mdi_dir ./vc6/boost_regex_vc6_mdi.lib boost_regex_vc6_mds_dir ./vc6/boost_regex_vc6_mds.lib boost_regex_vc6_mdsd_dir ./vc6/boost_regex_vc6_mdsd.lib
all : main_dir libboost_regex-vc6-s-1_31_dir ./vc6/libboost_regex-vc6-s-1_31.lib libboost_regex-vc6-mt-s-1_31_dir ./vc6/libboost_regex-vc6-mt-s-1_31.lib libboost_regex-vc6-sgd-1_31_dir ./vc6/libboost_regex-vc6-sgd-1_31.lib libboost_regex-vc6-mt-sgd-1_31_dir ./vc6/libboost_regex-vc6-mt-sgd-1_31.lib boost_regex-vc6-mt-gd-1_31_dir ./vc6/boost_regex-vc6-mt-gd-1_31.lib boost_regex-vc6-mt-1_31_dir ./vc6/boost_regex-vc6-mt-1_31.lib libboost_regex-vc6-mt-1_31_dir ./vc6/libboost_regex-vc6-mt-1_31.lib libboost_regex-vc6-mt-gd-1_31_dir ./vc6/libboost_regex-vc6-mt-gd-1_31.lib
clean : boost_regex_vc6_sss_clean boost_regex_vc6_mss_clean boost_regex_vc6_sssd_clean boost_regex_vc6_mssd_clean boost_regex_vc6_mdid_clean boost_regex_vc6_mdi_clean boost_regex_vc6_mds_clean boost_regex_vc6_mdsd_clean
clean : libboost_regex-vc6-s-1_31_clean libboost_regex-vc6-mt-s-1_31_clean libboost_regex-vc6-sgd-1_31_clean libboost_regex-vc6-mt-sgd-1_31_clean boost_regex-vc6-mt-gd-1_31_clean boost_regex-vc6-mt-1_31_clean libboost_regex-vc6-mt-1_31_clean libboost_regex-vc6-mt-gd-1_31_clean
install : all
copy vc6\boost_regex_vc6_sss.lib "$(MSVCDIR)\lib"
copy vc6\boost_regex_vc6_mss.lib "$(MSVCDIR)\lib"
copy vc6\boost_regex_vc6_sssd.lib "$(MSVCDIR)\lib"
copy vc6\boost_regex_vc6_sssd.pdb "$(MSVCDIR)\lib"
copy vc6\boost_regex_vc6_mssd.lib "$(MSVCDIR)\lib"
copy vc6\boost_regex_vc6_mssd.pdb "$(MSVCDIR)\lib"
copy vc6\boost_regex_vc6_mdid.lib "$(MSVCDIR)\lib"
copy vc6\boost_regex_vc6_mdid.dll "$(MSVCDIR)\bin"
copy vc6\boost_regex_vc6_mdid.pdb "$(MSVCDIR)\lib"
copy vc6\boost_regex_vc6_mdi.lib "$(MSVCDIR)\lib"
copy vc6\boost_regex_vc6_mdi.dll "$(MSVCDIR)\bin"
copy vc6\boost_regex_vc6_mds.lib "$(MSVCDIR)\lib"
copy vc6\boost_regex_vc6_mdsd.lib "$(MSVCDIR)\lib"
copy vc6\boost_regex_vc6_mdsd.pdb "$(MSVCDIR)\lib"
copy vc6\libboost_regex-vc6-s-1_31.lib "$(MSVCDIR)\lib"
copy vc6\libboost_regex-vc6-mt-s-1_31.lib "$(MSVCDIR)\lib"
copy vc6\libboost_regex-vc6-sgd-1_31.lib "$(MSVCDIR)\lib"
copy vc6\libboost_regex-vc6-sgd-1_31.pdb "$(MSVCDIR)\lib"
copy vc6\libboost_regex-vc6-mt-sgd-1_31.lib "$(MSVCDIR)\lib"
copy vc6\libboost_regex-vc6-mt-sgd-1_31.pdb "$(MSVCDIR)\lib"
copy vc6\boost_regex-vc6-mt-gd-1_31.lib "$(MSVCDIR)\lib"
copy vc6\boost_regex-vc6-mt-gd-1_31.dll "$(MSVCDIR)\bin"
copy vc6\boost_regex-vc6-mt-gd-1_31.pdb "$(MSVCDIR)\lib"
copy vc6\boost_regex-vc6-mt-1_31.lib "$(MSVCDIR)\lib"
copy vc6\boost_regex-vc6-mt-1_31.dll "$(MSVCDIR)\bin"
copy vc6\libboost_regex-vc6-mt-1_31.lib "$(MSVCDIR)\lib"
copy vc6\libboost_regex-vc6-mt-gd-1_31.lib "$(MSVCDIR)\lib"
copy vc6\libboost_regex-vc6-mt-gd-1_31.pdb "$(MSVCDIR)\lib"
main_dir :
@if not exist "vc6\$(NULL)" mkdir vc6
@ -64,449 +64,449 @@ main_dir :
########################################################
#
# section for boost_regex_vc6_sss.lib
# section for libboost_regex-vc6-s-1_31.lib
#
########################################################
vc6/boost_regex_vc6_sss/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/boost_regex_vc6_sss/boost_regex_vc6_sss.pch -Fo./vc6/boost_regex_vc6_sss/ -Fdvc6/boost_regex_vc6_sss.pdb ../src/c_regex_traits.cpp
vc6/libboost_regex-vc6-s-1_31/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 /FD $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_31/ -Fdvc6/libboost_regex-vc6-s-1_31.pdb ../src/c_regex_traits.cpp
vc6/boost_regex_vc6_sss/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/boost_regex_vc6_sss/boost_regex_vc6_sss.pch -Fo./vc6/boost_regex_vc6_sss/ -Fdvc6/boost_regex_vc6_sss.pdb ../src/c_regex_traits_common.cpp
vc6/libboost_regex-vc6-s-1_31/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 /FD $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_31/ -Fdvc6/libboost_regex-vc6-s-1_31.pdb ../src/c_regex_traits_common.cpp
vc6/boost_regex_vc6_sss/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/boost_regex_vc6_sss/boost_regex_vc6_sss.pch -Fo./vc6/boost_regex_vc6_sss/ -Fdvc6/boost_regex_vc6_sss.pdb ../src/cpp_regex_traits.cpp
vc6/libboost_regex-vc6-s-1_31/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 /FD $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_31/ -Fdvc6/libboost_regex-vc6-s-1_31.pdb ../src/cpp_regex_traits.cpp
vc6/boost_regex_vc6_sss/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/boost_regex_vc6_sss/boost_regex_vc6_sss.pch -Fo./vc6/boost_regex_vc6_sss/ -Fdvc6/boost_regex_vc6_sss.pdb ../src/cregex.cpp
vc6/libboost_regex-vc6-s-1_31/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 /FD $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_31/ -Fdvc6/libboost_regex-vc6-s-1_31.pdb ../src/cregex.cpp
vc6/boost_regex_vc6_sss/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/boost_regex_vc6_sss/boost_regex_vc6_sss.pch -Fo./vc6/boost_regex_vc6_sss/ -Fdvc6/boost_regex_vc6_sss.pdb ../src/fileiter.cpp
vc6/libboost_regex-vc6-s-1_31/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 /FD $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_31/ -Fdvc6/libboost_regex-vc6-s-1_31.pdb ../src/fileiter.cpp
vc6/boost_regex_vc6_sss/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/boost_regex_vc6_sss/boost_regex_vc6_sss.pch -Fo./vc6/boost_regex_vc6_sss/ -Fdvc6/boost_regex_vc6_sss.pdb ../src/instances.cpp
vc6/libboost_regex-vc6-s-1_31/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 /FD $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_31/ -Fdvc6/libboost_regex-vc6-s-1_31.pdb ../src/instances.cpp
vc6/boost_regex_vc6_sss/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/boost_regex_vc6_sss/boost_regex_vc6_sss.pch -Fo./vc6/boost_regex_vc6_sss/ -Fdvc6/boost_regex_vc6_sss.pdb ../src/posix_api.cpp
vc6/libboost_regex-vc6-s-1_31/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 /FD $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_31/ -Fdvc6/libboost_regex-vc6-s-1_31.pdb ../src/posix_api.cpp
vc6/boost_regex_vc6_sss/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/boost_regex_vc6_sss/boost_regex_vc6_sss.pch -Fo./vc6/boost_regex_vc6_sss/ -Fdvc6/boost_regex_vc6_sss.pdb ../src/regex.cpp
vc6/libboost_regex-vc6-s-1_31/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 /FD $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_31/ -Fdvc6/libboost_regex-vc6-s-1_31.pdb ../src/regex.cpp
vc6/boost_regex_vc6_sss/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/boost_regex_vc6_sss/boost_regex_vc6_sss.pch -Fo./vc6/boost_regex_vc6_sss/ -Fdvc6/boost_regex_vc6_sss.pdb ../src/regex_debug.cpp
vc6/libboost_regex-vc6-s-1_31/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 /FD $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_31/ -Fdvc6/libboost_regex-vc6-s-1_31.pdb ../src/regex_debug.cpp
vc6/boost_regex_vc6_sss/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/boost_regex_vc6_sss/boost_regex_vc6_sss.pch -Fo./vc6/boost_regex_vc6_sss/ -Fdvc6/boost_regex_vc6_sss.pdb ../src/regex_synch.cpp
vc6/libboost_regex-vc6-s-1_31/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 /FD $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_31/ -Fdvc6/libboost_regex-vc6-s-1_31.pdb ../src/regex_synch.cpp
vc6/boost_regex_vc6_sss/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/boost_regex_vc6_sss/boost_regex_vc6_sss.pch -Fo./vc6/boost_regex_vc6_sss/ -Fdvc6/boost_regex_vc6_sss.pdb ../src/w32_regex_traits.cpp
vc6/libboost_regex-vc6-s-1_31/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 /FD $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_31/ -Fdvc6/libboost_regex-vc6-s-1_31.pdb ../src/w32_regex_traits.cpp
vc6/boost_regex_vc6_sss/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/boost_regex_vc6_sss/boost_regex_vc6_sss.pch -Fo./vc6/boost_regex_vc6_sss/ -Fdvc6/boost_regex_vc6_sss.pdb ../src/wide_posix_api.cpp
vc6/libboost_regex-vc6-s-1_31/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 /FD $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_31/ -Fdvc6/libboost_regex-vc6-s-1_31.pdb ../src/wide_posix_api.cpp
vc6/boost_regex_vc6_sss/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/boost_regex_vc6_sss/boost_regex_vc6_sss.pch -Fo./vc6/boost_regex_vc6_sss/ -Fdvc6/boost_regex_vc6_sss.pdb ../src/winstances.cpp
vc6/libboost_regex-vc6-s-1_31/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 /FD $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_31/ -Fdvc6/libboost_regex-vc6-s-1_31.pdb ../src/winstances.cpp
boost_regex_vc6_sss_dir :
@if not exist "vc6\boost_regex_vc6_sss\$(NULL)" mkdir vc6\boost_regex_vc6_sss
libboost_regex-vc6-s-1_31_dir :
@if not exist "vc6\libboost_regex-vc6-s-1_31\$(NULL)" mkdir vc6\libboost_regex-vc6-s-1_31
boost_regex_vc6_sss_clean :
del vc6\boost_regex_vc6_sss\*.obj
del vc6\boost_regex_vc6_sss\*.idb
del vc6\boost_regex_vc6_sss\*.exp
del vc6\boost_regex_vc6_sss\*.pch
libboost_regex-vc6-s-1_31_clean :
del vc6\libboost_regex-vc6-s-1_31\*.obj
del vc6\libboost_regex-vc6-s-1_31\*.idb
del vc6\libboost_regex-vc6-s-1_31\*.exp
del vc6\libboost_regex-vc6-s-1_31\*.pch
./vc6/boost_regex_vc6_sss.lib : vc6/boost_regex_vc6_sss/c_regex_traits.obj vc6/boost_regex_vc6_sss/c_regex_traits_common.obj vc6/boost_regex_vc6_sss/cpp_regex_traits.obj vc6/boost_regex_vc6_sss/cregex.obj vc6/boost_regex_vc6_sss/fileiter.obj vc6/boost_regex_vc6_sss/instances.obj vc6/boost_regex_vc6_sss/posix_api.obj vc6/boost_regex_vc6_sss/regex.obj vc6/boost_regex_vc6_sss/regex_debug.obj vc6/boost_regex_vc6_sss/regex_synch.obj vc6/boost_regex_vc6_sss/w32_regex_traits.obj vc6/boost_regex_vc6_sss/wide_posix_api.obj vc6/boost_regex_vc6_sss/winstances.obj
link -lib /nologo /out:vc6/boost_regex_vc6_sss.lib $(XSFLAGS) vc6/boost_regex_vc6_sss/c_regex_traits.obj vc6/boost_regex_vc6_sss/c_regex_traits_common.obj vc6/boost_regex_vc6_sss/cpp_regex_traits.obj vc6/boost_regex_vc6_sss/cregex.obj vc6/boost_regex_vc6_sss/fileiter.obj vc6/boost_regex_vc6_sss/instances.obj vc6/boost_regex_vc6_sss/posix_api.obj vc6/boost_regex_vc6_sss/regex.obj vc6/boost_regex_vc6_sss/regex_debug.obj vc6/boost_regex_vc6_sss/regex_synch.obj vc6/boost_regex_vc6_sss/w32_regex_traits.obj vc6/boost_regex_vc6_sss/wide_posix_api.obj vc6/boost_regex_vc6_sss/winstances.obj
./vc6/libboost_regex-vc6-s-1_31.lib : vc6/libboost_regex-vc6-s-1_31/c_regex_traits.obj vc6/libboost_regex-vc6-s-1_31/c_regex_traits_common.obj vc6/libboost_regex-vc6-s-1_31/cpp_regex_traits.obj vc6/libboost_regex-vc6-s-1_31/cregex.obj vc6/libboost_regex-vc6-s-1_31/fileiter.obj vc6/libboost_regex-vc6-s-1_31/instances.obj vc6/libboost_regex-vc6-s-1_31/posix_api.obj vc6/libboost_regex-vc6-s-1_31/regex.obj vc6/libboost_regex-vc6-s-1_31/regex_debug.obj vc6/libboost_regex-vc6-s-1_31/regex_synch.obj vc6/libboost_regex-vc6-s-1_31/w32_regex_traits.obj vc6/libboost_regex-vc6-s-1_31/wide_posix_api.obj vc6/libboost_regex-vc6-s-1_31/winstances.obj
link -lib /nologo /out:vc6/libboost_regex-vc6-s-1_31.lib $(XSFLAGS) vc6/libboost_regex-vc6-s-1_31/c_regex_traits.obj vc6/libboost_regex-vc6-s-1_31/c_regex_traits_common.obj vc6/libboost_regex-vc6-s-1_31/cpp_regex_traits.obj vc6/libboost_regex-vc6-s-1_31/cregex.obj vc6/libboost_regex-vc6-s-1_31/fileiter.obj vc6/libboost_regex-vc6-s-1_31/instances.obj vc6/libboost_regex-vc6-s-1_31/posix_api.obj vc6/libboost_regex-vc6-s-1_31/regex.obj vc6/libboost_regex-vc6-s-1_31/regex_debug.obj vc6/libboost_regex-vc6-s-1_31/regex_synch.obj vc6/libboost_regex-vc6-s-1_31/w32_regex_traits.obj vc6/libboost_regex-vc6-s-1_31/wide_posix_api.obj vc6/libboost_regex-vc6-s-1_31/winstances.obj
########################################################
#
# section for boost_regex_vc6_mss.lib
# section for libboost_regex-vc6-mt-s-1_31.lib
#
########################################################
vc6/boost_regex_vc6_mss/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/boost_regex_vc6_mss/boost_regex_vc6_mss.pch -Fo./vc6/boost_regex_vc6_mss/ -Fdvc6/boost_regex_vc6_mss.pdb ../src/c_regex_traits.cpp
vc6/libboost_regex-vc6-mt-s-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_31/ -Fdvc6/libboost_regex-vc6-mt-s-1_31.pdb ../src/c_regex_traits.cpp
vc6/boost_regex_vc6_mss/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/boost_regex_vc6_mss/boost_regex_vc6_mss.pch -Fo./vc6/boost_regex_vc6_mss/ -Fdvc6/boost_regex_vc6_mss.pdb ../src/c_regex_traits_common.cpp
vc6/libboost_regex-vc6-mt-s-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_31/ -Fdvc6/libboost_regex-vc6-mt-s-1_31.pdb ../src/c_regex_traits_common.cpp
vc6/boost_regex_vc6_mss/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/boost_regex_vc6_mss/boost_regex_vc6_mss.pch -Fo./vc6/boost_regex_vc6_mss/ -Fdvc6/boost_regex_vc6_mss.pdb ../src/cpp_regex_traits.cpp
vc6/libboost_regex-vc6-mt-s-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_31/ -Fdvc6/libboost_regex-vc6-mt-s-1_31.pdb ../src/cpp_regex_traits.cpp
vc6/boost_regex_vc6_mss/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/boost_regex_vc6_mss/boost_regex_vc6_mss.pch -Fo./vc6/boost_regex_vc6_mss/ -Fdvc6/boost_regex_vc6_mss.pdb ../src/cregex.cpp
vc6/libboost_regex-vc6-mt-s-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_31/ -Fdvc6/libboost_regex-vc6-mt-s-1_31.pdb ../src/cregex.cpp
vc6/boost_regex_vc6_mss/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/boost_regex_vc6_mss/boost_regex_vc6_mss.pch -Fo./vc6/boost_regex_vc6_mss/ -Fdvc6/boost_regex_vc6_mss.pdb ../src/fileiter.cpp
vc6/libboost_regex-vc6-mt-s-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_31/ -Fdvc6/libboost_regex-vc6-mt-s-1_31.pdb ../src/fileiter.cpp
vc6/boost_regex_vc6_mss/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/boost_regex_vc6_mss/boost_regex_vc6_mss.pch -Fo./vc6/boost_regex_vc6_mss/ -Fdvc6/boost_regex_vc6_mss.pdb ../src/instances.cpp
vc6/libboost_regex-vc6-mt-s-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_31/ -Fdvc6/libboost_regex-vc6-mt-s-1_31.pdb ../src/instances.cpp
vc6/boost_regex_vc6_mss/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/boost_regex_vc6_mss/boost_regex_vc6_mss.pch -Fo./vc6/boost_regex_vc6_mss/ -Fdvc6/boost_regex_vc6_mss.pdb ../src/posix_api.cpp
vc6/libboost_regex-vc6-mt-s-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_31/ -Fdvc6/libboost_regex-vc6-mt-s-1_31.pdb ../src/posix_api.cpp
vc6/boost_regex_vc6_mss/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/boost_regex_vc6_mss/boost_regex_vc6_mss.pch -Fo./vc6/boost_regex_vc6_mss/ -Fdvc6/boost_regex_vc6_mss.pdb ../src/regex.cpp
vc6/libboost_regex-vc6-mt-s-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_31/ -Fdvc6/libboost_regex-vc6-mt-s-1_31.pdb ../src/regex.cpp
vc6/boost_regex_vc6_mss/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/boost_regex_vc6_mss/boost_regex_vc6_mss.pch -Fo./vc6/boost_regex_vc6_mss/ -Fdvc6/boost_regex_vc6_mss.pdb ../src/regex_debug.cpp
vc6/libboost_regex-vc6-mt-s-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_31/ -Fdvc6/libboost_regex-vc6-mt-s-1_31.pdb ../src/regex_debug.cpp
vc6/boost_regex_vc6_mss/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/boost_regex_vc6_mss/boost_regex_vc6_mss.pch -Fo./vc6/boost_regex_vc6_mss/ -Fdvc6/boost_regex_vc6_mss.pdb ../src/regex_synch.cpp
vc6/libboost_regex-vc6-mt-s-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_31/ -Fdvc6/libboost_regex-vc6-mt-s-1_31.pdb ../src/regex_synch.cpp
vc6/boost_regex_vc6_mss/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/boost_regex_vc6_mss/boost_regex_vc6_mss.pch -Fo./vc6/boost_regex_vc6_mss/ -Fdvc6/boost_regex_vc6_mss.pdb ../src/w32_regex_traits.cpp
vc6/libboost_regex-vc6-mt-s-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_31/ -Fdvc6/libboost_regex-vc6-mt-s-1_31.pdb ../src/w32_regex_traits.cpp
vc6/boost_regex_vc6_mss/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/boost_regex_vc6_mss/boost_regex_vc6_mss.pch -Fo./vc6/boost_regex_vc6_mss/ -Fdvc6/boost_regex_vc6_mss.pdb ../src/wide_posix_api.cpp
vc6/libboost_regex-vc6-mt-s-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_31/ -Fdvc6/libboost_regex-vc6-mt-s-1_31.pdb ../src/wide_posix_api.cpp
vc6/boost_regex_vc6_mss/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/boost_regex_vc6_mss/boost_regex_vc6_mss.pch -Fo./vc6/boost_regex_vc6_mss/ -Fdvc6/boost_regex_vc6_mss.pdb ../src/winstances.cpp
vc6/libboost_regex-vc6-mt-s-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_31/ -Fdvc6/libboost_regex-vc6-mt-s-1_31.pdb ../src/winstances.cpp
boost_regex_vc6_mss_dir :
@if not exist "vc6\boost_regex_vc6_mss\$(NULL)" mkdir vc6\boost_regex_vc6_mss
libboost_regex-vc6-mt-s-1_31_dir :
@if not exist "vc6\libboost_regex-vc6-mt-s-1_31\$(NULL)" mkdir vc6\libboost_regex-vc6-mt-s-1_31
boost_regex_vc6_mss_clean :
del vc6\boost_regex_vc6_mss\*.obj
del vc6\boost_regex_vc6_mss\*.idb
del vc6\boost_regex_vc6_mss\*.exp
del vc6\boost_regex_vc6_mss\*.pch
libboost_regex-vc6-mt-s-1_31_clean :
del vc6\libboost_regex-vc6-mt-s-1_31\*.obj
del vc6\libboost_regex-vc6-mt-s-1_31\*.idb
del vc6\libboost_regex-vc6-mt-s-1_31\*.exp
del vc6\libboost_regex-vc6-mt-s-1_31\*.pch
./vc6/boost_regex_vc6_mss.lib : vc6/boost_regex_vc6_mss/c_regex_traits.obj vc6/boost_regex_vc6_mss/c_regex_traits_common.obj vc6/boost_regex_vc6_mss/cpp_regex_traits.obj vc6/boost_regex_vc6_mss/cregex.obj vc6/boost_regex_vc6_mss/fileiter.obj vc6/boost_regex_vc6_mss/instances.obj vc6/boost_regex_vc6_mss/posix_api.obj vc6/boost_regex_vc6_mss/regex.obj vc6/boost_regex_vc6_mss/regex_debug.obj vc6/boost_regex_vc6_mss/regex_synch.obj vc6/boost_regex_vc6_mss/w32_regex_traits.obj vc6/boost_regex_vc6_mss/wide_posix_api.obj vc6/boost_regex_vc6_mss/winstances.obj
link -lib /nologo /out:vc6/boost_regex_vc6_mss.lib $(XSFLAGS) vc6/boost_regex_vc6_mss/c_regex_traits.obj vc6/boost_regex_vc6_mss/c_regex_traits_common.obj vc6/boost_regex_vc6_mss/cpp_regex_traits.obj vc6/boost_regex_vc6_mss/cregex.obj vc6/boost_regex_vc6_mss/fileiter.obj vc6/boost_regex_vc6_mss/instances.obj vc6/boost_regex_vc6_mss/posix_api.obj vc6/boost_regex_vc6_mss/regex.obj vc6/boost_regex_vc6_mss/regex_debug.obj vc6/boost_regex_vc6_mss/regex_synch.obj vc6/boost_regex_vc6_mss/w32_regex_traits.obj vc6/boost_regex_vc6_mss/wide_posix_api.obj vc6/boost_regex_vc6_mss/winstances.obj
./vc6/libboost_regex-vc6-mt-s-1_31.lib : vc6/libboost_regex-vc6-mt-s-1_31/c_regex_traits.obj vc6/libboost_regex-vc6-mt-s-1_31/c_regex_traits_common.obj vc6/libboost_regex-vc6-mt-s-1_31/cpp_regex_traits.obj vc6/libboost_regex-vc6-mt-s-1_31/cregex.obj vc6/libboost_regex-vc6-mt-s-1_31/fileiter.obj vc6/libboost_regex-vc6-mt-s-1_31/instances.obj vc6/libboost_regex-vc6-mt-s-1_31/posix_api.obj vc6/libboost_regex-vc6-mt-s-1_31/regex.obj vc6/libboost_regex-vc6-mt-s-1_31/regex_debug.obj vc6/libboost_regex-vc6-mt-s-1_31/regex_synch.obj vc6/libboost_regex-vc6-mt-s-1_31/w32_regex_traits.obj vc6/libboost_regex-vc6-mt-s-1_31/wide_posix_api.obj vc6/libboost_regex-vc6-mt-s-1_31/winstances.obj
link -lib /nologo /out:vc6/libboost_regex-vc6-mt-s-1_31.lib $(XSFLAGS) vc6/libboost_regex-vc6-mt-s-1_31/c_regex_traits.obj vc6/libboost_regex-vc6-mt-s-1_31/c_regex_traits_common.obj vc6/libboost_regex-vc6-mt-s-1_31/cpp_regex_traits.obj vc6/libboost_regex-vc6-mt-s-1_31/cregex.obj vc6/libboost_regex-vc6-mt-s-1_31/fileiter.obj vc6/libboost_regex-vc6-mt-s-1_31/instances.obj vc6/libboost_regex-vc6-mt-s-1_31/posix_api.obj vc6/libboost_regex-vc6-mt-s-1_31/regex.obj vc6/libboost_regex-vc6-mt-s-1_31/regex_debug.obj vc6/libboost_regex-vc6-mt-s-1_31/regex_synch.obj vc6/libboost_regex-vc6-mt-s-1_31/w32_regex_traits.obj vc6/libboost_regex-vc6-mt-s-1_31/wide_posix_api.obj vc6/libboost_regex-vc6-mt-s-1_31/winstances.obj
########################################################
#
# section for boost_regex_vc6_sssd.lib
# section for libboost_regex-vc6-sgd-1_31.lib
#
########################################################
vc6/boost_regex_vc6_sssd/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/boost_regex_vc6_sssd/boost_regex_vc6_sssd.pch -Fo./vc6/boost_regex_vc6_sssd/ -Fdvc6/boost_regex_vc6_sssd.pdb ../src/c_regex_traits.cpp
vc6/libboost_regex-vc6-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_31/ -Fdvc6/libboost_regex-vc6-sgd-1_31.pdb ../src/c_regex_traits.cpp
vc6/boost_regex_vc6_sssd/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/boost_regex_vc6_sssd/boost_regex_vc6_sssd.pch -Fo./vc6/boost_regex_vc6_sssd/ -Fdvc6/boost_regex_vc6_sssd.pdb ../src/c_regex_traits_common.cpp
vc6/libboost_regex-vc6-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_31/ -Fdvc6/libboost_regex-vc6-sgd-1_31.pdb ../src/c_regex_traits_common.cpp
vc6/boost_regex_vc6_sssd/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/boost_regex_vc6_sssd/boost_regex_vc6_sssd.pch -Fo./vc6/boost_regex_vc6_sssd/ -Fdvc6/boost_regex_vc6_sssd.pdb ../src/cpp_regex_traits.cpp
vc6/libboost_regex-vc6-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_31/ -Fdvc6/libboost_regex-vc6-sgd-1_31.pdb ../src/cpp_regex_traits.cpp
vc6/boost_regex_vc6_sssd/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/boost_regex_vc6_sssd/boost_regex_vc6_sssd.pch -Fo./vc6/boost_regex_vc6_sssd/ -Fdvc6/boost_regex_vc6_sssd.pdb ../src/cregex.cpp
vc6/libboost_regex-vc6-sgd-1_31/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_31/ -Fdvc6/libboost_regex-vc6-sgd-1_31.pdb ../src/cregex.cpp
vc6/boost_regex_vc6_sssd/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/boost_regex_vc6_sssd/boost_regex_vc6_sssd.pch -Fo./vc6/boost_regex_vc6_sssd/ -Fdvc6/boost_regex_vc6_sssd.pdb ../src/fileiter.cpp
vc6/libboost_regex-vc6-sgd-1_31/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_31/ -Fdvc6/libboost_regex-vc6-sgd-1_31.pdb ../src/fileiter.cpp
vc6/boost_regex_vc6_sssd/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/boost_regex_vc6_sssd/boost_regex_vc6_sssd.pch -Fo./vc6/boost_regex_vc6_sssd/ -Fdvc6/boost_regex_vc6_sssd.pdb ../src/instances.cpp
vc6/libboost_regex-vc6-sgd-1_31/instances.obj: ../src/instances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_31/ -Fdvc6/libboost_regex-vc6-sgd-1_31.pdb ../src/instances.cpp
vc6/boost_regex_vc6_sssd/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/boost_regex_vc6_sssd/boost_regex_vc6_sssd.pch -Fo./vc6/boost_regex_vc6_sssd/ -Fdvc6/boost_regex_vc6_sssd.pdb ../src/posix_api.cpp
vc6/libboost_regex-vc6-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_31/ -Fdvc6/libboost_regex-vc6-sgd-1_31.pdb ../src/posix_api.cpp
vc6/boost_regex_vc6_sssd/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/boost_regex_vc6_sssd/boost_regex_vc6_sssd.pch -Fo./vc6/boost_regex_vc6_sssd/ -Fdvc6/boost_regex_vc6_sssd.pdb ../src/regex.cpp
vc6/libboost_regex-vc6-sgd-1_31/regex.obj: ../src/regex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_31/ -Fdvc6/libboost_regex-vc6-sgd-1_31.pdb ../src/regex.cpp
vc6/boost_regex_vc6_sssd/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/boost_regex_vc6_sssd/boost_regex_vc6_sssd.pch -Fo./vc6/boost_regex_vc6_sssd/ -Fdvc6/boost_regex_vc6_sssd.pdb ../src/regex_debug.cpp
vc6/libboost_regex-vc6-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_31/ -Fdvc6/libboost_regex-vc6-sgd-1_31.pdb ../src/regex_debug.cpp
vc6/boost_regex_vc6_sssd/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/boost_regex_vc6_sssd/boost_regex_vc6_sssd.pch -Fo./vc6/boost_regex_vc6_sssd/ -Fdvc6/boost_regex_vc6_sssd.pdb ../src/regex_synch.cpp
vc6/libboost_regex-vc6-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_31/ -Fdvc6/libboost_regex-vc6-sgd-1_31.pdb ../src/regex_synch.cpp
vc6/boost_regex_vc6_sssd/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/boost_regex_vc6_sssd/boost_regex_vc6_sssd.pch -Fo./vc6/boost_regex_vc6_sssd/ -Fdvc6/boost_regex_vc6_sssd.pdb ../src/w32_regex_traits.cpp
vc6/libboost_regex-vc6-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_31/ -Fdvc6/libboost_regex-vc6-sgd-1_31.pdb ../src/w32_regex_traits.cpp
vc6/boost_regex_vc6_sssd/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/boost_regex_vc6_sssd/boost_regex_vc6_sssd.pch -Fo./vc6/boost_regex_vc6_sssd/ -Fdvc6/boost_regex_vc6_sssd.pdb ../src/wide_posix_api.cpp
vc6/libboost_regex-vc6-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_31/ -Fdvc6/libboost_regex-vc6-sgd-1_31.pdb ../src/wide_posix_api.cpp
vc6/boost_regex_vc6_sssd/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/boost_regex_vc6_sssd/boost_regex_vc6_sssd.pch -Fo./vc6/boost_regex_vc6_sssd/ -Fdvc6/boost_regex_vc6_sssd.pdb ../src/winstances.cpp
vc6/libboost_regex-vc6-sgd-1_31/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_31/ -Fdvc6/libboost_regex-vc6-sgd-1_31.pdb ../src/winstances.cpp
boost_regex_vc6_sssd_dir :
@if not exist "vc6\boost_regex_vc6_sssd\$(NULL)" mkdir vc6\boost_regex_vc6_sssd
libboost_regex-vc6-sgd-1_31_dir :
@if not exist "vc6\libboost_regex-vc6-sgd-1_31\$(NULL)" mkdir vc6\libboost_regex-vc6-sgd-1_31
boost_regex_vc6_sssd_clean :
del vc6\boost_regex_vc6_sssd\*.obj
del vc6\boost_regex_vc6_sssd\*.idb
del vc6\boost_regex_vc6_sssd\*.exp
del vc6\boost_regex_vc6_sssd\*.pch
libboost_regex-vc6-sgd-1_31_clean :
del vc6\libboost_regex-vc6-sgd-1_31\*.obj
del vc6\libboost_regex-vc6-sgd-1_31\*.idb
del vc6\libboost_regex-vc6-sgd-1_31\*.exp
del vc6\libboost_regex-vc6-sgd-1_31\*.pch
./vc6/boost_regex_vc6_sssd.lib : vc6/boost_regex_vc6_sssd/c_regex_traits.obj vc6/boost_regex_vc6_sssd/c_regex_traits_common.obj vc6/boost_regex_vc6_sssd/cpp_regex_traits.obj vc6/boost_regex_vc6_sssd/cregex.obj vc6/boost_regex_vc6_sssd/fileiter.obj vc6/boost_regex_vc6_sssd/instances.obj vc6/boost_regex_vc6_sssd/posix_api.obj vc6/boost_regex_vc6_sssd/regex.obj vc6/boost_regex_vc6_sssd/regex_debug.obj vc6/boost_regex_vc6_sssd/regex_synch.obj vc6/boost_regex_vc6_sssd/w32_regex_traits.obj vc6/boost_regex_vc6_sssd/wide_posix_api.obj vc6/boost_regex_vc6_sssd/winstances.obj
link -lib /nologo /out:vc6/boost_regex_vc6_sssd.lib $(XSFLAGS) vc6/boost_regex_vc6_sssd/c_regex_traits.obj vc6/boost_regex_vc6_sssd/c_regex_traits_common.obj vc6/boost_regex_vc6_sssd/cpp_regex_traits.obj vc6/boost_regex_vc6_sssd/cregex.obj vc6/boost_regex_vc6_sssd/fileiter.obj vc6/boost_regex_vc6_sssd/instances.obj vc6/boost_regex_vc6_sssd/posix_api.obj vc6/boost_regex_vc6_sssd/regex.obj vc6/boost_regex_vc6_sssd/regex_debug.obj vc6/boost_regex_vc6_sssd/regex_synch.obj vc6/boost_regex_vc6_sssd/w32_regex_traits.obj vc6/boost_regex_vc6_sssd/wide_posix_api.obj vc6/boost_regex_vc6_sssd/winstances.obj
./vc6/libboost_regex-vc6-sgd-1_31.lib : vc6/libboost_regex-vc6-sgd-1_31/c_regex_traits.obj vc6/libboost_regex-vc6-sgd-1_31/c_regex_traits_common.obj vc6/libboost_regex-vc6-sgd-1_31/cpp_regex_traits.obj vc6/libboost_regex-vc6-sgd-1_31/cregex.obj vc6/libboost_regex-vc6-sgd-1_31/fileiter.obj vc6/libboost_regex-vc6-sgd-1_31/instances.obj vc6/libboost_regex-vc6-sgd-1_31/posix_api.obj vc6/libboost_regex-vc6-sgd-1_31/regex.obj vc6/libboost_regex-vc6-sgd-1_31/regex_debug.obj vc6/libboost_regex-vc6-sgd-1_31/regex_synch.obj vc6/libboost_regex-vc6-sgd-1_31/w32_regex_traits.obj vc6/libboost_regex-vc6-sgd-1_31/wide_posix_api.obj vc6/libboost_regex-vc6-sgd-1_31/winstances.obj
link -lib /nologo /out:vc6/libboost_regex-vc6-sgd-1_31.lib $(XSFLAGS) vc6/libboost_regex-vc6-sgd-1_31/c_regex_traits.obj vc6/libboost_regex-vc6-sgd-1_31/c_regex_traits_common.obj vc6/libboost_regex-vc6-sgd-1_31/cpp_regex_traits.obj vc6/libboost_regex-vc6-sgd-1_31/cregex.obj vc6/libboost_regex-vc6-sgd-1_31/fileiter.obj vc6/libboost_regex-vc6-sgd-1_31/instances.obj vc6/libboost_regex-vc6-sgd-1_31/posix_api.obj vc6/libboost_regex-vc6-sgd-1_31/regex.obj vc6/libboost_regex-vc6-sgd-1_31/regex_debug.obj vc6/libboost_regex-vc6-sgd-1_31/regex_synch.obj vc6/libboost_regex-vc6-sgd-1_31/w32_regex_traits.obj vc6/libboost_regex-vc6-sgd-1_31/wide_posix_api.obj vc6/libboost_regex-vc6-sgd-1_31/winstances.obj
########################################################
#
# section for boost_regex_vc6_mssd.lib
# section for libboost_regex-vc6-mt-sgd-1_31.lib
#
########################################################
vc6/boost_regex_vc6_mssd/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/boost_regex_vc6_mssd/boost_regex_vc6_mssd.pch -Fo./vc6/boost_regex_vc6_mssd/ -Fdvc6/boost_regex_vc6_mssd.pdb ../src/c_regex_traits.cpp
vc6/libboost_regex-vc6-mt-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_31/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_31.pdb ../src/c_regex_traits.cpp
vc6/boost_regex_vc6_mssd/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/boost_regex_vc6_mssd/boost_regex_vc6_mssd.pch -Fo./vc6/boost_regex_vc6_mssd/ -Fdvc6/boost_regex_vc6_mssd.pdb ../src/c_regex_traits_common.cpp
vc6/libboost_regex-vc6-mt-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_31/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_31.pdb ../src/c_regex_traits_common.cpp
vc6/boost_regex_vc6_mssd/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/boost_regex_vc6_mssd/boost_regex_vc6_mssd.pch -Fo./vc6/boost_regex_vc6_mssd/ -Fdvc6/boost_regex_vc6_mssd.pdb ../src/cpp_regex_traits.cpp
vc6/libboost_regex-vc6-mt-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_31/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_31.pdb ../src/cpp_regex_traits.cpp
vc6/boost_regex_vc6_mssd/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/boost_regex_vc6_mssd/boost_regex_vc6_mssd.pch -Fo./vc6/boost_regex_vc6_mssd/ -Fdvc6/boost_regex_vc6_mssd.pdb ../src/cregex.cpp
vc6/libboost_regex-vc6-mt-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_31/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_31.pdb ../src/cregex.cpp
vc6/boost_regex_vc6_mssd/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/boost_regex_vc6_mssd/boost_regex_vc6_mssd.pch -Fo./vc6/boost_regex_vc6_mssd/ -Fdvc6/boost_regex_vc6_mssd.pdb ../src/fileiter.cpp
vc6/libboost_regex-vc6-mt-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_31/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_31.pdb ../src/fileiter.cpp
vc6/boost_regex_vc6_mssd/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/boost_regex_vc6_mssd/boost_regex_vc6_mssd.pch -Fo./vc6/boost_regex_vc6_mssd/ -Fdvc6/boost_regex_vc6_mssd.pdb ../src/instances.cpp
vc6/libboost_regex-vc6-mt-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_31/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_31.pdb ../src/instances.cpp
vc6/boost_regex_vc6_mssd/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/boost_regex_vc6_mssd/boost_regex_vc6_mssd.pch -Fo./vc6/boost_regex_vc6_mssd/ -Fdvc6/boost_regex_vc6_mssd.pdb ../src/posix_api.cpp
vc6/libboost_regex-vc6-mt-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_31/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_31.pdb ../src/posix_api.cpp
vc6/boost_regex_vc6_mssd/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/boost_regex_vc6_mssd/boost_regex_vc6_mssd.pch -Fo./vc6/boost_regex_vc6_mssd/ -Fdvc6/boost_regex_vc6_mssd.pdb ../src/regex.cpp
vc6/libboost_regex-vc6-mt-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_31/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_31.pdb ../src/regex.cpp
vc6/boost_regex_vc6_mssd/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/boost_regex_vc6_mssd/boost_regex_vc6_mssd.pch -Fo./vc6/boost_regex_vc6_mssd/ -Fdvc6/boost_regex_vc6_mssd.pdb ../src/regex_debug.cpp
vc6/libboost_regex-vc6-mt-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_31/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_31.pdb ../src/regex_debug.cpp
vc6/boost_regex_vc6_mssd/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/boost_regex_vc6_mssd/boost_regex_vc6_mssd.pch -Fo./vc6/boost_regex_vc6_mssd/ -Fdvc6/boost_regex_vc6_mssd.pdb ../src/regex_synch.cpp
vc6/libboost_regex-vc6-mt-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_31/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_31.pdb ../src/regex_synch.cpp
vc6/boost_regex_vc6_mssd/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/boost_regex_vc6_mssd/boost_regex_vc6_mssd.pch -Fo./vc6/boost_regex_vc6_mssd/ -Fdvc6/boost_regex_vc6_mssd.pdb ../src/w32_regex_traits.cpp
vc6/libboost_regex-vc6-mt-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_31/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_31.pdb ../src/w32_regex_traits.cpp
vc6/boost_regex_vc6_mssd/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/boost_regex_vc6_mssd/boost_regex_vc6_mssd.pch -Fo./vc6/boost_regex_vc6_mssd/ -Fdvc6/boost_regex_vc6_mssd.pdb ../src/wide_posix_api.cpp
vc6/libboost_regex-vc6-mt-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_31/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_31.pdb ../src/wide_posix_api.cpp
vc6/boost_regex_vc6_mssd/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/boost_regex_vc6_mssd/boost_regex_vc6_mssd.pch -Fo./vc6/boost_regex_vc6_mssd/ -Fdvc6/boost_regex_vc6_mssd.pdb ../src/winstances.cpp
vc6/libboost_regex-vc6-mt-sgd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_31/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_31.pdb ../src/winstances.cpp
boost_regex_vc6_mssd_dir :
@if not exist "vc6\boost_regex_vc6_mssd\$(NULL)" mkdir vc6\boost_regex_vc6_mssd
libboost_regex-vc6-mt-sgd-1_31_dir :
@if not exist "vc6\libboost_regex-vc6-mt-sgd-1_31\$(NULL)" mkdir vc6\libboost_regex-vc6-mt-sgd-1_31
boost_regex_vc6_mssd_clean :
del vc6\boost_regex_vc6_mssd\*.obj
del vc6\boost_regex_vc6_mssd\*.idb
del vc6\boost_regex_vc6_mssd\*.exp
del vc6\boost_regex_vc6_mssd\*.pch
libboost_regex-vc6-mt-sgd-1_31_clean :
del vc6\libboost_regex-vc6-mt-sgd-1_31\*.obj
del vc6\libboost_regex-vc6-mt-sgd-1_31\*.idb
del vc6\libboost_regex-vc6-mt-sgd-1_31\*.exp
del vc6\libboost_regex-vc6-mt-sgd-1_31\*.pch
./vc6/boost_regex_vc6_mssd.lib : vc6/boost_regex_vc6_mssd/c_regex_traits.obj vc6/boost_regex_vc6_mssd/c_regex_traits_common.obj vc6/boost_regex_vc6_mssd/cpp_regex_traits.obj vc6/boost_regex_vc6_mssd/cregex.obj vc6/boost_regex_vc6_mssd/fileiter.obj vc6/boost_regex_vc6_mssd/instances.obj vc6/boost_regex_vc6_mssd/posix_api.obj vc6/boost_regex_vc6_mssd/regex.obj vc6/boost_regex_vc6_mssd/regex_debug.obj vc6/boost_regex_vc6_mssd/regex_synch.obj vc6/boost_regex_vc6_mssd/w32_regex_traits.obj vc6/boost_regex_vc6_mssd/wide_posix_api.obj vc6/boost_regex_vc6_mssd/winstances.obj
link -lib /nologo /out:vc6/boost_regex_vc6_mssd.lib $(XSFLAGS) vc6/boost_regex_vc6_mssd/c_regex_traits.obj vc6/boost_regex_vc6_mssd/c_regex_traits_common.obj vc6/boost_regex_vc6_mssd/cpp_regex_traits.obj vc6/boost_regex_vc6_mssd/cregex.obj vc6/boost_regex_vc6_mssd/fileiter.obj vc6/boost_regex_vc6_mssd/instances.obj vc6/boost_regex_vc6_mssd/posix_api.obj vc6/boost_regex_vc6_mssd/regex.obj vc6/boost_regex_vc6_mssd/regex_debug.obj vc6/boost_regex_vc6_mssd/regex_synch.obj vc6/boost_regex_vc6_mssd/w32_regex_traits.obj vc6/boost_regex_vc6_mssd/wide_posix_api.obj vc6/boost_regex_vc6_mssd/winstances.obj
./vc6/libboost_regex-vc6-mt-sgd-1_31.lib : vc6/libboost_regex-vc6-mt-sgd-1_31/c_regex_traits.obj vc6/libboost_regex-vc6-mt-sgd-1_31/c_regex_traits_common.obj vc6/libboost_regex-vc6-mt-sgd-1_31/cpp_regex_traits.obj vc6/libboost_regex-vc6-mt-sgd-1_31/cregex.obj vc6/libboost_regex-vc6-mt-sgd-1_31/fileiter.obj vc6/libboost_regex-vc6-mt-sgd-1_31/instances.obj vc6/libboost_regex-vc6-mt-sgd-1_31/posix_api.obj vc6/libboost_regex-vc6-mt-sgd-1_31/regex.obj vc6/libboost_regex-vc6-mt-sgd-1_31/regex_debug.obj vc6/libboost_regex-vc6-mt-sgd-1_31/regex_synch.obj vc6/libboost_regex-vc6-mt-sgd-1_31/w32_regex_traits.obj vc6/libboost_regex-vc6-mt-sgd-1_31/wide_posix_api.obj vc6/libboost_regex-vc6-mt-sgd-1_31/winstances.obj
link -lib /nologo /out:vc6/libboost_regex-vc6-mt-sgd-1_31.lib $(XSFLAGS) vc6/libboost_regex-vc6-mt-sgd-1_31/c_regex_traits.obj vc6/libboost_regex-vc6-mt-sgd-1_31/c_regex_traits_common.obj vc6/libboost_regex-vc6-mt-sgd-1_31/cpp_regex_traits.obj vc6/libboost_regex-vc6-mt-sgd-1_31/cregex.obj vc6/libboost_regex-vc6-mt-sgd-1_31/fileiter.obj vc6/libboost_regex-vc6-mt-sgd-1_31/instances.obj vc6/libboost_regex-vc6-mt-sgd-1_31/posix_api.obj vc6/libboost_regex-vc6-mt-sgd-1_31/regex.obj vc6/libboost_regex-vc6-mt-sgd-1_31/regex_debug.obj vc6/libboost_regex-vc6-mt-sgd-1_31/regex_synch.obj vc6/libboost_regex-vc6-mt-sgd-1_31/w32_regex_traits.obj vc6/libboost_regex-vc6-mt-sgd-1_31/wide_posix_api.obj vc6/libboost_regex-vc6-mt-sgd-1_31/winstances.obj
########################################################
#
# section for boost_regex_vc6_mdid.lib
# section for boost_regex-vc6-mt-gd-1_31.lib
#
########################################################
vc6/boost_regex_vc6_mdid/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_mdid/boost_regex_vc6_mdid.pch -Fo./vc6/boost_regex_vc6_mdid/ -Fdvc6/boost_regex_vc6_mdid.pdb ../src/c_regex_traits.cpp
vc6/boost_regex-vc6-mt-gd-1_31/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_31/ -Fdvc6/boost_regex-vc6-mt-gd-1_31.pdb ../src/c_regex_traits.cpp
vc6/boost_regex_vc6_mdid/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_mdid/boost_regex_vc6_mdid.pch -Fo./vc6/boost_regex_vc6_mdid/ -Fdvc6/boost_regex_vc6_mdid.pdb ../src/c_regex_traits_common.cpp
vc6/boost_regex-vc6-mt-gd-1_31/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 /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_31/ -Fdvc6/boost_regex-vc6-mt-gd-1_31.pdb ../src/c_regex_traits_common.cpp
vc6/boost_regex_vc6_mdid/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_mdid/boost_regex_vc6_mdid.pch -Fo./vc6/boost_regex_vc6_mdid/ -Fdvc6/boost_regex_vc6_mdid.pdb ../src/cpp_regex_traits.cpp
vc6/boost_regex-vc6-mt-gd-1_31/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_31/ -Fdvc6/boost_regex-vc6-mt-gd-1_31.pdb ../src/cpp_regex_traits.cpp
vc6/boost_regex_vc6_mdid/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_mdid/boost_regex_vc6_mdid.pch -Fo./vc6/boost_regex_vc6_mdid/ -Fdvc6/boost_regex_vc6_mdid.pdb ../src/cregex.cpp
vc6/boost_regex-vc6-mt-gd-1_31/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_31/ -Fdvc6/boost_regex-vc6-mt-gd-1_31.pdb ../src/cregex.cpp
vc6/boost_regex_vc6_mdid/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_mdid/boost_regex_vc6_mdid.pch -Fo./vc6/boost_regex_vc6_mdid/ -Fdvc6/boost_regex_vc6_mdid.pdb ../src/fileiter.cpp
vc6/boost_regex-vc6-mt-gd-1_31/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_31/ -Fdvc6/boost_regex-vc6-mt-gd-1_31.pdb ../src/fileiter.cpp
vc6/boost_regex_vc6_mdid/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_mdid/boost_regex_vc6_mdid.pch -Fo./vc6/boost_regex_vc6_mdid/ -Fdvc6/boost_regex_vc6_mdid.pdb ../src/instances.cpp
vc6/boost_regex-vc6-mt-gd-1_31/instances.obj: ../src/instances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_31/ -Fdvc6/boost_regex-vc6-mt-gd-1_31.pdb ../src/instances.cpp
vc6/boost_regex_vc6_mdid/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_mdid/boost_regex_vc6_mdid.pch -Fo./vc6/boost_regex_vc6_mdid/ -Fdvc6/boost_regex_vc6_mdid.pdb ../src/posix_api.cpp
vc6/boost_regex-vc6-mt-gd-1_31/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_31/ -Fdvc6/boost_regex-vc6-mt-gd-1_31.pdb ../src/posix_api.cpp
vc6/boost_regex_vc6_mdid/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_mdid/boost_regex_vc6_mdid.pch -Fo./vc6/boost_regex_vc6_mdid/ -Fdvc6/boost_regex_vc6_mdid.pdb ../src/regex.cpp
vc6/boost_regex-vc6-mt-gd-1_31/regex.obj: ../src/regex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_31/ -Fdvc6/boost_regex-vc6-mt-gd-1_31.pdb ../src/regex.cpp
vc6/boost_regex_vc6_mdid/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_mdid/boost_regex_vc6_mdid.pch -Fo./vc6/boost_regex_vc6_mdid/ -Fdvc6/boost_regex_vc6_mdid.pdb ../src/regex_debug.cpp
vc6/boost_regex-vc6-mt-gd-1_31/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_31/ -Fdvc6/boost_regex-vc6-mt-gd-1_31.pdb ../src/regex_debug.cpp
vc6/boost_regex_vc6_mdid/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_mdid/boost_regex_vc6_mdid.pch -Fo./vc6/boost_regex_vc6_mdid/ -Fdvc6/boost_regex_vc6_mdid.pdb ../src/regex_synch.cpp
vc6/boost_regex-vc6-mt-gd-1_31/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_31/ -Fdvc6/boost_regex-vc6-mt-gd-1_31.pdb ../src/regex_synch.cpp
vc6/boost_regex_vc6_mdid/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_mdid/boost_regex_vc6_mdid.pch -Fo./vc6/boost_regex_vc6_mdid/ -Fdvc6/boost_regex_vc6_mdid.pdb ../src/w32_regex_traits.cpp
vc6/boost_regex-vc6-mt-gd-1_31/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_31/ -Fdvc6/boost_regex-vc6-mt-gd-1_31.pdb ../src/w32_regex_traits.cpp
vc6/boost_regex_vc6_mdid/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_mdid/boost_regex_vc6_mdid.pch -Fo./vc6/boost_regex_vc6_mdid/ -Fdvc6/boost_regex_vc6_mdid.pdb ../src/wide_posix_api.cpp
vc6/boost_regex-vc6-mt-gd-1_31/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_31/ -Fdvc6/boost_regex-vc6-mt-gd-1_31.pdb ../src/wide_posix_api.cpp
vc6/boost_regex_vc6_mdid/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_mdid/boost_regex_vc6_mdid.pch -Fo./vc6/boost_regex_vc6_mdid/ -Fdvc6/boost_regex_vc6_mdid.pdb ../src/winstances.cpp
vc6/boost_regex-vc6-mt-gd-1_31/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_31/ -Fdvc6/boost_regex-vc6-mt-gd-1_31.pdb ../src/winstances.cpp
boost_regex_vc6_mdid_dir :
@if not exist "vc6\boost_regex_vc6_mdid\$(NULL)" mkdir vc6\boost_regex_vc6_mdid
boost_regex-vc6-mt-gd-1_31_dir :
@if not exist "vc6\boost_regex-vc6-mt-gd-1_31\$(NULL)" mkdir vc6\boost_regex-vc6-mt-gd-1_31
boost_regex_vc6_mdid_clean :
del vc6\boost_regex_vc6_mdid\*.obj
del vc6\boost_regex_vc6_mdid\*.idb
del vc6\boost_regex_vc6_mdid\*.exp
del vc6\boost_regex_vc6_mdid\*.pch
boost_regex-vc6-mt-gd-1_31_clean :
del vc6\boost_regex-vc6-mt-gd-1_31\*.obj
del vc6\boost_regex-vc6-mt-gd-1_31\*.idb
del vc6\boost_regex-vc6-mt-gd-1_31\*.exp
del vc6\boost_regex-vc6-mt-gd-1_31\*.pch
./vc6/boost_regex_vc6_mdid.lib : vc6/boost_regex_vc6_mdid/c_regex_traits.obj vc6/boost_regex_vc6_mdid/c_regex_traits_common.obj vc6/boost_regex_vc6_mdid/cpp_regex_traits.obj vc6/boost_regex_vc6_mdid/cregex.obj vc6/boost_regex_vc6_mdid/fileiter.obj vc6/boost_regex_vc6_mdid/instances.obj vc6/boost_regex_vc6_mdid/posix_api.obj vc6/boost_regex_vc6_mdid/regex.obj vc6/boost_regex_vc6_mdid/regex_debug.obj vc6/boost_regex_vc6_mdid/regex_synch.obj vc6/boost_regex_vc6_mdid/w32_regex_traits.obj vc6/boost_regex_vc6_mdid/wide_posix_api.obj vc6/boost_regex_vc6_mdid/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_mdid.pdb" /debug /machine:I386 /out:"vc6/boost_regex_vc6_mdid.dll" /implib:"vc6/boost_regex_vc6_mdid.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc6/boost_regex_vc6_mdid/c_regex_traits.obj vc6/boost_regex_vc6_mdid/c_regex_traits_common.obj vc6/boost_regex_vc6_mdid/cpp_regex_traits.obj vc6/boost_regex_vc6_mdid/cregex.obj vc6/boost_regex_vc6_mdid/fileiter.obj vc6/boost_regex_vc6_mdid/instances.obj vc6/boost_regex_vc6_mdid/posix_api.obj vc6/boost_regex_vc6_mdid/regex.obj vc6/boost_regex_vc6_mdid/regex_debug.obj vc6/boost_regex_vc6_mdid/regex_synch.obj vc6/boost_regex_vc6_mdid/w32_regex_traits.obj vc6/boost_regex_vc6_mdid/wide_posix_api.obj vc6/boost_regex_vc6_mdid/winstances.obj
./vc6/boost_regex-vc6-mt-gd-1_31.lib : vc6/boost_regex-vc6-mt-gd-1_31/c_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_31/c_regex_traits_common.obj vc6/boost_regex-vc6-mt-gd-1_31/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_31/cregex.obj vc6/boost_regex-vc6-mt-gd-1_31/fileiter.obj vc6/boost_regex-vc6-mt-gd-1_31/instances.obj vc6/boost_regex-vc6-mt-gd-1_31/posix_api.obj vc6/boost_regex-vc6-mt-gd-1_31/regex.obj vc6/boost_regex-vc6-mt-gd-1_31/regex_debug.obj vc6/boost_regex-vc6-mt-gd-1_31/regex_synch.obj vc6/boost_regex-vc6-mt-gd-1_31/w32_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_31/wide_posix_api.obj vc6/boost_regex-vc6-mt-gd-1_31/winstances.obj
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6/boost_regex-vc6-mt-gd-1_31.pdb" /debug /machine:I386 /out:"vc6/boost_regex-vc6-mt-gd-1_31.dll" /implib:"vc6/boost_regex-vc6-mt-gd-1_31.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc6/boost_regex-vc6-mt-gd-1_31/c_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_31/c_regex_traits_common.obj vc6/boost_regex-vc6-mt-gd-1_31/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_31/cregex.obj vc6/boost_regex-vc6-mt-gd-1_31/fileiter.obj vc6/boost_regex-vc6-mt-gd-1_31/instances.obj vc6/boost_regex-vc6-mt-gd-1_31/posix_api.obj vc6/boost_regex-vc6-mt-gd-1_31/regex.obj vc6/boost_regex-vc6-mt-gd-1_31/regex_debug.obj vc6/boost_regex-vc6-mt-gd-1_31/regex_synch.obj vc6/boost_regex-vc6-mt-gd-1_31/w32_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_31/wide_posix_api.obj vc6/boost_regex-vc6-mt-gd-1_31/winstances.obj
########################################################
#
# section for boost_regex_vc6_mdi.lib
# section for boost_regex-vc6-mt-1_31.lib
#
########################################################
vc6/boost_regex_vc6_mdi/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_mdi/boost_regex_vc6_mdi.pch -Fo./vc6/boost_regex_vc6_mdi/ -Fdvc6/boost_regex_vc6_mdi.pdb ../src/c_regex_traits.cpp
vc6/boost_regex-vc6-mt-1_31/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_31/ -Fdvc6/boost_regex-vc6-mt-1_31.pdb ../src/c_regex_traits.cpp
vc6/boost_regex_vc6_mdi/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_mdi/boost_regex_vc6_mdi.pch -Fo./vc6/boost_regex_vc6_mdi/ -Fdvc6/boost_regex_vc6_mdi.pdb ../src/c_regex_traits_common.cpp
vc6/boost_regex-vc6-mt-1_31/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_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_31/ -Fdvc6/boost_regex-vc6-mt-1_31.pdb ../src/c_regex_traits_common.cpp
vc6/boost_regex_vc6_mdi/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_mdi/boost_regex_vc6_mdi.pch -Fo./vc6/boost_regex_vc6_mdi/ -Fdvc6/boost_regex_vc6_mdi.pdb ../src/cpp_regex_traits.cpp
vc6/boost_regex-vc6-mt-1_31/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_31/ -Fdvc6/boost_regex-vc6-mt-1_31.pdb ../src/cpp_regex_traits.cpp
vc6/boost_regex_vc6_mdi/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_mdi/boost_regex_vc6_mdi.pch -Fo./vc6/boost_regex_vc6_mdi/ -Fdvc6/boost_regex_vc6_mdi.pdb ../src/cregex.cpp
vc6/boost_regex-vc6-mt-1_31/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_31/ -Fdvc6/boost_regex-vc6-mt-1_31.pdb ../src/cregex.cpp
vc6/boost_regex_vc6_mdi/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_mdi/boost_regex_vc6_mdi.pch -Fo./vc6/boost_regex_vc6_mdi/ -Fdvc6/boost_regex_vc6_mdi.pdb ../src/fileiter.cpp
vc6/boost_regex-vc6-mt-1_31/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_31/ -Fdvc6/boost_regex-vc6-mt-1_31.pdb ../src/fileiter.cpp
vc6/boost_regex_vc6_mdi/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_mdi/boost_regex_vc6_mdi.pch -Fo./vc6/boost_regex_vc6_mdi/ -Fdvc6/boost_regex_vc6_mdi.pdb ../src/instances.cpp
vc6/boost_regex-vc6-mt-1_31/instances.obj: ../src/instances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_31/ -Fdvc6/boost_regex-vc6-mt-1_31.pdb ../src/instances.cpp
vc6/boost_regex_vc6_mdi/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_mdi/boost_regex_vc6_mdi.pch -Fo./vc6/boost_regex_vc6_mdi/ -Fdvc6/boost_regex_vc6_mdi.pdb ../src/posix_api.cpp
vc6/boost_regex-vc6-mt-1_31/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_31/ -Fdvc6/boost_regex-vc6-mt-1_31.pdb ../src/posix_api.cpp
vc6/boost_regex_vc6_mdi/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_mdi/boost_regex_vc6_mdi.pch -Fo./vc6/boost_regex_vc6_mdi/ -Fdvc6/boost_regex_vc6_mdi.pdb ../src/regex.cpp
vc6/boost_regex-vc6-mt-1_31/regex.obj: ../src/regex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_31/ -Fdvc6/boost_regex-vc6-mt-1_31.pdb ../src/regex.cpp
vc6/boost_regex_vc6_mdi/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_mdi/boost_regex_vc6_mdi.pch -Fo./vc6/boost_regex_vc6_mdi/ -Fdvc6/boost_regex_vc6_mdi.pdb ../src/regex_debug.cpp
vc6/boost_regex-vc6-mt-1_31/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_31/ -Fdvc6/boost_regex-vc6-mt-1_31.pdb ../src/regex_debug.cpp
vc6/boost_regex_vc6_mdi/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_mdi/boost_regex_vc6_mdi.pch -Fo./vc6/boost_regex_vc6_mdi/ -Fdvc6/boost_regex_vc6_mdi.pdb ../src/regex_synch.cpp
vc6/boost_regex-vc6-mt-1_31/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_31/ -Fdvc6/boost_regex-vc6-mt-1_31.pdb ../src/regex_synch.cpp
vc6/boost_regex_vc6_mdi/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_mdi/boost_regex_vc6_mdi.pch -Fo./vc6/boost_regex_vc6_mdi/ -Fdvc6/boost_regex_vc6_mdi.pdb ../src/w32_regex_traits.cpp
vc6/boost_regex-vc6-mt-1_31/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_31/ -Fdvc6/boost_regex-vc6-mt-1_31.pdb ../src/w32_regex_traits.cpp
vc6/boost_regex_vc6_mdi/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_mdi/boost_regex_vc6_mdi.pch -Fo./vc6/boost_regex_vc6_mdi/ -Fdvc6/boost_regex_vc6_mdi.pdb ../src/wide_posix_api.cpp
vc6/boost_regex-vc6-mt-1_31/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_31/ -Fdvc6/boost_regex-vc6-mt-1_31.pdb ../src/wide_posix_api.cpp
vc6/boost_regex_vc6_mdi/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_mdi/boost_regex_vc6_mdi.pch -Fo./vc6/boost_regex_vc6_mdi/ -Fdvc6/boost_regex_vc6_mdi.pdb ../src/winstances.cpp
vc6/boost_regex-vc6-mt-1_31/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /c $(CXXFLAGS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_31/ -Fdvc6/boost_regex-vc6-mt-1_31.pdb ../src/winstances.cpp
boost_regex_vc6_mdi_dir :
@if not exist "vc6\boost_regex_vc6_mdi\$(NULL)" mkdir vc6\boost_regex_vc6_mdi
boost_regex-vc6-mt-1_31_dir :
@if not exist "vc6\boost_regex-vc6-mt-1_31\$(NULL)" mkdir vc6\boost_regex-vc6-mt-1_31
boost_regex_vc6_mdi_clean :
del vc6\boost_regex_vc6_mdi\*.obj
del vc6\boost_regex_vc6_mdi\*.idb
del vc6\boost_regex_vc6_mdi\*.exp
del vc6\boost_regex_vc6_mdi\*.pch
boost_regex-vc6-mt-1_31_clean :
del vc6\boost_regex-vc6-mt-1_31\*.obj
del vc6\boost_regex-vc6-mt-1_31\*.idb
del vc6\boost_regex-vc6-mt-1_31\*.exp
del vc6\boost_regex-vc6-mt-1_31\*.pch
./vc6/boost_regex_vc6_mdi.lib : vc6/boost_regex_vc6_mdi/c_regex_traits.obj vc6/boost_regex_vc6_mdi/c_regex_traits_common.obj vc6/boost_regex_vc6_mdi/cpp_regex_traits.obj vc6/boost_regex_vc6_mdi/cregex.obj vc6/boost_regex_vc6_mdi/fileiter.obj vc6/boost_regex_vc6_mdi/instances.obj vc6/boost_regex_vc6_mdi/posix_api.obj vc6/boost_regex_vc6_mdi/regex.obj vc6/boost_regex_vc6_mdi/regex_debug.obj vc6/boost_regex_vc6_mdi/regex_synch.obj vc6/boost_regex_vc6_mdi/w32_regex_traits.obj vc6/boost_regex_vc6_mdi/wide_posix_api.obj vc6/boost_regex_vc6_mdi/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_mdi.pdb" /debug /machine:I386 /out:"vc6/boost_regex_vc6_mdi.dll" /implib:"vc6/boost_regex_vc6_mdi.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc6/boost_regex_vc6_mdi/c_regex_traits.obj vc6/boost_regex_vc6_mdi/c_regex_traits_common.obj vc6/boost_regex_vc6_mdi/cpp_regex_traits.obj vc6/boost_regex_vc6_mdi/cregex.obj vc6/boost_regex_vc6_mdi/fileiter.obj vc6/boost_regex_vc6_mdi/instances.obj vc6/boost_regex_vc6_mdi/posix_api.obj vc6/boost_regex_vc6_mdi/regex.obj vc6/boost_regex_vc6_mdi/regex_debug.obj vc6/boost_regex_vc6_mdi/regex_synch.obj vc6/boost_regex_vc6_mdi/w32_regex_traits.obj vc6/boost_regex_vc6_mdi/wide_posix_api.obj vc6/boost_regex_vc6_mdi/winstances.obj
./vc6/boost_regex-vc6-mt-1_31.lib : vc6/boost_regex-vc6-mt-1_31/c_regex_traits.obj vc6/boost_regex-vc6-mt-1_31/c_regex_traits_common.obj vc6/boost_regex-vc6-mt-1_31/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-1_31/cregex.obj vc6/boost_regex-vc6-mt-1_31/fileiter.obj vc6/boost_regex-vc6-mt-1_31/instances.obj vc6/boost_regex-vc6-mt-1_31/posix_api.obj vc6/boost_regex-vc6-mt-1_31/regex.obj vc6/boost_regex-vc6-mt-1_31/regex_debug.obj vc6/boost_regex-vc6-mt-1_31/regex_synch.obj vc6/boost_regex-vc6-mt-1_31/w32_regex_traits.obj vc6/boost_regex-vc6-mt-1_31/wide_posix_api.obj vc6/boost_regex-vc6-mt-1_31/winstances.obj
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6/boost_regex-vc6-mt-1_31.pdb" /debug /machine:I386 /out:"vc6/boost_regex-vc6-mt-1_31.dll" /implib:"vc6/boost_regex-vc6-mt-1_31.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc6/boost_regex-vc6-mt-1_31/c_regex_traits.obj vc6/boost_regex-vc6-mt-1_31/c_regex_traits_common.obj vc6/boost_regex-vc6-mt-1_31/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-1_31/cregex.obj vc6/boost_regex-vc6-mt-1_31/fileiter.obj vc6/boost_regex-vc6-mt-1_31/instances.obj vc6/boost_regex-vc6-mt-1_31/posix_api.obj vc6/boost_regex-vc6-mt-1_31/regex.obj vc6/boost_regex-vc6-mt-1_31/regex_debug.obj vc6/boost_regex-vc6-mt-1_31/regex_synch.obj vc6/boost_regex-vc6-mt-1_31/w32_regex_traits.obj vc6/boost_regex-vc6-mt-1_31/wide_posix_api.obj vc6/boost_regex-vc6-mt-1_31/winstances.obj
########################################################
#
# section for boost_regex_vc6_mds.lib
# section for libboost_regex-vc6-mt-1_31.lib
#
########################################################
vc6/boost_regex_vc6_mds/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/boost_regex_vc6_mds/boost_regex_vc6_mds.pch -Fo./vc6/boost_regex_vc6_mds/ -Fdvc6/boost_regex_vc6_mds.pdb ../src/c_regex_traits.cpp
vc6/libboost_regex-vc6-mt-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_31/ -Fdvc6/libboost_regex-vc6-mt-1_31.pdb ../src/c_regex_traits.cpp
vc6/boost_regex_vc6_mds/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/boost_regex_vc6_mds/boost_regex_vc6_mds.pch -Fo./vc6/boost_regex_vc6_mds/ -Fdvc6/boost_regex_vc6_mds.pdb ../src/c_regex_traits_common.cpp
vc6/libboost_regex-vc6-mt-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_31/ -Fdvc6/libboost_regex-vc6-mt-1_31.pdb ../src/c_regex_traits_common.cpp
vc6/boost_regex_vc6_mds/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/boost_regex_vc6_mds/boost_regex_vc6_mds.pch -Fo./vc6/boost_regex_vc6_mds/ -Fdvc6/boost_regex_vc6_mds.pdb ../src/cpp_regex_traits.cpp
vc6/libboost_regex-vc6-mt-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_31/ -Fdvc6/libboost_regex-vc6-mt-1_31.pdb ../src/cpp_regex_traits.cpp
vc6/boost_regex_vc6_mds/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/boost_regex_vc6_mds/boost_regex_vc6_mds.pch -Fo./vc6/boost_regex_vc6_mds/ -Fdvc6/boost_regex_vc6_mds.pdb ../src/cregex.cpp
vc6/libboost_regex-vc6-mt-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_31/ -Fdvc6/libboost_regex-vc6-mt-1_31.pdb ../src/cregex.cpp
vc6/boost_regex_vc6_mds/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/boost_regex_vc6_mds/boost_regex_vc6_mds.pch -Fo./vc6/boost_regex_vc6_mds/ -Fdvc6/boost_regex_vc6_mds.pdb ../src/fileiter.cpp
vc6/libboost_regex-vc6-mt-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_31/ -Fdvc6/libboost_regex-vc6-mt-1_31.pdb ../src/fileiter.cpp
vc6/boost_regex_vc6_mds/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/boost_regex_vc6_mds/boost_regex_vc6_mds.pch -Fo./vc6/boost_regex_vc6_mds/ -Fdvc6/boost_regex_vc6_mds.pdb ../src/instances.cpp
vc6/libboost_regex-vc6-mt-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_31/ -Fdvc6/libboost_regex-vc6-mt-1_31.pdb ../src/instances.cpp
vc6/boost_regex_vc6_mds/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/boost_regex_vc6_mds/boost_regex_vc6_mds.pch -Fo./vc6/boost_regex_vc6_mds/ -Fdvc6/boost_regex_vc6_mds.pdb ../src/posix_api.cpp
vc6/libboost_regex-vc6-mt-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_31/ -Fdvc6/libboost_regex-vc6-mt-1_31.pdb ../src/posix_api.cpp
vc6/boost_regex_vc6_mds/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/boost_regex_vc6_mds/boost_regex_vc6_mds.pch -Fo./vc6/boost_regex_vc6_mds/ -Fdvc6/boost_regex_vc6_mds.pdb ../src/regex.cpp
vc6/libboost_regex-vc6-mt-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_31/ -Fdvc6/libboost_regex-vc6-mt-1_31.pdb ../src/regex.cpp
vc6/boost_regex_vc6_mds/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/boost_regex_vc6_mds/boost_regex_vc6_mds.pch -Fo./vc6/boost_regex_vc6_mds/ -Fdvc6/boost_regex_vc6_mds.pdb ../src/regex_debug.cpp
vc6/libboost_regex-vc6-mt-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_31/ -Fdvc6/libboost_regex-vc6-mt-1_31.pdb ../src/regex_debug.cpp
vc6/boost_regex_vc6_mds/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/boost_regex_vc6_mds/boost_regex_vc6_mds.pch -Fo./vc6/boost_regex_vc6_mds/ -Fdvc6/boost_regex_vc6_mds.pdb ../src/regex_synch.cpp
vc6/libboost_regex-vc6-mt-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_31/ -Fdvc6/libboost_regex-vc6-mt-1_31.pdb ../src/regex_synch.cpp
vc6/boost_regex_vc6_mds/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/boost_regex_vc6_mds/boost_regex_vc6_mds.pch -Fo./vc6/boost_regex_vc6_mds/ -Fdvc6/boost_regex_vc6_mds.pdb ../src/w32_regex_traits.cpp
vc6/libboost_regex-vc6-mt-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_31/ -Fdvc6/libboost_regex-vc6-mt-1_31.pdb ../src/w32_regex_traits.cpp
vc6/boost_regex_vc6_mds/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/boost_regex_vc6_mds/boost_regex_vc6_mds.pch -Fo./vc6/boost_regex_vc6_mds/ -Fdvc6/boost_regex_vc6_mds.pdb ../src/wide_posix_api.cpp
vc6/libboost_regex-vc6-mt-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_31/ -Fdvc6/libboost_regex-vc6-mt-1_31.pdb ../src/wide_posix_api.cpp
vc6/boost_regex_vc6_mds/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/boost_regex_vc6_mds/boost_regex_vc6_mds.pch -Fo./vc6/boost_regex_vc6_mds/ -Fdvc6/boost_regex_vc6_mds.pdb ../src/winstances.cpp
vc6/libboost_regex-vc6-mt-1_31/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 /FD /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_31/ -Fdvc6/libboost_regex-vc6-mt-1_31.pdb ../src/winstances.cpp
boost_regex_vc6_mds_dir :
@if not exist "vc6\boost_regex_vc6_mds\$(NULL)" mkdir vc6\boost_regex_vc6_mds
libboost_regex-vc6-mt-1_31_dir :
@if not exist "vc6\libboost_regex-vc6-mt-1_31\$(NULL)" mkdir vc6\libboost_regex-vc6-mt-1_31
boost_regex_vc6_mds_clean :
del vc6\boost_regex_vc6_mds\*.obj
del vc6\boost_regex_vc6_mds\*.idb
del vc6\boost_regex_vc6_mds\*.exp
del vc6\boost_regex_vc6_mds\*.pch
libboost_regex-vc6-mt-1_31_clean :
del vc6\libboost_regex-vc6-mt-1_31\*.obj
del vc6\libboost_regex-vc6-mt-1_31\*.idb
del vc6\libboost_regex-vc6-mt-1_31\*.exp
del vc6\libboost_regex-vc6-mt-1_31\*.pch
./vc6/boost_regex_vc6_mds.lib : vc6/boost_regex_vc6_mds/c_regex_traits.obj vc6/boost_regex_vc6_mds/c_regex_traits_common.obj vc6/boost_regex_vc6_mds/cpp_regex_traits.obj vc6/boost_regex_vc6_mds/cregex.obj vc6/boost_regex_vc6_mds/fileiter.obj vc6/boost_regex_vc6_mds/instances.obj vc6/boost_regex_vc6_mds/posix_api.obj vc6/boost_regex_vc6_mds/regex.obj vc6/boost_regex_vc6_mds/regex_debug.obj vc6/boost_regex_vc6_mds/regex_synch.obj vc6/boost_regex_vc6_mds/w32_regex_traits.obj vc6/boost_regex_vc6_mds/wide_posix_api.obj vc6/boost_regex_vc6_mds/winstances.obj
link -lib /nologo /out:vc6/boost_regex_vc6_mds.lib $(XSFLAGS) vc6/boost_regex_vc6_mds/c_regex_traits.obj vc6/boost_regex_vc6_mds/c_regex_traits_common.obj vc6/boost_regex_vc6_mds/cpp_regex_traits.obj vc6/boost_regex_vc6_mds/cregex.obj vc6/boost_regex_vc6_mds/fileiter.obj vc6/boost_regex_vc6_mds/instances.obj vc6/boost_regex_vc6_mds/posix_api.obj vc6/boost_regex_vc6_mds/regex.obj vc6/boost_regex_vc6_mds/regex_debug.obj vc6/boost_regex_vc6_mds/regex_synch.obj vc6/boost_regex_vc6_mds/w32_regex_traits.obj vc6/boost_regex_vc6_mds/wide_posix_api.obj vc6/boost_regex_vc6_mds/winstances.obj
./vc6/libboost_regex-vc6-mt-1_31.lib : vc6/libboost_regex-vc6-mt-1_31/c_regex_traits.obj vc6/libboost_regex-vc6-mt-1_31/c_regex_traits_common.obj vc6/libboost_regex-vc6-mt-1_31/cpp_regex_traits.obj vc6/libboost_regex-vc6-mt-1_31/cregex.obj vc6/libboost_regex-vc6-mt-1_31/fileiter.obj vc6/libboost_regex-vc6-mt-1_31/instances.obj vc6/libboost_regex-vc6-mt-1_31/posix_api.obj vc6/libboost_regex-vc6-mt-1_31/regex.obj vc6/libboost_regex-vc6-mt-1_31/regex_debug.obj vc6/libboost_regex-vc6-mt-1_31/regex_synch.obj vc6/libboost_regex-vc6-mt-1_31/w32_regex_traits.obj vc6/libboost_regex-vc6-mt-1_31/wide_posix_api.obj vc6/libboost_regex-vc6-mt-1_31/winstances.obj
link -lib /nologo /out:vc6/libboost_regex-vc6-mt-1_31.lib $(XSFLAGS) vc6/libboost_regex-vc6-mt-1_31/c_regex_traits.obj vc6/libboost_regex-vc6-mt-1_31/c_regex_traits_common.obj vc6/libboost_regex-vc6-mt-1_31/cpp_regex_traits.obj vc6/libboost_regex-vc6-mt-1_31/cregex.obj vc6/libboost_regex-vc6-mt-1_31/fileiter.obj vc6/libboost_regex-vc6-mt-1_31/instances.obj vc6/libboost_regex-vc6-mt-1_31/posix_api.obj vc6/libboost_regex-vc6-mt-1_31/regex.obj vc6/libboost_regex-vc6-mt-1_31/regex_debug.obj vc6/libboost_regex-vc6-mt-1_31/regex_synch.obj vc6/libboost_regex-vc6-mt-1_31/w32_regex_traits.obj vc6/libboost_regex-vc6-mt-1_31/wide_posix_api.obj vc6/libboost_regex-vc6-mt-1_31/winstances.obj
########################################################
#
# section for boost_regex_vc6_mdsd.lib
# section for libboost_regex-vc6-mt-gd-1_31.lib
#
########################################################
vc6/boost_regex_vc6_mdsd/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/boost_regex_vc6_mdsd/boost_regex_vc6_mdsd.pch -Fo./vc6/boost_regex_vc6_mdsd/ -Fdvc6/boost_regex_vc6_mdsd.pdb ../src/c_regex_traits.cpp
vc6/libboost_regex-vc6-mt-gd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_31/ -Fdvc6/libboost_regex-vc6-mt-gd-1_31.pdb ../src/c_regex_traits.cpp
vc6/boost_regex_vc6_mdsd/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/boost_regex_vc6_mdsd/boost_regex_vc6_mdsd.pch -Fo./vc6/boost_regex_vc6_mdsd/ -Fdvc6/boost_regex_vc6_mdsd.pdb ../src/c_regex_traits_common.cpp
vc6/libboost_regex-vc6-mt-gd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_31/ -Fdvc6/libboost_regex-vc6-mt-gd-1_31.pdb ../src/c_regex_traits_common.cpp
vc6/boost_regex_vc6_mdsd/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/boost_regex_vc6_mdsd/boost_regex_vc6_mdsd.pch -Fo./vc6/boost_regex_vc6_mdsd/ -Fdvc6/boost_regex_vc6_mdsd.pdb ../src/cpp_regex_traits.cpp
vc6/libboost_regex-vc6-mt-gd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_31/ -Fdvc6/libboost_regex-vc6-mt-gd-1_31.pdb ../src/cpp_regex_traits.cpp
vc6/boost_regex_vc6_mdsd/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/boost_regex_vc6_mdsd/boost_regex_vc6_mdsd.pch -Fo./vc6/boost_regex_vc6_mdsd/ -Fdvc6/boost_regex_vc6_mdsd.pdb ../src/cregex.cpp
vc6/libboost_regex-vc6-mt-gd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_31/ -Fdvc6/libboost_regex-vc6-mt-gd-1_31.pdb ../src/cregex.cpp
vc6/boost_regex_vc6_mdsd/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/boost_regex_vc6_mdsd/boost_regex_vc6_mdsd.pch -Fo./vc6/boost_regex_vc6_mdsd/ -Fdvc6/boost_regex_vc6_mdsd.pdb ../src/fileiter.cpp
vc6/libboost_regex-vc6-mt-gd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_31/ -Fdvc6/libboost_regex-vc6-mt-gd-1_31.pdb ../src/fileiter.cpp
vc6/boost_regex_vc6_mdsd/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/boost_regex_vc6_mdsd/boost_regex_vc6_mdsd.pch -Fo./vc6/boost_regex_vc6_mdsd/ -Fdvc6/boost_regex_vc6_mdsd.pdb ../src/instances.cpp
vc6/libboost_regex-vc6-mt-gd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_31/ -Fdvc6/libboost_regex-vc6-mt-gd-1_31.pdb ../src/instances.cpp
vc6/boost_regex_vc6_mdsd/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/boost_regex_vc6_mdsd/boost_regex_vc6_mdsd.pch -Fo./vc6/boost_regex_vc6_mdsd/ -Fdvc6/boost_regex_vc6_mdsd.pdb ../src/posix_api.cpp
vc6/libboost_regex-vc6-mt-gd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_31/ -Fdvc6/libboost_regex-vc6-mt-gd-1_31.pdb ../src/posix_api.cpp
vc6/boost_regex_vc6_mdsd/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/boost_regex_vc6_mdsd/boost_regex_vc6_mdsd.pch -Fo./vc6/boost_regex_vc6_mdsd/ -Fdvc6/boost_regex_vc6_mdsd.pdb ../src/regex.cpp
vc6/libboost_regex-vc6-mt-gd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_31/ -Fdvc6/libboost_regex-vc6-mt-gd-1_31.pdb ../src/regex.cpp
vc6/boost_regex_vc6_mdsd/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/boost_regex_vc6_mdsd/boost_regex_vc6_mdsd.pch -Fo./vc6/boost_regex_vc6_mdsd/ -Fdvc6/boost_regex_vc6_mdsd.pdb ../src/regex_debug.cpp
vc6/libboost_regex-vc6-mt-gd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_31/ -Fdvc6/libboost_regex-vc6-mt-gd-1_31.pdb ../src/regex_debug.cpp
vc6/boost_regex_vc6_mdsd/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/boost_regex_vc6_mdsd/boost_regex_vc6_mdsd.pch -Fo./vc6/boost_regex_vc6_mdsd/ -Fdvc6/boost_regex_vc6_mdsd.pdb ../src/regex_synch.cpp
vc6/libboost_regex-vc6-mt-gd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_31/ -Fdvc6/libboost_regex-vc6-mt-gd-1_31.pdb ../src/regex_synch.cpp
vc6/boost_regex_vc6_mdsd/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/boost_regex_vc6_mdsd/boost_regex_vc6_mdsd.pch -Fo./vc6/boost_regex_vc6_mdsd/ -Fdvc6/boost_regex_vc6_mdsd.pdb ../src/w32_regex_traits.cpp
vc6/libboost_regex-vc6-mt-gd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_31/ -Fdvc6/libboost_regex-vc6-mt-gd-1_31.pdb ../src/w32_regex_traits.cpp
vc6/boost_regex_vc6_mdsd/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/boost_regex_vc6_mdsd/boost_regex_vc6_mdsd.pch -Fo./vc6/boost_regex_vc6_mdsd/ -Fdvc6/boost_regex_vc6_mdsd.pdb ../src/wide_posix_api.cpp
vc6/libboost_regex-vc6-mt-gd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_31/ -Fdvc6/libboost_regex-vc6-mt-gd-1_31.pdb ../src/wide_posix_api.cpp
vc6/boost_regex_vc6_mdsd/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/boost_regex_vc6_mdsd/boost_regex_vc6_mdsd.pch -Fo./vc6/boost_regex_vc6_mdsd/ -Fdvc6/boost_regex_vc6_mdsd.pdb ../src/winstances.cpp
vc6/libboost_regex-vc6-mt-gd-1_31/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 /FD /GX /c $(CXXFLAGS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_31/ -Fdvc6/libboost_regex-vc6-mt-gd-1_31.pdb ../src/winstances.cpp
boost_regex_vc6_mdsd_dir :
@if not exist "vc6\boost_regex_vc6_mdsd\$(NULL)" mkdir vc6\boost_regex_vc6_mdsd
libboost_regex-vc6-mt-gd-1_31_dir :
@if not exist "vc6\libboost_regex-vc6-mt-gd-1_31\$(NULL)" mkdir vc6\libboost_regex-vc6-mt-gd-1_31
boost_regex_vc6_mdsd_clean :
del vc6\boost_regex_vc6_mdsd\*.obj
del vc6\boost_regex_vc6_mdsd\*.idb
del vc6\boost_regex_vc6_mdsd\*.exp
del vc6\boost_regex_vc6_mdsd\*.pch
libboost_regex-vc6-mt-gd-1_31_clean :
del vc6\libboost_regex-vc6-mt-gd-1_31\*.obj
del vc6\libboost_regex-vc6-mt-gd-1_31\*.idb
del vc6\libboost_regex-vc6-mt-gd-1_31\*.exp
del vc6\libboost_regex-vc6-mt-gd-1_31\*.pch
./vc6/boost_regex_vc6_mdsd.lib : vc6/boost_regex_vc6_mdsd/c_regex_traits.obj vc6/boost_regex_vc6_mdsd/c_regex_traits_common.obj vc6/boost_regex_vc6_mdsd/cpp_regex_traits.obj vc6/boost_regex_vc6_mdsd/cregex.obj vc6/boost_regex_vc6_mdsd/fileiter.obj vc6/boost_regex_vc6_mdsd/instances.obj vc6/boost_regex_vc6_mdsd/posix_api.obj vc6/boost_regex_vc6_mdsd/regex.obj vc6/boost_regex_vc6_mdsd/regex_debug.obj vc6/boost_regex_vc6_mdsd/regex_synch.obj vc6/boost_regex_vc6_mdsd/w32_regex_traits.obj vc6/boost_regex_vc6_mdsd/wide_posix_api.obj vc6/boost_regex_vc6_mdsd/winstances.obj
link -lib /nologo /out:vc6/boost_regex_vc6_mdsd.lib $(XSFLAGS) vc6/boost_regex_vc6_mdsd/c_regex_traits.obj vc6/boost_regex_vc6_mdsd/c_regex_traits_common.obj vc6/boost_regex_vc6_mdsd/cpp_regex_traits.obj vc6/boost_regex_vc6_mdsd/cregex.obj vc6/boost_regex_vc6_mdsd/fileiter.obj vc6/boost_regex_vc6_mdsd/instances.obj vc6/boost_regex_vc6_mdsd/posix_api.obj vc6/boost_regex_vc6_mdsd/regex.obj vc6/boost_regex_vc6_mdsd/regex_debug.obj vc6/boost_regex_vc6_mdsd/regex_synch.obj vc6/boost_regex_vc6_mdsd/w32_regex_traits.obj vc6/boost_regex_vc6_mdsd/wide_posix_api.obj vc6/boost_regex_vc6_mdsd/winstances.obj
./vc6/libboost_regex-vc6-mt-gd-1_31.lib : vc6/libboost_regex-vc6-mt-gd-1_31/c_regex_traits.obj vc6/libboost_regex-vc6-mt-gd-1_31/c_regex_traits_common.obj vc6/libboost_regex-vc6-mt-gd-1_31/cpp_regex_traits.obj vc6/libboost_regex-vc6-mt-gd-1_31/cregex.obj vc6/libboost_regex-vc6-mt-gd-1_31/fileiter.obj vc6/libboost_regex-vc6-mt-gd-1_31/instances.obj vc6/libboost_regex-vc6-mt-gd-1_31/posix_api.obj vc6/libboost_regex-vc6-mt-gd-1_31/regex.obj vc6/libboost_regex-vc6-mt-gd-1_31/regex_debug.obj vc6/libboost_regex-vc6-mt-gd-1_31/regex_synch.obj vc6/libboost_regex-vc6-mt-gd-1_31/w32_regex_traits.obj vc6/libboost_regex-vc6-mt-gd-1_31/wide_posix_api.obj vc6/libboost_regex-vc6-mt-gd-1_31/winstances.obj
link -lib /nologo /out:vc6/libboost_regex-vc6-mt-gd-1_31.lib $(XSFLAGS) vc6/libboost_regex-vc6-mt-gd-1_31/c_regex_traits.obj vc6/libboost_regex-vc6-mt-gd-1_31/c_regex_traits_common.obj vc6/libboost_regex-vc6-mt-gd-1_31/cpp_regex_traits.obj vc6/libboost_regex-vc6-mt-gd-1_31/cregex.obj vc6/libboost_regex-vc6-mt-gd-1_31/fileiter.obj vc6/libboost_regex-vc6-mt-gd-1_31/instances.obj vc6/libboost_regex-vc6-mt-gd-1_31/posix_api.obj vc6/libboost_regex-vc6-mt-gd-1_31/regex.obj vc6/libboost_regex-vc6-mt-gd-1_31/regex_debug.obj vc6/libboost_regex-vc6-mt-gd-1_31/regex_synch.obj vc6/libboost_regex-vc6-mt-gd-1_31/w32_regex_traits.obj vc6/libboost_regex-vc6-mt-gd-1_31/wide_posix_api.obj vc6/libboost_regex-vc6-mt-gd-1_31/winstances.obj

404
build/vc7-stlport.mak Normal file
View File

@ -0,0 +1,404 @@
#
# 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 ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_compile.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_synch.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cstring.hpp ../../../boost/regex/config/cwchar.hpp ../../../boost/regex/config/regex_library_include.hpp
all : main_dir libboost_regex-vc7-mt-sp-1_31_dir ./vc7-stlport/libboost_regex-vc7-mt-sp-1_31.lib boost_regex-vc7-mt-p-1_31_dir ./vc7-stlport/boost_regex-vc7-mt-p-1_31.lib libboost_regex-vc7-mt-p-1_31_dir ./vc7-stlport/libboost_regex-vc7-mt-p-1_31.lib boost_regex-vc7-mt-gdp-1_31_dir ./vc7-stlport/boost_regex-vc7-mt-gdp-1_31.lib libboost_regex-vc7-mt-sgdp-1_31_dir ./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31.lib libboost_regex-vc7-mt-gdp-1_31_dir ./vc7-stlport/libboost_regex-vc7-mt-gdp-1_31.lib
clean : libboost_regex-vc7-mt-sp-1_31_clean boost_regex-vc7-mt-p-1_31_clean libboost_regex-vc7-mt-p-1_31_clean boost_regex-vc7-mt-gdp-1_31_clean libboost_regex-vc7-mt-sgdp-1_31_clean libboost_regex-vc7-mt-gdp-1_31_clean
install : stlport_check all
copy vc7-stlport\libboost_regex-vc7-mt-sp-1_31.lib "$(MSVCDIR)\lib"
copy vc7-stlport\boost_regex-vc7-mt-p-1_31.lib "$(MSVCDIR)\lib"
copy vc7-stlport\boost_regex-vc7-mt-p-1_31.dll "$(MSVCDIR)\bin"
copy vc7-stlport\libboost_regex-vc7-mt-p-1_31.lib "$(MSVCDIR)\lib"
copy vc7-stlport\boost_regex-vc7-mt-gdp-1_31.lib "$(MSVCDIR)\lib"
copy vc7-stlport\boost_regex-vc7-mt-gdp-1_31.dll "$(MSVCDIR)\bin"
copy vc7-stlport\boost_regex-vc7-mt-gdp-1_31.pdb "$(MSVCDIR)\lib"
copy vc7-stlport\libboost_regex-vc7-mt-sgdp-1_31.lib "$(MSVCDIR)\lib"
copy vc7-stlport\libboost_regex-vc7-mt-sgdp-1_31.pdb "$(MSVCDIR)\lib"
copy vc7-stlport\libboost_regex-vc7-mt-gdp-1_31.lib "$(MSVCDIR)\lib"
copy vc7-stlport\libboost_regex-vc7-mt-gdp-1_31.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-mt-sp-1_31.lib
#
########################################################
vc7-stlport/libboost_regex-vc7-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_31.pdb ../src/c_regex_traits.cpp
vc7-stlport/libboost_regex-vc7-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_31.pdb ../src/c_regex_traits_common.cpp
vc7-stlport/libboost_regex-vc7-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_31.pdb ../src/cpp_regex_traits.cpp
vc7-stlport/libboost_regex-vc7-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_31.pdb ../src/cregex.cpp
vc7-stlport/libboost_regex-vc7-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_31.pdb ../src/fileiter.cpp
vc7-stlport/libboost_regex-vc7-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_31.pdb ../src/instances.cpp
vc7-stlport/libboost_regex-vc7-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_31.pdb ../src/posix_api.cpp
vc7-stlport/libboost_regex-vc7-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_31.pdb ../src/regex.cpp
vc7-stlport/libboost_regex-vc7-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_31.pdb ../src/regex_debug.cpp
vc7-stlport/libboost_regex-vc7-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_31.pdb ../src/regex_synch.cpp
vc7-stlport/libboost_regex-vc7-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_31.pdb ../src/w32_regex_traits.cpp
vc7-stlport/libboost_regex-vc7-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_31.pdb ../src/wide_posix_api.cpp
vc7-stlport/libboost_regex-vc7-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_31.pdb ../src/winstances.cpp
libboost_regex-vc7-mt-sp-1_31_dir :
@if not exist "vc7-stlport\libboost_regex-vc7-mt-sp-1_31\$(NULL)" mkdir vc7-stlport\libboost_regex-vc7-mt-sp-1_31
libboost_regex-vc7-mt-sp-1_31_clean :
del vc7-stlport\libboost_regex-vc7-mt-sp-1_31\*.obj
del vc7-stlport\libboost_regex-vc7-mt-sp-1_31\*.idb
del vc7-stlport\libboost_regex-vc7-mt-sp-1_31\*.exp
del vc7-stlport\libboost_regex-vc7-mt-sp-1_31\*.pch
./vc7-stlport/libboost_regex-vc7-mt-sp-1_31.lib : vc7-stlport/libboost_regex-vc7-mt-sp-1_31/c_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/c_regex_traits_common.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/cpp_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/cregex.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/fileiter.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/instances.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/posix_api.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/regex.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/regex_debug.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/regex_synch.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/w32_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/wide_posix_api.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/winstances.obj
link -lib /nologo /out:vc7-stlport/libboost_regex-vc7-mt-sp-1_31.lib $(XSFLAGS) vc7-stlport/libboost_regex-vc7-mt-sp-1_31/c_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/c_regex_traits_common.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/cpp_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/cregex.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/fileiter.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/instances.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/posix_api.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/regex.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/regex_debug.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/regex_synch.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/w32_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/wide_posix_api.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_31/winstances.obj
########################################################
#
# section for boost_regex-vc7-mt-p-1_31.lib
#
########################################################
vc7-stlport/boost_regex-vc7-mt-p-1_31/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../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_31.pdb ../src/c_regex_traits.cpp
vc7-stlport/boost_regex-vc7-mt-p-1_31/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../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_31.pdb ../src/c_regex_traits_common.cpp
vc7-stlport/boost_regex-vc7-mt-p-1_31/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../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_31.pdb ../src/cpp_regex_traits.cpp
vc7-stlport/boost_regex-vc7-mt-p-1_31/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_31.pdb ../src/cregex.cpp
vc7-stlport/boost_regex-vc7-mt-p-1_31/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_31.pdb ../src/fileiter.cpp
vc7-stlport/boost_regex-vc7-mt-p-1_31/instances.obj: ../src/instances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_31.pdb ../src/instances.cpp
vc7-stlport/boost_regex-vc7-mt-p-1_31/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_31.pdb ../src/posix_api.cpp
vc7-stlport/boost_regex-vc7-mt-p-1_31/regex.obj: ../src/regex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_31.pdb ../src/regex.cpp
vc7-stlport/boost_regex-vc7-mt-p-1_31/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_31.pdb ../src/regex_debug.cpp
vc7-stlport/boost_regex-vc7-mt-p-1_31/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_31.pdb ../src/regex_synch.cpp
vc7-stlport/boost_regex-vc7-mt-p-1_31/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../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_31.pdb ../src/w32_regex_traits.cpp
vc7-stlport/boost_regex-vc7-mt-p-1_31/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../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_31.pdb ../src/wide_posix_api.cpp
vc7-stlport/boost_regex-vc7-mt-p-1_31/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_31.pdb ../src/winstances.cpp
boost_regex-vc7-mt-p-1_31_dir :
@if not exist "vc7-stlport\boost_regex-vc7-mt-p-1_31\$(NULL)" mkdir vc7-stlport\boost_regex-vc7-mt-p-1_31
boost_regex-vc7-mt-p-1_31_clean :
del vc7-stlport\boost_regex-vc7-mt-p-1_31\*.obj
del vc7-stlport\boost_regex-vc7-mt-p-1_31\*.idb
del vc7-stlport\boost_regex-vc7-mt-p-1_31\*.exp
del vc7-stlport\boost_regex-vc7-mt-p-1_31\*.pch
./vc7-stlport/boost_regex-vc7-mt-p-1_31.lib : vc7-stlport/boost_regex-vc7-mt-p-1_31/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/c_regex_traits_common.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/cpp_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/cregex.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/fileiter.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/instances.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/posix_api.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/regex.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/regex_debug.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/regex_synch.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/w32_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/wide_posix_api.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/winstances.obj
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/boost_regex-vc7-mt-p-1_31.pdb" /debug /machine:I386 /out:"vc7-stlport/boost_regex-vc7-mt-p-1_31.dll" /implib:"vc7-stlport/boost_regex-vc7-mt-p-1_31.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc7-stlport/boost_regex-vc7-mt-p-1_31/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/c_regex_traits_common.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/cpp_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/cregex.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/fileiter.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/instances.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/posix_api.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/regex.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/regex_debug.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/regex_synch.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/w32_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/wide_posix_api.obj vc7-stlport/boost_regex-vc7-mt-p-1_31/winstances.obj
########################################################
#
# section for libboost_regex-vc7-mt-p-1_31.lib
#
########################################################
vc7-stlport/libboost_regex-vc7-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_31.pdb ../src/c_regex_traits.cpp
vc7-stlport/libboost_regex-vc7-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_31.pdb ../src/c_regex_traits_common.cpp
vc7-stlport/libboost_regex-vc7-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_31.pdb ../src/cpp_regex_traits.cpp
vc7-stlport/libboost_regex-vc7-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_31.pdb ../src/cregex.cpp
vc7-stlport/libboost_regex-vc7-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_31.pdb ../src/fileiter.cpp
vc7-stlport/libboost_regex-vc7-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_31.pdb ../src/instances.cpp
vc7-stlport/libboost_regex-vc7-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_31.pdb ../src/posix_api.cpp
vc7-stlport/libboost_regex-vc7-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_31.pdb ../src/regex.cpp
vc7-stlport/libboost_regex-vc7-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_31.pdb ../src/regex_debug.cpp
vc7-stlport/libboost_regex-vc7-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_31.pdb ../src/regex_synch.cpp
vc7-stlport/libboost_regex-vc7-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_31.pdb ../src/w32_regex_traits.cpp
vc7-stlport/libboost_regex-vc7-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_31.pdb ../src/wide_posix_api.cpp
vc7-stlport/libboost_regex-vc7-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_31.pdb ../src/winstances.cpp
libboost_regex-vc7-mt-p-1_31_dir :
@if not exist "vc7-stlport\libboost_regex-vc7-mt-p-1_31\$(NULL)" mkdir vc7-stlport\libboost_regex-vc7-mt-p-1_31
libboost_regex-vc7-mt-p-1_31_clean :
del vc7-stlport\libboost_regex-vc7-mt-p-1_31\*.obj
del vc7-stlport\libboost_regex-vc7-mt-p-1_31\*.idb
del vc7-stlport\libboost_regex-vc7-mt-p-1_31\*.exp
del vc7-stlport\libboost_regex-vc7-mt-p-1_31\*.pch
./vc7-stlport/libboost_regex-vc7-mt-p-1_31.lib : vc7-stlport/libboost_regex-vc7-mt-p-1_31/c_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/c_regex_traits_common.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/cpp_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/cregex.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/fileiter.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/instances.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/posix_api.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/regex.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/regex_debug.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/regex_synch.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/w32_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/wide_posix_api.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/winstances.obj
link -lib /nologo /out:vc7-stlport/libboost_regex-vc7-mt-p-1_31.lib $(XSFLAGS) vc7-stlport/libboost_regex-vc7-mt-p-1_31/c_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/c_regex_traits_common.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/cpp_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/cregex.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/fileiter.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/instances.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/posix_api.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/regex.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/regex_debug.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/regex_synch.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/w32_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/wide_posix_api.obj vc7-stlport/libboost_regex-vc7-mt-p-1_31/winstances.obj
########################################################
#
# section for boost_regex-vc7-mt-gdp-1_31.lib
#
########################################################
vc7-stlport/boost_regex-vc7-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_31.pdb ../src/c_regex_traits.cpp
vc7-stlport/boost_regex-vc7-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_31.pdb ../src/c_regex_traits_common.cpp
vc7-stlport/boost_regex-vc7-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_31.pdb ../src/cpp_regex_traits.cpp
vc7-stlport/boost_regex-vc7-mt-gdp-1_31/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_31.pdb ../src/cregex.cpp
vc7-stlport/boost_regex-vc7-mt-gdp-1_31/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_31.pdb ../src/fileiter.cpp
vc7-stlport/boost_regex-vc7-mt-gdp-1_31/instances.obj: ../src/instances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_31.pdb ../src/instances.cpp
vc7-stlport/boost_regex-vc7-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_31.pdb ../src/posix_api.cpp
vc7-stlport/boost_regex-vc7-mt-gdp-1_31/regex.obj: ../src/regex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_31.pdb ../src/regex.cpp
vc7-stlport/boost_regex-vc7-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_31.pdb ../src/regex_debug.cpp
vc7-stlport/boost_regex-vc7-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_31.pdb ../src/regex_synch.cpp
vc7-stlport/boost_regex-vc7-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_31.pdb ../src/w32_regex_traits.cpp
vc7-stlport/boost_regex-vc7-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_31.pdb ../src/wide_posix_api.cpp
vc7-stlport/boost_regex-vc7-mt-gdp-1_31/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_31.pdb ../src/winstances.cpp
boost_regex-vc7-mt-gdp-1_31_dir :
@if not exist "vc7-stlport\boost_regex-vc7-mt-gdp-1_31\$(NULL)" mkdir vc7-stlport\boost_regex-vc7-mt-gdp-1_31
boost_regex-vc7-mt-gdp-1_31_clean :
del vc7-stlport\boost_regex-vc7-mt-gdp-1_31\*.obj
del vc7-stlport\boost_regex-vc7-mt-gdp-1_31\*.idb
del vc7-stlport\boost_regex-vc7-mt-gdp-1_31\*.exp
del vc7-stlport\boost_regex-vc7-mt-gdp-1_31\*.pch
./vc7-stlport/boost_regex-vc7-mt-gdp-1_31.lib : vc7-stlport/boost_regex-vc7-mt-gdp-1_31/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/c_regex_traits_common.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/cpp_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/cregex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/fileiter.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/instances.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/posix_api.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/regex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/regex_debug.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/regex_synch.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/w32_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/wide_posix_api.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/winstances.obj
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/boost_regex-vc7-mt-gdp-1_31.pdb" /debug /machine:I386 /out:"vc7-stlport/boost_regex-vc7-mt-gdp-1_31.dll" /implib:"vc7-stlport/boost_regex-vc7-mt-gdp-1_31.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc7-stlport/boost_regex-vc7-mt-gdp-1_31/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/c_regex_traits_common.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/cpp_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/cregex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/fileiter.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/instances.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/posix_api.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/regex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/regex_debug.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/regex_synch.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/w32_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/wide_posix_api.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_31/winstances.obj
########################################################
#
# section for libboost_regex-vc7-mt-sgdp-1_31.lib
#
########################################################
vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_31.pdb ../src/c_regex_traits.cpp
vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_31.pdb ../src/c_regex_traits_common.cpp
vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_31.pdb ../src/cpp_regex_traits.cpp
vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_31.pdb ../src/cregex.cpp
vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_31.pdb ../src/fileiter.cpp
vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_31.pdb ../src/instances.cpp
vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_31.pdb ../src/posix_api.cpp
vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_31.pdb ../src/regex.cpp
vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_31.pdb ../src/regex_debug.cpp
vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_31.pdb ../src/regex_synch.cpp
vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_31.pdb ../src/w32_regex_traits.cpp
vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_31.pdb ../src/wide_posix_api.cpp
vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_31.pdb ../src/winstances.cpp
libboost_regex-vc7-mt-sgdp-1_31_dir :
@if not exist "vc7-stlport\libboost_regex-vc7-mt-sgdp-1_31\$(NULL)" mkdir vc7-stlport\libboost_regex-vc7-mt-sgdp-1_31
libboost_regex-vc7-mt-sgdp-1_31_clean :
del vc7-stlport\libboost_regex-vc7-mt-sgdp-1_31\*.obj
del vc7-stlport\libboost_regex-vc7-mt-sgdp-1_31\*.idb
del vc7-stlport\libboost_regex-vc7-mt-sgdp-1_31\*.exp
del vc7-stlport\libboost_regex-vc7-mt-sgdp-1_31\*.pch
./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31.lib : vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/c_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/c_regex_traits_common.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/cpp_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/cregex.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/fileiter.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/instances.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/posix_api.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/regex.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/regex_debug.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/regex_synch.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/w32_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/wide_posix_api.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/winstances.obj
link -lib /nologo /out:vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31.lib $(XSFLAGS) vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/c_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/c_regex_traits_common.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/cpp_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/cregex.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/fileiter.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/instances.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/posix_api.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/regex.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/regex_debug.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/regex_synch.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/w32_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/wide_posix_api.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_31/winstances.obj
########################################################
#
# section for libboost_regex-vc7-mt-gdp-1_31.lib
#
########################################################
vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_31.pdb ../src/c_regex_traits.cpp
vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_31.pdb ../src/c_regex_traits_common.cpp
vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_31.pdb ../src/cpp_regex_traits.cpp
vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_31.pdb ../src/cregex.cpp
vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_31.pdb ../src/fileiter.cpp
vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_31.pdb ../src/instances.cpp
vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_31.pdb ../src/posix_api.cpp
vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_31.pdb ../src/regex.cpp
vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_31.pdb ../src/regex_debug.cpp
vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_31.pdb ../src/regex_synch.cpp
vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_31.pdb ../src/w32_regex_traits.cpp
vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_31.pdb ../src/wide_posix_api.cpp
vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_31.pdb ../src/winstances.cpp
libboost_regex-vc7-mt-gdp-1_31_dir :
@if not exist "vc7-stlport\libboost_regex-vc7-mt-gdp-1_31\$(NULL)" mkdir vc7-stlport\libboost_regex-vc7-mt-gdp-1_31
libboost_regex-vc7-mt-gdp-1_31_clean :
del vc7-stlport\libboost_regex-vc7-mt-gdp-1_31\*.obj
del vc7-stlport\libboost_regex-vc7-mt-gdp-1_31\*.idb
del vc7-stlport\libboost_regex-vc7-mt-gdp-1_31\*.exp
del vc7-stlport\libboost_regex-vc7-mt-gdp-1_31\*.pch
./vc7-stlport/libboost_regex-vc7-mt-gdp-1_31.lib : vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/c_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/c_regex_traits_common.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/cpp_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/cregex.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/fileiter.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/instances.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/posix_api.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/regex.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/regex_debug.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/regex_synch.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/w32_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/wide_posix_api.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/winstances.obj
link -lib /nologo /out:vc7-stlport/libboost_regex-vc7-mt-gdp-1_31.lib $(XSFLAGS) vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/c_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/c_regex_traits_common.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/cpp_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/cregex.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/fileiter.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/instances.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/posix_api.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/regex.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/regex_debug.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/regex_synch.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/w32_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/wide_posix_api.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_31/winstances.obj

View File

@ -36,27 +36,27 @@ NULL=nul
!ENDIF
ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/detail/fileiter.hpp ../../../boost/regex/detail/instances.hpp ../../../boost/regex/detail/regex_compile.hpp ../../../boost/regex/detail/regex_cstring.hpp ../../../boost/regex/detail/regex_format.hpp ../../../boost/regex/detail/regex_kmp.hpp ../../../boost/regex/detail/regex_library_include.hpp ../../../boost/regex/detail/regex_match.hpp ../../../boost/regex/detail/regex_raw_buffer.hpp ../../../boost/regex/detail/regex_split.hpp ../../../boost/regex/detail/regex_stack.hpp ../../../boost/regex/detail/regex_synch.hpp
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 ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_compile.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_synch.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cstring.hpp ../../../boost/regex/config/cwchar.hpp ../../../boost/regex/config/regex_library_include.hpp
all : main_dir boost_regex_vc7_sss_dir ./vc7/boost_regex_vc7_sss.lib boost_regex_vc7_mss_dir ./vc7/boost_regex_vc7_mss.lib boost_regex_vc7_sssd_dir ./vc7/boost_regex_vc7_sssd.lib boost_regex_vc7_mssd_dir ./vc7/boost_regex_vc7_mssd.lib boost_regex_vc7_mdid_dir ./vc7/boost_regex_vc7_mdid.lib boost_regex_vc7_mdi_dir ./vc7/boost_regex_vc7_mdi.lib boost_regex_vc7_mds_dir ./vc7/boost_regex_vc7_mds.lib boost_regex_vc7_mdsd_dir ./vc7/boost_regex_vc7_mdsd.lib
all : main_dir libboost_regex-vc7-s-1_31_dir ./vc7/libboost_regex-vc7-s-1_31.lib libboost_regex-vc7-mt-s-1_31_dir ./vc7/libboost_regex-vc7-mt-s-1_31.lib libboost_regex-vc7-sgd-1_31_dir ./vc7/libboost_regex-vc7-sgd-1_31.lib libboost_regex-vc7-mt-sgd-1_31_dir ./vc7/libboost_regex-vc7-mt-sgd-1_31.lib boost_regex-vc7-mt-gd-1_31_dir ./vc7/boost_regex-vc7-mt-gd-1_31.lib boost_regex-vc7-mt-1_31_dir ./vc7/boost_regex-vc7-mt-1_31.lib libboost_regex-vc7-mt-1_31_dir ./vc7/libboost_regex-vc7-mt-1_31.lib libboost_regex-vc7-mt-gd-1_31_dir ./vc7/libboost_regex-vc7-mt-gd-1_31.lib
clean : boost_regex_vc7_sss_clean boost_regex_vc7_mss_clean boost_regex_vc7_sssd_clean boost_regex_vc7_mssd_clean boost_regex_vc7_mdid_clean boost_regex_vc7_mdi_clean boost_regex_vc7_mds_clean boost_regex_vc7_mdsd_clean
clean : libboost_regex-vc7-s-1_31_clean libboost_regex-vc7-mt-s-1_31_clean libboost_regex-vc7-sgd-1_31_clean libboost_regex-vc7-mt-sgd-1_31_clean boost_regex-vc7-mt-gd-1_31_clean boost_regex-vc7-mt-1_31_clean libboost_regex-vc7-mt-1_31_clean libboost_regex-vc7-mt-gd-1_31_clean
install : all
copy vc7\boost_regex_vc7_sss.lib "$(MSVCDIR)\lib"
copy vc7\boost_regex_vc7_mss.lib "$(MSVCDIR)\lib"
copy vc7\boost_regex_vc7_sssd.lib "$(MSVCDIR)\lib"
copy vc7\boost_regex_vc7_sssd.pdb "$(MSVCDIR)\lib"
copy vc7\boost_regex_vc7_mssd.lib "$(MSVCDIR)\lib"
copy vc7\boost_regex_vc7_mssd.pdb "$(MSVCDIR)\lib"
copy vc7\boost_regex_vc7_mdid.lib "$(MSVCDIR)\lib"
copy vc7\boost_regex_vc7_mdid.dll "$(MSVCDIR)\bin"
copy vc7\boost_regex_vc7_mdid.pdb "$(MSVCDIR)\lib"
copy vc7\boost_regex_vc7_mdi.lib "$(MSVCDIR)\lib"
copy vc7\boost_regex_vc7_mdi.dll "$(MSVCDIR)\bin"
copy vc7\boost_regex_vc7_mds.lib "$(MSVCDIR)\lib"
copy vc7\boost_regex_vc7_mdsd.lib "$(MSVCDIR)\lib"
copy vc7\boost_regex_vc7_mdsd.pdb "$(MSVCDIR)\lib"
copy vc7\libboost_regex-vc7-s-1_31.lib "$(MSVCDIR)\lib"
copy vc7\libboost_regex-vc7-mt-s-1_31.lib "$(MSVCDIR)\lib"
copy vc7\libboost_regex-vc7-sgd-1_31.lib "$(MSVCDIR)\lib"
copy vc7\libboost_regex-vc7-sgd-1_31.pdb "$(MSVCDIR)\lib"
copy vc7\libboost_regex-vc7-mt-sgd-1_31.lib "$(MSVCDIR)\lib"
copy vc7\libboost_regex-vc7-mt-sgd-1_31.pdb "$(MSVCDIR)\lib"
copy vc7\boost_regex-vc7-mt-gd-1_31.lib "$(MSVCDIR)\lib"
copy vc7\boost_regex-vc7-mt-gd-1_31.dll "$(MSVCDIR)\bin"
copy vc7\boost_regex-vc7-mt-gd-1_31.pdb "$(MSVCDIR)\lib"
copy vc7\boost_regex-vc7-mt-1_31.lib "$(MSVCDIR)\lib"
copy vc7\boost_regex-vc7-mt-1_31.dll "$(MSVCDIR)\bin"
copy vc7\libboost_regex-vc7-mt-1_31.lib "$(MSVCDIR)\lib"
copy vc7\libboost_regex-vc7-mt-gd-1_31.lib "$(MSVCDIR)\lib"
copy vc7\libboost_regex-vc7-mt-gd-1_31.pdb "$(MSVCDIR)\lib"
main_dir :
@if not exist "vc7\$(NULL)" mkdir vc7
@ -64,449 +64,449 @@ main_dir :
########################################################
#
# section for boost_regex_vc7_sss.lib
# section for libboost_regex-vc7-s-1_31.lib
#
########################################################
vc7/boost_regex_vc7_sss/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/boost_regex_vc7_sss/boost_regex_vc7_sss.pch -Fo./vc7/boost_regex_vc7_sss/ -Fdvc7/boost_regex_vc7_sss.pdb ../src/c_regex_traits.cpp
vc7/libboost_regex-vc7-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_31/ -Fdvc7/libboost_regex-vc7-s-1_31.pdb ../src/c_regex_traits.cpp
vc7/boost_regex_vc7_sss/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/boost_regex_vc7_sss/boost_regex_vc7_sss.pch -Fo./vc7/boost_regex_vc7_sss/ -Fdvc7/boost_regex_vc7_sss.pdb ../src/c_regex_traits_common.cpp
vc7/libboost_regex-vc7-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_31/ -Fdvc7/libboost_regex-vc7-s-1_31.pdb ../src/c_regex_traits_common.cpp
vc7/boost_regex_vc7_sss/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/boost_regex_vc7_sss/boost_regex_vc7_sss.pch -Fo./vc7/boost_regex_vc7_sss/ -Fdvc7/boost_regex_vc7_sss.pdb ../src/cpp_regex_traits.cpp
vc7/libboost_regex-vc7-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_31/ -Fdvc7/libboost_regex-vc7-s-1_31.pdb ../src/cpp_regex_traits.cpp
vc7/boost_regex_vc7_sss/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/boost_regex_vc7_sss/boost_regex_vc7_sss.pch -Fo./vc7/boost_regex_vc7_sss/ -Fdvc7/boost_regex_vc7_sss.pdb ../src/cregex.cpp
vc7/libboost_regex-vc7-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_31/ -Fdvc7/libboost_regex-vc7-s-1_31.pdb ../src/cregex.cpp
vc7/boost_regex_vc7_sss/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/boost_regex_vc7_sss/boost_regex_vc7_sss.pch -Fo./vc7/boost_regex_vc7_sss/ -Fdvc7/boost_regex_vc7_sss.pdb ../src/fileiter.cpp
vc7/libboost_regex-vc7-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_31/ -Fdvc7/libboost_regex-vc7-s-1_31.pdb ../src/fileiter.cpp
vc7/boost_regex_vc7_sss/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/boost_regex_vc7_sss/boost_regex_vc7_sss.pch -Fo./vc7/boost_regex_vc7_sss/ -Fdvc7/boost_regex_vc7_sss.pdb ../src/instances.cpp
vc7/libboost_regex-vc7-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_31/ -Fdvc7/libboost_regex-vc7-s-1_31.pdb ../src/instances.cpp
vc7/boost_regex_vc7_sss/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/boost_regex_vc7_sss/boost_regex_vc7_sss.pch -Fo./vc7/boost_regex_vc7_sss/ -Fdvc7/boost_regex_vc7_sss.pdb ../src/posix_api.cpp
vc7/libboost_regex-vc7-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_31/ -Fdvc7/libboost_regex-vc7-s-1_31.pdb ../src/posix_api.cpp
vc7/boost_regex_vc7_sss/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/boost_regex_vc7_sss/boost_regex_vc7_sss.pch -Fo./vc7/boost_regex_vc7_sss/ -Fdvc7/boost_regex_vc7_sss.pdb ../src/regex.cpp
vc7/libboost_regex-vc7-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_31/ -Fdvc7/libboost_regex-vc7-s-1_31.pdb ../src/regex.cpp
vc7/boost_regex_vc7_sss/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/boost_regex_vc7_sss/boost_regex_vc7_sss.pch -Fo./vc7/boost_regex_vc7_sss/ -Fdvc7/boost_regex_vc7_sss.pdb ../src/regex_debug.cpp
vc7/libboost_regex-vc7-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_31/ -Fdvc7/libboost_regex-vc7-s-1_31.pdb ../src/regex_debug.cpp
vc7/boost_regex_vc7_sss/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/boost_regex_vc7_sss/boost_regex_vc7_sss.pch -Fo./vc7/boost_regex_vc7_sss/ -Fdvc7/boost_regex_vc7_sss.pdb ../src/regex_synch.cpp
vc7/libboost_regex-vc7-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_31/ -Fdvc7/libboost_regex-vc7-s-1_31.pdb ../src/regex_synch.cpp
vc7/boost_regex_vc7_sss/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/boost_regex_vc7_sss/boost_regex_vc7_sss.pch -Fo./vc7/boost_regex_vc7_sss/ -Fdvc7/boost_regex_vc7_sss.pdb ../src/w32_regex_traits.cpp
vc7/libboost_regex-vc7-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_31/ -Fdvc7/libboost_regex-vc7-s-1_31.pdb ../src/w32_regex_traits.cpp
vc7/boost_regex_vc7_sss/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/boost_regex_vc7_sss/boost_regex_vc7_sss.pch -Fo./vc7/boost_regex_vc7_sss/ -Fdvc7/boost_regex_vc7_sss.pdb ../src/wide_posix_api.cpp
vc7/libboost_regex-vc7-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_31/ -Fdvc7/libboost_regex-vc7-s-1_31.pdb ../src/wide_posix_api.cpp
vc7/boost_regex_vc7_sss/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/boost_regex_vc7_sss/boost_regex_vc7_sss.pch -Fo./vc7/boost_regex_vc7_sss/ -Fdvc7/boost_regex_vc7_sss.pdb ../src/winstances.cpp
vc7/libboost_regex-vc7-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_31/ -Fdvc7/libboost_regex-vc7-s-1_31.pdb ../src/winstances.cpp
boost_regex_vc7_sss_dir :
@if not exist "vc7\boost_regex_vc7_sss\$(NULL)" mkdir vc7\boost_regex_vc7_sss
libboost_regex-vc7-s-1_31_dir :
@if not exist "vc7\libboost_regex-vc7-s-1_31\$(NULL)" mkdir vc7\libboost_regex-vc7-s-1_31
boost_regex_vc7_sss_clean :
del vc7\boost_regex_vc7_sss\*.obj
del vc7\boost_regex_vc7_sss\*.idb
del vc7\boost_regex_vc7_sss\*.exp
del vc7\boost_regex_vc7_sss\*.pch
libboost_regex-vc7-s-1_31_clean :
del vc7\libboost_regex-vc7-s-1_31\*.obj
del vc7\libboost_regex-vc7-s-1_31\*.idb
del vc7\libboost_regex-vc7-s-1_31\*.exp
del vc7\libboost_regex-vc7-s-1_31\*.pch
./vc7/boost_regex_vc7_sss.lib : vc7/boost_regex_vc7_sss/c_regex_traits.obj vc7/boost_regex_vc7_sss/c_regex_traits_common.obj vc7/boost_regex_vc7_sss/cpp_regex_traits.obj vc7/boost_regex_vc7_sss/cregex.obj vc7/boost_regex_vc7_sss/fileiter.obj vc7/boost_regex_vc7_sss/instances.obj vc7/boost_regex_vc7_sss/posix_api.obj vc7/boost_regex_vc7_sss/regex.obj vc7/boost_regex_vc7_sss/regex_debug.obj vc7/boost_regex_vc7_sss/regex_synch.obj vc7/boost_regex_vc7_sss/w32_regex_traits.obj vc7/boost_regex_vc7_sss/wide_posix_api.obj vc7/boost_regex_vc7_sss/winstances.obj
link -lib /nologo /out:vc7/boost_regex_vc7_sss.lib $(XSFLAGS) vc7/boost_regex_vc7_sss/c_regex_traits.obj vc7/boost_regex_vc7_sss/c_regex_traits_common.obj vc7/boost_regex_vc7_sss/cpp_regex_traits.obj vc7/boost_regex_vc7_sss/cregex.obj vc7/boost_regex_vc7_sss/fileiter.obj vc7/boost_regex_vc7_sss/instances.obj vc7/boost_regex_vc7_sss/posix_api.obj vc7/boost_regex_vc7_sss/regex.obj vc7/boost_regex_vc7_sss/regex_debug.obj vc7/boost_regex_vc7_sss/regex_synch.obj vc7/boost_regex_vc7_sss/w32_regex_traits.obj vc7/boost_regex_vc7_sss/wide_posix_api.obj vc7/boost_regex_vc7_sss/winstances.obj
./vc7/libboost_regex-vc7-s-1_31.lib : vc7/libboost_regex-vc7-s-1_31/c_regex_traits.obj vc7/libboost_regex-vc7-s-1_31/c_regex_traits_common.obj vc7/libboost_regex-vc7-s-1_31/cpp_regex_traits.obj vc7/libboost_regex-vc7-s-1_31/cregex.obj vc7/libboost_regex-vc7-s-1_31/fileiter.obj vc7/libboost_regex-vc7-s-1_31/instances.obj vc7/libboost_regex-vc7-s-1_31/posix_api.obj vc7/libboost_regex-vc7-s-1_31/regex.obj vc7/libboost_regex-vc7-s-1_31/regex_debug.obj vc7/libboost_regex-vc7-s-1_31/regex_synch.obj vc7/libboost_regex-vc7-s-1_31/w32_regex_traits.obj vc7/libboost_regex-vc7-s-1_31/wide_posix_api.obj vc7/libboost_regex-vc7-s-1_31/winstances.obj
link -lib /nologo /out:vc7/libboost_regex-vc7-s-1_31.lib $(XSFLAGS) vc7/libboost_regex-vc7-s-1_31/c_regex_traits.obj vc7/libboost_regex-vc7-s-1_31/c_regex_traits_common.obj vc7/libboost_regex-vc7-s-1_31/cpp_regex_traits.obj vc7/libboost_regex-vc7-s-1_31/cregex.obj vc7/libboost_regex-vc7-s-1_31/fileiter.obj vc7/libboost_regex-vc7-s-1_31/instances.obj vc7/libboost_regex-vc7-s-1_31/posix_api.obj vc7/libboost_regex-vc7-s-1_31/regex.obj vc7/libboost_regex-vc7-s-1_31/regex_debug.obj vc7/libboost_regex-vc7-s-1_31/regex_synch.obj vc7/libboost_regex-vc7-s-1_31/w32_regex_traits.obj vc7/libboost_regex-vc7-s-1_31/wide_posix_api.obj vc7/libboost_regex-vc7-s-1_31/winstances.obj
########################################################
#
# section for boost_regex_vc7_mss.lib
# section for libboost_regex-vc7-mt-s-1_31.lib
#
########################################################
vc7/boost_regex_vc7_mss/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/boost_regex_vc7_mss/boost_regex_vc7_mss.pch -Fo./vc7/boost_regex_vc7_mss/ -Fdvc7/boost_regex_vc7_mss.pdb ../src/c_regex_traits.cpp
vc7/libboost_regex-vc7-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_31/ -Fdvc7/libboost_regex-vc7-mt-s-1_31.pdb ../src/c_regex_traits.cpp
vc7/boost_regex_vc7_mss/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/boost_regex_vc7_mss/boost_regex_vc7_mss.pch -Fo./vc7/boost_regex_vc7_mss/ -Fdvc7/boost_regex_vc7_mss.pdb ../src/c_regex_traits_common.cpp
vc7/libboost_regex-vc7-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_31/ -Fdvc7/libboost_regex-vc7-mt-s-1_31.pdb ../src/c_regex_traits_common.cpp
vc7/boost_regex_vc7_mss/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/boost_regex_vc7_mss/boost_regex_vc7_mss.pch -Fo./vc7/boost_regex_vc7_mss/ -Fdvc7/boost_regex_vc7_mss.pdb ../src/cpp_regex_traits.cpp
vc7/libboost_regex-vc7-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_31/ -Fdvc7/libboost_regex-vc7-mt-s-1_31.pdb ../src/cpp_regex_traits.cpp
vc7/boost_regex_vc7_mss/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/boost_regex_vc7_mss/boost_regex_vc7_mss.pch -Fo./vc7/boost_regex_vc7_mss/ -Fdvc7/boost_regex_vc7_mss.pdb ../src/cregex.cpp
vc7/libboost_regex-vc7-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_31/ -Fdvc7/libboost_regex-vc7-mt-s-1_31.pdb ../src/cregex.cpp
vc7/boost_regex_vc7_mss/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/boost_regex_vc7_mss/boost_regex_vc7_mss.pch -Fo./vc7/boost_regex_vc7_mss/ -Fdvc7/boost_regex_vc7_mss.pdb ../src/fileiter.cpp
vc7/libboost_regex-vc7-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_31/ -Fdvc7/libboost_regex-vc7-mt-s-1_31.pdb ../src/fileiter.cpp
vc7/boost_regex_vc7_mss/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/boost_regex_vc7_mss/boost_regex_vc7_mss.pch -Fo./vc7/boost_regex_vc7_mss/ -Fdvc7/boost_regex_vc7_mss.pdb ../src/instances.cpp
vc7/libboost_regex-vc7-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_31/ -Fdvc7/libboost_regex-vc7-mt-s-1_31.pdb ../src/instances.cpp
vc7/boost_regex_vc7_mss/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/boost_regex_vc7_mss/boost_regex_vc7_mss.pch -Fo./vc7/boost_regex_vc7_mss/ -Fdvc7/boost_regex_vc7_mss.pdb ../src/posix_api.cpp
vc7/libboost_regex-vc7-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_31/ -Fdvc7/libboost_regex-vc7-mt-s-1_31.pdb ../src/posix_api.cpp
vc7/boost_regex_vc7_mss/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/boost_regex_vc7_mss/boost_regex_vc7_mss.pch -Fo./vc7/boost_regex_vc7_mss/ -Fdvc7/boost_regex_vc7_mss.pdb ../src/regex.cpp
vc7/libboost_regex-vc7-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_31/ -Fdvc7/libboost_regex-vc7-mt-s-1_31.pdb ../src/regex.cpp
vc7/boost_regex_vc7_mss/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/boost_regex_vc7_mss/boost_regex_vc7_mss.pch -Fo./vc7/boost_regex_vc7_mss/ -Fdvc7/boost_regex_vc7_mss.pdb ../src/regex_debug.cpp
vc7/libboost_regex-vc7-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_31/ -Fdvc7/libboost_regex-vc7-mt-s-1_31.pdb ../src/regex_debug.cpp
vc7/boost_regex_vc7_mss/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/boost_regex_vc7_mss/boost_regex_vc7_mss.pch -Fo./vc7/boost_regex_vc7_mss/ -Fdvc7/boost_regex_vc7_mss.pdb ../src/regex_synch.cpp
vc7/libboost_regex-vc7-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_31/ -Fdvc7/libboost_regex-vc7-mt-s-1_31.pdb ../src/regex_synch.cpp
vc7/boost_regex_vc7_mss/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/boost_regex_vc7_mss/boost_regex_vc7_mss.pch -Fo./vc7/boost_regex_vc7_mss/ -Fdvc7/boost_regex_vc7_mss.pdb ../src/w32_regex_traits.cpp
vc7/libboost_regex-vc7-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_31/ -Fdvc7/libboost_regex-vc7-mt-s-1_31.pdb ../src/w32_regex_traits.cpp
vc7/boost_regex_vc7_mss/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/boost_regex_vc7_mss/boost_regex_vc7_mss.pch -Fo./vc7/boost_regex_vc7_mss/ -Fdvc7/boost_regex_vc7_mss.pdb ../src/wide_posix_api.cpp
vc7/libboost_regex-vc7-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_31/ -Fdvc7/libboost_regex-vc7-mt-s-1_31.pdb ../src/wide_posix_api.cpp
vc7/boost_regex_vc7_mss/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/boost_regex_vc7_mss/boost_regex_vc7_mss.pch -Fo./vc7/boost_regex_vc7_mss/ -Fdvc7/boost_regex_vc7_mss.pdb ../src/winstances.cpp
vc7/libboost_regex-vc7-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_31/ -Fdvc7/libboost_regex-vc7-mt-s-1_31.pdb ../src/winstances.cpp
boost_regex_vc7_mss_dir :
@if not exist "vc7\boost_regex_vc7_mss\$(NULL)" mkdir vc7\boost_regex_vc7_mss
libboost_regex-vc7-mt-s-1_31_dir :
@if not exist "vc7\libboost_regex-vc7-mt-s-1_31\$(NULL)" mkdir vc7\libboost_regex-vc7-mt-s-1_31
boost_regex_vc7_mss_clean :
del vc7\boost_regex_vc7_mss\*.obj
del vc7\boost_regex_vc7_mss\*.idb
del vc7\boost_regex_vc7_mss\*.exp
del vc7\boost_regex_vc7_mss\*.pch
libboost_regex-vc7-mt-s-1_31_clean :
del vc7\libboost_regex-vc7-mt-s-1_31\*.obj
del vc7\libboost_regex-vc7-mt-s-1_31\*.idb
del vc7\libboost_regex-vc7-mt-s-1_31\*.exp
del vc7\libboost_regex-vc7-mt-s-1_31\*.pch
./vc7/boost_regex_vc7_mss.lib : vc7/boost_regex_vc7_mss/c_regex_traits.obj vc7/boost_regex_vc7_mss/c_regex_traits_common.obj vc7/boost_regex_vc7_mss/cpp_regex_traits.obj vc7/boost_regex_vc7_mss/cregex.obj vc7/boost_regex_vc7_mss/fileiter.obj vc7/boost_regex_vc7_mss/instances.obj vc7/boost_regex_vc7_mss/posix_api.obj vc7/boost_regex_vc7_mss/regex.obj vc7/boost_regex_vc7_mss/regex_debug.obj vc7/boost_regex_vc7_mss/regex_synch.obj vc7/boost_regex_vc7_mss/w32_regex_traits.obj vc7/boost_regex_vc7_mss/wide_posix_api.obj vc7/boost_regex_vc7_mss/winstances.obj
link -lib /nologo /out:vc7/boost_regex_vc7_mss.lib $(XSFLAGS) vc7/boost_regex_vc7_mss/c_regex_traits.obj vc7/boost_regex_vc7_mss/c_regex_traits_common.obj vc7/boost_regex_vc7_mss/cpp_regex_traits.obj vc7/boost_regex_vc7_mss/cregex.obj vc7/boost_regex_vc7_mss/fileiter.obj vc7/boost_regex_vc7_mss/instances.obj vc7/boost_regex_vc7_mss/posix_api.obj vc7/boost_regex_vc7_mss/regex.obj vc7/boost_regex_vc7_mss/regex_debug.obj vc7/boost_regex_vc7_mss/regex_synch.obj vc7/boost_regex_vc7_mss/w32_regex_traits.obj vc7/boost_regex_vc7_mss/wide_posix_api.obj vc7/boost_regex_vc7_mss/winstances.obj
./vc7/libboost_regex-vc7-mt-s-1_31.lib : vc7/libboost_regex-vc7-mt-s-1_31/c_regex_traits.obj vc7/libboost_regex-vc7-mt-s-1_31/c_regex_traits_common.obj vc7/libboost_regex-vc7-mt-s-1_31/cpp_regex_traits.obj vc7/libboost_regex-vc7-mt-s-1_31/cregex.obj vc7/libboost_regex-vc7-mt-s-1_31/fileiter.obj vc7/libboost_regex-vc7-mt-s-1_31/instances.obj vc7/libboost_regex-vc7-mt-s-1_31/posix_api.obj vc7/libboost_regex-vc7-mt-s-1_31/regex.obj vc7/libboost_regex-vc7-mt-s-1_31/regex_debug.obj vc7/libboost_regex-vc7-mt-s-1_31/regex_synch.obj vc7/libboost_regex-vc7-mt-s-1_31/w32_regex_traits.obj vc7/libboost_regex-vc7-mt-s-1_31/wide_posix_api.obj vc7/libboost_regex-vc7-mt-s-1_31/winstances.obj
link -lib /nologo /out:vc7/libboost_regex-vc7-mt-s-1_31.lib $(XSFLAGS) vc7/libboost_regex-vc7-mt-s-1_31/c_regex_traits.obj vc7/libboost_regex-vc7-mt-s-1_31/c_regex_traits_common.obj vc7/libboost_regex-vc7-mt-s-1_31/cpp_regex_traits.obj vc7/libboost_regex-vc7-mt-s-1_31/cregex.obj vc7/libboost_regex-vc7-mt-s-1_31/fileiter.obj vc7/libboost_regex-vc7-mt-s-1_31/instances.obj vc7/libboost_regex-vc7-mt-s-1_31/posix_api.obj vc7/libboost_regex-vc7-mt-s-1_31/regex.obj vc7/libboost_regex-vc7-mt-s-1_31/regex_debug.obj vc7/libboost_regex-vc7-mt-s-1_31/regex_synch.obj vc7/libboost_regex-vc7-mt-s-1_31/w32_regex_traits.obj vc7/libboost_regex-vc7-mt-s-1_31/wide_posix_api.obj vc7/libboost_regex-vc7-mt-s-1_31/winstances.obj
########################################################
#
# section for boost_regex_vc7_sssd.lib
# section for libboost_regex-vc7-sgd-1_31.lib
#
########################################################
vc7/boost_regex_vc7_sssd/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/boost_regex_vc7_sssd/boost_regex_vc7_sssd.pch -Fo./vc7/boost_regex_vc7_sssd/ -Fdvc7/boost_regex_vc7_sssd.pdb ../src/c_regex_traits.cpp
vc7/libboost_regex-vc7-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_31/ -Fdvc7/libboost_regex-vc7-sgd-1_31.pdb ../src/c_regex_traits.cpp
vc7/boost_regex_vc7_sssd/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/boost_regex_vc7_sssd/boost_regex_vc7_sssd.pch -Fo./vc7/boost_regex_vc7_sssd/ -Fdvc7/boost_regex_vc7_sssd.pdb ../src/c_regex_traits_common.cpp
vc7/libboost_regex-vc7-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_31/ -Fdvc7/libboost_regex-vc7-sgd-1_31.pdb ../src/c_regex_traits_common.cpp
vc7/boost_regex_vc7_sssd/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/boost_regex_vc7_sssd/boost_regex_vc7_sssd.pch -Fo./vc7/boost_regex_vc7_sssd/ -Fdvc7/boost_regex_vc7_sssd.pdb ../src/cpp_regex_traits.cpp
vc7/libboost_regex-vc7-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_31/ -Fdvc7/libboost_regex-vc7-sgd-1_31.pdb ../src/cpp_regex_traits.cpp
vc7/boost_regex_vc7_sssd/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/boost_regex_vc7_sssd/boost_regex_vc7_sssd.pch -Fo./vc7/boost_regex_vc7_sssd/ -Fdvc7/boost_regex_vc7_sssd.pdb ../src/cregex.cpp
vc7/libboost_regex-vc7-sgd-1_31/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_31/ -Fdvc7/libboost_regex-vc7-sgd-1_31.pdb ../src/cregex.cpp
vc7/boost_regex_vc7_sssd/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/boost_regex_vc7_sssd/boost_regex_vc7_sssd.pch -Fo./vc7/boost_regex_vc7_sssd/ -Fdvc7/boost_regex_vc7_sssd.pdb ../src/fileiter.cpp
vc7/libboost_regex-vc7-sgd-1_31/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_31/ -Fdvc7/libboost_regex-vc7-sgd-1_31.pdb ../src/fileiter.cpp
vc7/boost_regex_vc7_sssd/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/boost_regex_vc7_sssd/boost_regex_vc7_sssd.pch -Fo./vc7/boost_regex_vc7_sssd/ -Fdvc7/boost_regex_vc7_sssd.pdb ../src/instances.cpp
vc7/libboost_regex-vc7-sgd-1_31/instances.obj: ../src/instances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_31/ -Fdvc7/libboost_regex-vc7-sgd-1_31.pdb ../src/instances.cpp
vc7/boost_regex_vc7_sssd/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/boost_regex_vc7_sssd/boost_regex_vc7_sssd.pch -Fo./vc7/boost_regex_vc7_sssd/ -Fdvc7/boost_regex_vc7_sssd.pdb ../src/posix_api.cpp
vc7/libboost_regex-vc7-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_31/ -Fdvc7/libboost_regex-vc7-sgd-1_31.pdb ../src/posix_api.cpp
vc7/boost_regex_vc7_sssd/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/boost_regex_vc7_sssd/boost_regex_vc7_sssd.pch -Fo./vc7/boost_regex_vc7_sssd/ -Fdvc7/boost_regex_vc7_sssd.pdb ../src/regex.cpp
vc7/libboost_regex-vc7-sgd-1_31/regex.obj: ../src/regex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_31/ -Fdvc7/libboost_regex-vc7-sgd-1_31.pdb ../src/regex.cpp
vc7/boost_regex_vc7_sssd/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/boost_regex_vc7_sssd/boost_regex_vc7_sssd.pch -Fo./vc7/boost_regex_vc7_sssd/ -Fdvc7/boost_regex_vc7_sssd.pdb ../src/regex_debug.cpp
vc7/libboost_regex-vc7-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_31/ -Fdvc7/libboost_regex-vc7-sgd-1_31.pdb ../src/regex_debug.cpp
vc7/boost_regex_vc7_sssd/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/boost_regex_vc7_sssd/boost_regex_vc7_sssd.pch -Fo./vc7/boost_regex_vc7_sssd/ -Fdvc7/boost_regex_vc7_sssd.pdb ../src/regex_synch.cpp
vc7/libboost_regex-vc7-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_31/ -Fdvc7/libboost_regex-vc7-sgd-1_31.pdb ../src/regex_synch.cpp
vc7/boost_regex_vc7_sssd/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/boost_regex_vc7_sssd/boost_regex_vc7_sssd.pch -Fo./vc7/boost_regex_vc7_sssd/ -Fdvc7/boost_regex_vc7_sssd.pdb ../src/w32_regex_traits.cpp
vc7/libboost_regex-vc7-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_31/ -Fdvc7/libboost_regex-vc7-sgd-1_31.pdb ../src/w32_regex_traits.cpp
vc7/boost_regex_vc7_sssd/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/boost_regex_vc7_sssd/boost_regex_vc7_sssd.pch -Fo./vc7/boost_regex_vc7_sssd/ -Fdvc7/boost_regex_vc7_sssd.pdb ../src/wide_posix_api.cpp
vc7/libboost_regex-vc7-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_31/ -Fdvc7/libboost_regex-vc7-sgd-1_31.pdb ../src/wide_posix_api.cpp
vc7/boost_regex_vc7_sssd/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/boost_regex_vc7_sssd/boost_regex_vc7_sssd.pch -Fo./vc7/boost_regex_vc7_sssd/ -Fdvc7/boost_regex_vc7_sssd.pdb ../src/winstances.cpp
vc7/libboost_regex-vc7-sgd-1_31/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_31/ -Fdvc7/libboost_regex-vc7-sgd-1_31.pdb ../src/winstances.cpp
boost_regex_vc7_sssd_dir :
@if not exist "vc7\boost_regex_vc7_sssd\$(NULL)" mkdir vc7\boost_regex_vc7_sssd
libboost_regex-vc7-sgd-1_31_dir :
@if not exist "vc7\libboost_regex-vc7-sgd-1_31\$(NULL)" mkdir vc7\libboost_regex-vc7-sgd-1_31
boost_regex_vc7_sssd_clean :
del vc7\boost_regex_vc7_sssd\*.obj
del vc7\boost_regex_vc7_sssd\*.idb
del vc7\boost_regex_vc7_sssd\*.exp
del vc7\boost_regex_vc7_sssd\*.pch
libboost_regex-vc7-sgd-1_31_clean :
del vc7\libboost_regex-vc7-sgd-1_31\*.obj
del vc7\libboost_regex-vc7-sgd-1_31\*.idb
del vc7\libboost_regex-vc7-sgd-1_31\*.exp
del vc7\libboost_regex-vc7-sgd-1_31\*.pch
./vc7/boost_regex_vc7_sssd.lib : vc7/boost_regex_vc7_sssd/c_regex_traits.obj vc7/boost_regex_vc7_sssd/c_regex_traits_common.obj vc7/boost_regex_vc7_sssd/cpp_regex_traits.obj vc7/boost_regex_vc7_sssd/cregex.obj vc7/boost_regex_vc7_sssd/fileiter.obj vc7/boost_regex_vc7_sssd/instances.obj vc7/boost_regex_vc7_sssd/posix_api.obj vc7/boost_regex_vc7_sssd/regex.obj vc7/boost_regex_vc7_sssd/regex_debug.obj vc7/boost_regex_vc7_sssd/regex_synch.obj vc7/boost_regex_vc7_sssd/w32_regex_traits.obj vc7/boost_regex_vc7_sssd/wide_posix_api.obj vc7/boost_regex_vc7_sssd/winstances.obj
link -lib /nologo /out:vc7/boost_regex_vc7_sssd.lib $(XSFLAGS) vc7/boost_regex_vc7_sssd/c_regex_traits.obj vc7/boost_regex_vc7_sssd/c_regex_traits_common.obj vc7/boost_regex_vc7_sssd/cpp_regex_traits.obj vc7/boost_regex_vc7_sssd/cregex.obj vc7/boost_regex_vc7_sssd/fileiter.obj vc7/boost_regex_vc7_sssd/instances.obj vc7/boost_regex_vc7_sssd/posix_api.obj vc7/boost_regex_vc7_sssd/regex.obj vc7/boost_regex_vc7_sssd/regex_debug.obj vc7/boost_regex_vc7_sssd/regex_synch.obj vc7/boost_regex_vc7_sssd/w32_regex_traits.obj vc7/boost_regex_vc7_sssd/wide_posix_api.obj vc7/boost_regex_vc7_sssd/winstances.obj
./vc7/libboost_regex-vc7-sgd-1_31.lib : vc7/libboost_regex-vc7-sgd-1_31/c_regex_traits.obj vc7/libboost_regex-vc7-sgd-1_31/c_regex_traits_common.obj vc7/libboost_regex-vc7-sgd-1_31/cpp_regex_traits.obj vc7/libboost_regex-vc7-sgd-1_31/cregex.obj vc7/libboost_regex-vc7-sgd-1_31/fileiter.obj vc7/libboost_regex-vc7-sgd-1_31/instances.obj vc7/libboost_regex-vc7-sgd-1_31/posix_api.obj vc7/libboost_regex-vc7-sgd-1_31/regex.obj vc7/libboost_regex-vc7-sgd-1_31/regex_debug.obj vc7/libboost_regex-vc7-sgd-1_31/regex_synch.obj vc7/libboost_regex-vc7-sgd-1_31/w32_regex_traits.obj vc7/libboost_regex-vc7-sgd-1_31/wide_posix_api.obj vc7/libboost_regex-vc7-sgd-1_31/winstances.obj
link -lib /nologo /out:vc7/libboost_regex-vc7-sgd-1_31.lib $(XSFLAGS) vc7/libboost_regex-vc7-sgd-1_31/c_regex_traits.obj vc7/libboost_regex-vc7-sgd-1_31/c_regex_traits_common.obj vc7/libboost_regex-vc7-sgd-1_31/cpp_regex_traits.obj vc7/libboost_regex-vc7-sgd-1_31/cregex.obj vc7/libboost_regex-vc7-sgd-1_31/fileiter.obj vc7/libboost_regex-vc7-sgd-1_31/instances.obj vc7/libboost_regex-vc7-sgd-1_31/posix_api.obj vc7/libboost_regex-vc7-sgd-1_31/regex.obj vc7/libboost_regex-vc7-sgd-1_31/regex_debug.obj vc7/libboost_regex-vc7-sgd-1_31/regex_synch.obj vc7/libboost_regex-vc7-sgd-1_31/w32_regex_traits.obj vc7/libboost_regex-vc7-sgd-1_31/wide_posix_api.obj vc7/libboost_regex-vc7-sgd-1_31/winstances.obj
########################################################
#
# section for boost_regex_vc7_mssd.lib
# section for libboost_regex-vc7-mt-sgd-1_31.lib
#
########################################################
vc7/boost_regex_vc7_mssd/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/boost_regex_vc7_mssd/boost_regex_vc7_mssd.pch -Fo./vc7/boost_regex_vc7_mssd/ -Fdvc7/boost_regex_vc7_mssd.pdb ../src/c_regex_traits.cpp
vc7/libboost_regex-vc7-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_31/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_31.pdb ../src/c_regex_traits.cpp
vc7/boost_regex_vc7_mssd/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/boost_regex_vc7_mssd/boost_regex_vc7_mssd.pch -Fo./vc7/boost_regex_vc7_mssd/ -Fdvc7/boost_regex_vc7_mssd.pdb ../src/c_regex_traits_common.cpp
vc7/libboost_regex-vc7-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_31/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_31.pdb ../src/c_regex_traits_common.cpp
vc7/boost_regex_vc7_mssd/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/boost_regex_vc7_mssd/boost_regex_vc7_mssd.pch -Fo./vc7/boost_regex_vc7_mssd/ -Fdvc7/boost_regex_vc7_mssd.pdb ../src/cpp_regex_traits.cpp
vc7/libboost_regex-vc7-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_31/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_31.pdb ../src/cpp_regex_traits.cpp
vc7/boost_regex_vc7_mssd/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/boost_regex_vc7_mssd/boost_regex_vc7_mssd.pch -Fo./vc7/boost_regex_vc7_mssd/ -Fdvc7/boost_regex_vc7_mssd.pdb ../src/cregex.cpp
vc7/libboost_regex-vc7-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_31/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_31.pdb ../src/cregex.cpp
vc7/boost_regex_vc7_mssd/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/boost_regex_vc7_mssd/boost_regex_vc7_mssd.pch -Fo./vc7/boost_regex_vc7_mssd/ -Fdvc7/boost_regex_vc7_mssd.pdb ../src/fileiter.cpp
vc7/libboost_regex-vc7-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_31/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_31.pdb ../src/fileiter.cpp
vc7/boost_regex_vc7_mssd/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/boost_regex_vc7_mssd/boost_regex_vc7_mssd.pch -Fo./vc7/boost_regex_vc7_mssd/ -Fdvc7/boost_regex_vc7_mssd.pdb ../src/instances.cpp
vc7/libboost_regex-vc7-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_31/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_31.pdb ../src/instances.cpp
vc7/boost_regex_vc7_mssd/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/boost_regex_vc7_mssd/boost_regex_vc7_mssd.pch -Fo./vc7/boost_regex_vc7_mssd/ -Fdvc7/boost_regex_vc7_mssd.pdb ../src/posix_api.cpp
vc7/libboost_regex-vc7-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_31/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_31.pdb ../src/posix_api.cpp
vc7/boost_regex_vc7_mssd/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/boost_regex_vc7_mssd/boost_regex_vc7_mssd.pch -Fo./vc7/boost_regex_vc7_mssd/ -Fdvc7/boost_regex_vc7_mssd.pdb ../src/regex.cpp
vc7/libboost_regex-vc7-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_31/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_31.pdb ../src/regex.cpp
vc7/boost_regex_vc7_mssd/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/boost_regex_vc7_mssd/boost_regex_vc7_mssd.pch -Fo./vc7/boost_regex_vc7_mssd/ -Fdvc7/boost_regex_vc7_mssd.pdb ../src/regex_debug.cpp
vc7/libboost_regex-vc7-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_31/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_31.pdb ../src/regex_debug.cpp
vc7/boost_regex_vc7_mssd/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/boost_regex_vc7_mssd/boost_regex_vc7_mssd.pch -Fo./vc7/boost_regex_vc7_mssd/ -Fdvc7/boost_regex_vc7_mssd.pdb ../src/regex_synch.cpp
vc7/libboost_regex-vc7-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_31/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_31.pdb ../src/regex_synch.cpp
vc7/boost_regex_vc7_mssd/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/boost_regex_vc7_mssd/boost_regex_vc7_mssd.pch -Fo./vc7/boost_regex_vc7_mssd/ -Fdvc7/boost_regex_vc7_mssd.pdb ../src/w32_regex_traits.cpp
vc7/libboost_regex-vc7-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_31/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_31.pdb ../src/w32_regex_traits.cpp
vc7/boost_regex_vc7_mssd/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/boost_regex_vc7_mssd/boost_regex_vc7_mssd.pch -Fo./vc7/boost_regex_vc7_mssd/ -Fdvc7/boost_regex_vc7_mssd.pdb ../src/wide_posix_api.cpp
vc7/libboost_regex-vc7-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_31/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_31.pdb ../src/wide_posix_api.cpp
vc7/boost_regex_vc7_mssd/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/boost_regex_vc7_mssd/boost_regex_vc7_mssd.pch -Fo./vc7/boost_regex_vc7_mssd/ -Fdvc7/boost_regex_vc7_mssd.pdb ../src/winstances.cpp
vc7/libboost_regex-vc7-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_31/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_31.pdb ../src/winstances.cpp
boost_regex_vc7_mssd_dir :
@if not exist "vc7\boost_regex_vc7_mssd\$(NULL)" mkdir vc7\boost_regex_vc7_mssd
libboost_regex-vc7-mt-sgd-1_31_dir :
@if not exist "vc7\libboost_regex-vc7-mt-sgd-1_31\$(NULL)" mkdir vc7\libboost_regex-vc7-mt-sgd-1_31
boost_regex_vc7_mssd_clean :
del vc7\boost_regex_vc7_mssd\*.obj
del vc7\boost_regex_vc7_mssd\*.idb
del vc7\boost_regex_vc7_mssd\*.exp
del vc7\boost_regex_vc7_mssd\*.pch
libboost_regex-vc7-mt-sgd-1_31_clean :
del vc7\libboost_regex-vc7-mt-sgd-1_31\*.obj
del vc7\libboost_regex-vc7-mt-sgd-1_31\*.idb
del vc7\libboost_regex-vc7-mt-sgd-1_31\*.exp
del vc7\libboost_regex-vc7-mt-sgd-1_31\*.pch
./vc7/boost_regex_vc7_mssd.lib : vc7/boost_regex_vc7_mssd/c_regex_traits.obj vc7/boost_regex_vc7_mssd/c_regex_traits_common.obj vc7/boost_regex_vc7_mssd/cpp_regex_traits.obj vc7/boost_regex_vc7_mssd/cregex.obj vc7/boost_regex_vc7_mssd/fileiter.obj vc7/boost_regex_vc7_mssd/instances.obj vc7/boost_regex_vc7_mssd/posix_api.obj vc7/boost_regex_vc7_mssd/regex.obj vc7/boost_regex_vc7_mssd/regex_debug.obj vc7/boost_regex_vc7_mssd/regex_synch.obj vc7/boost_regex_vc7_mssd/w32_regex_traits.obj vc7/boost_regex_vc7_mssd/wide_posix_api.obj vc7/boost_regex_vc7_mssd/winstances.obj
link -lib /nologo /out:vc7/boost_regex_vc7_mssd.lib $(XSFLAGS) vc7/boost_regex_vc7_mssd/c_regex_traits.obj vc7/boost_regex_vc7_mssd/c_regex_traits_common.obj vc7/boost_regex_vc7_mssd/cpp_regex_traits.obj vc7/boost_regex_vc7_mssd/cregex.obj vc7/boost_regex_vc7_mssd/fileiter.obj vc7/boost_regex_vc7_mssd/instances.obj vc7/boost_regex_vc7_mssd/posix_api.obj vc7/boost_regex_vc7_mssd/regex.obj vc7/boost_regex_vc7_mssd/regex_debug.obj vc7/boost_regex_vc7_mssd/regex_synch.obj vc7/boost_regex_vc7_mssd/w32_regex_traits.obj vc7/boost_regex_vc7_mssd/wide_posix_api.obj vc7/boost_regex_vc7_mssd/winstances.obj
./vc7/libboost_regex-vc7-mt-sgd-1_31.lib : vc7/libboost_regex-vc7-mt-sgd-1_31/c_regex_traits.obj vc7/libboost_regex-vc7-mt-sgd-1_31/c_regex_traits_common.obj vc7/libboost_regex-vc7-mt-sgd-1_31/cpp_regex_traits.obj vc7/libboost_regex-vc7-mt-sgd-1_31/cregex.obj vc7/libboost_regex-vc7-mt-sgd-1_31/fileiter.obj vc7/libboost_regex-vc7-mt-sgd-1_31/instances.obj vc7/libboost_regex-vc7-mt-sgd-1_31/posix_api.obj vc7/libboost_regex-vc7-mt-sgd-1_31/regex.obj vc7/libboost_regex-vc7-mt-sgd-1_31/regex_debug.obj vc7/libboost_regex-vc7-mt-sgd-1_31/regex_synch.obj vc7/libboost_regex-vc7-mt-sgd-1_31/w32_regex_traits.obj vc7/libboost_regex-vc7-mt-sgd-1_31/wide_posix_api.obj vc7/libboost_regex-vc7-mt-sgd-1_31/winstances.obj
link -lib /nologo /out:vc7/libboost_regex-vc7-mt-sgd-1_31.lib $(XSFLAGS) vc7/libboost_regex-vc7-mt-sgd-1_31/c_regex_traits.obj vc7/libboost_regex-vc7-mt-sgd-1_31/c_regex_traits_common.obj vc7/libboost_regex-vc7-mt-sgd-1_31/cpp_regex_traits.obj vc7/libboost_regex-vc7-mt-sgd-1_31/cregex.obj vc7/libboost_regex-vc7-mt-sgd-1_31/fileiter.obj vc7/libboost_regex-vc7-mt-sgd-1_31/instances.obj vc7/libboost_regex-vc7-mt-sgd-1_31/posix_api.obj vc7/libboost_regex-vc7-mt-sgd-1_31/regex.obj vc7/libboost_regex-vc7-mt-sgd-1_31/regex_debug.obj vc7/libboost_regex-vc7-mt-sgd-1_31/regex_synch.obj vc7/libboost_regex-vc7-mt-sgd-1_31/w32_regex_traits.obj vc7/libboost_regex-vc7-mt-sgd-1_31/wide_posix_api.obj vc7/libboost_regex-vc7-mt-sgd-1_31/winstances.obj
########################################################
#
# section for boost_regex_vc7_mdid.lib
# section for boost_regex-vc7-mt-gd-1_31.lib
#
########################################################
vc7/boost_regex_vc7_mdid/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_mdid/boost_regex_vc7_mdid.pch -Fo./vc7/boost_regex_vc7_mdid/ -Fdvc7/boost_regex_vc7_mdid.pdb ../src/c_regex_traits.cpp
vc7/boost_regex-vc7-mt-gd-1_31/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_31/ -Fdvc7/boost_regex-vc7-mt-gd-1_31.pdb ../src/c_regex_traits.cpp
vc7/boost_regex_vc7_mdid/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_mdid/boost_regex_vc7_mdid.pch -Fo./vc7/boost_regex_vc7_mdid/ -Fdvc7/boost_regex_vc7_mdid.pdb ../src/c_regex_traits_common.cpp
vc7/boost_regex-vc7-mt-gd-1_31/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 /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_31/ -Fdvc7/boost_regex-vc7-mt-gd-1_31.pdb ../src/c_regex_traits_common.cpp
vc7/boost_regex_vc7_mdid/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_mdid/boost_regex_vc7_mdid.pch -Fo./vc7/boost_regex_vc7_mdid/ -Fdvc7/boost_regex_vc7_mdid.pdb ../src/cpp_regex_traits.cpp
vc7/boost_regex-vc7-mt-gd-1_31/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_31/ -Fdvc7/boost_regex-vc7-mt-gd-1_31.pdb ../src/cpp_regex_traits.cpp
vc7/boost_regex_vc7_mdid/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_mdid/boost_regex_vc7_mdid.pch -Fo./vc7/boost_regex_vc7_mdid/ -Fdvc7/boost_regex_vc7_mdid.pdb ../src/cregex.cpp
vc7/boost_regex-vc7-mt-gd-1_31/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_31/ -Fdvc7/boost_regex-vc7-mt-gd-1_31.pdb ../src/cregex.cpp
vc7/boost_regex_vc7_mdid/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_mdid/boost_regex_vc7_mdid.pch -Fo./vc7/boost_regex_vc7_mdid/ -Fdvc7/boost_regex_vc7_mdid.pdb ../src/fileiter.cpp
vc7/boost_regex-vc7-mt-gd-1_31/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_31/ -Fdvc7/boost_regex-vc7-mt-gd-1_31.pdb ../src/fileiter.cpp
vc7/boost_regex_vc7_mdid/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_mdid/boost_regex_vc7_mdid.pch -Fo./vc7/boost_regex_vc7_mdid/ -Fdvc7/boost_regex_vc7_mdid.pdb ../src/instances.cpp
vc7/boost_regex-vc7-mt-gd-1_31/instances.obj: ../src/instances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_31/ -Fdvc7/boost_regex-vc7-mt-gd-1_31.pdb ../src/instances.cpp
vc7/boost_regex_vc7_mdid/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_mdid/boost_regex_vc7_mdid.pch -Fo./vc7/boost_regex_vc7_mdid/ -Fdvc7/boost_regex_vc7_mdid.pdb ../src/posix_api.cpp
vc7/boost_regex-vc7-mt-gd-1_31/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_31/ -Fdvc7/boost_regex-vc7-mt-gd-1_31.pdb ../src/posix_api.cpp
vc7/boost_regex_vc7_mdid/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_mdid/boost_regex_vc7_mdid.pch -Fo./vc7/boost_regex_vc7_mdid/ -Fdvc7/boost_regex_vc7_mdid.pdb ../src/regex.cpp
vc7/boost_regex-vc7-mt-gd-1_31/regex.obj: ../src/regex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_31/ -Fdvc7/boost_regex-vc7-mt-gd-1_31.pdb ../src/regex.cpp
vc7/boost_regex_vc7_mdid/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_mdid/boost_regex_vc7_mdid.pch -Fo./vc7/boost_regex_vc7_mdid/ -Fdvc7/boost_regex_vc7_mdid.pdb ../src/regex_debug.cpp
vc7/boost_regex-vc7-mt-gd-1_31/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_31/ -Fdvc7/boost_regex-vc7-mt-gd-1_31.pdb ../src/regex_debug.cpp
vc7/boost_regex_vc7_mdid/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_mdid/boost_regex_vc7_mdid.pch -Fo./vc7/boost_regex_vc7_mdid/ -Fdvc7/boost_regex_vc7_mdid.pdb ../src/regex_synch.cpp
vc7/boost_regex-vc7-mt-gd-1_31/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_31/ -Fdvc7/boost_regex-vc7-mt-gd-1_31.pdb ../src/regex_synch.cpp
vc7/boost_regex_vc7_mdid/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_mdid/boost_regex_vc7_mdid.pch -Fo./vc7/boost_regex_vc7_mdid/ -Fdvc7/boost_regex_vc7_mdid.pdb ../src/w32_regex_traits.cpp
vc7/boost_regex-vc7-mt-gd-1_31/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_31/ -Fdvc7/boost_regex-vc7-mt-gd-1_31.pdb ../src/w32_regex_traits.cpp
vc7/boost_regex_vc7_mdid/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_mdid/boost_regex_vc7_mdid.pch -Fo./vc7/boost_regex_vc7_mdid/ -Fdvc7/boost_regex_vc7_mdid.pdb ../src/wide_posix_api.cpp
vc7/boost_regex-vc7-mt-gd-1_31/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_31/ -Fdvc7/boost_regex-vc7-mt-gd-1_31.pdb ../src/wide_posix_api.cpp
vc7/boost_regex_vc7_mdid/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_mdid/boost_regex_vc7_mdid.pch -Fo./vc7/boost_regex_vc7_mdid/ -Fdvc7/boost_regex_vc7_mdid.pdb ../src/winstances.cpp
vc7/boost_regex-vc7-mt-gd-1_31/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_31/ -Fdvc7/boost_regex-vc7-mt-gd-1_31.pdb ../src/winstances.cpp
boost_regex_vc7_mdid_dir :
@if not exist "vc7\boost_regex_vc7_mdid\$(NULL)" mkdir vc7\boost_regex_vc7_mdid
boost_regex-vc7-mt-gd-1_31_dir :
@if not exist "vc7\boost_regex-vc7-mt-gd-1_31\$(NULL)" mkdir vc7\boost_regex-vc7-mt-gd-1_31
boost_regex_vc7_mdid_clean :
del vc7\boost_regex_vc7_mdid\*.obj
del vc7\boost_regex_vc7_mdid\*.idb
del vc7\boost_regex_vc7_mdid\*.exp
del vc7\boost_regex_vc7_mdid\*.pch
boost_regex-vc7-mt-gd-1_31_clean :
del vc7\boost_regex-vc7-mt-gd-1_31\*.obj
del vc7\boost_regex-vc7-mt-gd-1_31\*.idb
del vc7\boost_regex-vc7-mt-gd-1_31\*.exp
del vc7\boost_regex-vc7-mt-gd-1_31\*.pch
./vc7/boost_regex_vc7_mdid.lib : vc7/boost_regex_vc7_mdid/c_regex_traits.obj vc7/boost_regex_vc7_mdid/c_regex_traits_common.obj vc7/boost_regex_vc7_mdid/cpp_regex_traits.obj vc7/boost_regex_vc7_mdid/cregex.obj vc7/boost_regex_vc7_mdid/fileiter.obj vc7/boost_regex_vc7_mdid/instances.obj vc7/boost_regex_vc7_mdid/posix_api.obj vc7/boost_regex_vc7_mdid/regex.obj vc7/boost_regex_vc7_mdid/regex_debug.obj vc7/boost_regex_vc7_mdid/regex_synch.obj vc7/boost_regex_vc7_mdid/w32_regex_traits.obj vc7/boost_regex_vc7_mdid/wide_posix_api.obj vc7/boost_regex_vc7_mdid/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_mdid.pdb" /debug /machine:I386 /out:"vc7/boost_regex_vc7_mdid.dll" /implib:"vc7/boost_regex_vc7_mdid.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc7/boost_regex_vc7_mdid/c_regex_traits.obj vc7/boost_regex_vc7_mdid/c_regex_traits_common.obj vc7/boost_regex_vc7_mdid/cpp_regex_traits.obj vc7/boost_regex_vc7_mdid/cregex.obj vc7/boost_regex_vc7_mdid/fileiter.obj vc7/boost_regex_vc7_mdid/instances.obj vc7/boost_regex_vc7_mdid/posix_api.obj vc7/boost_regex_vc7_mdid/regex.obj vc7/boost_regex_vc7_mdid/regex_debug.obj vc7/boost_regex_vc7_mdid/regex_synch.obj vc7/boost_regex_vc7_mdid/w32_regex_traits.obj vc7/boost_regex_vc7_mdid/wide_posix_api.obj vc7/boost_regex_vc7_mdid/winstances.obj
./vc7/boost_regex-vc7-mt-gd-1_31.lib : vc7/boost_regex-vc7-mt-gd-1_31/c_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_31/c_regex_traits_common.obj vc7/boost_regex-vc7-mt-gd-1_31/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_31/cregex.obj vc7/boost_regex-vc7-mt-gd-1_31/fileiter.obj vc7/boost_regex-vc7-mt-gd-1_31/instances.obj vc7/boost_regex-vc7-mt-gd-1_31/posix_api.obj vc7/boost_regex-vc7-mt-gd-1_31/regex.obj vc7/boost_regex-vc7-mt-gd-1_31/regex_debug.obj vc7/boost_regex-vc7-mt-gd-1_31/regex_synch.obj vc7/boost_regex-vc7-mt-gd-1_31/w32_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_31/wide_posix_api.obj vc7/boost_regex-vc7-mt-gd-1_31/winstances.obj
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7/boost_regex-vc7-mt-gd-1_31.pdb" /debug /machine:I386 /out:"vc7/boost_regex-vc7-mt-gd-1_31.dll" /implib:"vc7/boost_regex-vc7-mt-gd-1_31.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc7/boost_regex-vc7-mt-gd-1_31/c_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_31/c_regex_traits_common.obj vc7/boost_regex-vc7-mt-gd-1_31/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_31/cregex.obj vc7/boost_regex-vc7-mt-gd-1_31/fileiter.obj vc7/boost_regex-vc7-mt-gd-1_31/instances.obj vc7/boost_regex-vc7-mt-gd-1_31/posix_api.obj vc7/boost_regex-vc7-mt-gd-1_31/regex.obj vc7/boost_regex-vc7-mt-gd-1_31/regex_debug.obj vc7/boost_regex-vc7-mt-gd-1_31/regex_synch.obj vc7/boost_regex-vc7-mt-gd-1_31/w32_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_31/wide_posix_api.obj vc7/boost_regex-vc7-mt-gd-1_31/winstances.obj
########################################################
#
# section for boost_regex_vc7_mdi.lib
# section for boost_regex-vc7-mt-1_31.lib
#
########################################################
vc7/boost_regex_vc7_mdi/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_mdi/boost_regex_vc7_mdi.pch -Fo./vc7/boost_regex_vc7_mdi/ -Fdvc7/boost_regex_vc7_mdi.pdb ../src/c_regex_traits.cpp
vc7/boost_regex-vc7-mt-1_31/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_31/ -Fdvc7/boost_regex-vc7-mt-1_31.pdb ../src/c_regex_traits.cpp
vc7/boost_regex_vc7_mdi/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_mdi/boost_regex_vc7_mdi.pch -Fo./vc7/boost_regex_vc7_mdi/ -Fdvc7/boost_regex_vc7_mdi.pdb ../src/c_regex_traits_common.cpp
vc7/boost_regex-vc7-mt-1_31/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_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_31/ -Fdvc7/boost_regex-vc7-mt-1_31.pdb ../src/c_regex_traits_common.cpp
vc7/boost_regex_vc7_mdi/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_mdi/boost_regex_vc7_mdi.pch -Fo./vc7/boost_regex_vc7_mdi/ -Fdvc7/boost_regex_vc7_mdi.pdb ../src/cpp_regex_traits.cpp
vc7/boost_regex-vc7-mt-1_31/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_31/ -Fdvc7/boost_regex-vc7-mt-1_31.pdb ../src/cpp_regex_traits.cpp
vc7/boost_regex_vc7_mdi/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_mdi/boost_regex_vc7_mdi.pch -Fo./vc7/boost_regex_vc7_mdi/ -Fdvc7/boost_regex_vc7_mdi.pdb ../src/cregex.cpp
vc7/boost_regex-vc7-mt-1_31/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_31/ -Fdvc7/boost_regex-vc7-mt-1_31.pdb ../src/cregex.cpp
vc7/boost_regex_vc7_mdi/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_mdi/boost_regex_vc7_mdi.pch -Fo./vc7/boost_regex_vc7_mdi/ -Fdvc7/boost_regex_vc7_mdi.pdb ../src/fileiter.cpp
vc7/boost_regex-vc7-mt-1_31/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_31/ -Fdvc7/boost_regex-vc7-mt-1_31.pdb ../src/fileiter.cpp
vc7/boost_regex_vc7_mdi/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_mdi/boost_regex_vc7_mdi.pch -Fo./vc7/boost_regex_vc7_mdi/ -Fdvc7/boost_regex_vc7_mdi.pdb ../src/instances.cpp
vc7/boost_regex-vc7-mt-1_31/instances.obj: ../src/instances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_31/ -Fdvc7/boost_regex-vc7-mt-1_31.pdb ../src/instances.cpp
vc7/boost_regex_vc7_mdi/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_mdi/boost_regex_vc7_mdi.pch -Fo./vc7/boost_regex_vc7_mdi/ -Fdvc7/boost_regex_vc7_mdi.pdb ../src/posix_api.cpp
vc7/boost_regex-vc7-mt-1_31/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_31/ -Fdvc7/boost_regex-vc7-mt-1_31.pdb ../src/posix_api.cpp
vc7/boost_regex_vc7_mdi/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_mdi/boost_regex_vc7_mdi.pch -Fo./vc7/boost_regex_vc7_mdi/ -Fdvc7/boost_regex_vc7_mdi.pdb ../src/regex.cpp
vc7/boost_regex-vc7-mt-1_31/regex.obj: ../src/regex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_31/ -Fdvc7/boost_regex-vc7-mt-1_31.pdb ../src/regex.cpp
vc7/boost_regex_vc7_mdi/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_mdi/boost_regex_vc7_mdi.pch -Fo./vc7/boost_regex_vc7_mdi/ -Fdvc7/boost_regex_vc7_mdi.pdb ../src/regex_debug.cpp
vc7/boost_regex-vc7-mt-1_31/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_31/ -Fdvc7/boost_regex-vc7-mt-1_31.pdb ../src/regex_debug.cpp
vc7/boost_regex_vc7_mdi/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_mdi/boost_regex_vc7_mdi.pch -Fo./vc7/boost_regex_vc7_mdi/ -Fdvc7/boost_regex_vc7_mdi.pdb ../src/regex_synch.cpp
vc7/boost_regex-vc7-mt-1_31/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_31/ -Fdvc7/boost_regex-vc7-mt-1_31.pdb ../src/regex_synch.cpp
vc7/boost_regex_vc7_mdi/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_mdi/boost_regex_vc7_mdi.pch -Fo./vc7/boost_regex_vc7_mdi/ -Fdvc7/boost_regex_vc7_mdi.pdb ../src/w32_regex_traits.cpp
vc7/boost_regex-vc7-mt-1_31/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_31/ -Fdvc7/boost_regex-vc7-mt-1_31.pdb ../src/w32_regex_traits.cpp
vc7/boost_regex_vc7_mdi/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_mdi/boost_regex_vc7_mdi.pch -Fo./vc7/boost_regex_vc7_mdi/ -Fdvc7/boost_regex_vc7_mdi.pdb ../src/wide_posix_api.cpp
vc7/boost_regex-vc7-mt-1_31/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_31/ -Fdvc7/boost_regex-vc7-mt-1_31.pdb ../src/wide_posix_api.cpp
vc7/boost_regex_vc7_mdi/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_mdi/boost_regex_vc7_mdi.pch -Fo./vc7/boost_regex_vc7_mdi/ -Fdvc7/boost_regex_vc7_mdi.pdb ../src/winstances.cpp
vc7/boost_regex-vc7-mt-1_31/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_31/ -Fdvc7/boost_regex-vc7-mt-1_31.pdb ../src/winstances.cpp
boost_regex_vc7_mdi_dir :
@if not exist "vc7\boost_regex_vc7_mdi\$(NULL)" mkdir vc7\boost_regex_vc7_mdi
boost_regex-vc7-mt-1_31_dir :
@if not exist "vc7\boost_regex-vc7-mt-1_31\$(NULL)" mkdir vc7\boost_regex-vc7-mt-1_31
boost_regex_vc7_mdi_clean :
del vc7\boost_regex_vc7_mdi\*.obj
del vc7\boost_regex_vc7_mdi\*.idb
del vc7\boost_regex_vc7_mdi\*.exp
del vc7\boost_regex_vc7_mdi\*.pch
boost_regex-vc7-mt-1_31_clean :
del vc7\boost_regex-vc7-mt-1_31\*.obj
del vc7\boost_regex-vc7-mt-1_31\*.idb
del vc7\boost_regex-vc7-mt-1_31\*.exp
del vc7\boost_regex-vc7-mt-1_31\*.pch
./vc7/boost_regex_vc7_mdi.lib : vc7/boost_regex_vc7_mdi/c_regex_traits.obj vc7/boost_regex_vc7_mdi/c_regex_traits_common.obj vc7/boost_regex_vc7_mdi/cpp_regex_traits.obj vc7/boost_regex_vc7_mdi/cregex.obj vc7/boost_regex_vc7_mdi/fileiter.obj vc7/boost_regex_vc7_mdi/instances.obj vc7/boost_regex_vc7_mdi/posix_api.obj vc7/boost_regex_vc7_mdi/regex.obj vc7/boost_regex_vc7_mdi/regex_debug.obj vc7/boost_regex_vc7_mdi/regex_synch.obj vc7/boost_regex_vc7_mdi/w32_regex_traits.obj vc7/boost_regex_vc7_mdi/wide_posix_api.obj vc7/boost_regex_vc7_mdi/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_mdi.pdb" /debug /machine:I386 /out:"vc7/boost_regex_vc7_mdi.dll" /implib:"vc7/boost_regex_vc7_mdi.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc7/boost_regex_vc7_mdi/c_regex_traits.obj vc7/boost_regex_vc7_mdi/c_regex_traits_common.obj vc7/boost_regex_vc7_mdi/cpp_regex_traits.obj vc7/boost_regex_vc7_mdi/cregex.obj vc7/boost_regex_vc7_mdi/fileiter.obj vc7/boost_regex_vc7_mdi/instances.obj vc7/boost_regex_vc7_mdi/posix_api.obj vc7/boost_regex_vc7_mdi/regex.obj vc7/boost_regex_vc7_mdi/regex_debug.obj vc7/boost_regex_vc7_mdi/regex_synch.obj vc7/boost_regex_vc7_mdi/w32_regex_traits.obj vc7/boost_regex_vc7_mdi/wide_posix_api.obj vc7/boost_regex_vc7_mdi/winstances.obj
./vc7/boost_regex-vc7-mt-1_31.lib : vc7/boost_regex-vc7-mt-1_31/c_regex_traits.obj vc7/boost_regex-vc7-mt-1_31/c_regex_traits_common.obj vc7/boost_regex-vc7-mt-1_31/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-1_31/cregex.obj vc7/boost_regex-vc7-mt-1_31/fileiter.obj vc7/boost_regex-vc7-mt-1_31/instances.obj vc7/boost_regex-vc7-mt-1_31/posix_api.obj vc7/boost_regex-vc7-mt-1_31/regex.obj vc7/boost_regex-vc7-mt-1_31/regex_debug.obj vc7/boost_regex-vc7-mt-1_31/regex_synch.obj vc7/boost_regex-vc7-mt-1_31/w32_regex_traits.obj vc7/boost_regex-vc7-mt-1_31/wide_posix_api.obj vc7/boost_regex-vc7-mt-1_31/winstances.obj
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7/boost_regex-vc7-mt-1_31.pdb" /debug /machine:I386 /out:"vc7/boost_regex-vc7-mt-1_31.dll" /implib:"vc7/boost_regex-vc7-mt-1_31.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc7/boost_regex-vc7-mt-1_31/c_regex_traits.obj vc7/boost_regex-vc7-mt-1_31/c_regex_traits_common.obj vc7/boost_regex-vc7-mt-1_31/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-1_31/cregex.obj vc7/boost_regex-vc7-mt-1_31/fileiter.obj vc7/boost_regex-vc7-mt-1_31/instances.obj vc7/boost_regex-vc7-mt-1_31/posix_api.obj vc7/boost_regex-vc7-mt-1_31/regex.obj vc7/boost_regex-vc7-mt-1_31/regex_debug.obj vc7/boost_regex-vc7-mt-1_31/regex_synch.obj vc7/boost_regex-vc7-mt-1_31/w32_regex_traits.obj vc7/boost_regex-vc7-mt-1_31/wide_posix_api.obj vc7/boost_regex-vc7-mt-1_31/winstances.obj
########################################################
#
# section for boost_regex_vc7_mds.lib
# section for libboost_regex-vc7-mt-1_31.lib
#
########################################################
vc7/boost_regex_vc7_mds/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/boost_regex_vc7_mds/boost_regex_vc7_mds.pch -Fo./vc7/boost_regex_vc7_mds/ -Fdvc7/boost_regex_vc7_mds.pdb ../src/c_regex_traits.cpp
vc7/libboost_regex-vc7-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_31/ -Fdvc7/libboost_regex-vc7-mt-1_31.pdb ../src/c_regex_traits.cpp
vc7/boost_regex_vc7_mds/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/boost_regex_vc7_mds/boost_regex_vc7_mds.pch -Fo./vc7/boost_regex_vc7_mds/ -Fdvc7/boost_regex_vc7_mds.pdb ../src/c_regex_traits_common.cpp
vc7/libboost_regex-vc7-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_31/ -Fdvc7/libboost_regex-vc7-mt-1_31.pdb ../src/c_regex_traits_common.cpp
vc7/boost_regex_vc7_mds/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/boost_regex_vc7_mds/boost_regex_vc7_mds.pch -Fo./vc7/boost_regex_vc7_mds/ -Fdvc7/boost_regex_vc7_mds.pdb ../src/cpp_regex_traits.cpp
vc7/libboost_regex-vc7-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_31/ -Fdvc7/libboost_regex-vc7-mt-1_31.pdb ../src/cpp_regex_traits.cpp
vc7/boost_regex_vc7_mds/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/boost_regex_vc7_mds/boost_regex_vc7_mds.pch -Fo./vc7/boost_regex_vc7_mds/ -Fdvc7/boost_regex_vc7_mds.pdb ../src/cregex.cpp
vc7/libboost_regex-vc7-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_31/ -Fdvc7/libboost_regex-vc7-mt-1_31.pdb ../src/cregex.cpp
vc7/boost_regex_vc7_mds/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/boost_regex_vc7_mds/boost_regex_vc7_mds.pch -Fo./vc7/boost_regex_vc7_mds/ -Fdvc7/boost_regex_vc7_mds.pdb ../src/fileiter.cpp
vc7/libboost_regex-vc7-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_31/ -Fdvc7/libboost_regex-vc7-mt-1_31.pdb ../src/fileiter.cpp
vc7/boost_regex_vc7_mds/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/boost_regex_vc7_mds/boost_regex_vc7_mds.pch -Fo./vc7/boost_regex_vc7_mds/ -Fdvc7/boost_regex_vc7_mds.pdb ../src/instances.cpp
vc7/libboost_regex-vc7-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_31/ -Fdvc7/libboost_regex-vc7-mt-1_31.pdb ../src/instances.cpp
vc7/boost_regex_vc7_mds/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/boost_regex_vc7_mds/boost_regex_vc7_mds.pch -Fo./vc7/boost_regex_vc7_mds/ -Fdvc7/boost_regex_vc7_mds.pdb ../src/posix_api.cpp
vc7/libboost_regex-vc7-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_31/ -Fdvc7/libboost_regex-vc7-mt-1_31.pdb ../src/posix_api.cpp
vc7/boost_regex_vc7_mds/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/boost_regex_vc7_mds/boost_regex_vc7_mds.pch -Fo./vc7/boost_regex_vc7_mds/ -Fdvc7/boost_regex_vc7_mds.pdb ../src/regex.cpp
vc7/libboost_regex-vc7-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_31/ -Fdvc7/libboost_regex-vc7-mt-1_31.pdb ../src/regex.cpp
vc7/boost_regex_vc7_mds/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/boost_regex_vc7_mds/boost_regex_vc7_mds.pch -Fo./vc7/boost_regex_vc7_mds/ -Fdvc7/boost_regex_vc7_mds.pdb ../src/regex_debug.cpp
vc7/libboost_regex-vc7-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_31/ -Fdvc7/libboost_regex-vc7-mt-1_31.pdb ../src/regex_debug.cpp
vc7/boost_regex_vc7_mds/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/boost_regex_vc7_mds/boost_regex_vc7_mds.pch -Fo./vc7/boost_regex_vc7_mds/ -Fdvc7/boost_regex_vc7_mds.pdb ../src/regex_synch.cpp
vc7/libboost_regex-vc7-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_31/ -Fdvc7/libboost_regex-vc7-mt-1_31.pdb ../src/regex_synch.cpp
vc7/boost_regex_vc7_mds/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/boost_regex_vc7_mds/boost_regex_vc7_mds.pch -Fo./vc7/boost_regex_vc7_mds/ -Fdvc7/boost_regex_vc7_mds.pdb ../src/w32_regex_traits.cpp
vc7/libboost_regex-vc7-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_31/ -Fdvc7/libboost_regex-vc7-mt-1_31.pdb ../src/w32_regex_traits.cpp
vc7/boost_regex_vc7_mds/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/boost_regex_vc7_mds/boost_regex_vc7_mds.pch -Fo./vc7/boost_regex_vc7_mds/ -Fdvc7/boost_regex_vc7_mds.pdb ../src/wide_posix_api.cpp
vc7/libboost_regex-vc7-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_31/ -Fdvc7/libboost_regex-vc7-mt-1_31.pdb ../src/wide_posix_api.cpp
vc7/boost_regex_vc7_mds/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/boost_regex_vc7_mds/boost_regex_vc7_mds.pch -Fo./vc7/boost_regex_vc7_mds/ -Fdvc7/boost_regex_vc7_mds.pdb ../src/winstances.cpp
vc7/libboost_regex-vc7-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_31/ -Fdvc7/libboost_regex-vc7-mt-1_31.pdb ../src/winstances.cpp
boost_regex_vc7_mds_dir :
@if not exist "vc7\boost_regex_vc7_mds\$(NULL)" mkdir vc7\boost_regex_vc7_mds
libboost_regex-vc7-mt-1_31_dir :
@if not exist "vc7\libboost_regex-vc7-mt-1_31\$(NULL)" mkdir vc7\libboost_regex-vc7-mt-1_31
boost_regex_vc7_mds_clean :
del vc7\boost_regex_vc7_mds\*.obj
del vc7\boost_regex_vc7_mds\*.idb
del vc7\boost_regex_vc7_mds\*.exp
del vc7\boost_regex_vc7_mds\*.pch
libboost_regex-vc7-mt-1_31_clean :
del vc7\libboost_regex-vc7-mt-1_31\*.obj
del vc7\libboost_regex-vc7-mt-1_31\*.idb
del vc7\libboost_regex-vc7-mt-1_31\*.exp
del vc7\libboost_regex-vc7-mt-1_31\*.pch
./vc7/boost_regex_vc7_mds.lib : vc7/boost_regex_vc7_mds/c_regex_traits.obj vc7/boost_regex_vc7_mds/c_regex_traits_common.obj vc7/boost_regex_vc7_mds/cpp_regex_traits.obj vc7/boost_regex_vc7_mds/cregex.obj vc7/boost_regex_vc7_mds/fileiter.obj vc7/boost_regex_vc7_mds/instances.obj vc7/boost_regex_vc7_mds/posix_api.obj vc7/boost_regex_vc7_mds/regex.obj vc7/boost_regex_vc7_mds/regex_debug.obj vc7/boost_regex_vc7_mds/regex_synch.obj vc7/boost_regex_vc7_mds/w32_regex_traits.obj vc7/boost_regex_vc7_mds/wide_posix_api.obj vc7/boost_regex_vc7_mds/winstances.obj
link -lib /nologo /out:vc7/boost_regex_vc7_mds.lib $(XSFLAGS) vc7/boost_regex_vc7_mds/c_regex_traits.obj vc7/boost_regex_vc7_mds/c_regex_traits_common.obj vc7/boost_regex_vc7_mds/cpp_regex_traits.obj vc7/boost_regex_vc7_mds/cregex.obj vc7/boost_regex_vc7_mds/fileiter.obj vc7/boost_regex_vc7_mds/instances.obj vc7/boost_regex_vc7_mds/posix_api.obj vc7/boost_regex_vc7_mds/regex.obj vc7/boost_regex_vc7_mds/regex_debug.obj vc7/boost_regex_vc7_mds/regex_synch.obj vc7/boost_regex_vc7_mds/w32_regex_traits.obj vc7/boost_regex_vc7_mds/wide_posix_api.obj vc7/boost_regex_vc7_mds/winstances.obj
./vc7/libboost_regex-vc7-mt-1_31.lib : vc7/libboost_regex-vc7-mt-1_31/c_regex_traits.obj vc7/libboost_regex-vc7-mt-1_31/c_regex_traits_common.obj vc7/libboost_regex-vc7-mt-1_31/cpp_regex_traits.obj vc7/libboost_regex-vc7-mt-1_31/cregex.obj vc7/libboost_regex-vc7-mt-1_31/fileiter.obj vc7/libboost_regex-vc7-mt-1_31/instances.obj vc7/libboost_regex-vc7-mt-1_31/posix_api.obj vc7/libboost_regex-vc7-mt-1_31/regex.obj vc7/libboost_regex-vc7-mt-1_31/regex_debug.obj vc7/libboost_regex-vc7-mt-1_31/regex_synch.obj vc7/libboost_regex-vc7-mt-1_31/w32_regex_traits.obj vc7/libboost_regex-vc7-mt-1_31/wide_posix_api.obj vc7/libboost_regex-vc7-mt-1_31/winstances.obj
link -lib /nologo /out:vc7/libboost_regex-vc7-mt-1_31.lib $(XSFLAGS) vc7/libboost_regex-vc7-mt-1_31/c_regex_traits.obj vc7/libboost_regex-vc7-mt-1_31/c_regex_traits_common.obj vc7/libboost_regex-vc7-mt-1_31/cpp_regex_traits.obj vc7/libboost_regex-vc7-mt-1_31/cregex.obj vc7/libboost_regex-vc7-mt-1_31/fileiter.obj vc7/libboost_regex-vc7-mt-1_31/instances.obj vc7/libboost_regex-vc7-mt-1_31/posix_api.obj vc7/libboost_regex-vc7-mt-1_31/regex.obj vc7/libboost_regex-vc7-mt-1_31/regex_debug.obj vc7/libboost_regex-vc7-mt-1_31/regex_synch.obj vc7/libboost_regex-vc7-mt-1_31/w32_regex_traits.obj vc7/libboost_regex-vc7-mt-1_31/wide_posix_api.obj vc7/libboost_regex-vc7-mt-1_31/winstances.obj
########################################################
#
# section for boost_regex_vc7_mdsd.lib
# section for libboost_regex-vc7-mt-gd-1_31.lib
#
########################################################
vc7/boost_regex_vc7_mdsd/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/boost_regex_vc7_mdsd/boost_regex_vc7_mdsd.pch -Fo./vc7/boost_regex_vc7_mdsd/ -Fdvc7/boost_regex_vc7_mdsd.pdb ../src/c_regex_traits.cpp
vc7/libboost_regex-vc7-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_31/ -Fdvc7/libboost_regex-vc7-mt-gd-1_31.pdb ../src/c_regex_traits.cpp
vc7/boost_regex_vc7_mdsd/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/boost_regex_vc7_mdsd/boost_regex_vc7_mdsd.pch -Fo./vc7/boost_regex_vc7_mdsd/ -Fdvc7/boost_regex_vc7_mdsd.pdb ../src/c_regex_traits_common.cpp
vc7/libboost_regex-vc7-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_31/ -Fdvc7/libboost_regex-vc7-mt-gd-1_31.pdb ../src/c_regex_traits_common.cpp
vc7/boost_regex_vc7_mdsd/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/boost_regex_vc7_mdsd/boost_regex_vc7_mdsd.pch -Fo./vc7/boost_regex_vc7_mdsd/ -Fdvc7/boost_regex_vc7_mdsd.pdb ../src/cpp_regex_traits.cpp
vc7/libboost_regex-vc7-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_31/ -Fdvc7/libboost_regex-vc7-mt-gd-1_31.pdb ../src/cpp_regex_traits.cpp
vc7/boost_regex_vc7_mdsd/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/boost_regex_vc7_mdsd/boost_regex_vc7_mdsd.pch -Fo./vc7/boost_regex_vc7_mdsd/ -Fdvc7/boost_regex_vc7_mdsd.pdb ../src/cregex.cpp
vc7/libboost_regex-vc7-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_31/ -Fdvc7/libboost_regex-vc7-mt-gd-1_31.pdb ../src/cregex.cpp
vc7/boost_regex_vc7_mdsd/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/boost_regex_vc7_mdsd/boost_regex_vc7_mdsd.pch -Fo./vc7/boost_regex_vc7_mdsd/ -Fdvc7/boost_regex_vc7_mdsd.pdb ../src/fileiter.cpp
vc7/libboost_regex-vc7-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_31/ -Fdvc7/libboost_regex-vc7-mt-gd-1_31.pdb ../src/fileiter.cpp
vc7/boost_regex_vc7_mdsd/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/boost_regex_vc7_mdsd/boost_regex_vc7_mdsd.pch -Fo./vc7/boost_regex_vc7_mdsd/ -Fdvc7/boost_regex_vc7_mdsd.pdb ../src/instances.cpp
vc7/libboost_regex-vc7-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_31/ -Fdvc7/libboost_regex-vc7-mt-gd-1_31.pdb ../src/instances.cpp
vc7/boost_regex_vc7_mdsd/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/boost_regex_vc7_mdsd/boost_regex_vc7_mdsd.pch -Fo./vc7/boost_regex_vc7_mdsd/ -Fdvc7/boost_regex_vc7_mdsd.pdb ../src/posix_api.cpp
vc7/libboost_regex-vc7-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_31/ -Fdvc7/libboost_regex-vc7-mt-gd-1_31.pdb ../src/posix_api.cpp
vc7/boost_regex_vc7_mdsd/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/boost_regex_vc7_mdsd/boost_regex_vc7_mdsd.pch -Fo./vc7/boost_regex_vc7_mdsd/ -Fdvc7/boost_regex_vc7_mdsd.pdb ../src/regex.cpp
vc7/libboost_regex-vc7-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_31/ -Fdvc7/libboost_regex-vc7-mt-gd-1_31.pdb ../src/regex.cpp
vc7/boost_regex_vc7_mdsd/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/boost_regex_vc7_mdsd/boost_regex_vc7_mdsd.pch -Fo./vc7/boost_regex_vc7_mdsd/ -Fdvc7/boost_regex_vc7_mdsd.pdb ../src/regex_debug.cpp
vc7/libboost_regex-vc7-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_31/ -Fdvc7/libboost_regex-vc7-mt-gd-1_31.pdb ../src/regex_debug.cpp
vc7/boost_regex_vc7_mdsd/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/boost_regex_vc7_mdsd/boost_regex_vc7_mdsd.pch -Fo./vc7/boost_regex_vc7_mdsd/ -Fdvc7/boost_regex_vc7_mdsd.pdb ../src/regex_synch.cpp
vc7/libboost_regex-vc7-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_31/ -Fdvc7/libboost_regex-vc7-mt-gd-1_31.pdb ../src/regex_synch.cpp
vc7/boost_regex_vc7_mdsd/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/boost_regex_vc7_mdsd/boost_regex_vc7_mdsd.pch -Fo./vc7/boost_regex_vc7_mdsd/ -Fdvc7/boost_regex_vc7_mdsd.pdb ../src/w32_regex_traits.cpp
vc7/libboost_regex-vc7-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_31/ -Fdvc7/libboost_regex-vc7-mt-gd-1_31.pdb ../src/w32_regex_traits.cpp
vc7/boost_regex_vc7_mdsd/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/boost_regex_vc7_mdsd/boost_regex_vc7_mdsd.pch -Fo./vc7/boost_regex_vc7_mdsd/ -Fdvc7/boost_regex_vc7_mdsd.pdb ../src/wide_posix_api.cpp
vc7/libboost_regex-vc7-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_31/ -Fdvc7/libboost_regex-vc7-mt-gd-1_31.pdb ../src/wide_posix_api.cpp
vc7/boost_regex_vc7_mdsd/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/boost_regex_vc7_mdsd/boost_regex_vc7_mdsd.pch -Fo./vc7/boost_regex_vc7_mdsd/ -Fdvc7/boost_regex_vc7_mdsd.pdb ../src/winstances.cpp
vc7/libboost_regex-vc7-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_31/ -Fdvc7/libboost_regex-vc7-mt-gd-1_31.pdb ../src/winstances.cpp
boost_regex_vc7_mdsd_dir :
@if not exist "vc7\boost_regex_vc7_mdsd\$(NULL)" mkdir vc7\boost_regex_vc7_mdsd
libboost_regex-vc7-mt-gd-1_31_dir :
@if not exist "vc7\libboost_regex-vc7-mt-gd-1_31\$(NULL)" mkdir vc7\libboost_regex-vc7-mt-gd-1_31
boost_regex_vc7_mdsd_clean :
del vc7\boost_regex_vc7_mdsd\*.obj
del vc7\boost_regex_vc7_mdsd\*.idb
del vc7\boost_regex_vc7_mdsd\*.exp
del vc7\boost_regex_vc7_mdsd\*.pch
libboost_regex-vc7-mt-gd-1_31_clean :
del vc7\libboost_regex-vc7-mt-gd-1_31\*.obj
del vc7\libboost_regex-vc7-mt-gd-1_31\*.idb
del vc7\libboost_regex-vc7-mt-gd-1_31\*.exp
del vc7\libboost_regex-vc7-mt-gd-1_31\*.pch
./vc7/boost_regex_vc7_mdsd.lib : vc7/boost_regex_vc7_mdsd/c_regex_traits.obj vc7/boost_regex_vc7_mdsd/c_regex_traits_common.obj vc7/boost_regex_vc7_mdsd/cpp_regex_traits.obj vc7/boost_regex_vc7_mdsd/cregex.obj vc7/boost_regex_vc7_mdsd/fileiter.obj vc7/boost_regex_vc7_mdsd/instances.obj vc7/boost_regex_vc7_mdsd/posix_api.obj vc7/boost_regex_vc7_mdsd/regex.obj vc7/boost_regex_vc7_mdsd/regex_debug.obj vc7/boost_regex_vc7_mdsd/regex_synch.obj vc7/boost_regex_vc7_mdsd/w32_regex_traits.obj vc7/boost_regex_vc7_mdsd/wide_posix_api.obj vc7/boost_regex_vc7_mdsd/winstances.obj
link -lib /nologo /out:vc7/boost_regex_vc7_mdsd.lib $(XSFLAGS) vc7/boost_regex_vc7_mdsd/c_regex_traits.obj vc7/boost_regex_vc7_mdsd/c_regex_traits_common.obj vc7/boost_regex_vc7_mdsd/cpp_regex_traits.obj vc7/boost_regex_vc7_mdsd/cregex.obj vc7/boost_regex_vc7_mdsd/fileiter.obj vc7/boost_regex_vc7_mdsd/instances.obj vc7/boost_regex_vc7_mdsd/posix_api.obj vc7/boost_regex_vc7_mdsd/regex.obj vc7/boost_regex_vc7_mdsd/regex_debug.obj vc7/boost_regex_vc7_mdsd/regex_synch.obj vc7/boost_regex_vc7_mdsd/w32_regex_traits.obj vc7/boost_regex_vc7_mdsd/wide_posix_api.obj vc7/boost_regex_vc7_mdsd/winstances.obj
./vc7/libboost_regex-vc7-mt-gd-1_31.lib : vc7/libboost_regex-vc7-mt-gd-1_31/c_regex_traits.obj vc7/libboost_regex-vc7-mt-gd-1_31/c_regex_traits_common.obj vc7/libboost_regex-vc7-mt-gd-1_31/cpp_regex_traits.obj vc7/libboost_regex-vc7-mt-gd-1_31/cregex.obj vc7/libboost_regex-vc7-mt-gd-1_31/fileiter.obj vc7/libboost_regex-vc7-mt-gd-1_31/instances.obj vc7/libboost_regex-vc7-mt-gd-1_31/posix_api.obj vc7/libboost_regex-vc7-mt-gd-1_31/regex.obj vc7/libboost_regex-vc7-mt-gd-1_31/regex_debug.obj vc7/libboost_regex-vc7-mt-gd-1_31/regex_synch.obj vc7/libboost_regex-vc7-mt-gd-1_31/w32_regex_traits.obj vc7/libboost_regex-vc7-mt-gd-1_31/wide_posix_api.obj vc7/libboost_regex-vc7-mt-gd-1_31/winstances.obj
link -lib /nologo /out:vc7/libboost_regex-vc7-mt-gd-1_31.lib $(XSFLAGS) vc7/libboost_regex-vc7-mt-gd-1_31/c_regex_traits.obj vc7/libboost_regex-vc7-mt-gd-1_31/c_regex_traits_common.obj vc7/libboost_regex-vc7-mt-gd-1_31/cpp_regex_traits.obj vc7/libboost_regex-vc7-mt-gd-1_31/cregex.obj vc7/libboost_regex-vc7-mt-gd-1_31/fileiter.obj vc7/libboost_regex-vc7-mt-gd-1_31/instances.obj vc7/libboost_regex-vc7-mt-gd-1_31/posix_api.obj vc7/libboost_regex-vc7-mt-gd-1_31/regex.obj vc7/libboost_regex-vc7-mt-gd-1_31/regex_debug.obj vc7/libboost_regex-vc7-mt-gd-1_31/regex_synch.obj vc7/libboost_regex-vc7-mt-gd-1_31/w32_regex_traits.obj vc7/libboost_regex-vc7-mt-gd-1_31/wide_posix_api.obj vc7/libboost_regex-vc7-mt-gd-1_31/winstances.obj

404
build/vc71-stlport.mak Normal file
View File

@ -0,0 +1,404 @@
#
# 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 ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_compile.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_synch.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cstring.hpp ../../../boost/regex/config/cwchar.hpp ../../../boost/regex/config/regex_library_include.hpp
all : main_dir libboost_regex-vc71-mt-sp-1_31_dir ./vc71-stlport/libboost_regex-vc71-mt-sp-1_31.lib boost_regex-vc71-mt-p-1_31_dir ./vc71-stlport/boost_regex-vc71-mt-p-1_31.lib libboost_regex-vc71-mt-p-1_31_dir ./vc71-stlport/libboost_regex-vc71-mt-p-1_31.lib boost_regex-vc71-mt-gdp-1_31_dir ./vc71-stlport/boost_regex-vc71-mt-gdp-1_31.lib libboost_regex-vc71-mt-sgdp-1_31_dir ./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31.lib libboost_regex-vc71-mt-gdp-1_31_dir ./vc71-stlport/libboost_regex-vc71-mt-gdp-1_31.lib
clean : libboost_regex-vc71-mt-sp-1_31_clean boost_regex-vc71-mt-p-1_31_clean libboost_regex-vc71-mt-p-1_31_clean boost_regex-vc71-mt-gdp-1_31_clean libboost_regex-vc71-mt-sgdp-1_31_clean libboost_regex-vc71-mt-gdp-1_31_clean
install : stlport_check all
copy vc71-stlport\libboost_regex-vc71-mt-sp-1_31.lib "$(MSVCDIR)\lib"
copy vc71-stlport\boost_regex-vc71-mt-p-1_31.lib "$(MSVCDIR)\lib"
copy vc71-stlport\boost_regex-vc71-mt-p-1_31.dll "$(MSVCDIR)\bin"
copy vc71-stlport\libboost_regex-vc71-mt-p-1_31.lib "$(MSVCDIR)\lib"
copy vc71-stlport\boost_regex-vc71-mt-gdp-1_31.lib "$(MSVCDIR)\lib"
copy vc71-stlport\boost_regex-vc71-mt-gdp-1_31.dll "$(MSVCDIR)\bin"
copy vc71-stlport\boost_regex-vc71-mt-gdp-1_31.pdb "$(MSVCDIR)\lib"
copy vc71-stlport\libboost_regex-vc71-mt-sgdp-1_31.lib "$(MSVCDIR)\lib"
copy vc71-stlport\libboost_regex-vc71-mt-sgdp-1_31.pdb "$(MSVCDIR)\lib"
copy vc71-stlport\libboost_regex-vc71-mt-gdp-1_31.lib "$(MSVCDIR)\lib"
copy vc71-stlport\libboost_regex-vc71-mt-gdp-1_31.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-mt-sp-1_31.lib
#
########################################################
vc71-stlport/libboost_regex-vc71-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_31.pdb ../src/c_regex_traits.cpp
vc71-stlport/libboost_regex-vc71-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_31.pdb ../src/c_regex_traits_common.cpp
vc71-stlport/libboost_regex-vc71-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_31.pdb ../src/cpp_regex_traits.cpp
vc71-stlport/libboost_regex-vc71-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_31.pdb ../src/cregex.cpp
vc71-stlport/libboost_regex-vc71-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_31.pdb ../src/fileiter.cpp
vc71-stlport/libboost_regex-vc71-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_31.pdb ../src/instances.cpp
vc71-stlport/libboost_regex-vc71-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_31.pdb ../src/posix_api.cpp
vc71-stlport/libboost_regex-vc71-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_31.pdb ../src/regex.cpp
vc71-stlport/libboost_regex-vc71-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_31.pdb ../src/regex_debug.cpp
vc71-stlport/libboost_regex-vc71-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_31.pdb ../src/regex_synch.cpp
vc71-stlport/libboost_regex-vc71-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_31.pdb ../src/w32_regex_traits.cpp
vc71-stlport/libboost_regex-vc71-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_31.pdb ../src/wide_posix_api.cpp
vc71-stlport/libboost_regex-vc71-mt-sp-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_31.pdb ../src/winstances.cpp
libboost_regex-vc71-mt-sp-1_31_dir :
@if not exist "vc71-stlport\libboost_regex-vc71-mt-sp-1_31\$(NULL)" mkdir vc71-stlport\libboost_regex-vc71-mt-sp-1_31
libboost_regex-vc71-mt-sp-1_31_clean :
del vc71-stlport\libboost_regex-vc71-mt-sp-1_31\*.obj
del vc71-stlport\libboost_regex-vc71-mt-sp-1_31\*.idb
del vc71-stlport\libboost_regex-vc71-mt-sp-1_31\*.exp
del vc71-stlport\libboost_regex-vc71-mt-sp-1_31\*.pch
./vc71-stlport/libboost_regex-vc71-mt-sp-1_31.lib : vc71-stlport/libboost_regex-vc71-mt-sp-1_31/c_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/c_regex_traits_common.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/cpp_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/cregex.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/fileiter.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/instances.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/posix_api.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/regex.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/regex_debug.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/regex_synch.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/w32_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/wide_posix_api.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/winstances.obj
link -lib /nologo /out:vc71-stlport/libboost_regex-vc71-mt-sp-1_31.lib $(XSFLAGS) vc71-stlport/libboost_regex-vc71-mt-sp-1_31/c_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/c_regex_traits_common.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/cpp_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/cregex.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/fileiter.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/instances.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/posix_api.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/regex.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/regex_debug.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/regex_synch.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/w32_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/wide_posix_api.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_31/winstances.obj
########################################################
#
# section for boost_regex-vc71-mt-p-1_31.lib
#
########################################################
vc71-stlport/boost_regex-vc71-mt-p-1_31/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../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_31.pdb ../src/c_regex_traits.cpp
vc71-stlport/boost_regex-vc71-mt-p-1_31/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../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_31.pdb ../src/c_regex_traits_common.cpp
vc71-stlport/boost_regex-vc71-mt-p-1_31/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../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_31.pdb ../src/cpp_regex_traits.cpp
vc71-stlport/boost_regex-vc71-mt-p-1_31/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_31.pdb ../src/cregex.cpp
vc71-stlport/boost_regex-vc71-mt-p-1_31/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_31.pdb ../src/fileiter.cpp
vc71-stlport/boost_regex-vc71-mt-p-1_31/instances.obj: ../src/instances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_31.pdb ../src/instances.cpp
vc71-stlport/boost_regex-vc71-mt-p-1_31/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_31.pdb ../src/posix_api.cpp
vc71-stlport/boost_regex-vc71-mt-p-1_31/regex.obj: ../src/regex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_31.pdb ../src/regex.cpp
vc71-stlport/boost_regex-vc71-mt-p-1_31/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_31.pdb ../src/regex_debug.cpp
vc71-stlport/boost_regex-vc71-mt-p-1_31/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_31.pdb ../src/regex_synch.cpp
vc71-stlport/boost_regex-vc71-mt-p-1_31/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../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_31.pdb ../src/w32_regex_traits.cpp
vc71-stlport/boost_regex-vc71-mt-p-1_31/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../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_31.pdb ../src/wide_posix_api.cpp
vc71-stlport/boost_regex-vc71-mt-p-1_31/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_31.pdb ../src/winstances.cpp
boost_regex-vc71-mt-p-1_31_dir :
@if not exist "vc71-stlport\boost_regex-vc71-mt-p-1_31\$(NULL)" mkdir vc71-stlport\boost_regex-vc71-mt-p-1_31
boost_regex-vc71-mt-p-1_31_clean :
del vc71-stlport\boost_regex-vc71-mt-p-1_31\*.obj
del vc71-stlport\boost_regex-vc71-mt-p-1_31\*.idb
del vc71-stlport\boost_regex-vc71-mt-p-1_31\*.exp
del vc71-stlport\boost_regex-vc71-mt-p-1_31\*.pch
./vc71-stlport/boost_regex-vc71-mt-p-1_31.lib : vc71-stlport/boost_regex-vc71-mt-p-1_31/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/c_regex_traits_common.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/cpp_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/cregex.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/fileiter.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/instances.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/posix_api.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/regex.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/regex_debug.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/regex_synch.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/w32_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/wide_posix_api.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/winstances.obj
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/boost_regex-vc71-mt-p-1_31.pdb" /debug /machine:I386 /out:"vc71-stlport/boost_regex-vc71-mt-p-1_31.dll" /implib:"vc71-stlport/boost_regex-vc71-mt-p-1_31.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc71-stlport/boost_regex-vc71-mt-p-1_31/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/c_regex_traits_common.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/cpp_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/cregex.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/fileiter.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/instances.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/posix_api.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/regex.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/regex_debug.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/regex_synch.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/w32_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/wide_posix_api.obj vc71-stlport/boost_regex-vc71-mt-p-1_31/winstances.obj
########################################################
#
# section for libboost_regex-vc71-mt-p-1_31.lib
#
########################################################
vc71-stlport/libboost_regex-vc71-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_31.pdb ../src/c_regex_traits.cpp
vc71-stlport/libboost_regex-vc71-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_31.pdb ../src/c_regex_traits_common.cpp
vc71-stlport/libboost_regex-vc71-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_31.pdb ../src/cpp_regex_traits.cpp
vc71-stlport/libboost_regex-vc71-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_31.pdb ../src/cregex.cpp
vc71-stlport/libboost_regex-vc71-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_31.pdb ../src/fileiter.cpp
vc71-stlport/libboost_regex-vc71-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_31.pdb ../src/instances.cpp
vc71-stlport/libboost_regex-vc71-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_31.pdb ../src/posix_api.cpp
vc71-stlport/libboost_regex-vc71-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_31.pdb ../src/regex.cpp
vc71-stlport/libboost_regex-vc71-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_31.pdb ../src/regex_debug.cpp
vc71-stlport/libboost_regex-vc71-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_31.pdb ../src/regex_synch.cpp
vc71-stlport/libboost_regex-vc71-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_31.pdb ../src/w32_regex_traits.cpp
vc71-stlport/libboost_regex-vc71-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_31.pdb ../src/wide_posix_api.cpp
vc71-stlport/libboost_regex-vc71-mt-p-1_31/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 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_31.pdb ../src/winstances.cpp
libboost_regex-vc71-mt-p-1_31_dir :
@if not exist "vc71-stlport\libboost_regex-vc71-mt-p-1_31\$(NULL)" mkdir vc71-stlport\libboost_regex-vc71-mt-p-1_31
libboost_regex-vc71-mt-p-1_31_clean :
del vc71-stlport\libboost_regex-vc71-mt-p-1_31\*.obj
del vc71-stlport\libboost_regex-vc71-mt-p-1_31\*.idb
del vc71-stlport\libboost_regex-vc71-mt-p-1_31\*.exp
del vc71-stlport\libboost_regex-vc71-mt-p-1_31\*.pch
./vc71-stlport/libboost_regex-vc71-mt-p-1_31.lib : vc71-stlport/libboost_regex-vc71-mt-p-1_31/c_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/c_regex_traits_common.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/cpp_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/cregex.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/fileiter.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/instances.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/posix_api.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/regex.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/regex_debug.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/regex_synch.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/w32_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/wide_posix_api.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/winstances.obj
link -lib /nologo /out:vc71-stlport/libboost_regex-vc71-mt-p-1_31.lib $(XSFLAGS) vc71-stlport/libboost_regex-vc71-mt-p-1_31/c_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/c_regex_traits_common.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/cpp_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/cregex.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/fileiter.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/instances.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/posix_api.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/regex.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/regex_debug.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/regex_synch.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/w32_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/wide_posix_api.obj vc71-stlport/libboost_regex-vc71-mt-p-1_31/winstances.obj
########################################################
#
# section for boost_regex-vc71-mt-gdp-1_31.lib
#
########################################################
vc71-stlport/boost_regex-vc71-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_31.pdb ../src/c_regex_traits.cpp
vc71-stlport/boost_regex-vc71-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_31.pdb ../src/c_regex_traits_common.cpp
vc71-stlport/boost_regex-vc71-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_31.pdb ../src/cpp_regex_traits.cpp
vc71-stlport/boost_regex-vc71-mt-gdp-1_31/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_31.pdb ../src/cregex.cpp
vc71-stlport/boost_regex-vc71-mt-gdp-1_31/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_31.pdb ../src/fileiter.cpp
vc71-stlport/boost_regex-vc71-mt-gdp-1_31/instances.obj: ../src/instances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_31.pdb ../src/instances.cpp
vc71-stlport/boost_regex-vc71-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_31.pdb ../src/posix_api.cpp
vc71-stlport/boost_regex-vc71-mt-gdp-1_31/regex.obj: ../src/regex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_31.pdb ../src/regex.cpp
vc71-stlport/boost_regex-vc71-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_31.pdb ../src/regex_debug.cpp
vc71-stlport/boost_regex-vc71-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_31.pdb ../src/regex_synch.cpp
vc71-stlport/boost_regex-vc71-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_31.pdb ../src/w32_regex_traits.cpp
vc71-stlport/boost_regex-vc71-mt-gdp-1_31/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_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_31.pdb ../src/wide_posix_api.cpp
vc71-stlport/boost_regex-vc71-mt-gdp-1_31/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_31.pdb ../src/winstances.cpp
boost_regex-vc71-mt-gdp-1_31_dir :
@if not exist "vc71-stlport\boost_regex-vc71-mt-gdp-1_31\$(NULL)" mkdir vc71-stlport\boost_regex-vc71-mt-gdp-1_31
boost_regex-vc71-mt-gdp-1_31_clean :
del vc71-stlport\boost_regex-vc71-mt-gdp-1_31\*.obj
del vc71-stlport\boost_regex-vc71-mt-gdp-1_31\*.idb
del vc71-stlport\boost_regex-vc71-mt-gdp-1_31\*.exp
del vc71-stlport\boost_regex-vc71-mt-gdp-1_31\*.pch
./vc71-stlport/boost_regex-vc71-mt-gdp-1_31.lib : vc71-stlport/boost_regex-vc71-mt-gdp-1_31/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/c_regex_traits_common.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/cpp_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/cregex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/fileiter.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/instances.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/posix_api.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/regex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/regex_debug.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/regex_synch.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/w32_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/wide_posix_api.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/winstances.obj
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/boost_regex-vc71-mt-gdp-1_31.pdb" /debug /machine:I386 /out:"vc71-stlport/boost_regex-vc71-mt-gdp-1_31.dll" /implib:"vc71-stlport/boost_regex-vc71-mt-gdp-1_31.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc71-stlport/boost_regex-vc71-mt-gdp-1_31/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/c_regex_traits_common.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/cpp_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/cregex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/fileiter.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/instances.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/posix_api.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/regex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/regex_debug.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/regex_synch.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/w32_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/wide_posix_api.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_31/winstances.obj
########################################################
#
# section for libboost_regex-vc71-mt-sgdp-1_31.lib
#
########################################################
vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_31.pdb ../src/c_regex_traits.cpp
vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_31.pdb ../src/c_regex_traits_common.cpp
vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_31.pdb ../src/cpp_regex_traits.cpp
vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_31.pdb ../src/cregex.cpp
vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_31.pdb ../src/fileiter.cpp
vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_31.pdb ../src/instances.cpp
vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_31.pdb ../src/posix_api.cpp
vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_31.pdb ../src/regex.cpp
vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_31.pdb ../src/regex_debug.cpp
vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_31.pdb ../src/regex_synch.cpp
vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_31.pdb ../src/w32_regex_traits.cpp
vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_31.pdb ../src/wide_posix_api.cpp
vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_31.pdb ../src/winstances.cpp
libboost_regex-vc71-mt-sgdp-1_31_dir :
@if not exist "vc71-stlport\libboost_regex-vc71-mt-sgdp-1_31\$(NULL)" mkdir vc71-stlport\libboost_regex-vc71-mt-sgdp-1_31
libboost_regex-vc71-mt-sgdp-1_31_clean :
del vc71-stlport\libboost_regex-vc71-mt-sgdp-1_31\*.obj
del vc71-stlport\libboost_regex-vc71-mt-sgdp-1_31\*.idb
del vc71-stlport\libboost_regex-vc71-mt-sgdp-1_31\*.exp
del vc71-stlport\libboost_regex-vc71-mt-sgdp-1_31\*.pch
./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31.lib : vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/c_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/c_regex_traits_common.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/cpp_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/cregex.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/fileiter.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/instances.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/posix_api.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/regex.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/regex_debug.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/regex_synch.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/w32_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/wide_posix_api.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/winstances.obj
link -lib /nologo /out:vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31.lib $(XSFLAGS) vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/c_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/c_regex_traits_common.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/cpp_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/cregex.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/fileiter.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/instances.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/posix_api.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/regex.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/regex_debug.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/regex_synch.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/w32_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/wide_posix_api.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_31/winstances.obj
########################################################
#
# section for libboost_regex-vc71-mt-gdp-1_31.lib
#
########################################################
vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_31.pdb ../src/c_regex_traits.cpp
vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_31.pdb ../src/c_regex_traits_common.cpp
vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_31.pdb ../src/cpp_regex_traits.cpp
vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_31.pdb ../src/cregex.cpp
vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_31.pdb ../src/fileiter.cpp
vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_31.pdb ../src/instances.cpp
vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_31.pdb ../src/posix_api.cpp
vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_31.pdb ../src/regex.cpp
vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_31.pdb ../src/regex_debug.cpp
vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_31.pdb ../src/regex_synch.cpp
vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_31.pdb ../src/w32_regex_traits.cpp
vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_31.pdb ../src/wide_posix_api.cpp
vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/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 /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_31.pdb ../src/winstances.cpp
libboost_regex-vc71-mt-gdp-1_31_dir :
@if not exist "vc71-stlport\libboost_regex-vc71-mt-gdp-1_31\$(NULL)" mkdir vc71-stlport\libboost_regex-vc71-mt-gdp-1_31
libboost_regex-vc71-mt-gdp-1_31_clean :
del vc71-stlport\libboost_regex-vc71-mt-gdp-1_31\*.obj
del vc71-stlport\libboost_regex-vc71-mt-gdp-1_31\*.idb
del vc71-stlport\libboost_regex-vc71-mt-gdp-1_31\*.exp
del vc71-stlport\libboost_regex-vc71-mt-gdp-1_31\*.pch
./vc71-stlport/libboost_regex-vc71-mt-gdp-1_31.lib : vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/c_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/c_regex_traits_common.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/cpp_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/cregex.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/fileiter.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/instances.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/posix_api.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/regex.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/regex_debug.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/regex_synch.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/w32_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/wide_posix_api.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/winstances.obj
link -lib /nologo /out:vc71-stlport/libboost_regex-vc71-mt-gdp-1_31.lib $(XSFLAGS) vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/c_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/c_regex_traits_common.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/cpp_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/cregex.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/fileiter.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/instances.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/posix_api.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/regex.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/regex_debug.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/regex_synch.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/w32_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/wide_posix_api.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_31/winstances.obj

512
build/vc71.mak Normal file
View File

@ -0,0 +1,512 @@
#
# 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 ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../../boost/regex/v4/fileiter.hpp ../../../boost/regex/v4/instances.hpp ../../../boost/regex/v4/iterator_category.hpp ../../../boost/regex/v4/iterator_traits.hpp ../../../boost/regex/v4/match_flags.hpp ../../../boost/regex/v4/match_results.hpp ../../../boost/regex/v4/mem_block_cache.hpp ../../../boost/regex/v4/perl_matcher.hpp ../../../boost/regex/v4/perl_matcher_common.hpp ../../../boost/regex/v4/perl_matcher_non_recursive.hpp ../../../boost/regex/v4/perl_matcher_recursive.hpp ../../../boost/regex/v4/regbase.hpp ../../../boost/regex/v4/regex.hpp ../../../boost/regex/v4/regex_compile.hpp ../../../boost/regex/v4/regex_cstring.hpp ../../../boost/regex/v4/regex_format.hpp ../../../boost/regex/v4/regex_fwd.hpp ../../../boost/regex/v4/regex_grep.hpp ../../../boost/regex/v4/regex_iterator.hpp ../../../boost/regex/v4/regex_kmp.hpp ../../../boost/regex/v4/regex_match.hpp ../../../boost/regex/v4/regex_merge.hpp ../../../boost/regex/v4/regex_raw_buffer.hpp ../../../boost/regex/v4/regex_replace.hpp ../../../boost/regex/v4/regex_search.hpp ../../../boost/regex/v4/regex_split.hpp ../../../boost/regex/v4/regex_stack.hpp ../../../boost/regex/v4/regex_synch.hpp ../../../boost/regex/v4/regex_token_iterator.hpp ../../../boost/regex/v4/regex_traits.hpp ../../../boost/regex/v4/states.hpp ../../../boost/regex/v4/sub_match.hpp ../../../boost/regex/config/borland.hpp ../../../boost/regex/config/cstring.hpp ../../../boost/regex/config/cwchar.hpp ../../../boost/regex/config/regex_library_include.hpp
all : main_dir libboost_regex-vc71-s-1_31_dir ./vc71/libboost_regex-vc71-s-1_31.lib libboost_regex-vc71-mt-s-1_31_dir ./vc71/libboost_regex-vc71-mt-s-1_31.lib libboost_regex-vc71-sgd-1_31_dir ./vc71/libboost_regex-vc71-sgd-1_31.lib libboost_regex-vc71-mt-sgd-1_31_dir ./vc71/libboost_regex-vc71-mt-sgd-1_31.lib boost_regex-vc71-mt-gd-1_31_dir ./vc71/boost_regex-vc71-mt-gd-1_31.lib boost_regex-vc71-mt-1_31_dir ./vc71/boost_regex-vc71-mt-1_31.lib libboost_regex-vc71-mt-1_31_dir ./vc71/libboost_regex-vc71-mt-1_31.lib libboost_regex-vc71-mt-gd-1_31_dir ./vc71/libboost_regex-vc71-mt-gd-1_31.lib
clean : libboost_regex-vc71-s-1_31_clean libboost_regex-vc71-mt-s-1_31_clean libboost_regex-vc71-sgd-1_31_clean libboost_regex-vc71-mt-sgd-1_31_clean boost_regex-vc71-mt-gd-1_31_clean boost_regex-vc71-mt-1_31_clean libboost_regex-vc71-mt-1_31_clean libboost_regex-vc71-mt-gd-1_31_clean
install : all
copy vc71\libboost_regex-vc71-s-1_31.lib "$(MSVCDIR)\lib"
copy vc71\libboost_regex-vc71-mt-s-1_31.lib "$(MSVCDIR)\lib"
copy vc71\libboost_regex-vc71-sgd-1_31.lib "$(MSVCDIR)\lib"
copy vc71\libboost_regex-vc71-sgd-1_31.pdb "$(MSVCDIR)\lib"
copy vc71\libboost_regex-vc71-mt-sgd-1_31.lib "$(MSVCDIR)\lib"
copy vc71\libboost_regex-vc71-mt-sgd-1_31.pdb "$(MSVCDIR)\lib"
copy vc71\boost_regex-vc71-mt-gd-1_31.lib "$(MSVCDIR)\lib"
copy vc71\boost_regex-vc71-mt-gd-1_31.dll "$(MSVCDIR)\bin"
copy vc71\boost_regex-vc71-mt-gd-1_31.pdb "$(MSVCDIR)\lib"
copy vc71\boost_regex-vc71-mt-1_31.lib "$(MSVCDIR)\lib"
copy vc71\boost_regex-vc71-mt-1_31.dll "$(MSVCDIR)\bin"
copy vc71\libboost_regex-vc71-mt-1_31.lib "$(MSVCDIR)\lib"
copy vc71\libboost_regex-vc71-mt-gd-1_31.lib "$(MSVCDIR)\lib"
copy vc71\libboost_regex-vc71-mt-gd-1_31.pdb "$(MSVCDIR)\lib"
main_dir :
@if not exist "vc71\$(NULL)" mkdir vc71
########################################################
#
# section for libboost_regex-vc71-s-1_31.lib
#
########################################################
vc71/libboost_regex-vc71-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_31/ -Fdvc71/libboost_regex-vc71-s-1_31.pdb ../src/c_regex_traits.cpp
vc71/libboost_regex-vc71-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_31/ -Fdvc71/libboost_regex-vc71-s-1_31.pdb ../src/c_regex_traits_common.cpp
vc71/libboost_regex-vc71-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_31/ -Fdvc71/libboost_regex-vc71-s-1_31.pdb ../src/cpp_regex_traits.cpp
vc71/libboost_regex-vc71-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_31/ -Fdvc71/libboost_regex-vc71-s-1_31.pdb ../src/cregex.cpp
vc71/libboost_regex-vc71-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_31/ -Fdvc71/libboost_regex-vc71-s-1_31.pdb ../src/fileiter.cpp
vc71/libboost_regex-vc71-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_31/ -Fdvc71/libboost_regex-vc71-s-1_31.pdb ../src/instances.cpp
vc71/libboost_regex-vc71-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_31/ -Fdvc71/libboost_regex-vc71-s-1_31.pdb ../src/posix_api.cpp
vc71/libboost_regex-vc71-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_31/ -Fdvc71/libboost_regex-vc71-s-1_31.pdb ../src/regex.cpp
vc71/libboost_regex-vc71-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_31/ -Fdvc71/libboost_regex-vc71-s-1_31.pdb ../src/regex_debug.cpp
vc71/libboost_regex-vc71-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_31/ -Fdvc71/libboost_regex-vc71-s-1_31.pdb ../src/regex_synch.cpp
vc71/libboost_regex-vc71-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_31/ -Fdvc71/libboost_regex-vc71-s-1_31.pdb ../src/w32_regex_traits.cpp
vc71/libboost_regex-vc71-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_31/ -Fdvc71/libboost_regex-vc71-s-1_31.pdb ../src/wide_posix_api.cpp
vc71/libboost_regex-vc71-s-1_31/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 /FD /Zc:wchar_t $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_31/ -Fdvc71/libboost_regex-vc71-s-1_31.pdb ../src/winstances.cpp
libboost_regex-vc71-s-1_31_dir :
@if not exist "vc71\libboost_regex-vc71-s-1_31\$(NULL)" mkdir vc71\libboost_regex-vc71-s-1_31
libboost_regex-vc71-s-1_31_clean :
del vc71\libboost_regex-vc71-s-1_31\*.obj
del vc71\libboost_regex-vc71-s-1_31\*.idb
del vc71\libboost_regex-vc71-s-1_31\*.exp
del vc71\libboost_regex-vc71-s-1_31\*.pch
./vc71/libboost_regex-vc71-s-1_31.lib : vc71/libboost_regex-vc71-s-1_31/c_regex_traits.obj vc71/libboost_regex-vc71-s-1_31/c_regex_traits_common.obj vc71/libboost_regex-vc71-s-1_31/cpp_regex_traits.obj vc71/libboost_regex-vc71-s-1_31/cregex.obj vc71/libboost_regex-vc71-s-1_31/fileiter.obj vc71/libboost_regex-vc71-s-1_31/instances.obj vc71/libboost_regex-vc71-s-1_31/posix_api.obj vc71/libboost_regex-vc71-s-1_31/regex.obj vc71/libboost_regex-vc71-s-1_31/regex_debug.obj vc71/libboost_regex-vc71-s-1_31/regex_synch.obj vc71/libboost_regex-vc71-s-1_31/w32_regex_traits.obj vc71/libboost_regex-vc71-s-1_31/wide_posix_api.obj vc71/libboost_regex-vc71-s-1_31/winstances.obj
link -lib /nologo /out:vc71/libboost_regex-vc71-s-1_31.lib $(XSFLAGS) vc71/libboost_regex-vc71-s-1_31/c_regex_traits.obj vc71/libboost_regex-vc71-s-1_31/c_regex_traits_common.obj vc71/libboost_regex-vc71-s-1_31/cpp_regex_traits.obj vc71/libboost_regex-vc71-s-1_31/cregex.obj vc71/libboost_regex-vc71-s-1_31/fileiter.obj vc71/libboost_regex-vc71-s-1_31/instances.obj vc71/libboost_regex-vc71-s-1_31/posix_api.obj vc71/libboost_regex-vc71-s-1_31/regex.obj vc71/libboost_regex-vc71-s-1_31/regex_debug.obj vc71/libboost_regex-vc71-s-1_31/regex_synch.obj vc71/libboost_regex-vc71-s-1_31/w32_regex_traits.obj vc71/libboost_regex-vc71-s-1_31/wide_posix_api.obj vc71/libboost_regex-vc71-s-1_31/winstances.obj
########################################################
#
# section for libboost_regex-vc71-mt-s-1_31.lib
#
########################################################
vc71/libboost_regex-vc71-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_31/ -Fdvc71/libboost_regex-vc71-mt-s-1_31.pdb ../src/c_regex_traits.cpp
vc71/libboost_regex-vc71-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_31/ -Fdvc71/libboost_regex-vc71-mt-s-1_31.pdb ../src/c_regex_traits_common.cpp
vc71/libboost_regex-vc71-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_31/ -Fdvc71/libboost_regex-vc71-mt-s-1_31.pdb ../src/cpp_regex_traits.cpp
vc71/libboost_regex-vc71-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_31/ -Fdvc71/libboost_regex-vc71-mt-s-1_31.pdb ../src/cregex.cpp
vc71/libboost_regex-vc71-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_31/ -Fdvc71/libboost_regex-vc71-mt-s-1_31.pdb ../src/fileiter.cpp
vc71/libboost_regex-vc71-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_31/ -Fdvc71/libboost_regex-vc71-mt-s-1_31.pdb ../src/instances.cpp
vc71/libboost_regex-vc71-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_31/ -Fdvc71/libboost_regex-vc71-mt-s-1_31.pdb ../src/posix_api.cpp
vc71/libboost_regex-vc71-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_31/ -Fdvc71/libboost_regex-vc71-mt-s-1_31.pdb ../src/regex.cpp
vc71/libboost_regex-vc71-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_31/ -Fdvc71/libboost_regex-vc71-mt-s-1_31.pdb ../src/regex_debug.cpp
vc71/libboost_regex-vc71-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_31/ -Fdvc71/libboost_regex-vc71-mt-s-1_31.pdb ../src/regex_synch.cpp
vc71/libboost_regex-vc71-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_31/ -Fdvc71/libboost_regex-vc71-mt-s-1_31.pdb ../src/w32_regex_traits.cpp
vc71/libboost_regex-vc71-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_31/ -Fdvc71/libboost_regex-vc71-mt-s-1_31.pdb ../src/wide_posix_api.cpp
vc71/libboost_regex-vc71-mt-s-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_31/ -Fdvc71/libboost_regex-vc71-mt-s-1_31.pdb ../src/winstances.cpp
libboost_regex-vc71-mt-s-1_31_dir :
@if not exist "vc71\libboost_regex-vc71-mt-s-1_31\$(NULL)" mkdir vc71\libboost_regex-vc71-mt-s-1_31
libboost_regex-vc71-mt-s-1_31_clean :
del vc71\libboost_regex-vc71-mt-s-1_31\*.obj
del vc71\libboost_regex-vc71-mt-s-1_31\*.idb
del vc71\libboost_regex-vc71-mt-s-1_31\*.exp
del vc71\libboost_regex-vc71-mt-s-1_31\*.pch
./vc71/libboost_regex-vc71-mt-s-1_31.lib : vc71/libboost_regex-vc71-mt-s-1_31/c_regex_traits.obj vc71/libboost_regex-vc71-mt-s-1_31/c_regex_traits_common.obj vc71/libboost_regex-vc71-mt-s-1_31/cpp_regex_traits.obj vc71/libboost_regex-vc71-mt-s-1_31/cregex.obj vc71/libboost_regex-vc71-mt-s-1_31/fileiter.obj vc71/libboost_regex-vc71-mt-s-1_31/instances.obj vc71/libboost_regex-vc71-mt-s-1_31/posix_api.obj vc71/libboost_regex-vc71-mt-s-1_31/regex.obj vc71/libboost_regex-vc71-mt-s-1_31/regex_debug.obj vc71/libboost_regex-vc71-mt-s-1_31/regex_synch.obj vc71/libboost_regex-vc71-mt-s-1_31/w32_regex_traits.obj vc71/libboost_regex-vc71-mt-s-1_31/wide_posix_api.obj vc71/libboost_regex-vc71-mt-s-1_31/winstances.obj
link -lib /nologo /out:vc71/libboost_regex-vc71-mt-s-1_31.lib $(XSFLAGS) vc71/libboost_regex-vc71-mt-s-1_31/c_regex_traits.obj vc71/libboost_regex-vc71-mt-s-1_31/c_regex_traits_common.obj vc71/libboost_regex-vc71-mt-s-1_31/cpp_regex_traits.obj vc71/libboost_regex-vc71-mt-s-1_31/cregex.obj vc71/libboost_regex-vc71-mt-s-1_31/fileiter.obj vc71/libboost_regex-vc71-mt-s-1_31/instances.obj vc71/libboost_regex-vc71-mt-s-1_31/posix_api.obj vc71/libboost_regex-vc71-mt-s-1_31/regex.obj vc71/libboost_regex-vc71-mt-s-1_31/regex_debug.obj vc71/libboost_regex-vc71-mt-s-1_31/regex_synch.obj vc71/libboost_regex-vc71-mt-s-1_31/w32_regex_traits.obj vc71/libboost_regex-vc71-mt-s-1_31/wide_posix_api.obj vc71/libboost_regex-vc71-mt-s-1_31/winstances.obj
########################################################
#
# section for libboost_regex-vc71-sgd-1_31.lib
#
########################################################
vc71/libboost_regex-vc71-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_31/ -Fdvc71/libboost_regex-vc71-sgd-1_31.pdb ../src/c_regex_traits.cpp
vc71/libboost_regex-vc71-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_31/ -Fdvc71/libboost_regex-vc71-sgd-1_31.pdb ../src/c_regex_traits_common.cpp
vc71/libboost_regex-vc71-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_31/ -Fdvc71/libboost_regex-vc71-sgd-1_31.pdb ../src/cpp_regex_traits.cpp
vc71/libboost_regex-vc71-sgd-1_31/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_31/ -Fdvc71/libboost_regex-vc71-sgd-1_31.pdb ../src/cregex.cpp
vc71/libboost_regex-vc71-sgd-1_31/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_31/ -Fdvc71/libboost_regex-vc71-sgd-1_31.pdb ../src/fileiter.cpp
vc71/libboost_regex-vc71-sgd-1_31/instances.obj: ../src/instances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_31/ -Fdvc71/libboost_regex-vc71-sgd-1_31.pdb ../src/instances.cpp
vc71/libboost_regex-vc71-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_31/ -Fdvc71/libboost_regex-vc71-sgd-1_31.pdb ../src/posix_api.cpp
vc71/libboost_regex-vc71-sgd-1_31/regex.obj: ../src/regex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_31/ -Fdvc71/libboost_regex-vc71-sgd-1_31.pdb ../src/regex.cpp
vc71/libboost_regex-vc71-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_31/ -Fdvc71/libboost_regex-vc71-sgd-1_31.pdb ../src/regex_debug.cpp
vc71/libboost_regex-vc71-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_31/ -Fdvc71/libboost_regex-vc71-sgd-1_31.pdb ../src/regex_synch.cpp
vc71/libboost_regex-vc71-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_31/ -Fdvc71/libboost_regex-vc71-sgd-1_31.pdb ../src/w32_regex_traits.cpp
vc71/libboost_regex-vc71-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_31/ -Fdvc71/libboost_regex-vc71-sgd-1_31.pdb ../src/wide_posix_api.cpp
vc71/libboost_regex-vc71-sgd-1_31/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_31/ -Fdvc71/libboost_regex-vc71-sgd-1_31.pdb ../src/winstances.cpp
libboost_regex-vc71-sgd-1_31_dir :
@if not exist "vc71\libboost_regex-vc71-sgd-1_31\$(NULL)" mkdir vc71\libboost_regex-vc71-sgd-1_31
libboost_regex-vc71-sgd-1_31_clean :
del vc71\libboost_regex-vc71-sgd-1_31\*.obj
del vc71\libboost_regex-vc71-sgd-1_31\*.idb
del vc71\libboost_regex-vc71-sgd-1_31\*.exp
del vc71\libboost_regex-vc71-sgd-1_31\*.pch
./vc71/libboost_regex-vc71-sgd-1_31.lib : vc71/libboost_regex-vc71-sgd-1_31/c_regex_traits.obj vc71/libboost_regex-vc71-sgd-1_31/c_regex_traits_common.obj vc71/libboost_regex-vc71-sgd-1_31/cpp_regex_traits.obj vc71/libboost_regex-vc71-sgd-1_31/cregex.obj vc71/libboost_regex-vc71-sgd-1_31/fileiter.obj vc71/libboost_regex-vc71-sgd-1_31/instances.obj vc71/libboost_regex-vc71-sgd-1_31/posix_api.obj vc71/libboost_regex-vc71-sgd-1_31/regex.obj vc71/libboost_regex-vc71-sgd-1_31/regex_debug.obj vc71/libboost_regex-vc71-sgd-1_31/regex_synch.obj vc71/libboost_regex-vc71-sgd-1_31/w32_regex_traits.obj vc71/libboost_regex-vc71-sgd-1_31/wide_posix_api.obj vc71/libboost_regex-vc71-sgd-1_31/winstances.obj
link -lib /nologo /out:vc71/libboost_regex-vc71-sgd-1_31.lib $(XSFLAGS) vc71/libboost_regex-vc71-sgd-1_31/c_regex_traits.obj vc71/libboost_regex-vc71-sgd-1_31/c_regex_traits_common.obj vc71/libboost_regex-vc71-sgd-1_31/cpp_regex_traits.obj vc71/libboost_regex-vc71-sgd-1_31/cregex.obj vc71/libboost_regex-vc71-sgd-1_31/fileiter.obj vc71/libboost_regex-vc71-sgd-1_31/instances.obj vc71/libboost_regex-vc71-sgd-1_31/posix_api.obj vc71/libboost_regex-vc71-sgd-1_31/regex.obj vc71/libboost_regex-vc71-sgd-1_31/regex_debug.obj vc71/libboost_regex-vc71-sgd-1_31/regex_synch.obj vc71/libboost_regex-vc71-sgd-1_31/w32_regex_traits.obj vc71/libboost_regex-vc71-sgd-1_31/wide_posix_api.obj vc71/libboost_regex-vc71-sgd-1_31/winstances.obj
########################################################
#
# section for libboost_regex-vc71-mt-sgd-1_31.lib
#
########################################################
vc71/libboost_regex-vc71-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_31/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_31.pdb ../src/c_regex_traits.cpp
vc71/libboost_regex-vc71-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_31/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_31.pdb ../src/c_regex_traits_common.cpp
vc71/libboost_regex-vc71-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_31/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_31.pdb ../src/cpp_regex_traits.cpp
vc71/libboost_regex-vc71-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_31/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_31.pdb ../src/cregex.cpp
vc71/libboost_regex-vc71-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_31/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_31.pdb ../src/fileiter.cpp
vc71/libboost_regex-vc71-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_31/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_31.pdb ../src/instances.cpp
vc71/libboost_regex-vc71-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_31/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_31.pdb ../src/posix_api.cpp
vc71/libboost_regex-vc71-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_31/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_31.pdb ../src/regex.cpp
vc71/libboost_regex-vc71-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_31/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_31.pdb ../src/regex_debug.cpp
vc71/libboost_regex-vc71-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_31/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_31.pdb ../src/regex_synch.cpp
vc71/libboost_regex-vc71-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_31/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_31.pdb ../src/w32_regex_traits.cpp
vc71/libboost_regex-vc71-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_31/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_31.pdb ../src/wide_posix_api.cpp
vc71/libboost_regex-vc71-mt-sgd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_31/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_31.pdb ../src/winstances.cpp
libboost_regex-vc71-mt-sgd-1_31_dir :
@if not exist "vc71\libboost_regex-vc71-mt-sgd-1_31\$(NULL)" mkdir vc71\libboost_regex-vc71-mt-sgd-1_31
libboost_regex-vc71-mt-sgd-1_31_clean :
del vc71\libboost_regex-vc71-mt-sgd-1_31\*.obj
del vc71\libboost_regex-vc71-mt-sgd-1_31\*.idb
del vc71\libboost_regex-vc71-mt-sgd-1_31\*.exp
del vc71\libboost_regex-vc71-mt-sgd-1_31\*.pch
./vc71/libboost_regex-vc71-mt-sgd-1_31.lib : vc71/libboost_regex-vc71-mt-sgd-1_31/c_regex_traits.obj vc71/libboost_regex-vc71-mt-sgd-1_31/c_regex_traits_common.obj vc71/libboost_regex-vc71-mt-sgd-1_31/cpp_regex_traits.obj vc71/libboost_regex-vc71-mt-sgd-1_31/cregex.obj vc71/libboost_regex-vc71-mt-sgd-1_31/fileiter.obj vc71/libboost_regex-vc71-mt-sgd-1_31/instances.obj vc71/libboost_regex-vc71-mt-sgd-1_31/posix_api.obj vc71/libboost_regex-vc71-mt-sgd-1_31/regex.obj vc71/libboost_regex-vc71-mt-sgd-1_31/regex_debug.obj vc71/libboost_regex-vc71-mt-sgd-1_31/regex_synch.obj vc71/libboost_regex-vc71-mt-sgd-1_31/w32_regex_traits.obj vc71/libboost_regex-vc71-mt-sgd-1_31/wide_posix_api.obj vc71/libboost_regex-vc71-mt-sgd-1_31/winstances.obj
link -lib /nologo /out:vc71/libboost_regex-vc71-mt-sgd-1_31.lib $(XSFLAGS) vc71/libboost_regex-vc71-mt-sgd-1_31/c_regex_traits.obj vc71/libboost_regex-vc71-mt-sgd-1_31/c_regex_traits_common.obj vc71/libboost_regex-vc71-mt-sgd-1_31/cpp_regex_traits.obj vc71/libboost_regex-vc71-mt-sgd-1_31/cregex.obj vc71/libboost_regex-vc71-mt-sgd-1_31/fileiter.obj vc71/libboost_regex-vc71-mt-sgd-1_31/instances.obj vc71/libboost_regex-vc71-mt-sgd-1_31/posix_api.obj vc71/libboost_regex-vc71-mt-sgd-1_31/regex.obj vc71/libboost_regex-vc71-mt-sgd-1_31/regex_debug.obj vc71/libboost_regex-vc71-mt-sgd-1_31/regex_synch.obj vc71/libboost_regex-vc71-mt-sgd-1_31/w32_regex_traits.obj vc71/libboost_regex-vc71-mt-sgd-1_31/wide_posix_api.obj vc71/libboost_regex-vc71-mt-sgd-1_31/winstances.obj
########################################################
#
# section for boost_regex-vc71-mt-gd-1_31.lib
#
########################################################
vc71/boost_regex-vc71-mt-gd-1_31/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_31/ -Fdvc71/boost_regex-vc71-mt-gd-1_31.pdb ../src/c_regex_traits.cpp
vc71/boost_regex-vc71-mt-gd-1_31/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 /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_31/ -Fdvc71/boost_regex-vc71-mt-gd-1_31.pdb ../src/c_regex_traits_common.cpp
vc71/boost_regex-vc71-mt-gd-1_31/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_31/ -Fdvc71/boost_regex-vc71-mt-gd-1_31.pdb ../src/cpp_regex_traits.cpp
vc71/boost_regex-vc71-mt-gd-1_31/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_31/ -Fdvc71/boost_regex-vc71-mt-gd-1_31.pdb ../src/cregex.cpp
vc71/boost_regex-vc71-mt-gd-1_31/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_31/ -Fdvc71/boost_regex-vc71-mt-gd-1_31.pdb ../src/fileiter.cpp
vc71/boost_regex-vc71-mt-gd-1_31/instances.obj: ../src/instances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_31/ -Fdvc71/boost_regex-vc71-mt-gd-1_31.pdb ../src/instances.cpp
vc71/boost_regex-vc71-mt-gd-1_31/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_31/ -Fdvc71/boost_regex-vc71-mt-gd-1_31.pdb ../src/posix_api.cpp
vc71/boost_regex-vc71-mt-gd-1_31/regex.obj: ../src/regex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_31/ -Fdvc71/boost_regex-vc71-mt-gd-1_31.pdb ../src/regex.cpp
vc71/boost_regex-vc71-mt-gd-1_31/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_31/ -Fdvc71/boost_regex-vc71-mt-gd-1_31.pdb ../src/regex_debug.cpp
vc71/boost_regex-vc71-mt-gd-1_31/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_31/ -Fdvc71/boost_regex-vc71-mt-gd-1_31.pdb ../src/regex_synch.cpp
vc71/boost_regex-vc71-mt-gd-1_31/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_31/ -Fdvc71/boost_regex-vc71-mt-gd-1_31.pdb ../src/w32_regex_traits.cpp
vc71/boost_regex-vc71-mt-gd-1_31/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_31/ -Fdvc71/boost_regex-vc71-mt-gd-1_31.pdb ../src/wide_posix_api.cpp
vc71/boost_regex-vc71-mt-gd-1_31/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_31/ -Fdvc71/boost_regex-vc71-mt-gd-1_31.pdb ../src/winstances.cpp
boost_regex-vc71-mt-gd-1_31_dir :
@if not exist "vc71\boost_regex-vc71-mt-gd-1_31\$(NULL)" mkdir vc71\boost_regex-vc71-mt-gd-1_31
boost_regex-vc71-mt-gd-1_31_clean :
del vc71\boost_regex-vc71-mt-gd-1_31\*.obj
del vc71\boost_regex-vc71-mt-gd-1_31\*.idb
del vc71\boost_regex-vc71-mt-gd-1_31\*.exp
del vc71\boost_regex-vc71-mt-gd-1_31\*.pch
./vc71/boost_regex-vc71-mt-gd-1_31.lib : vc71/boost_regex-vc71-mt-gd-1_31/c_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_31/c_regex_traits_common.obj vc71/boost_regex-vc71-mt-gd-1_31/cpp_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_31/cregex.obj vc71/boost_regex-vc71-mt-gd-1_31/fileiter.obj vc71/boost_regex-vc71-mt-gd-1_31/instances.obj vc71/boost_regex-vc71-mt-gd-1_31/posix_api.obj vc71/boost_regex-vc71-mt-gd-1_31/regex.obj vc71/boost_regex-vc71-mt-gd-1_31/regex_debug.obj vc71/boost_regex-vc71-mt-gd-1_31/regex_synch.obj vc71/boost_regex-vc71-mt-gd-1_31/w32_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_31/wide_posix_api.obj vc71/boost_regex-vc71-mt-gd-1_31/winstances.obj
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71/boost_regex-vc71-mt-gd-1_31.pdb" /debug /machine:I386 /out:"vc71/boost_regex-vc71-mt-gd-1_31.dll" /implib:"vc71/boost_regex-vc71-mt-gd-1_31.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc71/boost_regex-vc71-mt-gd-1_31/c_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_31/c_regex_traits_common.obj vc71/boost_regex-vc71-mt-gd-1_31/cpp_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_31/cregex.obj vc71/boost_regex-vc71-mt-gd-1_31/fileiter.obj vc71/boost_regex-vc71-mt-gd-1_31/instances.obj vc71/boost_regex-vc71-mt-gd-1_31/posix_api.obj vc71/boost_regex-vc71-mt-gd-1_31/regex.obj vc71/boost_regex-vc71-mt-gd-1_31/regex_debug.obj vc71/boost_regex-vc71-mt-gd-1_31/regex_synch.obj vc71/boost_regex-vc71-mt-gd-1_31/w32_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_31/wide_posix_api.obj vc71/boost_regex-vc71-mt-gd-1_31/winstances.obj
########################################################
#
# section for boost_regex-vc71-mt-1_31.lib
#
########################################################
vc71/boost_regex-vc71-mt-1_31/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_31/ -Fdvc71/boost_regex-vc71-mt-1_31.pdb ../src/c_regex_traits.cpp
vc71/boost_regex-vc71-mt-1_31/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_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_31/ -Fdvc71/boost_regex-vc71-mt-1_31.pdb ../src/c_regex_traits_common.cpp
vc71/boost_regex-vc71-mt-1_31/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_31/ -Fdvc71/boost_regex-vc71-mt-1_31.pdb ../src/cpp_regex_traits.cpp
vc71/boost_regex-vc71-mt-1_31/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_31/ -Fdvc71/boost_regex-vc71-mt-1_31.pdb ../src/cregex.cpp
vc71/boost_regex-vc71-mt-1_31/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_31/ -Fdvc71/boost_regex-vc71-mt-1_31.pdb ../src/fileiter.cpp
vc71/boost_regex-vc71-mt-1_31/instances.obj: ../src/instances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_31/ -Fdvc71/boost_regex-vc71-mt-1_31.pdb ../src/instances.cpp
vc71/boost_regex-vc71-mt-1_31/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_31/ -Fdvc71/boost_regex-vc71-mt-1_31.pdb ../src/posix_api.cpp
vc71/boost_regex-vc71-mt-1_31/regex.obj: ../src/regex.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_31/ -Fdvc71/boost_regex-vc71-mt-1_31.pdb ../src/regex.cpp
vc71/boost_regex-vc71-mt-1_31/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_31/ -Fdvc71/boost_regex-vc71-mt-1_31.pdb ../src/regex_debug.cpp
vc71/boost_regex-vc71-mt-1_31/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_31/ -Fdvc71/boost_regex-vc71-mt-1_31.pdb ../src/regex_synch.cpp
vc71/boost_regex-vc71-mt-1_31/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_31/ -Fdvc71/boost_regex-vc71-mt-1_31.pdb ../src/w32_regex_traits.cpp
vc71/boost_regex-vc71-mt-1_31/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_31/ -Fdvc71/boost_regex-vc71-mt-1_31.pdb ../src/wide_posix_api.cpp
vc71/boost_regex-vc71-mt-1_31/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_31/ -Fdvc71/boost_regex-vc71-mt-1_31.pdb ../src/winstances.cpp
boost_regex-vc71-mt-1_31_dir :
@if not exist "vc71\boost_regex-vc71-mt-1_31\$(NULL)" mkdir vc71\boost_regex-vc71-mt-1_31
boost_regex-vc71-mt-1_31_clean :
del vc71\boost_regex-vc71-mt-1_31\*.obj
del vc71\boost_regex-vc71-mt-1_31\*.idb
del vc71\boost_regex-vc71-mt-1_31\*.exp
del vc71\boost_regex-vc71-mt-1_31\*.pch
./vc71/boost_regex-vc71-mt-1_31.lib : vc71/boost_regex-vc71-mt-1_31/c_regex_traits.obj vc71/boost_regex-vc71-mt-1_31/c_regex_traits_common.obj vc71/boost_regex-vc71-mt-1_31/cpp_regex_traits.obj vc71/boost_regex-vc71-mt-1_31/cregex.obj vc71/boost_regex-vc71-mt-1_31/fileiter.obj vc71/boost_regex-vc71-mt-1_31/instances.obj vc71/boost_regex-vc71-mt-1_31/posix_api.obj vc71/boost_regex-vc71-mt-1_31/regex.obj vc71/boost_regex-vc71-mt-1_31/regex_debug.obj vc71/boost_regex-vc71-mt-1_31/regex_synch.obj vc71/boost_regex-vc71-mt-1_31/w32_regex_traits.obj vc71/boost_regex-vc71-mt-1_31/wide_posix_api.obj vc71/boost_regex-vc71-mt-1_31/winstances.obj
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71/boost_regex-vc71-mt-1_31.pdb" /debug /machine:I386 /out:"vc71/boost_regex-vc71-mt-1_31.dll" /implib:"vc71/boost_regex-vc71-mt-1_31.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc71/boost_regex-vc71-mt-1_31/c_regex_traits.obj vc71/boost_regex-vc71-mt-1_31/c_regex_traits_common.obj vc71/boost_regex-vc71-mt-1_31/cpp_regex_traits.obj vc71/boost_regex-vc71-mt-1_31/cregex.obj vc71/boost_regex-vc71-mt-1_31/fileiter.obj vc71/boost_regex-vc71-mt-1_31/instances.obj vc71/boost_regex-vc71-mt-1_31/posix_api.obj vc71/boost_regex-vc71-mt-1_31/regex.obj vc71/boost_regex-vc71-mt-1_31/regex_debug.obj vc71/boost_regex-vc71-mt-1_31/regex_synch.obj vc71/boost_regex-vc71-mt-1_31/w32_regex_traits.obj vc71/boost_regex-vc71-mt-1_31/wide_posix_api.obj vc71/boost_regex-vc71-mt-1_31/winstances.obj
########################################################
#
# section for libboost_regex-vc71-mt-1_31.lib
#
########################################################
vc71/libboost_regex-vc71-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_31/ -Fdvc71/libboost_regex-vc71-mt-1_31.pdb ../src/c_regex_traits.cpp
vc71/libboost_regex-vc71-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_31/ -Fdvc71/libboost_regex-vc71-mt-1_31.pdb ../src/c_regex_traits_common.cpp
vc71/libboost_regex-vc71-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_31/ -Fdvc71/libboost_regex-vc71-mt-1_31.pdb ../src/cpp_regex_traits.cpp
vc71/libboost_regex-vc71-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_31/ -Fdvc71/libboost_regex-vc71-mt-1_31.pdb ../src/cregex.cpp
vc71/libboost_regex-vc71-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_31/ -Fdvc71/libboost_regex-vc71-mt-1_31.pdb ../src/fileiter.cpp
vc71/libboost_regex-vc71-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_31/ -Fdvc71/libboost_regex-vc71-mt-1_31.pdb ../src/instances.cpp
vc71/libboost_regex-vc71-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_31/ -Fdvc71/libboost_regex-vc71-mt-1_31.pdb ../src/posix_api.cpp
vc71/libboost_regex-vc71-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_31/ -Fdvc71/libboost_regex-vc71-mt-1_31.pdb ../src/regex.cpp
vc71/libboost_regex-vc71-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_31/ -Fdvc71/libboost_regex-vc71-mt-1_31.pdb ../src/regex_debug.cpp
vc71/libboost_regex-vc71-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_31/ -Fdvc71/libboost_regex-vc71-mt-1_31.pdb ../src/regex_synch.cpp
vc71/libboost_regex-vc71-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_31/ -Fdvc71/libboost_regex-vc71-mt-1_31.pdb ../src/w32_regex_traits.cpp
vc71/libboost_regex-vc71-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_31/ -Fdvc71/libboost_regex-vc71-mt-1_31.pdb ../src/wide_posix_api.cpp
vc71/libboost_regex-vc71-mt-1_31/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 /FD /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_31/ -Fdvc71/libboost_regex-vc71-mt-1_31.pdb ../src/winstances.cpp
libboost_regex-vc71-mt-1_31_dir :
@if not exist "vc71\libboost_regex-vc71-mt-1_31\$(NULL)" mkdir vc71\libboost_regex-vc71-mt-1_31
libboost_regex-vc71-mt-1_31_clean :
del vc71\libboost_regex-vc71-mt-1_31\*.obj
del vc71\libboost_regex-vc71-mt-1_31\*.idb
del vc71\libboost_regex-vc71-mt-1_31\*.exp
del vc71\libboost_regex-vc71-mt-1_31\*.pch
./vc71/libboost_regex-vc71-mt-1_31.lib : vc71/libboost_regex-vc71-mt-1_31/c_regex_traits.obj vc71/libboost_regex-vc71-mt-1_31/c_regex_traits_common.obj vc71/libboost_regex-vc71-mt-1_31/cpp_regex_traits.obj vc71/libboost_regex-vc71-mt-1_31/cregex.obj vc71/libboost_regex-vc71-mt-1_31/fileiter.obj vc71/libboost_regex-vc71-mt-1_31/instances.obj vc71/libboost_regex-vc71-mt-1_31/posix_api.obj vc71/libboost_regex-vc71-mt-1_31/regex.obj vc71/libboost_regex-vc71-mt-1_31/regex_debug.obj vc71/libboost_regex-vc71-mt-1_31/regex_synch.obj vc71/libboost_regex-vc71-mt-1_31/w32_regex_traits.obj vc71/libboost_regex-vc71-mt-1_31/wide_posix_api.obj vc71/libboost_regex-vc71-mt-1_31/winstances.obj
link -lib /nologo /out:vc71/libboost_regex-vc71-mt-1_31.lib $(XSFLAGS) vc71/libboost_regex-vc71-mt-1_31/c_regex_traits.obj vc71/libboost_regex-vc71-mt-1_31/c_regex_traits_common.obj vc71/libboost_regex-vc71-mt-1_31/cpp_regex_traits.obj vc71/libboost_regex-vc71-mt-1_31/cregex.obj vc71/libboost_regex-vc71-mt-1_31/fileiter.obj vc71/libboost_regex-vc71-mt-1_31/instances.obj vc71/libboost_regex-vc71-mt-1_31/posix_api.obj vc71/libboost_regex-vc71-mt-1_31/regex.obj vc71/libboost_regex-vc71-mt-1_31/regex_debug.obj vc71/libboost_regex-vc71-mt-1_31/regex_synch.obj vc71/libboost_regex-vc71-mt-1_31/w32_regex_traits.obj vc71/libboost_regex-vc71-mt-1_31/wide_posix_api.obj vc71/libboost_regex-vc71-mt-1_31/winstances.obj
########################################################
#
# section for libboost_regex-vc71-mt-gd-1_31.lib
#
########################################################
vc71/libboost_regex-vc71-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_31/ -Fdvc71/libboost_regex-vc71-mt-gd-1_31.pdb ../src/c_regex_traits.cpp
vc71/libboost_regex-vc71-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_31/ -Fdvc71/libboost_regex-vc71-mt-gd-1_31.pdb ../src/c_regex_traits_common.cpp
vc71/libboost_regex-vc71-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_31/ -Fdvc71/libboost_regex-vc71-mt-gd-1_31.pdb ../src/cpp_regex_traits.cpp
vc71/libboost_regex-vc71-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_31/ -Fdvc71/libboost_regex-vc71-mt-gd-1_31.pdb ../src/cregex.cpp
vc71/libboost_regex-vc71-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_31/ -Fdvc71/libboost_regex-vc71-mt-gd-1_31.pdb ../src/fileiter.cpp
vc71/libboost_regex-vc71-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_31/ -Fdvc71/libboost_regex-vc71-mt-gd-1_31.pdb ../src/instances.cpp
vc71/libboost_regex-vc71-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_31/ -Fdvc71/libboost_regex-vc71-mt-gd-1_31.pdb ../src/posix_api.cpp
vc71/libboost_regex-vc71-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_31/ -Fdvc71/libboost_regex-vc71-mt-gd-1_31.pdb ../src/regex.cpp
vc71/libboost_regex-vc71-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_31/ -Fdvc71/libboost_regex-vc71-mt-gd-1_31.pdb ../src/regex_debug.cpp
vc71/libboost_regex-vc71-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_31/ -Fdvc71/libboost_regex-vc71-mt-gd-1_31.pdb ../src/regex_synch.cpp
vc71/libboost_regex-vc71-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_31/ -Fdvc71/libboost_regex-vc71-mt-gd-1_31.pdb ../src/w32_regex_traits.cpp
vc71/libboost_regex-vc71-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_31/ -Fdvc71/libboost_regex-vc71-mt-gd-1_31.pdb ../src/wide_posix_api.cpp
vc71/libboost_regex-vc71-mt-gd-1_31/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 /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_31/ -Fdvc71/libboost_regex-vc71-mt-gd-1_31.pdb ../src/winstances.cpp
libboost_regex-vc71-mt-gd-1_31_dir :
@if not exist "vc71\libboost_regex-vc71-mt-gd-1_31\$(NULL)" mkdir vc71\libboost_regex-vc71-mt-gd-1_31
libboost_regex-vc71-mt-gd-1_31_clean :
del vc71\libboost_regex-vc71-mt-gd-1_31\*.obj
del vc71\libboost_regex-vc71-mt-gd-1_31\*.idb
del vc71\libboost_regex-vc71-mt-gd-1_31\*.exp
del vc71\libboost_regex-vc71-mt-gd-1_31\*.pch
./vc71/libboost_regex-vc71-mt-gd-1_31.lib : vc71/libboost_regex-vc71-mt-gd-1_31/c_regex_traits.obj vc71/libboost_regex-vc71-mt-gd-1_31/c_regex_traits_common.obj vc71/libboost_regex-vc71-mt-gd-1_31/cpp_regex_traits.obj vc71/libboost_regex-vc71-mt-gd-1_31/cregex.obj vc71/libboost_regex-vc71-mt-gd-1_31/fileiter.obj vc71/libboost_regex-vc71-mt-gd-1_31/instances.obj vc71/libboost_regex-vc71-mt-gd-1_31/posix_api.obj vc71/libboost_regex-vc71-mt-gd-1_31/regex.obj vc71/libboost_regex-vc71-mt-gd-1_31/regex_debug.obj vc71/libboost_regex-vc71-mt-gd-1_31/regex_synch.obj vc71/libboost_regex-vc71-mt-gd-1_31/w32_regex_traits.obj vc71/libboost_regex-vc71-mt-gd-1_31/wide_posix_api.obj vc71/libboost_regex-vc71-mt-gd-1_31/winstances.obj
link -lib /nologo /out:vc71/libboost_regex-vc71-mt-gd-1_31.lib $(XSFLAGS) vc71/libboost_regex-vc71-mt-gd-1_31/c_regex_traits.obj vc71/libboost_regex-vc71-mt-gd-1_31/c_regex_traits_common.obj vc71/libboost_regex-vc71-mt-gd-1_31/cpp_regex_traits.obj vc71/libboost_regex-vc71-mt-gd-1_31/cregex.obj vc71/libboost_regex-vc71-mt-gd-1_31/fileiter.obj vc71/libboost_regex-vc71-mt-gd-1_31/instances.obj vc71/libboost_regex-vc71-mt-gd-1_31/posix_api.obj vc71/libboost_regex-vc71-mt-gd-1_31/regex.obj vc71/libboost_regex-vc71-mt-gd-1_31/regex_debug.obj vc71/libboost_regex-vc71-mt-gd-1_31/regex_synch.obj vc71/libboost_regex-vc71-mt-gd-1_31/w32_regex_traits.obj vc71/libboost_regex-vc71-mt-gd-1_31/wide_posix_api.obj vc71/libboost_regex-vc71-mt-gd-1_31/winstances.obj

View File

@ -17,13 +17,16 @@ debug="no"
opts=""
# main output sub-directory:
subdir=""
stlport_suffix=""
# extra debug /RTc options:
debug_extra=""
function vc6_gen_lib()
{
all_dep="$all_dep $libname""_dir ./$subdir/$libname.lib"
echo " copy $subdir\\$libname.lib "'"$'"(MSVCDIR)\\lib"'"' >> $iout
all_dep="$all_dep $libname""_dir ./$subdir$stlport_suffix/$libname.lib"
echo " copy $subdir$stlport_suffix\\$libname.lib "'"$'"(MSVCDIR)\\lib"'"' >> $iout
if test $debug == "yes"; then
echo " copy $subdir\\$libname.pdb "'"$'"(MSVCDIR)\\lib"'"' >> $iout
echo " copy $subdir$stlport_suffix\\$libname.pdb "'"$'"(MSVCDIR)\\lib"'"' >> $iout
fi
#
# set up section comments:
@ -40,40 +43,40 @@ EOF
for file in $src
do
obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1obj/g'`
obj="$subdir/$libname/$obj"
obj="$subdir$stlport_suffix/$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 " cl \$(INCLUDES) $opts \$(CXXFLAGS) -Y- -Fo./$subdir$stlport_suffix/$libname/ -Fd$subdir$stlport_suffix/$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 " @if not exist \"$subdir$stlport_suffix\\$libname\\\$(NULL)\" mkdir $subdir$stlport_suffix\\$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 " del $subdir$stlport_suffix\\$libname\\"'*.obj' >> $tout
echo " del $subdir$stlport_suffix\\$libname\\"'*.idb' >> $tout
echo " del $subdir$stlport_suffix\\$libname\\"'*.exp' >> $tout
echo " del $subdir$stlport_suffix\\$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 ./$subdir$stlport_suffix/$libname.lib : $all_obj >> $tout
echo " link -lib /nologo /out:$subdir$stlport_suffix/$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
all_dep="$all_dep $libname""_dir ./$subdir$stlport_suffix/$libname.lib"
echo " copy $subdir$stlport_suffix\\$libname.lib "'"$'"(MSVCDIR)\\lib"'"' >> $iout
echo " copy $subdir$stlport_suffix\\$libname.dll "'"$'"(MSVCDIR)\\bin"'"' >> $iout
if test $debug == "yes"; then
echo " copy $subdir\\$libname.pdb "'"$'"(MSVCDIR)\\lib"'"' >> $iout
echo " copy $subdir$stlport_suffix\\$libname.pdb "'"$'"(MSVCDIR)\\lib"'"' >> $iout
fi
#
# set up section comments:
@ -90,30 +93,30 @@ EOF
for file in $src
do
obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1obj/g'`
obj="$subdir/$libname/$obj"
obj="$subdir$stlport_suffix/$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 " cl \$(INCLUDES) $opts \$(CXXFLAGS) -Y- -Fo./$subdir$stlport_suffix/$libname/ -Fd$subdir$stlport_suffix/$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 " @if not exist \"$subdir$stlport_suffix\\$libname\\\$(NULL)\" mkdir $subdir$stlport_suffix\\$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 " del $subdir$stlport_suffix\\$libname\\"'*.obj' >> $tout
echo " del $subdir$stlport_suffix\\$libname\\"'*.idb' >> $tout
echo " del $subdir$stlport_suffix\\$libname\\"'*.exp' >> $tout
echo " del $subdir$stlport_suffix\\$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 ./$subdir$stlport_suffix/$libname.lib : $all_obj >> $tout
echo " link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:\"$subdir$stlport_suffix/$libname.pdb\" /debug /machine:I386 /out:\"$subdir$stlport_suffix/$libname.dll\" /implib:\"$subdir$stlport_suffix/$libname.lib\" /LIBPATH:\$(STLPORT_PATH)\\lib \$(XLFLAGS) $all_obj" >> $tout
echo "" >> $tout
}
@ -129,43 +132,42 @@ function vc6_gen()
echo > $out
echo > $tout
rm -f $iout
stlport_suffix=""
prefix="$subdir-"
libname="boost_regex_${subdir}_sss"
opts='/c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD'
libname="libboost_regex-${subdir}-s-${boost_version}"
opts='/c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD '"$release_extra"' '
vc6_gen_lib
libname="boost_regex_${subdir}_mss"
opts='/nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c'
libname="libboost_regex-${subdir}-mt-s-${boost_version}"
opts='/nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD '"$release_extra"' /c'
vc6_gen_lib
debug="yes"
libname="boost_regex_${subdir}_sssd"
opts='/nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c '
libname="libboost_regex-${subdir}-sgd-${boost_version}"
opts='/nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD '"$debug_extra"' /c '
vc6_gen_lib
libname="boost_regex_${subdir}_mssd"
opts='/nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c'
libname="libboost_regex-${subdir}-mt-sgd-${boost_version}"
opts='/nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD '"$debug_extra"' /c'
vc6_gen_lib
libname="boost_regex_${subdir}_mdid"
opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c'
libname="boost_regex-${subdir}-mt-gd-${boost_version}"
opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD '"$debug_extra"' /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}_mdi"
opts='/nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD '"$release_extra"' /c'
libname="boost_regex-${subdir}-mt-${boost_version}"
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="boost_regex_${subdir}_mds"
opts='/nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD '"$release_extra"' /c'
libname="libboost_regex-${subdir}-mt-${boost_version}"
vc6_gen_lib
debug="yes"
libname="boost_regex_${subdir}_mdsd"
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'
libname="libboost_regex-${subdir}-mt-gd-${boost_version}"
opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD '"$debug_extra"' /c'
vc6_gen_lib
cat > $out << EOF
@ -218,7 +220,7 @@ EOF
cat $iout >> $out
echo >> $out
echo main_dir : >> $out
echo " @if not exist \"$subdir\\\$(NULL)\" mkdir $subdir" >> $out
echo " @if not exist \"$subdir$stlport_suffix\\\$(NULL)\" mkdir $subdir$stlport_suffix" >> $out
echo "" >> $out
cat $tout >> $out
@ -234,47 +236,46 @@ function vc6_stlp_gen()
echo > $out
echo > $tout
rm -f $iout
stlport_suffix="-stlport"
prefix="$subdir-"
libname="boost_regex_${subdir}_mss"
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'
libname="libboost_regex-${subdir}-mt-sp-${boost_version}"
opts='/nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB '"$release_extra"' /c'
vc6_gen_lib
debug="true"
libname="boost_regex_${subdir}_mssd"
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="libboost_regex-${subdir}-mt-sgdp-${boost_version}"
opts='/nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB '"$debug_extra"' /c'
#vc6_gen_lib
libname="boost_regex_${subdir}_mdid"
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'
libname="boost_regex-${subdir}-mt-gdp-${boost_version}"
opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_DYN_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL '"$debug_extra"' /c'
#vc6_gen_dll
debug="no"
opts='/nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL '"$release_extra"' /c'
libname="boost_regex-${subdir}-mt-p-${boost_version}"
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}_mdi"
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="boost_regex_${subdir}_mds"
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 '"$release_extra"' /c'
libname="libboost_regex-${subdir}-mt-p-${boost_version}"
vc6_gen_lib
debug="true"
libname="boost_regex_${subdir}_mdsd"
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
libname="libboost_regex-${subdir}-mt-gdp-${boost_version}"
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 '"$debug_extra"' /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}_mdidd"
opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL '"$debug_extra"' /c'
libname="boost_regex-${subdir}-mt-gdp-${boost_version}"
vc6_gen_dll
libname="boost_regex_${subdir}_mssdd"
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'
libname="libboost_regex-${subdir}-mt-sgdp-${boost_version}"
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 '"$debug_extra"' /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="boost_regex_${subdir}_mdsdd"
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 '"$debug_extra"' /c'
libname="libboost_regex-${subdir}-mt-gdp-${boost_version}"
vc6_gen_lib
cat > $out << EOF
@ -331,7 +332,7 @@ EOF
cat $iout >> $out
echo >> $out
echo main_dir : >> $out
echo " @if not exist \"$subdir\\\$(NULL)\" mkdir $subdir" >> $out
echo " @if not exist \"$subdir$stlport_suffix\\\$(NULL)\" mkdir $subdir$stlport_suffix" >> $out
echo "" >> $out
echo 'stlport_check : $(STLPORT_PATH)\stlport\string' >> $out
echo " echo" >> $out
@ -345,6 +346,7 @@ EOF
#
# generate vc6 makefile:
debug_extra="/GX"
out="vc6.mak"
subdir="vc6"
vc6_gen
@ -353,15 +355,38 @@ vc6_gen
is_stlport="yes"
out="vc6-stlport.mak"
no_single="yes"
subdir="vc6-stlport"
subdir="vc6"
vc6_stlp_gen
#
# generate vc7 makefile:
debug_extra="/GX /RTC1 /Zc:wchar_t"
release_extra="/Zc:wchar_t"
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"
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"
vc6_stlp_gen
#
@ -372,3 +397,6 @@ rm -f $tout $iout

View File

@ -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 <wchar.h> 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.

View File

@ -0,0 +1,77 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: bad_expression</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">class bad_expression</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<h3>Synopsis</h3>
<p>#include &lt;<a href="../../../boost/regex/pattern_except.hpp">boost/pattern_except.hpp</a>&gt;</p>
<p>The class <code>bad_expression</code> 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.&nbsp;&nbsp;</p>
<pre>
<b>namespace</b> boost{
<b>class</b> bad_pattern : <b>public</b> std::runtime_error
{
<b>public</b>:
<b>explicit</b> bad_pattern(<b>const</b> std::string&amp; s) : std::runtime_error(s){};
};
<b>class</b> bad_expression : <b>public</b> bad_pattern
{
<b>public</b>:
bad_expression(<b>const</b> std::string&amp; s) : bad_pattern(s) {}
};
} // namespace boost
</pre>
<h3>Description</h3>
<pre>
bad_expression(const string&amp; what_arg);
</pre>
<p><b>Effects:</b> Constructs an object of class <code>bad_expression</code>.</p>
<b></b>
<p><b>Postcondition:</b> <code>strcmp(what(), what_arg.c_str()) == 0</code>.</p>
<p>Footnotes: the class <i>bad_pattern</i> forms the base class for all
pattern-matching exceptions, of which <i>bad_expression</i> is one. The choice
of <i>std::runtime_error</i> as the base class for <i>bad_pattern</i> 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).</p>
<p></p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

914
doc/Attic/basic_regex.html Normal file
View File

@ -0,0 +1,914 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: basic_regex</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">basic_regex</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<h3>Synopsis</h3>
<pre>
#include &lt;<a href="../../../boost/regex.hpp">boost/regex.hpp</a>&gt;
</pre>
<p>The template class <em>basic_regex</em> encapsulates regular expression parsing
and compilation. The class takes three template parameters:</p>
<p><b><i>charT</i></b>: determines the character type, i.e. either char or
wchar_t.</p>
<p><b><i>traits</i></b>: determines the behavior of the character type, for
example which character class names are recognized. A default traits class is
provided: <a href="regex_traits.html">regex_traits&lt;charT&gt;</a>.</p>
<p><b><i>Allocator</i></b>: the allocator class used to allocate memory by the
class.</p>
<p>For ease of use there are two typedefs that define the two standard <i>basic_regex</i>
instances, unless you want to use custom traits classes or allocators, you
won't need to use anything other than these:</p>
<pre>
<b>namespace</b> boost{
<b>template</b> &lt;<b>class</b> charT, <b>class</b> traits = regex_traits&lt;charT&gt;, <b>class</b> Allocator = std::allocator&lt;charT&gt; &gt;
<b>class</b> basic_regex;
<b>typedef</b> basic_regex&lt;<b>char</b>&gt; regex;
<b>typedef</b> basic_regex&lt;<b>wchar_t&gt;</b> wregex;
}
</pre>
<p>The definition of <i>basic_regex</i> follows: it is based very closely on class
basic_string, and fulfils the requirements for a constant-container of <i>charT</i>.</p>
<pre>
namespace boost{
template &lt;class charT,
class traits = regex_traits&lt;charT&gt;,
class Allocator = allocator&lt;charT&gt; &gt;
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 <A href="#c1">basic_regex</A>(const Allocator&amp; a = Allocator());
explicit <A href="#c2">basic_regex</A>(const charT* p, flag_type f = regex_constants::normal,
const Allocator&amp; a = Allocator());
<A href="#c3">basic_regex</A>(const charT* p1, const charT* p2, flag_type f = regex_constants::normal,
const Allocator&amp; a = Allocator());
<A href="#c4">basic_regex</A>(const charT* p, size_type len, flag_type f,
const Allocator&amp; a = Allocator());
<A href="#c5">basic_regex</A>(const basic_regex&amp;);
template &lt;class ST, class SA&gt;
explicit <A href="#c6">basic_regex</A>(const basic_string&lt;charT, ST, SA&gt;&amp; p,
flag_type f = regex_constants::normal,
const Allocator&amp; a = Allocator());
template &lt;class InputIterator&gt;
<A href="#c7">basic_regex</A>(InputIterator first, inputIterator last,
flag_type f = regex_constants::normal,
const Allocator&amp; a = Allocator());
~basic_regex();
basic_regex&amp; <A href="#o1">operator</A>=(const basic_regex&amp;);
basic_regex&amp; <A href="#o2">operator</A>= (const charT* ptr);
template &lt;class ST, class SA&gt;
basic_regex&amp; <A href="#o3">operator</A>= (const basic_string&lt;charT, ST, SA&gt;&amp; p);
// iterators:
const_iterator <A href="#m1">begin</A>() const;
const_iterator <A href="#m2">end</A>() const;
// capacity:
size_type <A href="#m3">size</A>() const;
size_type <A href="#m4">max_size</A>() const;
bool <A href="#m5">empty</A>() const;
unsigned <A href="#m6">mark_count</A>()const;
//
// modifiers:
basic_regex&amp; <A href="#a1">assign</A>(const basic_regex&amp; that);
basic_regex&amp; <A href="#a2">assign</A>(const charT* ptr, flag_type f = regex_constants::normal);
basic_regex&amp; <A href="#a3">assign</A>(const charT* ptr, unsigned int len, flag_type f);
template &lt;class string_traits, class A&gt;
basic_regex&amp; <A href="#a4">assign</A>(const basic_string&lt;charT, string_traits, A&gt;&amp; s,
flag_type f = regex_constants::normal);
template &lt;class InputIterator&gt;
basic_regex&amp; <A href="#a5">assign</A>(InputIterator first, InputIterator last,
flag_type f = regex_constants::normal);
// const operations:
Allocator <A href="#m7">get_allocator</A>() const;
flag_type <A href="#m8">flags</A>() const;
basic_string&lt;charT&gt; <A href="#m9">str</A>() const;
int <A href="#m10">compare</A>(basic_regex&amp;) const;
// locale:
locale_type <A href="#m11">imbue</A>(locale_type loc);
locale_type <A href="#m12">getloc</A>() const;
// swap
void <A href="#m13">swap</A>(basic_regex&amp;) throw();
};
template &lt;class charT, class traits, class Allocator&gt;
bool <A href="#o4">operator</A> == (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
template &lt;class charT, class traits, class Allocator&gt;
bool <A href="#o5">operator</A> != (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
template &lt;class charT, class traits, class Allocator&gt;
bool <A href="#o7">operator</A> &lt; (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
template &lt;class charT, class traits, class Allocator&gt;
bool <A href="#o8">operator</A> &lt;= (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
template &lt;class charT, class traits, class Allocator&gt;
bool <A href="#o9">operator</A> &gt;= (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
template &lt;class charT, class traits, class Allocator&gt;
bool <A href="#o10">operator</A> &gt; (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
template &lt;class charT, class io_traits, class re_traits, class Allocator&gt;
basic_ostream&lt;charT, io_traits&gt;&amp;
<A href="#o11">operator</A> &lt;&lt; (basic_ostream&lt;charT, io_traits&gt;&amp; os,
const basic_regex&lt;charT, re_traits, Allocator&gt;&amp; e);
template &lt;class charT, class traits, class Allocator&gt;
void <A href="#o12">swap</A>(basic_regex&lt;charT, traits, Allocator&gt;&amp; e1,
basic_regex&lt;charT, traits, Allocator&gt;&amp; e2);
typedef basic_regex&lt;char&gt; regex;
typedef basic_regex&lt;wchar_t&gt; wregex;
} // namespace boost
</pre>
<h3>Description</h3>
<p>Class&nbsp;<em>basic_regex</em> has the following public member functions:</p>
<h4>basic_regex constants</h4>
<pre>
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;
</pre>
<p>The static constant members are provided as synonyms for the constants declared
in namespace <code>boost::regex_constants</code>; for each constant of type <code><A href="syntax_option_type.html">
syntax_option_type</A></code> declared in namespace <code>boost::regex_constants</code>
then a constant with the same name, type and value is declared within the scope
of <code>basic_regex</code>.</p>
<h4>basic_regex constructors</h4>
<p>In all <code>basic_regex</code> constructors, a copy of the <code>Allocator</code>
argument is used for any memory allocation performed by the constructor or
member functions during the lifetime of the object.</p>
<pre>
basic_regex(const Allocator&amp; a = Allocator());
</pre>
<P><b>Effects:</b> Constructs an object of class <code>basic_regex</code>. The
postconditions of this function are indicated in the table:</P>
<div align="center">
<center>
<table id="Table2" cellspacing="1" cellpadding="7" width="624" border="1">
<tbody>
<tr>
<td valign="top" width="50%">
<p><b>Element</b></p>
</td>
<td valign="top" width="50%">
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>empty()</p>
</td>
<td valign="top" width="50%">
<p>true</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>size()</p>
</td>
<td valign="top" width="50%">
<p>0</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>str()</p>
</td>
<td valign="top" width="50%">
<p>basic_string&lt;charT&gt;()</p>
</td>
</tr>
</tbody>
</table>
</center>
</div>
<pre> <A name=c2></A>basic_regex(const charT* p, flag_type f = regex_constants::normal, const Allocator&amp; a = Allocator());
</pre>
<P><b>Requires:</b> <i>p</i> shall not be a null pointer.</P>
<p><b>Throws:</b> <code>bad_expression</code> if <i>p</i> is not a valid regular
expression.</p>
<p><b>Effects:</b> Constructs an object of class <code>basic_regex</code>; the
object's internal finite state machine is constructed from the regular
expression contained in the null-terminated string <i>p</i>, and interpreted
according to the <a href="syntax_option_type.html">option flags</a>&nbsp;specified
in <i>f</i>. The postconditions of this function are indicated in the table:</p>
<div align="center">
<center>
<table id="Table3" cellspacing="1" cellpadding="7" width="624" border="1">
<tbody>
<tr>
<td valign="top" width="50%">
<p><b>Element</b></p>
</td>
<td valign="top" width="50%">
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>empty()</p>
</td>
<td valign="top" width="50%">
<p>false</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>size()</p>
</td>
<td valign="top" width="50%">
<p>char_traits&lt;charT&gt;::length(p)</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>str()</p>
</td>
<td valign="top" width="50%">
<p>basic_string&lt;charT&gt;(p)</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>flags()</p>
</td>
<td valign="top" width="50%">
<p>f</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>mark_count()</p>
</td>
<td valign="top" width="50%">
<p>The number of marked sub-expressions within the expression.</p>
</td>
</tr>
</tbody>
</table>
</center>
</div>
<pre>
</pre>
<PRE><A name=c3></A>basic_regex(const charT* p1, const charT* p2, flag_type f = regex_constants::normal, const Allocator&amp; a = Allocator());</PRE>
<p><b>Requires:</b> <i>p1</i> and <i>p2</i> are not null pointers, <code>p1 &lt; p2</code>.</p>
<p><b>Throws:</b> <code>bad_expression</code> if [p1,p2) is not a valid regular
expression.</p>
<p><b>Effects:</b> Constructs an object of class <code>basic_regex</code>; 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 <a href="syntax_option_type.html">option flags</a> specified in <i>f</i>.
The postconditions of this function are indicated in the table:</p>
<div align="center">
<center>
<table id="Table4" cellspacing="1" cellpadding="7" width="624" border="1">
<tbody>
<tr>
<td valign="top" width="50%">
<p><b>Element</b></p>
</td>
<td valign="top" width="50%">
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>empty()</p>
</td>
<td valign="top" width="50%">
<p>false</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>size()</p>
</td>
<td valign="top" width="50%">
<p>std::distance(p1,p2)</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>str()</p>
</td>
<td valign="top" width="50%">
<p>basic_string&lt;charT&gt;(p1,p2)</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>flags()</p>
</td>
<td valign="top" width="50%">
<p>f</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>mark_count()</p>
</td>
<td valign="top" width="50%">
<p>The number of marked sub-expressions within the expression.</p>
</td>
</tr>
</tbody>
</table>
</center>
</div>
<pre>
</pre>
<pre><A name=c4></A>
basic_regex(const charT* p, size_type len, flag_type f, const Allocator&amp; a = Allocator());
</pre>
<p><b>Requires:</b> <i>p</i> shall not be a null pointer, <code>len &lt; max_size()</code>.</p>
<p><b>Throws:</b> <code>bad_expression</code> if <i>p</i> is not a valid regular
expression.</p>
<p><b>Effects:</b> Constructs an object of class <code>basic_regex</code>; 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 <a href="syntax_option_type.html">option flags</a> specified in <i>f</i>.
The postconditions of this function are indicated in the table:</p>
<div align="center">
<center>
<table id="Table5" cellspacing="1" cellpadding="7" width="624" border="1">
<tbody>
<tr>
<td valign="top" width="50%">
<p><b>Element</b></p>
</td>
<td valign="top" width="50%">
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>empty()</p>
</td>
<td valign="top" width="50%">
<p>false</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>size()</p>
</td>
<td valign="top" width="50%">
<p>len</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>str()</p>
</td>
<td valign="top" width="50%">
<p>basic_string&lt;charT&gt;(p, len)</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>flags()</p>
</td>
<td valign="top" width="50%">
<p>f</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>mark_count()</p>
</td>
<td valign="top" width="50%">
<p>The number of marked sub-expressions within the expression.</p>
</td>
</tr>
</tbody>
</table>
</center>
</div>
<pre>
</pre>
<pre><A name=c5></A>
basic_regex(const basic_regex&amp; e);
</pre>
<p><b>Effects:</b> Constructs an object of class <code>basic_regex</code> as a
copy of the object <i>e</i>. The postconditions of this function are indicated
in the table:</p>
<div align="center">
<center>
<table id="Table6" cellspacing="1" cellpadding="7" width="624" border="1">
<tbody>
<tr>
<td valign="top" width="50%">
<p><b>Element</b></p>
</td>
<td valign="top" width="50%">
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>empty()</p>
</td>
<td valign="top" width="50%">
<p>e.empty()</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>size()</p>
</td>
<td valign="top" width="50%">
<p>e.size()</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>str()</p>
</td>
<td valign="top" width="50%">
<p>e.str()</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>flags()</p>
</td>
<td valign="top" width="50%">
<p>e.flags()</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>mark_count()</p>
</td>
<td valign="top" width="50%">
<p>e.mark_count()</p>
</td>
</tr>
</tbody>
</table>
</center>
</div>
<pre>
</pre>
<pre>
template &lt;class ST, class SA&gt;
<A name=c6></A>
basic_regex(const basic_string&lt;charT, ST, SA&gt;&amp; s,
flag_type f = regex_constants::normal, const Allocator&amp; a = Allocator());
</pre>
<p><b>Throws:</b> <code>bad_expression</code> if <i>s</i> is not a valid regular
expression.</p>
<p><b>Effects:</b> Constructs an object of class <code>basic_regex</code>; the
object's internal finite state machine is constructed from the regular
expression contained in the string <i>s</i>, and interpreted according to the <a href="syntax_option_type.html">
option flags</a> specified in <i>f</i>. The postconditions of this function
are indicated in the table:</p>
<div align="center">
<center>
<table id="Table7" cellspacing="1" cellpadding="7" width="624" border="1">
<tbody>
<tr>
<td valign="top" width="50%">
<p><b>Element</b></p>
</td>
<td valign="top" width="50%">
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>empty()</p>
</td>
<td valign="top" width="50%">
<p>false</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>size()</p>
</td>
<td valign="top" width="50%">
<p>s.size()</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>str()</p>
</td>
<td valign="top" width="50%">
<p>s</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>flags()</p>
</td>
<td valign="top" width="50%">
<p>f</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>mark_count()</p>
</td>
<td valign="top" width="50%">
<p>The number of marked sub-expressions within the expression.</p>
</td>
</tr>
</tbody>
</table>
</center>
</div>
<pre>
</pre>
<pre>
template &lt;class ForwardIterator&gt;
<A name=c7></A>
basic_regex(ForwardIterator first, ForwardIterator last,
flag_type f = regex_constants::normal, const Allocator&amp; a = Allocator());
</pre>
<p><b>Throws:</b> <code>bad_expression</code> if the sequence <i>[first, last)</i>
is not a valid regular expression.</p>
<p><b>Effects:</b> Constructs an object of class <code>basic_regex</code>; 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 <a href="syntax_option_type.html">option flags</a>
specified in <i>f</i>. The postconditions of this function are indicated in the
table:</p>
<div align="center">
<center>
<table id="Table8" cellspacing="1" cellpadding="7" width="624" border="1">
<tbody>
<tr>
<td valign="top" width="50%">
<p><b>Element</b></p>
</td>
<td valign="top" width="50%">
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>empty()</p>
</td>
<td valign="top" width="50%">
<p>false</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>size()</p>
</td>
<td valign="top" width="50%">
<p>distance(first,last)</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>str()</p>
</td>
<td valign="top" width="50%">
<p>basic_string&lt;charT&gt;(first,last)</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>flags()</p>
</td>
<td valign="top" width="50%">
<p>f</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>mark_count()</p>
</td>
<td valign="top" width="50%">
<p>The number of marked sub-expressions within the expression.</p>
</td>
</tr>
</tbody>
</table>
</center>
</div>
<pre>
</pre>
<pre><A name=o1></A>
basic_regex&amp; operator=(const basic_regex&amp; e);
</pre>
<p><b>Effects:</b> Returns the result of <code>assign(e.str(), e.flags())</code>.</p>
<pre><A name=o2></A>
basic_regex&amp; operator=(const charT* ptr);
</pre>
<p><b>Requires:</b> <i>p</i> shall not be a null pointer.</p>
<p><b>Effects:</b> Returns the result of <code>assign(ptr)</code>.</p>
<pre><A name=o3></A>
template &lt;class ST, class SA&gt;
basic_regex&amp; operator=(const basic_string&lt;charT, ST, SA&gt;&amp; p);
</pre>
<p><b>Effects:</b> Returns the result of <code>assign(p)</code>.</p>
<h4>basic_regex iterators</h4>
<pre><A name=m1></A>
const_iterator begin() const;
</pre>
<p><b>Effects:</b> Returns a starting iterator to a sequence of characters
representing the regular expression.</p>
<pre><A name=m2></A>
const_iterator end() const;
</pre>
<p><b>Effects:</b> Returns termination iterator to a sequence of characters
representing the regular expression.</p>
<h4>basic_regex capacity</h4>
<pre><A name=m3></A>
size_type size() const;
</pre>
<p><b>Effects:</b> Returns the length of the sequence of characters representing
the regular expression.</p>
<pre><A name=m4></A>
size_type max_size() const;
</pre>
<p><b>Effects:</b> Returns the maximum length of the sequence of characters
representing the regular expression.</p>
<pre><A name=m5></A>
bool empty() const;
</pre>
<p><b>Effects:</b> Returns <b>true</b> if the object does not contain a valid
regular expression, otherwise <b>false</b>.</p>
<pre><A name=m6></A>unsigned mark_count() const;
</pre>
<p><b>Effects:</b> Returns the number of marked sub-expressions within the regular
expresion.</p>
<h4>basic_regex assign</h4>
<pre><A name=a1></A>
basic_regex&amp; assign(const basic_regex&amp; that);
</pre>
<p><b>Effects:</b> Returns <code>assign(that.str(), that.flags())</code>.</p>
<pre><A name=a2></A>
basic_regex&amp; assign(const charT* ptr, flag_type f = regex_constants::normal);
</pre>
<p><b>Effects:</b> Returns <code>assign(string_type(ptr), f)</code>.</p>
<PRE><A name=a3></A><A name=a3></A>basic_regex&amp; assign(const charT* ptr, unsigned int len, flag_type f);</PRE>
<P><B>Effects:</B> Returns <CODE>assign(string_type(ptr, len), f)</CODE>.</P>
<PRE><A name=a4></A>template &lt;class string_traits, class A&gt;
<A name=a6></A>basic_regex&amp; assign(const basic_string&lt;charT, string_traits, A&gt;&amp; s,
flag_type f = regex_constants::normal);
</PRE>
<p><b>Throws:</b> <code>bad_expression</code> if <i>s</i> is not a valid regular
expression.</p>
<p><b>Returns:</b> <code>*this</code>.</p>
<p><b>Effects:</b> Assigns the regular expression contained in the string <i>s</i>,
interpreted according the <a href="syntax_option_type.html">option flags</a> specified
in <i>f</i>. The postconditions of this function are indicated in the table:</p>
<div align="center">
<center>
<table id="Table9" cellspacing="1" cellpadding="7" width="624" border="1">
<tbody>
<tr>
<td valign="top" width="50%">
<p><b>Element</b></p>
</td>
<td valign="top" width="50%">
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>empty()</p>
</td>
<td valign="top" width="50%">
<p>false</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>size()</p>
</td>
<td valign="top" width="50%">
<p>s.size()</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>str()</p>
</td>
<td valign="top" width="50%">
<p>s</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>flags()</p>
</td>
<td valign="top" width="50%">
<p>f</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>mark_count()</p>
</td>
<td valign="top" width="50%">
<p>The number of marked sub-expressions within the expression.</p>
</td>
</tr>
</tbody>
</table>
</center>
</div>
<pre>
</pre>
<pre><A name=a5></A>template &lt;class InputIterator&gt;
basic_regex&amp; assign(InputIterator first, InputIterator last,
flag_type f = regex_constants::normal);
</pre>
<p><b>Requires:</b> The type InputIterator corresponds to the Input Iterator
requirements (24.1.1).</p>
<p><b>Effects:</b> Returns <code>assign(string_type(first, last), f)</code>.</p>
<h4>basic_regex constant operations</h4>
<pre><A name=m7></A>Allocator get_allocator() const;
</pre>
<p><b>Effects:</b> Returns a copy of the Allocator that was passed to the object's
constructor.</p>
<pre><A name=m8></A>flag_type flags() const;
</pre>
<p><b>Effects:</b> Returns a copy of the regular expression syntax flags that were
passed to the object's constructor, or the last call to <code>assign.</code></p>
<pre><A name=m9></A>basic_string&lt;charT&gt; str() const;
</pre>
<p><b>Effects:</b> Returns a copy of the character sequence passed to the object's
constructor, or the last call to <code>assign.</code></p>
<pre><A name=m10></A>int compare(basic_regex&amp; e)const;
</pre>
<p><b>Effects:</b> If <code>flags() == e.flags()</code> then returns <code>str().compare(e.str())</code>,
otherwise returns <code>flags() - e.flags()</code>.</p>
<h4>basic_regex locale</h4>
<pre><A name=m11></A>locale_type imbue(locale_type l);
</pre>
<p><b>Effects:</b> Returns the result of <code>traits_inst.imbue(l)</code> where <code>
traits_inst</code> is a (default initialized) instance of the template
parameter <code>traits</code> stored within the object. Calls to imbue
invalidate any currently contained regular expression.</p>
<p><b>Postcondition:</b> <code>empty() == true</code>.</p>
<pre><A name=m12></A>
locale_type getloc() const;
</pre>
<p><b>Effects:</b> Returns the result of <code>traits_inst.getloc()</code> where <code>
traits_inst</code> is a (default initialized) instance of the template
parameter <code>traits</code> stored within the object.</p>
<h4>basic_regex swap</h4>
<pre><A name=m13></A>
void swap(basic_regex&amp; e) throw();
</pre>
<p><b>Effects:</b> Swaps the contents of the two regular expressions.</p>
<p><b>Postcondition:</b> <code>*this</code> contains the characters that were in <i>e</i>,
<i>e</i> contains the regular expression that was in <code>*this</code>.</p>
<p><b>Complexity:</b> constant time.</p>
<h4>basic_regex non-member functions</h4>
<h5>basic_regex non-member comparison operators&nbsp;</h5>
<P>Comparisons between basic_regex objects are provided on an experimental basis:
please note that these are likely to be removed from the standard library
proposal, so use with care if you are writing portable code.</P>
<pre><A name=o4></A>
template &lt;class charT, class traits, class Allocator&gt;
bool operator == (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
</pre>
<p><b>Effects:</b> Returns <code>lhs.compare(rhs) == 0</code>.</p>
<pre><A name=o5></A>
template &lt;class charT, class traits, class Allocator&gt;
bool operator != (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
</pre>
<p><b>Effects:</b> Returns <code>lhs.compare(rhs) != 0</code>.</p>
<pre><A name=o7></A>
template &lt;class charT, class traits, class Allocator&gt;
bool operator &lt; (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
</pre>
<p><b>Effects:</b> Returns <code>lhs.compare(rhs) &lt; 0</code>.</p>
<pre><A name=o8></A>
template &lt;class charT, class traits, class Allocator&gt;
bool operator &lt;= (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
</pre>
<p><b>Effects:</b> Returns <code>lhs.compare(rhs) &lt;= 0</code>.</p>
<pre><A name=o9></A>
template &lt;class charT, class traits, class Allocator&gt;
bool operator &gt;= (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
</pre>
<p><b>Effects:</b> Returns <code>lhs.compare(rhs) &gt;= 0</code>.</p>
<pre><A name=o10></A>
template &lt;class charT, class traits, class Allocator&gt;
bool operator &gt; (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
</pre>
<p><b>Effects:</b> Returns <code>lhs.compare(rhs) &gt; 0</code>.</p>
<h5>basic_regex inserter.</h5>
<P>The basic_regex stream inserter is provided on an experimental basis, and
outputs the textual representation of the expression to the stream:</P>
<pre><A name=o11></A>
template &lt;class charT, class io_traits, class re_traits, class Allocator&gt;
basic_ostream&lt;charT, io_traits&gt;&amp;
operator &lt;&lt; (basic_ostream&lt;charT, io_traits&gt;&amp; os
const basic_regex&lt;charT, re_traits, Allocator&gt;&amp; e);
</pre>
<p><b>Effects:</b> Returns (os &lt;&lt; e.str()).</p>
<h5>basic_regex non-member swap</h5>
<pre><A name=o12></A>
template &lt;class charT, class traits, class Allocator&gt;
void swap(basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
</pre>
<p><b>Effects:</b> calls <code>lhs.swap(rhs)</code>.</p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

250
doc/Attic/captures.html Normal file
View File

@ -0,0 +1,250 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Index</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Understanding Captures</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<H2>Marked sub-expressions</H2>
<P>Every time a Perl regular expression contains a parenthesis group (), it spits
out an extra field, known as a marked sub-expression, for example the
expression:</P>
<PRE>(\w+)\W+(\w+)</PRE>
<P>
Has two marked sub-expressions (known as $1 and $2 respectively), in addition
the complete match is known as $&amp;, everything before the first match as $`,
and everything after the match as $'.&nbsp; So if the above expression is
searched for within "@abc def--", then we obtain:</P>
<BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px">
<P>
<TABLE id="Table2" cellSpacing="1" cellPadding="1" width="300" border="0">
<TR>
<TD>
<P dir="ltr" style="MARGIN-RIGHT: 0px">$`</P>
</TD>
<TD>"@"</TD>
</TR>
<TR>
<TD>$&amp;</TD>
<TD>"abc def"</TD>
</TR>
<TR>
<TD>$1</TD>
<TD>"abc"</TD>
</TR>
<TR>
<TD>$2</TD>
<TD>"def"</TD>
</TR>
<TR>
<TD>$'</TD>
<TD>"--"</TD>
</TR>
</TABLE>
</P>
</BLOCKQUOTE>
<P>In Boost.regex all these are accessible via the <A href="match_results.html">match_results</A>
class that gets filled in when calling one of the matching algorithms (<A href="regex_search.html">regex_search</A>,
<A href="regex_match.html">regex_match</A>, or <A href="regex_iterator.html">regex_iterator</A>).&nbsp;
So given:</P>
<PRE>boost::match_results&lt;IteratorType&gt; m;</PRE>
<P>The Perl and Boost.Regex equivalents are as follows:</P>
<BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px">
<P>
<TABLE id="Table3" cellSpacing="1" cellPadding="1" width="300" border="0">
<TR>
<TD><STRONG>Perl</STRONG></TD>
<TD><STRONG>Boost.Regex</STRONG></TD>
</TR>
<TR>
<TD>$`</TD>
<TD>m.prefix()</TD>
</TR>
<TR>
<TD>$&amp;</TD>
<TD>m[0]</TD>
</TR>
<TR>
<TD>$n</TD>
<TD>m[n]</TD>
</TR>
<TR>
<TD>$'</TD>
<TD>m.suffix()</TD>
</TR>
</TABLE>
</P>
</BLOCKQUOTE>
<P>
<P>In Boost.Regex each sub-expression match is represented by a <A href="sub_match.html">
sub_match</A> object, this is basically just a pair of iterators denoting
the start and end possition of the sub-expression match, but there are some
additional operators provided so that objects of type sub_match behave a lot
like a std::basic_string: for example they are implicitly <A href="sub_match.html#m3">
convertible to a basic_string</A>, they can be <A href="sub_match.html#o21">compared
to a string</A>, <A href="sub_match.html#o81">added to a string</A>, or <A href="sub_match.html#oi">
streamed out to an output stream</A>.</P>
<H2>Unmatched Sub-Expressions</H2>
<P>When a regular expression match is found there is no need for all of the marked
sub-expressions to have participated in the match, for example the expression:</P>
<P>(abc)|(def)</P>
<P>can match either $1 or $2, but never both at the same time.&nbsp; In
Boost.Regex you can determine which sub-expressions matched by accessing the <A href="sub_match.html#m1">
sub_match::matched</A> data member.</P>
<H2>Repeated Captures</H2>
<P>When a marked sub-expression is repeated, then the sub-expression gets
"captured" multiple times, however normally only the final capture is
available, for example if</P>
<PRE>(?:(\w+)\W+)+</PRE>
<P>is matched against</P>
<PRE>one fine day</PRE>
<P>Then $1 will contain the string "day", and all the previous captures will have
been forgotten.</P>
<P>However, Boost.Regex has an experimental feature that allows all the capture
information to be retained - this is accessed either via the <A href="match_results.html#m17">
match_results::captures</A> member function or the <A href="sub_match.html#m8">sub_match::captures</A>
member function.&nbsp; These functions return a container that contains a
sequence of all the captures obtained during the regular expression
matching.&nbsp; The following example program shows how this information may be
used:</P>
<PRE>#include &lt;boost/regex.hpp&gt;
#include &lt;iostream&gt;
void print_captures(const std::string&amp; regx, const std::string&amp; text)
{
boost::regex e(regx);
boost::smatch what;
std::cout &lt;&lt; "Expression: \"" &lt;&lt; regx &lt;&lt; "\"\n";
std::cout &lt;&lt; "Text: \"" &lt;&lt; text &lt;&lt; "\"\n";
if(boost::regex_match(text, what, e, boost::match_extra))
{
unsigned i, j;
std::cout &lt;&lt; "** Match found **\n Sub-Expressions:\n";
for(i = 0; i &lt; what.size(); ++i)
std::cout &lt;&lt; " $" &lt;&lt; i &lt;&lt; " = \"" &lt;&lt; what[i] &lt;&lt; "\"\n";
std::cout &lt;&lt; " Captures:\n";
for(i = 0; i &lt; what.size(); ++i)
{
std::cout &lt;&lt; " $" &lt;&lt; i &lt;&lt; " = {";
for(j = 0; j &lt; what.captures(i).size(); ++j)
{
if(j)
std::cout &lt;&lt; ", ";
else
std::cout &lt;&lt; " ";
std::cout &lt;&lt; "\"" &lt;&lt; what.captures(i)[j] &lt;&lt; "\"";
}
std::cout &lt;&lt; " }\n";
}
}
else
{
std::cout &lt;&lt; "** No Match found **\n";
}
}
int main(int , char* [])
{
print_captures("(([[:lower:]]+)|([[:upper:]]+))+", "aBBcccDDDDDeeeeeeee");
print_captures("(.*)bar|(.*)bah", "abcbar");
print_captures("(.*)bar|(.*)bah", "abcbah");
print_captures("^(?:(\\w+)|(?&gt;\\W+))*$", "now is the time for all good men to come to the aid of the party");
return 0;
}</PRE>
<P>Which produces the following output:</P>
<PRE>Expression: "(([[:lower:]]+)|([[:upper:]]+))+"
Text: "aBBcccDDDDDeeeeeeee"
** Match found **
Sub-Expressions:
$0 = "aBBcccDDDDDeeeeeeee"
$1 = "eeeeeeee"
$2 = "eeeeeeee"
$3 = "DDDDD"
Captures:
$0 = { "aBBcccDDDDDeeeeeeee" }
$1 = { "a", "BB", "ccc", "DDDDD", "eeeeeeee" }
$2 = { "a", "ccc", "eeeeeeee" }
$3 = { "BB", "DDDDD" }
Expression: "(.*)bar|(.*)bah"
Text: "abcbar"
** Match found **
Sub-Expressions:
$0 = "abcbar"
$1 = "abc"
$2 = ""
Captures:
$0 = { "abcbar" }
$1 = { "abc" }
$2 = { }
Expression: "(.*)bar|(.*)bah"
Text: "abcbah"
** Match found **
Sub-Expressions:
$0 = "abcbah"
$1 = ""
$2 = "abc"
Captures:
$0 = { "abcbah" }
$1 = { }
$2 = { "abc" }
Expression: "^(?:(\w+)|(?&gt;\W+))*$"
Text: "now is the time for all good men to come to the aid of the party"
** Match found **
Sub-Expressions:
$0 = "now is the time for all good men to come to the aid of the party"
$1 = "party"
Captures:
$0 = { "now is the time for all good men to come to the aid of the party" }
$1 = { "now", "is", "the", "time", "for", "all", "good", "men", "to", "come", "to", "the", "aid", "of", "the", "party" }
</PRE>
<P>Unfortunately enabling this feature has an impact on performance (even if you
don't use it), and a much bigger impact if you do use it, therefore to use this
feature you need to:</P>
<UL>
<LI>
Define BOOST_REGEX_MATCH_EXTRA for all translation units including the library
source (the best way to do this is to uncomment this define in <A href="../../../boost/regex/user.hpp">
boost/regex/user.hpp</A>
and then rebuild everything.
<LI>
Pass the <A href="match_flag_type.html">match_extra flag</A> to the particular
algorithms where you actually need the captures information (<A href="regex_search.html">regex_search</A>,
<A href="regex_match.html">regex_match</A>, or <A href="regex_iterator.html">regex_iterator</A>).
</LI>
</UL>
<P>
<HR>
<P></P>
<P></P>
<p>Revised&nbsp;
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
12&nbsp;Dec 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

View File

@ -0,0 +1,225 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Configuration and setup</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content=
"text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%"
border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt=
"C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">Configuration and setup</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt=
"Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<h2>Contents</h2>
<dl class="index">
<dt><a href="#compiler">Compiler setup</a></dt>
<dt><a href="#locale">Locale and traits class selection</a></dt>
<dt><a href="#linkage">Linkage Options</a></dt>
<dt><a href="#algorithm">Algorithm Selection</a></dt>
<dt><a href="#tuning">Algorithm Tuning</a></dt>
</dl>
<h3><a name="compiler"></a>Compiler setup.</h3>
<p>You shouldn't need to do anything special to configure
boost.regex for use with your compiler - the <a href="../../config/index.html">boost.config</a> subsystem should already
take care of it, if you do have problems (or you are using a
particularly obscure compiler or platform) then <a href="../../config/index.html">boost.config</a>&nbsp;has a&nbsp;<a href="../../config/config.htm#config_script">configure</a> script.</p>
<h3><a name="locale"></a>Locale and traits class selection.</h3>
<p>The following macros (see <a href="../../../boost/regex/user.hpp">user.hpp</a>) control how
boost.regex interacts with the user's locale:</p>
<table id="Table2" cellspacing="1" cellpadding="1" width="100%"
border="1">
<tr>
<td width="265">BOOST_REGEX_USE_C_LOCALE</td>
<td>Forces 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.</td>
</tr>
<tr>
<td width="265">BOOST_REGEX_USE_CPP_LOCALE</td>
<td>Forces boost.regex to use std::locale in it's default traits
class, regular expressions can then be imbued with an
instance&nbsp;specific locale.</td>
</tr>
<tr>
<td width="265">BOOST_REGEX_NO_W32</td>
<td>Tells 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).</td>
</tr>
</table>
<br>
<br>
<h3><a name="linkage"></a>Linkage Options</h3>
<table id="Table3" cellspacing="1" cellpadding="1" width="100%"
border="1">
<tr>
<td>BOOST_REGEX_DYN_LINK</td>
<td>For Microsoft and Borland C++ builds, this tells boost.regex
that it should link to the dll build of the boost.regex.&nbsp; By
default boost.regex will link to its static library build, even if
the dynamic C runtime library is in use.</td>
</tr>
<tr>
<td>BOOST_REGEX_NO_LIB</td>
<td>For Microsoft and Borland C++ builds, this tells boost.regex
that it should not automatically select the library to link
to.</td>
</tr>
</table>
<br>
<br>
<h3><a name="algorithm"></a>Algorithm Selection</h3>
<table id="Table4" cellspacing="1" cellpadding="1" width="100%"
border="1">
<tr>
<td width="253">BOOST_REGEX_V3</td>
<td>Tells boost.regex to use the boost-1.30.0 matching algorithm,
define only if you need maximum compatibility with previous
behavior.</td>
</tr>
<tr>
<td width="253">BOOST_REGEX_RECURSIVE</td>
<td>Tells boost.regex to use a stack-recursive matching
algorithm.&nbsp; 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.</td>
</tr>
<tr>
<td width="253">BOOST_REGEX_NON_RECURSIVE</td>
<td>Tells 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.&nbsp; This is the default on non-Win32 platforms.</td>
</tr>
</table>
<br>
<br>
<h3><a name="tuning"></a>Algorithm Tuning</h3>
<p>The following option applies only if BOOST_REGEX_RECURSIVE is
set.</p>
<table id="Table6" cellspacing="1" cellpadding="1" width="100%"
border="1">
<tr>
<td>BOOST_REGEX_HAS_MS_STACK_GUARD</td>
<td>Tells boost.regex that Microsoft style __try - __except blocks
are supported, and can be used to safely trap stack overflow.</td>
</tr>
</table>
<br>
<br>
<p>The following options apply only if BOOST_REGEX_NON_RECURSIVE is
set.</p>
<table id="Table5" cellspacing="1" cellpadding="1" width="100%"
border="1">
<tr>
<td>BOOST_REGEX_BLOCKSIZE</td>
<td>In 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.&nbsp;
This defaults to 4096 bytes, which is large enough to match the
vast majority of regular expressions&nbsp;without further
allocations, however, you can choose smaller or larger values
depending upon your platforms characteristics.</td>
</tr>
<tr>
<td>BOOST_REGEX_MAX_BLOCKS</td>
<td>Tells boost.regex how many blocks of size BOOST_REGEX_BLOCKSIZE
it is permitted to use.&nbsp; If this value is exceeded then
boost.regex will stop trying to find a match and throw a
std::runtime_error.&nbsp; Defaults to 1024, don't forget to tweek
this value if you alter BOOST_REGEX_BLOCKSIZE by much.</td>
</tr>
<tr>
<td>BOOST_REGEX_MAX_CACHE_BLOCKS</td>
<td>Tells 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.&nbsp; 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).&nbsp; 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.&nbsp; On the other hand, on large multi-processor,
multi-threaded systems, you may find that a higher value is in
order.</td>
</tr>
</table>
<br>
<br>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

87
doc/Attic/contacts.html Normal file
View File

@ -0,0 +1,87 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Contacts</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><IMG height="86" alt="C++ Boost" src="../../../c++boost.gif" width="277" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">Contacts and Acknowledgements</h2>
</td>
<td width="50">
<h3><a href="index.html"><IMG height="45" alt="Boost.Regex Index" src="uarrow.gif" width="43" border="0"></a></h3>
</td>
</tr>
</table>
<BR>
<BR>
<HR>
<P>The author can be contacted at john@johnmaddock.co.uk;&nbsp;the home page for
this library is at <A href="http://www.boost.org">www.boost.org</A>.</P>
<P>I am indebted to <A href="http://www.cs.princeton.edu/~rs/">Robert Sedgewick's
"Algorithms in C++" </A>for forcing me to think about algorithms and their
performance, and to the folks at <A href="http://www.boost.org">boost</A> for
forcing me to <I>think</I>, period.</P>
<P><A href="http://www.boost-consulting.com">Eric Niebler</A>, author of the <A href="http://research.microsoft.com/projects/greta">
GRETA regular expression component</A>, has shared several important ideas,
in a series of long discussions.</P>
<P>Pete Becker, of <A href="http://www.dinkumware.com/">Dinkumware Ltd</A>, has
helped enormously with the standardisation proposal language.</P>
<P>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<72> Poirier, Michael Raykh, Marc Recht, Scott VanCamp, Bruno Voigt, Alexey
Voinov, Jerry Waldorf, Rob Ward, Lealon Watts, John Wismar, 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.</P>
<P>Useful further information can be found at:</P>
<P>Short&nbsp;tutorials on regular expressions can be <A href="http://etext.lib.virginia.edu/helpsheets/regex.html">
found here</A> and&nbsp;<A href="http://www.devshed.com/Server_Side/Administration/RegExp/page1.html">here</A>.</P>
<P>The main book on regular expressions is <A href="http://www.oreilly.com/catalog/regex/">
Mastering Regular Expressions, published by O'Reilly</A>.</P>
<P>Information on the <A href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1429.htm">
Boost.regex standardization proposal</A>, along with other <A href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1475.html">
standard library extension proposals</A> can be found on the <A href="http://anubis.dkuug.dk/jtc1/sc22/wg21/">
C++ Committees web pages</A>.</P>
<P>The<a href="http://www.opengroup.org/onlinepubs/7908799/toc.htm">Open Unix
Specification</a> contains a wealth of useful material, including the
regular expression syntax, and specifications for <a href="http://www.opengroup.org/onlinepubs/7908799/xsh/regex.h.html">
&lt;regex.h&gt;</a> and <a href="http://www.opengroup.org/onlinepubs/7908799/xsh/nl_types.h.html">
&lt;nl_types.h&gt;</a>.</P>
<p>The <a href="http://www.cs.ucr.edu/~stelo/pattern.html">Pattern Matching Pointers</a>
site is a "must visit" resource for anyone interested in pattern matching.</p>
<p><a href="http://glimpse.cs.arizona.edu/">Glimpse and Agrep</a>, use a
simplified regular expression syntax to achieve faster search times.</p>
<p><a href="http://glimpse.cs.arizona.edu/udi.html">Udi Manber</a> and <a href="http://www.dcc.uchile.cl/~rbaeza/">
Ricardo Baeza-Yates</a> both have a selection of useful pattern matching
papers available from their respective web sites.</p>
<p></p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

95
doc/Attic/examples.html Normal file
View File

@ -0,0 +1,95 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Examples</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><IMG height="86" alt="C++ Boost" src="../../../c++boost.gif" width="277" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">Examples</h2>
</td>
<td width="50">
<h3><a href="index.html"><IMG height="45" alt="Boost.Regex Index" src="uarrow.gif" width="43" border="0"></a></h3>
</td>
</tr>
</table>
<BR>
<BR>
<HR>
<P>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.</P>
<H5>regress.exe:</H5>
<P>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.</P>
<P>Files: <A href="../test/regress/parse.cpp">parse.cpp</A>, <A href="../test/regress/regress.cpp">
regress.cpp</A>, <A href="../test/regress/tests.cpp">tests.cpp</A>.</P>
<H5>jgrep.exe</H5>
<P>A simple grep implementation, run with no command line options to find out its
usage. Look at <A href="../src/fileiter.cpp">fileiter.cpp</A>/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.</P>
<P>Files: <A href="../example/jgrep/jgrep.cpp">jgrep.cpp</A>, <A href="../example/jgrep/main.cpp">
main.cpp</A>.</P>
<H5>timer.exe</H5>
<P>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.</P>
<P>Files: <A href="../example/timer/regex_timer.cpp">regex_timer.cpp</A>.</P>
<H5>Code snippets</H5>
<P>The snippets examples contain the code examples used in the documentation:</P>
<P><A href="../example/snippets/credit_card_example.cpp">credit_card_example.cpp</A>:
Credit card number formatting code.</P>
<P><A href="../example/snippets/partial_regex_grep.cpp">partial_regex_grep.cpp</A>:
Search example using partial matches.</P>
<P><A href="../example/snippets/partial_regex_match.cpp">partial_regex_match.cpp</A>:
regex_match example using partial matches.</P>
<P><A href="../example/snippets/regex_grep_example_1.cpp">regex_grep_example_1.cpp</A>:
regex_grep example 1: searches a cpp file for class definitions.</P>
<P><A href="../example/snippets/regex_grep_example_2.cpp">regex_grep_example_2.cpp</A>:
regex_grep example 2: searches a cpp file for class definitions, using a global
callback function.</P>
<P><A href="../example/snippets/regex_grep_example_3.cpp">regex_grep_example_3.cpp</A>:
regex_grep example 2: searches a cpp file for class definitions, using a bound
member function callback.</P>
<P><A href="../example/snippets/regex_grep_example_4.cpp">regex_grep_example_4.cpp</A>:
regex_grep example 2: searches a cpp file for class definitions, using a C++
Builder closure as a callback.</P>
<P><A href="../example/snippets/regex_match_example.cpp">regex_match_example.cpp</A>:
ftp based regex_match example.</P>
<P><A href="../example/snippets/regex_merge_example.cpp">regex_merge_example.cpp</A>:
regex_merge example: converts a C++ file to syntax highlighted HTML.</P>
<P><A href="../example/snippets/regex_replace_example.cpp">regex_replace_example.cpp</A>:
regex_replace example: converts a C++ file to syntax highlighted HTML</P>
<P><A href="../example/snippets/regex_search_example.cpp">regex_search_example.cpp</A>:
regex_search example: searches a cpp file for class definitions.</P>
<P><A href="../example/snippets/regex_split_example_1.cpp">regex_split_example_1.cpp</A>:
regex_split example: split a string into tokens.</P>
<P><A href="../example/snippets/regex_split_example_2.cpp">regex_split_example_2.cpp</A>
: regex_split example: spit out linked URL's.</P>
<P></P>
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

114
doc/Attic/faq.html Normal file
View File

@ -0,0 +1,114 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: FAQ</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">FAQ</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<font color="#ff0000"><font color="#ff0000"></font></font>
<p><font color="#ff0000"><font color="#ff0000"><font color="#ff0000">&nbsp;Q. Why can't I
use the "convenience" versions of regex_match / regex_search / regex_grep /
regex_format / regex_merge?</font></font></font></p>
<p>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
&lt;boost/regex.hpp&gt; through your C++ pre-processor, and search the output
file for the function that you are interested in.<font color="#ff0000"><font color="#ff0000"></font></font></p>
<p><font color="#ff0000"><font color="#ff0000">Q. I can't get regex++ to work with
escape characters, what's going on?</font></font></p>
<p>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. <font color="#ff0000"></font>
</p>
<p><font color="#ff0000">Q. Why does using parenthesis in a POSIX regular expression
change the result of a match?</font></p>
<p>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...</p>
<pre>
"(0*)([0-9]*)" against "00123" would produce
$1 = "00"
$2 = "123"
</pre>
<p>where as</p>
<pre>
"0*([0-9])*" against "00123" would produce
$1 = "00123"
</pre>
<p>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:</p>
<pre>
"0*([1-9][0-9]*)"
</pre>
<p>as the expression.</p>
<p><font color="#ff0000">Q. Why don't character ranges work properly (POSIX mode
only)?</font><br>
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. <i>[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</i>].</p>
<p><font color="#ff0000">Q. Why are there no throw specifications on any of the
functions? What exceptions can the library throw?</font></p>
<p>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,&nbsp;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.</p>
<p></p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

View File

@ -0,0 +1,263 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<title>Boost.Regex: Format String Syntax</title>
<meta http-equiv="Content-Type" content=
"text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%"
border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt=
"C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">Format String Syntax</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt=
"Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<p>Format strings are used by the algorithm <a href="regex_replace.html">regex_replace</a>&nbsp;and by <a
href="match_results.html">match_results::format</a>, and are used
to transform one string into another.</p>
<p>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.</p>
<p><b><i>Extended format syntax</i></b></p>
<p>In format strings, all characters are treated as literals
except: ()$\?:</p>
<p>To use any of these as literals you must prefix them with the
escape character \</p>
<p>The following special sequences are recognized:&nbsp;<br>
&nbsp;<br>
<i>Grouping:</i></p>
<p>Use the parenthesis characters ( and ) to group sub-expressions
within the format string, use \( and \) to represent literal '('
and ')'.&nbsp;<br>
&nbsp;<br>
<i>Sub-expression expansions:</i></p>
<p>The following Perl like expressions expand to a particular
matched sub-expression:<br>
&nbsp;</p>
<p></p>
<table id="Table2" cellspacing="0" cellpadding="7" width="100%"
border="0">
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">$`</td>
<td valign="top" width="43%">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.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">$'</td>
<td valign="top" width="43%">Expands to all the text from the end
of the match to the end of the input string.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">$&amp;</td>
<td valign="top" width="43%">Expands to all of the current
match.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">$0</td>
<td valign="top" width="43%">Expands to all of the current
match.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">$N</td>
<td valign="top" width="43%">Expands to the text that matched
sub-expression <i>N</i>.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
</table>
<br>
<br>
<p><i>Conditional expressions:</i></p>
<p>Conditional expressions allow two different format strings to be
selected dependent upon whether a sub-expression participated in
the match or not:</p>
<p>?Ntrue_expression:false_expression</p>
<p>Executes true_expression if sub-expression <i>N</i> participated
in the match, otherwise executes false_expression.</p>
<p>Example: suppose we search for "(while)|(for)" then the format
string "?1WHILE:FOR" would output what matched, but in upper
case.&nbsp;<br>
&nbsp;<br>
<i>Escape sequences:</i></p>
<p>The following escape sequences are also allowed:<br>
</p>
<p></p>
<table id="Table3" cellspacing="0" cellpadding="7" width="100%"
border="0">
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\a</td>
<td valign="top" width="43%">The bell character.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\f</td>
<td valign="top" width="43%">The form feed character.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\n</td>
<td valign="top" width="43%">The newline character.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\r</td>
<td valign="top" width="43%">The carriage return character.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\t</td>
<td valign="top" width="43%">The tab character.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\v</td>
<td valign="top" width="43%">A vertical tab character.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\x</td>
<td valign="top" width="43%">A hexadecimal character - for example
\x0D.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\x{}</td>
<td valign="top" width="43%">A possible Unicode hexadecimal
character - for example \x{1A0}</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\cx</td>
<td valign="top" width="43%">The ASCII escape character x, for
example \c@ is equivalent to escape-@.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\e</td>
<td valign="top" width="43%">The ASCII escape character.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\dd</td>
<td valign="top" width="43%">An octal character constant, for
example \10.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
</table>
<br>
<br>
<p><b><i>Perl format strings</i></b></p>
<p>Perl format strings are the same as the default syntax except
that the characters ()?: have no special meaning.</p>
<p><b><i>Sed format strings</i></b></p>
<p>Sed format strings use only the characters \ and &amp; as
special characters.</p>
<p>\n where n is a digit, is expanded to the nth
sub-expression.</p>
<p>&amp; is expanded to the whole of the match (equivalent to
\0).</p>
<p>Other escape sequences are expanded as per the default
syntax.</p>
<p></p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

50
doc/Attic/headers.html Normal file
View File

@ -0,0 +1,50 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Headers</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Headers</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>There are two main headers used by this library: &lt;boost/regex.hpp&gt;
provides full access to the entire library, while &lt;boost/cregex.hpp&gt;
provides access to just the high level class RegEx, and the POSIX API
functions.
</P>
<P>There is also a header containing only forward declarations
&lt;boost/regex_fwd.hpp&gt; for use when an interface is dependent upon
boost::basic_regex, but otherwise does not need the full definitions.</P>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

68
doc/Attic/history.html Normal file
View File

@ -0,0 +1,68 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: History</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">History</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>Boost 1.31.0.</P>
<UL>
<LI>
Completely rewritten pattern matching code - it is now up to 10 times faster
than before.
<LI>
Reorganized documentation.
<LI>
Deprecated all interfaces that are not part of the <A href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1429.htm">
regular expression standardization proposal</A>.
<LI>
Added <A href="regex_iterator.html">regex_iterator</A> and <A href="regex_token_iterator.html">
regex_token_iterator</A>
.
<LI>
Added support for Perl style independent sub-expressions.
<LI>
Added non-member operators to the<A href="sub_match.html"> sub_match class</A>,
so that you can compare sub_match's with strings, or add them to a string to
produce a new string.
<LI>
Added experimental support for <A href="captures.html">extended capture
information</A>.
<LI>
Changed the match flags so that they are a distinct type (not an integer), if
you try to pass the match flags as an integer rather than<A href="match_flag_type.html">
match_flag_type</A> to the regex algorithms then you will now get a compiler
error.</LI></UL>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
22 Dec 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

View File

@ -0,0 +1,43 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Implementation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Implementation</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>Todo.</P>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

235
doc/Attic/install.html Normal file
View File

@ -0,0 +1,235 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Index</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Installation</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<P>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!
</P>
<P>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 <A href="../../config/config.htm">
configuration library documentation</A>.</P>
<P>The library will encase all code inside namespace boost.
</P>
<P>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:
</P>
<P><B><A name="bcb"></A>Borland C++ Builder:</B>
</P>
<UL>
<LI>
Open up a console window and change to the &lt;boost&gt;\libs\regex\build
directory.
<LI>
Select the appropriate makefile (bcb4.mak for C++ Builder 4, bcb5.mak for C++
Builder 5, and bcb6.mak for C++ Builder 6).
<LI>
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:
</LI>
</UL>
<PRE>make -fbcb5.mak</PRE>
<P>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:</P>
<PRE>make -fbcb5.mak install</PRE>
<P>library files will be copied to &lt;BCROOT&gt;/lib and the dll's to
&lt;BCROOT&gt;/bin, where &lt;BCROOT&gt; corresponds to the install path of
your Borland C++ tools.
</P>
<P>You may also remove temporary files created during the build process (excluding
lib and dll files) by using:</P>
<PRE>make -fbcb5.mak clean</PRE>
<P>Finally when you use regex++ it is only necessary for you to add the
&lt;boost&gt; 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.
</P>
<P>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.&nbsp;</P>
<P>If you want to suppress automatic linking altogether (and supply your own
custom build of the lib) then define BOOST_REGEX_NO_LIB.</P>
<P>If you are building with C++ Builder 6, you will find that
&lt;boost/regex.hpp&gt; can not be used in a pre-compiled header (the actual
problem is in &lt;locale&gt; which gets included by &lt;boost/regex.hpp&gt;),
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!</P>
<P><B><A name="vc"></A>Microsoft Visual C++ 6</B><STRONG> and 7</STRONG></P>
<P>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 <A href="http://ourworld.compuserve.com/homepages/john_maddock/regexpp.htm">
library</A>
</P>
<P>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 &lt;boost&gt;\libs\regex\build
directory.
</P>
<P>Select the correct makefile - vc6.mak for "vanilla" Visual C++ 6 or
vc6-stlport.mak if you are using STLPort.</P>
<P>Invoke the makefile like this:</P>
<PRE>nmake -fvc6.mak</PRE>
<P>You will now have a collection of lib and dll files in a "vc6" subdirectory, to
install these into your development system use:</P>
<PRE>nmake -fvc6.mak install</PRE>
<P>The lib files will be copied to your &lt;VC6&gt;\lib directory and the dll
files to &lt;VC6&gt;\bin, where &lt;VC6&gt; is the root of your Visual C++ 6
installation.</P>
<P>You can delete all the temporary files created during the build (excluding lib
and dll files) using:</P>
<PRE>nmake -fvc6.mak clean </PRE>
<P>Finally when you use regex++ it is only necessary for you to add the
&lt;boost&gt; 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.
</P>
<P>
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.</P>
<P>If you want to add the source directly to your project then define
BOOST_REGEX_NO_LIB to disable automatic library selection.</P>
<P>There are several important caveats to remember when using boost.regex with
Microsoft's Compiler:</P>
<UL>
<LI>
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.</LI>
<LI>
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.
</LI>
<LI>
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).</LI>
<LI>
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.
</LI>
</UL>
<P><B><A name="gcc"></A>GCC(2.95 and 3.x)</B>
</P>
<P>You can build with gcc using the normal boost Jamfile in
&lt;boost&gt;/libs/regex/build, alternatively there is a conservative makefile
for the g++ compiler. From the command prompt change to the
&lt;boost&gt;/libs/regex/build directory and type:
</P>
<PRE>make -fgcc.mak </PRE>
<P>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
&lt;boost&gt;/libs/regex/build/gcc/libboost_regex.a to your list of library
files.
</P>
<P>There is also a makefile to build the library as a shared library:</P>
<PRE>make -fgcc-shared.mak</PRE>
<P>which will build libboost_regex.so and libboost_regex_debug.so.</P>
<P>Both of the these makefiles support the following environment variables:</P>
<P>CXXFLAGS: extra compiler options - note that this applies to both the debug and
release builds.</P>
<P>INCLUDES: additional include directories.</P>
<P>LDFLAGS: additional linker options.</P>
<P>LIBS: additional library files.</P>
<P>For the more adventurous there is a configure script in
&lt;boost&gt;/libs/config; see the <A href="../../config/config.htm">config library
documentation</A>.</P>
<P><B><A name="sun"></A>Sun Workshop 6.1</B></P>
<P>There is a makefile for the sun (6.1) compiler (C++ version 3.12). From the
command prompt change to the &lt;boost&gt;/libs/regex/build directory and type:
</P>
<PRE>dmake -f sunpro.mak </PRE>
<P>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
&lt;boost&gt;/libs/regex/build/sunpro/ to your library search path.
</P>
<P>Both of the these makefiles support the following environment variables:</P>
<P>CXXFLAGS: extra compiler options - note that this applies to both the single
and multithreaded builds.</P>
<P>INCLUDES: additional include directories.</P>
<P>LDFLAGS: additional linker options.</P>
<P>LIBS: additional library files.</P>
<P>LIBSUFFIX: a suffix to mangle the library name with (defaults to nothing).</P>
<P>This makefile does not set any architecture specific options like -xarch=v9,
you can set these by defining the appropriate macros, for example:</P>
<PRE>dmake CXXFLAGS="-xarch=v9" LDFLAGS="-xarch=v9" LIBSUFFIX="_v9" -f sunpro.mak</PRE>
<P>will build v9 variants of the regex library named libboost_regex_v9.a etc.</P>
<P><B><A name="other"></A>Other compilers:</B>
</P>
<P>There is a generic makefile (<A href="../build/generic.mak">generic.mak</A>
) provided in &lt;boost-root&gt;/libs/regex/build - see that makefile for
details of environment variables that need to be set before use.
<P>
Alternatively you can using the <A href="../../../tools/build/index.html">Jam based
build system</A>: cd into &lt;boost&gt;/libs/regex/build and run:<PRE>bjam -sTOOLS=mytoolset</PRE>
<P>
If you need to configure the library for your platform, then refer to the <A href="../../config/config.htm">
config library documentation</A>
.
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

181
doc/Attic/introduction.html Normal file
View File

@ -0,0 +1,181 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Introduction</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Introduction</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>Regular expressions are a form of pattern-matching that are often used in text
processing; many users will be familiar with the Unix utilities <I>grep</I>, <I>sed</I>
and <I>awk</I>, and the programming language <I>Perl</I>, 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.</P>
<P>The class <A href="basic_regex.html">boost::basic_regex</A> 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:</P>
<pre><B>namespace </B>boost{
<B>template</B> &lt;<B>class</B> charT,
<B> class</B> traits = regex_traits&lt;charT&gt;,
<B>class</B> Allocator = std::allocator&lt;charT&gt; &gt;
<B>class</B> basic_regex;
<B>typedef</B> basic_regex&lt;<B>char</B>&gt; regex;
<B>typedef</B> basic_regex&lt;<B>wchar_t&gt;</B> wregex;
}</pre>
<P>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:</P>
<PRE>(\d{4}[- ]){3}\d{4}</PRE>
<P>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.</P>
<P>Now let's take that expression and place it in some C++ code to validate the
format of a credit card number:</P>
<PRE><B>bool</B> validate_card_format(<B>const</B> std::string s)
{
<B>static</B> <B>const</B> <A href="basic_regex.html">boost::regex</A> e("(\\d{4}[- ]){3}\\d{4}");
<B>return</B> <A href="regex_match.html">regex_match</A>(s, e);
}</PRE>
<P>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.</P>
<P>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 <I>sed</I> and <I>Perl</I> will already be ahead here; we
need two strings - one a regular expression - the other a "<A href="format_syntax.html">format
string</A>" that provides a description of the text to replace the match
with. In regex++ this search and replace operation is performed with the
algorithm<A href="regex_replace.html"> regex_replace</A>, for our credit card
example we can write two algorithms like this to provide the format
conversions:</P>
<PRE><I>// match any format with the regular expression:
</I><B>const</B> boost::regex e("\\A(\\d{3,4})[- ]?(\\d{4})[- ]?(\\d{4})[- ]?(\\d{4})\\z");
<B>const</B> std::string machine_format("\\1\\2\\3\\4");
<B>const</B> std::string human_format("\\1-\\2-\\3-\\4");
std::string machine_readable_card_number(<B>const</B> std::string s)
{
<B>return</B> <A href="regex_replace.html">regex_replace</A>(s, e, machine_format, boost::match_default | boost::format_sed);
}
std::string human_readable_card_number(<B>const</B> std::string s)
{
<B>return</B> <A href="regex_replace.html">regex_replace</A>(s, e, human_format, boost::match_default | boost::format_sed);
}</PRE>
<P>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.</P>
<P>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 <A href="match_results.html">
match_results</A>, as before there are typedefs of this class for the most
common cases:
</P>
<PRE><B>namespace </B>boost{
<B>typedef</B> match_results&lt;<B>const</B> <B>char</B>*&gt; cmatch;
<B>typedef</B> match_results&lt;<B>const</B> <B>wchar_t</B>*&gt; wcmatch;
<STRONG>typedef</STRONG> match_results&lt;std::string::const_iterator&gt; smatch;
<STRONG>typedef</STRONG> match_results&lt;std::wstring::const_iterator&gt; wsmatch;
}</PRE>
<P>The algorithms <A href="regex_search.html">regex_search</A> and&nbsp;<A href="regex_match.html">regex_match</A>
make use of match_results to report what matched; the difference between these
algorithms is that <A href="regex_match.html">regex_match</A> will only find
matches that consume <EM>all</EM> of the input text, where as <A href="regex_search.html">
regex_search</A> will <EM>search</EM> for a match anywhere within the text
being matched.</P>
<P>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.
</P>
<P>For search and replace operations, in addition to the algorithm <A href="regex_replace.html">
regex_replace</A> that we have already seen, the <A href="match_results.html">match_results</A>
class has a format member that takes the result of a match and a format string,
and produces a new string by merging the two.</P>
<P>For iterating through all occurences of an expression within a text, there are
two iterator types: <A href="regex_iterator.html">regex_iterator</A> will
enumerate over the <A href="match_results.html">match_results</A> objects
found, while <A href="regex_token_iterator.html">regex_token_iterator</A> will
enumerate a series of strings (similar to perl style split operations).</P>
<P>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. This class is now deprecated as it does not form part of the regular
expressions C++ standard library proposal.
</P>
<P>The <A href="posix_api.html">POSIX API</A> 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.
</P>
<P>Finally, note that the library now has run-time <A href="localisation.html">localization</A>
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.
</P>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

1023
doc/Attic/localisation.html Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,282 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: match_flag_type</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">match_flag_type</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<h3>Synopsis</h3>
<p>The type <code>match_flag_type</code> is an implementation specific bitmask
type (17.3.2.1.2) that controls how a regular expression is matched against a
character sequence.&nbsp; The behavior of the format flags is descibed in more
detail in the <A href="format_syntax.html">format syntax guide</A>.</p>
<pre>
namespace boost{ namespace regex_constants{
typedef <EM>implemenation-specific-bitmask-type</EM> 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_single_line;
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 boost
</pre>
<h3>Description</h3>
<p>The type <code>match_flag_type</code> is an implementation specific 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:</p>
<p></p>
<table id="Table2" cellspacing="1" cellpadding="7" width="100%" border="0">
<tr>
<td valign="top" width="50%">
<p>Element</p>
</td>
<td valign="top" width="50%">
<p>Effect if set</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>match_default</p>
</td>
<td valign="top" width="50%">
<p>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)</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">match_not_bob</td>
<td valign="top" width="50%">Specifies that the expression "\A" should not match
against the sub-sequence [first,first).</td>
</tr>
<tr>
<td valign="top" width="50%">match_not_eob</td>
<td valign="top" width="50%">Specifies that the expressions "\z" and
"\Z"&nbsp;should not match against the sub-sequence [last,last).</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>match_not_bol</p>
</td>
<td valign="top" width="50%">
<p>Specifies that the expression "^" should not be matched against the
sub-sequence [first,first).</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>match_not_eol</p>
</td>
<td valign="top" width="50%">
<p>Specifies that the expression "$" should not be matched against the
sub-sequence [last,last).</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>match_not_bow</p>
</td>
<td valign="top" width="50%">
<p>Specifies that the expression "\b" should not be matched against the
sub-sequence [first,first).</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>match_not_eow</p>
</td>
<td valign="top" width="50%">
<p>Specifies that the expression "\b" should not be matched against the
sub-sequence [last,last).</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>match_any</p>
</td>
<td valign="top" width="50%">
<p>Specifies that if more than one match is possible then any match is an
acceptable result.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>match_not_null</p>
</td>
<td valign="top" width="50%">
<p>Specifies that the expression can not be matched against an empty sequence.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>match_continuous</p>
</td>
<td valign="top" width="50%">
<p>Specifies that the expression must match a sub-sequence that begins at <i>first</i>.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>match_partial</p>
</td>
<td valign="top" width="50%">
<p>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.</p>
</td>
</tr>
<TR>
<TD vAlign="top" width="50%">match_extra</TD>
<TD vAlign="top" width="50%">Instructs the matching engine to retain all available <A href="captures.html">
capture</A> information; if a capturing group is repeated then information
about every repeat is available via <A href="match_results.html#m17">match_results::captures()</A>
or <A href="sub_match.html#m8">sub_match_captures().</A></TD>
</TR>
<TR>
<TD vAlign="top" width="50%">match_single_line</TD>
<TD vAlign="top" width="50%">Equivalent to Perl's s/ modifier; prevents ^ from
matching after an embedded newline character (so that it only matches at the
start of the text being matched), and $ from matching before an embedded
newline (so that it only matches at the end of the text being matched).</TD>
</TR>
<tr>
<td valign="top" width="50%">
<p>match_prev_avail</p>
</td>
<td valign="top" width="50%">
<p>Specifies that <code>--first</code> is a valid iterator position, when this
flag is set then the flags <code>match_not_bol</code> and <code>match_not_bow</code>
are ignored by the regular expression algorithms (RE.7) and iterators (RE.8).</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">match_not_dot_newline</td>
<td valign="top" width="50%">Specifies that the expression "." does not match a
newline character.</td>
</tr>
<tr>
<td valign="top" width="50%">match_not_dot_null</td>
<td valign="top" width="50%">Specified that the expression "." does not match a
character null '\0'.</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>format_default</p>
</td>
<td valign="top" width="50%">
<p>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.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>format_sed</p>
</td>
<td valign="top" width="50%">
<p>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..</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>format_perl</p>
</td>
<td valign="top" width="50%">
<p>
Specifies that when a regular expression match is to be replaced by a new
string, that the new string is constructed using the same rules as Perl 5.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%" height="32">format_all</td>
<td valign="top" width="50%" height="32">Specifies that all syntax extensions are
enabled, including conditional (?ddexpression1:expression2) replacements: see
the <A href="format_syntax.html">format string guide</A> for more details.</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>format_no_copy</p>
</td>
<td valign="top" width="50%">
<p>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.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>format_first_only</p>
</td>
<td valign="top" width="50%">
<p>When specified during a search and replace operation, then only the first
occurrence of the regular expression is replaced.</p>
</td>
</tr>
</table>
<br>
<br>
<p></p>
<hr>
<br>
<br>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
04 Feb 2004
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2004<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

View File

@ -0,0 +1,458 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: class match_results</title>
<meta content="HTML Tidy, see www.w3.org" name="generator">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK href="../../../boost.css" type="text/css" rel="stylesheet"></head>
<body>
<p></p>
<table id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<tr>
<td vAlign="top" width="300">
<h3><A href="../../../index.htm"><IMG height="86" alt="C++ Boost" src="../../../c++boost.gif" width="277" border="0"></A></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">class match_results</h2>
</td>
<td width="50">
<h3><A href="index.html"><IMG height="45" alt="Boost.Regex Index" src="uarrow.gif" width="43" border="0"></A></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<h3>Contents</h3>
<dl class="index">
<dt><A href="#synopsis">Synopsis</A> <dt><A href="#description">Description</A> </dt>
</dl>
<h3><a name="synopsis"></a>Synopsis</h3>
<p>#include &lt;<A href="../../../boost/regex.hpp">boost/regex.hpp</A>&gt;</p>
<p>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 <i>match_results</i> that acts as an indexed collection of sub-expression
matches, each sub-expression match being contained in an object of type <i><A href="sub_match.html">
sub_match</A></i> .</p>
<p>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 <A href="regex_match.html">regex_match</A>
and <A href="regex_search.html">regex_search</A>, and are returned by the
iterator <A href="regex_iterator.html">regex_iterator</A> .&nbsp; Storage for
the collection is allocated and freed as necessary by the member functions of
class match_results.</p>
<p>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.</p>
<p>Class template match_results is most commonly used as one of the typedefs
cmatch, wcmatch, smatch, or wsmatch:</p>
<pre>template &lt;class BidirectionalIterator,
class Allocator = allocator&lt;sub_match&lt;BidirectionalIterator&gt; &gt;
class match_results;
typedef match_results&lt;const char*&gt; cmatch;
typedef match_results&lt;const wchar_t*&gt; wcmatch;
typedef match_results&lt;string::const_iterator&gt; smatch;
typedef match_results&lt;wstring::const_iterator&gt; wsmatch;
template &lt;class BidirectionalIterator,
class Allocator = allocator&lt;sub_match&lt;BidirectionalIterator&gt; &gt;
class match_results
{
public:
typedef sub_match&lt;BidirectionalIterator&gt; value_type;
typedef const value_type&amp; const_reference;
typedef const_reference reference;
typedef implementation defined const_iterator;
typedef const_iterator iterator;
typedef typename iterator_traits&lt;BidirectionalIterator&gt;::difference_type difference_type;
typedef typename Allocator::size_type size_type;
typedef Allocator allocator_type;
typedef typename iterator_traits&lt;BidirectionalIterator&gt;::value_type char_type;
typedef basic_string&lt;char_type&gt; string_type;
// construct/copy/destroy:
explicit <A href="#c1" >match_results</A>(const Allocator&amp; a = Allocator());
<A href="#c2" >match_results</A>(const match_results&amp; m);
<A href="#c3" >match_results</A>&amp; <A href="#c3" >operator</A>=(const match_results&amp; m);
~match_results();
// size:
size_type <A href="#m1" >size</A>() const;
size_type <A href="#m2" >max_size</A>() const;
bool <A href="#m3" >empty</A>() const;
// element access:
difference_type <A href="#m4" >length</A>(int sub = 0) const;
difference_type <A href="#m5" >position</A>(unsigned int sub = 0) const;
string_type <A href="#m6" >str</A>(int sub = 0) const;
const_reference <A href="#m7" >operator</A>[](int n) const;
const_reference <A href="#m8" >prefix</A>() const;
const_reference <A href="#m9" >suffix</A>() const;
const_iterator <A href="#m10" >begin</A>() const;
const_iterator <A href="#m11" >end</A>() const;
// format:
template &lt;class OutputIterator&gt;
OutputIterator <A href="#m12" >format</A>(OutputIterator out,
const string_type&amp; fmt,
match_flag_type flags = format_default) const;
string_type <A href="#m13" >format</A>(const string_type&amp; fmt,
match_flag_type flags = format_default) const;
allocator_type <A href="#m14" >get_allocator</A>() const;
void <A href="#m15" >swap</A>(match_results&amp; that);
#ifdef BOOST_REGEX_MATCH_EXTRA
typedef typename value_type::capture_sequence_type <A href="#m16" >capture_sequence_type</A>;
const capture_sequence_type&amp; <A href="#m17" >captures</A>(std::size_t i)const;
#endif
};
template &lt;class BidirectionalIterator, class Allocator&gt;
bool <A href="#n1" >operator</A> == (const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m1,
const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m2);
template &lt;class BidirectionalIterator, class Allocator&gt;
bool <A href="#n2" >operator</A> != (const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m1,
const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m2);
template &lt;class charT, class traits, class BidirectionalIterator, class Allocator&gt;
basic_ostream&lt;charT, traits&gt;&amp;
<A href="#n3" >operator</A> &lt;&lt; (basic_ostream&lt;charT, traits&gt;&amp; os,
const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m);
template &lt;class BidirectionalIterator, class Allocator&gt;
void <A href="#n4" >swap</A>(match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m1,
match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m2);
</pre>
<h3><a name="description"></a>Description</h3>
<h4>match_results constructors</h4>
<p>In all <code>match_results</code> 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.</p>
<pre><A name=c1></A>
match_results(const Allocator&amp; a = Allocator());
</pre>
<b></b>
<p><b>Effects:</b> Constructs an object of class match_results. The postconditions
of this function are indicated in the table:</p>
<p align="center"></p>
<center>
<table id="Table2" cellSpacing="1" cellPadding="7" width="624" border="1">
<tbody>
<tr>
<td vAlign="top" width="50%"><b></b>
<p><b>Element</b></p>
</td>
<td vAlign="top" width="50%"><b></b>
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>empty()</p>
</td>
<td vAlign="top" width="50%">
<p>true</p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>size()</p>
</td>
<td vAlign="top" width="50%">
<p>0</p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>str()</p>
</td>
<td vAlign="top" width="50%">
<p>basic_string&lt;charT&gt;()</p>
</td>
</tr>
</tbody></table>
</center>
<p>&nbsp;</p>
<pre><A name=c2></A>
match_results(const match_results&amp; m);
</pre>
<b></b>
<p><b>Effects:</b> Constructs an object of class match_results, as a copy of m.</p>
<pre><A name=c3></A>
match_results&amp; operator=(const match_results&amp; m);
</pre>
<b></b>
<p><b>Effects:</b> Assigns m to *this. The postconditions of this function are
indicated in the table:</p>
<p align="center"></p>
<center>
<table id="Table3" cellSpacing="1" cellPadding="7" width="624" border="1">
<tbody>
<tr>
<td vAlign="top" width="50%"><b></b>
<p><b>Element</b></p>
</td>
<td vAlign="top" width="50%"><b></b>
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>empty()</p>
</td>
<td vAlign="top" width="50%">
<p>m.empty().</p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>size()</p>
</td>
<td vAlign="top" width="50%">
<p>m.size().</p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>str(n)</p>
</td>
<td vAlign="top" width="50%">
<p>m.str(n) for all integers n &lt; m.size().</p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>prefix()</p>
</td>
<td vAlign="top" width="50%">
<p>m.prefix().</p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>suffix()</p>
</td>
<td vAlign="top" width="50%">
<p>m.suffix().</p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>(*this)[n]</p>
</td>
<td vAlign="top" width="50%">
<p>m[n] for all integers n &lt; m.size().</p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>length(n)</p>
</td>
<td vAlign="top" width="50%">
<p>m.length(n) for all integers n &lt; m.size().</p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>position(n)</p>
</td>
<td vAlign="top" width="50%">
<p>m.position(n) for all integers n &lt; m.size().</p>
</td>
</tr>
</tbody></table>
</center>
<h4>match_results size</h4>
<pre><A name=m1></A>
size_type size()const;
</pre>
<b></b>
<p><b>Effects:</b> Returns the number of sub_match elements stored in *this; that
is the number of marked sub-expressions in the regular expression that was
matched plus one.</p>
<pre><A name=m2></A>
size_type max_size()const;
</pre>
<b></b>
<p><b>Effects:</b> Returns the maximum number of sub_match elements that can be
stored in *this.</p>
<pre><A name=m3></A>
bool empty()const;
</pre>
<b></b>
<p><b>Effects:</b> Returns <code>size() == 0</code>.</p>
<h4>match_results element access</h4>
<pre><A name=m4></A>
difference_type length(int sub = 0)const;
</pre>
<b></b>
<p><b>Effects:</b> Returns the length of sub-expression <EM>sub</EM>, that is to
say: <code>(*this)[sub].length()</code>.</p>
<pre><A name=m5></A>
difference_type position(unsigned int sub = 0)const;
</pre>
<b></b>
<p><b>Effects:</b> Returns the starting location of sub-expression <EM>sub</EM>,
or -1 if <EM>sub</EM> was not matched <code>.</code></p>
<pre><A name=m6></A>
string_type str(int sub = 0)const;
</pre>
<b></b>
<p><b>Effects:</b> Returns sub-expression <EM>sub</EM> as a string:&nbsp; <code>string_type((*this)[sub]).</code></p>
<pre><A name=m7></A>
const_reference operator[](int n) const;
</pre>
<b></b>
<p><b>Effects:</b> Returns a reference to the <code>sub_match</code> object
representing the character sequence that matched marked sub-expression <i>n</i>.
If <code>n == 0</code> then returns a reference to a <code>sub_match</code> object
representing the character sequence that matched the whole regular
expression.&nbsp; If <EM>n</EM> is out of range, or if <EM>n</EM> is an
unmatched sub-expression, then returns a sub_match object whose <EM>matched</EM>
member is <EM>false</EM>.</p>
<pre><A name=m8></A>
const_reference prefix()const;
</pre>
<b></b>
<p><b>Effects:</b> Returns a reference to the <code>sub_match</code> object
representing the character sequence from the start of the string being
matched/searched, to the start of the match found.</p>
<pre><A name=m9></A>
const_reference suffix()const;
</pre>
<b></b>
<p><b>Effects:</b> Returns a reference to the <code>sub_match</code> object
representing the character sequence from the end of the match found to the end
of the string being matched/searched.</p>
<pre><A name=m10></A>
const_iterator begin()const;
</pre>
<b></b>
<p><b>Effects:</b> Returns a starting iterator that enumerates over all the marked
sub-expression matches stored in *this.</p>
<pre><A name=m11></A>
const_iterator end()const;
</pre>
<b></b>
<p><b>Effects:</b> Returns a terminating iterator that enumerates over all the
marked sub-expression matches stored in *this.</p>
<h4><A name="format"></A>match_results reformatting</h4>
<pre><A name=m12></A>template &lt;class OutputIterator&gt;
OutputIterator format(OutputIterator out,
const string_type&amp; fmt,
<A href="match_flag_type.html" >match_flag_type</A> flags = format_default);
</pre>
<b></b>
<p><b>Requires:</b> The type OutputIterator conforms to the Output Iterator
requirements (24.1.2).</p>
<b></b>
<p><b>Effects:</b> Copies the character sequence <i>[fmt.begin(), fmt.end())</i> to
OutputIterator <i>out</i>. For each format specifier or escape sequence in <i>fmt</i>,
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 <i><A href="match_flag_type.html">flags</A></i> determines what <A href="format_syntax.html">
format specifiers or escape sequences are recognized</A>, by default this is
the format used by ECMA-262, ECMAScript Language Specification, Chapter 15 part
5.4.11 String.prototype.replace.</p>
<b></b>
<p><b>Returns:</b> <i>out</i>.</p>
<pre><A name=m13></A>
string_type format(const string_type&amp; fmt,
<A href="match_flag_type.html" >match_flag_type</A> flags = format_default);
</pre>
<b></b>
<p><b>Effects:</b> Returns a copy of the string <i>fmt</i>. For each format
specifier or escape sequence in <i>fmt</i>, 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 <i><A href="match_flag_type.html">flags</A></i>
determines what <A href="format_syntax.html">format specifiers or escape sequences
are recognized</A>, by default this is the format used by ECMA-262,
ECMAScript Language Specification, Chapter 15 part 5.4.11
String.prototype.replace.</p>
<H4>Allocator access</H4>
<pre>allocator_type get_allocator()const;
</pre>
<b></b>
<p><b>Effects:</b> Returns a copy of the Allocator that was passed to the object's
constructor.</p>
<H4><A name="m15"></A>Swap</H4>
<PRE>void swap(match_results&amp; that);
</PRE>
<b></b>
<p><b>Effects:</b> Swaps the contents of the two sequences.</p>
<b></b>
<p><b>Postcondition:</b> <code>*this</code> contains the sequence of matched
sub-expressions that were in <code>that</code>, <code>that</code> contains the
sequence of matched sub-expressions that were in <code>*this</code>.</p>
<b></b>
<p><b>Complexity:</b> constant time.</p>
<H4>Captures</H4>
<PRE><A name=m16></A>typedef typename value_type::capture_sequence_type capture_sequence_type;</PRE>
<P>Defines an implementation-specific type that&nbsp;satisfies the requirements of
a standard library Sequence (21.1.1 including the optional Table 68
operations),&nbsp;whose value_type is a <EM>sub_match&lt;BidirectionalIterator&gt;</EM>.&nbsp;This
type happens to be <EM>std::vector&lt;sub_match&lt;BidirectionalIterator&gt; &gt;</EM>,
but you shouldn't actually rely on that.</P>
<PRE><A name=m17></A>const capture_sequence_type&amp; <A href="#m8" >captures</A>(std::size_t i)const; </PRE>
<P><STRONG>Effects:</STRONG> returns a sequence containing all the captures
obtained for sub-expression <EM>i</EM>.</P>
<P><STRONG>Returns:</STRONG> <code>(*this)[i].captures();</code></P>
<P><STRONG>Preconditions:</STRONG> the library must be built and used with
BOOST_REGEX_MATCH_EXTRA defined, and you must pass the flag <A href="match_flag_type.html">
match_extra</A> to the regex matching functions (<A href="regex_match.html">regex_match</A>,
<A href="regex_search.html">regex_search</A>, <A href="regex_iterator.html">regex_iterator</A>
or <A href="regex_token_iterator.html">regex_token_iterator</A>) in order for
this member function to be defined and return useful information.</P>
<P><STRONG>Rationale:</STRONG> Enabling this feature has several consequences:
</P>
<UL>
<LI>
sub_match occupies more memory resulting in complex expressions running out of
memory or stack space more quickly during matching.
<LI>
The matching algorithms are less efficient at handling some features
(independent sub-expressions for example), even when match_extra is not used.
<LI>
The matching algorithms are much less efficient (i.e. slower), when match_extra
is used.&nbsp; Mostly this is down to the extra memory allocations that have to
take place.</LI></UL>
<h4>match_results non-members</h4>
<PRE><A name=n1></A>template &lt;class BidirectionalIterator, class Allocator&gt;
bool operator == (const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m1,
const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m2);</PRE>
<P><B>Effects:</B> Compares the two sequences for equality.</P>
<PRE><A name=n2></A>template &lt;class BidirectionalIterator, class Allocator&gt;
bool operator != (const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m1,
const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m2);</PRE>
<P><B>Effects:</B> Compares the two sequences for inequality.</P>
<PRE><A name=n3></A>template &lt;class charT, class traits, class BidirectionalIterator, class Allocator&gt;
basic_ostream&lt;charT, traits&gt;&amp;
operator &lt;&lt; (basic_ostream&lt;charT, traits&gt;&amp; os,
const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m);</PRE>
<P><B>Effects:</B> Writes the contents of <EM>m</EM> to the stream <EM>os</EM> as
if by calling <code>os &lt;&lt; m.str();</code> Returns <EM>os</EM>..</P>
<PRE><A name=n4></A>template &lt;class BidirectionalIterator, class Allocator&gt;
void swap(match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m1,
match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m2);</PRE>
<P><B>Effects:</B> Swaps the contents of the two sequences.</P>
<p></p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

View File

@ -0,0 +1,182 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Partial Matches</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Partial Matches</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>The <A href="match_flag_type.html">match-flag</A> <CODE>match_partial</CODE> can
be passed to the following algorithms: <A href="regex_match.html">regex_match</A>,
<A href="regex_search.html">regex_search</A>, and <A href="regex_grep.html">regex_grep</A>.
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 <A href="match_results.html">match_results&lt;&gt;</A> as filled in
by regex_match, regex_search or regex_grep):<BR>
</P>
<P>
<TABLE id="Table2" cellSpacing="0" cellPadding="7" width="100%" border="0">
<TR>
<TD vAlign="top" width="20%">&nbsp;</TD>
<TD vAlign="top" width="20%">Result</TD>
<TD vAlign="top" width="20%">M[0].matched</TD>
<TD vAlign="top" width="20%">M[0].first</TD>
<TD vAlign="top" width="20%">M[0].second</TD>
</TR>
<TR>
<TD vAlign="top" width="20%">No match</TD>
<TD vAlign="top" width="20%">False</TD>
<TD vAlign="top" width="20%">Undefined</TD>
<TD vAlign="top" width="20%">Undefined</TD>
<TD vAlign="top" width="20%">Undefined</TD>
</TR>
<TR>
<TD vAlign="top" width="20%">Partial match</TD>
<TD vAlign="top" width="20%">True</TD>
<TD vAlign="top" width="20%">False</TD>
<TD vAlign="top" width="20%">Start of partial match.</TD>
<TD vAlign="top" width="20%">End of partial match (end of text).</TD>
</TR>
<TR>
<TD vAlign="top" width="20%">Full match</TD>
<TD vAlign="top" width="20%">True</TD>
<TD vAlign="top" width="20%">True</TD>
<TD vAlign="top" width="20%">Start of full match.</TD>
<TD vAlign="top" width="20%">End of full match.</TD>
</TR>
</TABLE>
</P>
<P>The following <A href="../example/snippets/partial_regex_match.cpp">example</A>
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 <CODE>is_possible_card_number</CODE>. 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.</P>
<PRE>#include &lt;string&gt;
#include &lt;iostream&gt;
#include &lt;boost/regex.hpp&gt;
boost::regex e("(\\d{3,4})[- ]?(\\d{4})[- ]?(\\d{4})[- ]?(\\d{4})");
bool is_possible_card_number(const std::string&amp; 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&lt;std::string::const_iterator&gt; 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;
}</PRE>
<P>In the following <A href="../example/snippets/partial_regex_grep.cpp">example</A>,
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:</P>
<PRE>#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;sstream&gt;
#include &lt;string&gt;
#include &lt;boost/regex.hpp&gt;
// match some kind of html tag:
boost::regex e("&lt;[^&gt;]*&gt;");
// count how many:
unsigned int tags = 0;
// saved position of partial match:
char* next_pos = 0;
bool grep_callback(const boost::match_results&lt;char*&gt;&amp; m)
{
if(m[0].matched == false)
{
// save position and return:
next_pos = m[0].first;
}
else
++tags;
return true;
}
void search(std::istream&amp; 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);
}
}</PRE>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

View File

@ -0,0 +1,52 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Performance</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Performance</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>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.&nbsp; The following pages compare
Boost.regex with various other regular expression libraries for the following
compilers:</P>
<P><A href="vc71-performance.html">Visual Studio.Net 2003 (recursive Boost.regex
implementation)</A>.</P>
<P><A href="gcc-performance.html">Gcc 3.2 (cygwin) (non-recursive Boost.regex
implementation).</A></P>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

286
doc/Attic/posix_api.html Normal file
View File

@ -0,0 +1,286 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: POSIX API Compatibility Functions</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">POSIX API Compatibility Functions</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<PRE>#include &lt;boost/cregex.hpp&gt;
<I>or</I>:
#include &lt;boost/regex.h&gt;</PRE>
<P>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.
</P>
<P><B>Important</B>: Note that all the symbols defined here are enclosed inside
namespace <I>boost</I> when used in C++ programs, unless you use #include
&lt;boost/regex.h&gt; instead - in which case the symbols are still defined in
namespace boost, but are made available in the global namespace as well.</P>
<P>The functions are defined as:
</P>
<PRE>extern "C" {
<B>int</B> regcompA(regex_tA*, <B>const</B> <B>char</B>*, <B>int</B>);
<B>unsigned</B> <B>int</B> regerrorA(<B>int</B>, <B>const</B> regex_tA*, <B>char</B>*, <B>unsigned</B> <B>int</B>);
<B>int</B> regexecA(<B>const</B> regex_tA*, <B>const</B> <B>char</B>*, <B>unsigned</B> <B>int</B>, regmatch_t*, <B>int</B>);
<B>void</B> regfreeA(regex_tA*);
<B>int</B> regcompW(regex_tW*, <B>const</B> <B>wchar_t</B>*, <B>int</B>);
<B>unsigned</B> <B>int</B> regerrorW(<B>int</B>, <B>const</B> regex_tW*, <B>wchar_t</B>*, <B>unsigned</B> <B>int</B>);
<B>int</B> regexecW(<B>const</B> regex_tW*, <B>const</B> <B>wchar_t</B>*, <B>unsigned</B> <B>int</B>, regmatch_t*, <B>int</B>);
<B>void</B> 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
}</PRE>
<P>All the functions operate on structure <B>regex_t</B>, which exposes two public
members:
</P>
<P><B>unsigned int re_nsub</B> this is filled in by <B>regcomp</B> and indicates
the number of sub-expressions contained in the regular expression.
</P>
<P><B>const TCHAR* re_endp</B> points to the end of the expression to compile when
the flag REG_PEND is set.
</P>
<P><I>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.</I>
</P>
<H3>regcomp</H3>
<P><B>regcomp</B> takes a pointer to a <B>regex_t</B>, a pointer to the expression
to compile and a flags parameter which can be a combination of:
<BR>
&nbsp;
</P>
<P>
<TABLE id="Table2" cellSpacing="0" cellPadding="7" width="100%" border="0">
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_EXTENDED</TD>
<TD vAlign="top" width="45%">Compiles modern regular expressions. Equivalent to
regbase::char_classes | regbase::intervals | regbase::bk_refs.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_BASIC</TD>
<TD vAlign="top" width="45%">Compiles basic (obsolete) regular expression syntax.
Equivalent to regbase::char_classes | regbase::intervals | regbase::limited_ops
| regbase::bk_braces | regbase::bk_parens | regbase::bk_refs.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_NOSPEC</TD>
<TD vAlign="top" width="45%">All characters are ordinary, the expression is a
literal string.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_ICASE</TD>
<TD vAlign="top" width="45%">Compiles for matching that ignores character case.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_NOSUB</TD>
<TD vAlign="top" width="45%">Has no effect in this library.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_NEWLINE</TD>
<TD vAlign="top" width="45%">When this flag is set a dot does not match the
newline character.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_PEND</TD>
<TD vAlign="top" width="45%">When this flag is set the re_endp parameter of the
regex_t structure must point to the end of the regular expression to compile.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_NOCOLLATE</TD>
<TD vAlign="top" width="45%">When this flag is set then locale dependent collation
for character ranges is turned off.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_ESCAPE_IN_LISTS<BR>
, , ,
</TD>
<TD vAlign="top" width="45%">When this flag is set, then escape sequences are
permitted in bracket expressions (character sets).</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_NEWLINE_ALT&nbsp;</TD>
<TD vAlign="top" width="45%">When this flag is set then the newline character is
equivalent to the alternation operator |.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_PERL&nbsp;</TD>
<TD vAlign="top" width="45%">Compiles Perl like regular expressions.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_AWK</TD>
<TD vAlign="top" width="45%">A shortcut for awk-like behavior: REG_EXTENDED |
REG_ESCAPE_IN_LISTS</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_GREP</TD>
<TD vAlign="top" width="45%">A shortcut for grep like behavior: REG_BASIC |
REG_NEWLINE_ALT</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_EGREP</TD>
<TD vAlign="top" width="45%">&nbsp;A shortcut for egrep like behavior:
REG_EXTENDED | REG_NEWLINE_ALT</TD>
<TD width="5%">&nbsp;</TD>
</TR>
</TABLE>
</P>
<H3>regerror</H3>
<P>regerror takes the following parameters, it maps an error code to a human
readable string:
<BR>
</P>
<P>
<TABLE id="Table3" cellSpacing="0" cellPadding="7" width="100%" border="0">
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="50%">int code</TD>
<TD vAlign="top" width="50%">The error code.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">const regex_t* e</TD>
<TD vAlign="top" width="50%">The regular expression (can be null).</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">char* buf</TD>
<TD vAlign="top" width="50%">The buffer to fill in with the error message.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">unsigned int buf_size</TD>
<TD vAlign="top" width="50%">The length of buf.</TD>
<TD>&nbsp;</TD>
</TR>
</TABLE>
</P>
<P>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 <B>e</B> must not be null and <B>e-&gt;re_pend</B> 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 <B>code</B>, the return value
is the number of characters in the error message, if the return value is
greater than or equal to <B>buf_size</B> then <B>regerror</B> will have to be
called again with a larger buffer.</P>
<H3>regexec</H3>
<P><B>regexec</B> finds the first occurrence of expression <B>e</B> within string <B>buf</B>.
If <B>len</B> is non-zero then *<B>m</B> is filled in with what matched the
regular expression, <B>m[0]</B> contains what matched the whole string, <B>m[1] </B>
the first sub-expression etc, see <B>regmatch_t</B> in the header file
declaration for more details. The <B>eflags</B> parameter can be a combination
of:
<BR>
&nbsp;
</P>
<P>
<TABLE id="Table4" cellSpacing="0" cellPadding="7" width="100%" border="0">
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="50%">REG_NOTBOL</TD>
<TD vAlign="top" width="50%">Parameter <B>buf </B>does not represent the start of
a line.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">REG_NOTEOL</TD>
<TD vAlign="top" width="50%">Parameter <B>buf</B> does not terminate at the end of
a line.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">REG_STARTEND</TD>
<TD vAlign="top" width="50%">The string searched starts at buf + pmatch[0].rm_so
and ends at buf + pmatch[0].rm_eo.</TD>
<TD>&nbsp;</TD>
</TR>
</TABLE>
</P>
<H3>regfree</H3>
<P>Finally <B>regfree</B> frees all the memory that was allocated by regcomp.
</P>
<P><I>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.</I>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

View File

@ -0,0 +1,84 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Redistributables and Library Names</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Redistributables and Library Names</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>If you are using Microsoft or Borland C++ and link to a dll version of the run
time library, then you can choose to also link to a dll version of boost.regex
by defining the symbol BOOST_REGEX_DYN_LINK when you compile your code. 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:<BR>
</P>
<P></P>
<P>BOOST_LIB_PREFIX<BR>
+ "boost_regex_"<BR>
+ BOOST_LIB_TOOLSET<BR>
+ "_"<BR>
+ BOOST_LIB_THREAD_OPT<BR>
+ BOOST_LIB_RT_OPT<BR>
+ BOOST_LIB_DEBUG_OPT<BR>
<BR>
These are defined as:</P>
<P>BOOST_LIB_PREFIX: Either "lib" if this is a static link library,
or&nbsp;nothing for dynamic / shared&nbsp;libraries.<BR>
<BR>
BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc).<BR>
<BR>
BOOST_LIB_THREAD_OPT: "s" for single thread builds,<BR>
"m" for multithread builds.<BR>
<BR>
BOOST_LIB_RT_OPT: "s" for static runtime,<BR>
"d" for dynamic runtime.<BR>
<BR>
BOOST_LIB_LINK_OPT: "s" for static link,<BR>
"i" for dynamic link.<BR>
<BR>
BOOST_LIB_DEBUG_OPT: nothing for release builds,<BR>
"d" for debug builds,<BR>
"dd" for debug-diagnostic builds (_STLP_DEBUG).</P>
<P>
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.
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

View File

@ -0,0 +1,44 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Class reg_expression (deprecated)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Class reg_expression (deprecated)</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>The use of class template reg_expression is deprecated: use <A href="basic_regex.html">
basic_regex</A> instead.</P>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

82
doc/Attic/regbase.html Normal file
View File

@ -0,0 +1,82 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<title>Boost.Regex: regbase</title>
<meta http-equiv="Content-Type" content=
"text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%"
border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt=
"C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">regbase</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt=
"Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<p>Use of the type <code>boost::regbase</code> is now deprecated,
and the type does not form a part of the <a href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1429.htm">
regular expression standardization proposal</a>.&nbsp; This type
still exists as a base class of <code>boost::basic_regex</code>,
and you can still refer to <code>
boost::regbase::constant_name</code> in your code, however for
maximum portability to other std regex implementations you should
instead use either:</p>
<pre>
boost::regex_constants::constant_name
</pre>
<p>or</p>
<pre>
boost::regex::constant_name
</pre>
<p>or</p>
<pre>
boost::wregex::constant_name
</pre>
<p></p>
<hr>
<br>
<br>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

481
doc/Attic/regex.html Normal file
View File

@ -0,0 +1,481 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: class RegEx (deprecated)</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">class RegEx (deprecated)</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<p>The high level wrapper class RegEx is now deprecated and does not form a part
of the <a href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1429.htm">regular
expression standardization proposal</a>.&nbsp; This type still exists, and
existing code will continue to compile, however the following documentation is
unlikely to be further updated.</p>
<pre>
#include &lt;boost/cregex.hpp&gt;
</pre>
<p>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.</p>
<pre>
<b>typedef</b> <b>bool</b> (*GrepCallback)(<b>const</b> RegEx&amp; expression);
<b>typedef</b> <b>bool</b> (*GrepFileCallback)(<b>const</b> <b>char</b>* file, <b>const</b> RegEx&amp; expression);
<b>typedef</b> <b>bool</b> (*FindFilesCallback)(<b>const</b> <b>char</b>* file);
<b>class</b> RegEx
{
<b>public</b>:
RegEx();
RegEx(<b>const</b> RegEx&amp; o);
~RegEx();
RegEx(<b>const</b> <b>char</b>* c, <b>bool</b> icase = <b>false</b>);
<strong>explicit</strong> RegEx(<b>const</b> std::string&amp; s, <b>bool</b> icase = <b>false</b>);
RegEx&amp; <b>operator</b>=(<b>const</b> RegEx&amp; o);
RegEx&amp; <b>operator</b>=(<b>const</b> <b>char</b>* p);
RegEx&amp; <b>operator</b>=(<b>const</b> std::string&amp; s);
<b>unsigned</b> <b>int</b> SetExpression(<b>const</b> <b>char</b>* p, <b>bool</b> icase = <b>false</b>);
<b>unsigned</b> <b>int</b> SetExpression(<b>const</b> std::string&amp; s, <b>bool</b> icase = <b>false</b>);
std::string Expression()<b>const</b>;
<font color="#000080"><i>//
</i> <i>// now matching operators:</i>
<i>//</i></font>
<b>bool</b> Match(<b>const</b> <b>char</b>* p, boost::match_flag_type flags = match_default);
<b>bool</b> Match(<b>const</b> std::string&amp; s, boost::match_flag_type flags = match_default);
<b>bool</b> Search(<b>const</b> <b>char</b>* p, boost::match_flag_type flags = match_default);
<b>bool</b> Search(<b>const</b> std::string&amp; s, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> Grep(GrepCallback cb, <b>const</b> <b>char</b>* p, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> Grep(GrepCallback cb, <b>const</b> std::string&amp; s, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> Grep(std::vector&lt;std::string&gt;&amp; v, <b>const</b> <b>char</b>* p, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> Grep(std::vector&lt;std::string&gt;&amp; v, <b>const</b> std::string&amp; s, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> Grep(std::vector&lt;<b>unsigned</b> <b>int</b>&gt;&amp; v, <b>const</b> <b>char</b>* p, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> Grep(std::vector&lt;<b>unsigned</b> <b>int</b>&gt;&amp; v, <b>const</b> std::string&amp; s, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> GrepFiles(GrepFileCallback cb, <b>const</b> <b>char</b>* files, <b>bool</b> recurse = <b>false</b>, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> GrepFiles(GrepFileCallback cb, <b>const</b> std::string&amp; files, <b>bool</b> recurse = <b>false</b>, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> FindFiles(FindFilesCallback cb, <b>const</b> <b>char</b>* files, <b>bool</b> recurse = <b>false</b>, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> FindFiles(FindFilesCallback cb, <b>const</b> std::string&amp; files, <b>bool</b> recurse = <b>false</b>, boost::match_flag_type flags = match_default);
std::string Merge(<b>const</b> std::string&amp; in, <b>const</b> std::string&amp; fmt, <b>bool</b> copy = <b>true</b>, boost::match_flag_type flags = match_default);
std::string Merge(<b>const</b> char* in, <b>const</b> char* fmt, <b>bool</b> copy = <b>true</b>, boost::match_flag_type flags = match_default);
<b>unsigned</b> Split(std::vector&lt;std::string&gt;&amp; v, std::string&amp; s, boost::match_flag_type flags = match_default, <b>unsigned</b> max_count = ~0);
<font color="#000080"><i>//
</i> <i>// now operators for returning what matched in more detail:
</i> <i>//
</i></font> <b>unsigned</b> <b>int</b> Position(<b>int</b> i = 0)<b>const</b>;
<b>unsigned</b> <b>int</b> Length(<b>int</b> i = 0)<b>const</b>;
<strong>bool</strong> Matched(<strong>int</strong> i = 0)<strong>const</strong>;
<b>unsigned</b> <b>int</b> Line()<b>const</b>;
<b>unsigned int</b> Marks() const;
std::string What(<b>int</b> i)<b>const</b>;
std::string <b>operator</b>[](<b>int</b> i)<b>const</b> ;
<strong>static const unsigned int</strong> npos;
};
</pre>
<p>Member functions for class RegEx are defined as follows:<br>
&nbsp;</p>
<p></p>
<table id="Table2" cellspacing="0" cellpadding="7" width="100%" border="0">
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">RegEx();</td>
<td valign="top" width="42%">Default constructor, constructs an instance of RegEx
without any valid expression.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">RegEx(<b>const</b> RegEx&amp; o);</td>
<td valign="top" width="42%">Copy constructor, all the properties of parameter <i>o</i>
are copied.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">RegEx(<b>const</b> <b>char</b>* c, <b>bool</b> icase
= <b>false</b>);</td>
<td valign="top" width="42%">Constructs an instance of RegEx, setting the
expression to <i>c</i>, if <i>icase</i> is <i>true</i> then matching is
insensitive to case, otherwise it is sensitive to case. Throws <i>bad_expression</i>
on failure.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">RegEx(<b>const</b> std::string&amp; s, <b>bool</b> icase
= <b>false</b>);</td>
<td valign="top" width="42%">Constructs an instance of RegEx, setting the
expression to <i>s</i>, if <i>icase</i> is <i>true</i> then matching is
insensitive to case, otherwise it is sensitive to case. Throws <i>bad_expression</i>
on failure.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">RegEx&amp; <b>operator</b>=(<b>const</b> RegEx&amp;
o);</td>
<td valign="top" width="42%">Default assignment operator.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">RegEx&amp; <b>operator</b>=(<b>const</b> <b>char</b>*
p);</td>
<td valign="top" width="42%">Assignment operator, equivalent to calling <i>SetExpression(p,
false).</i> Throws <i>bad_expression</i> on failure.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">RegEx&amp; <b>operator</b>=(<b>const</b> std::string&amp;
s);</td>
<td valign="top" width="42%">Assignment operator, equivalent to calling <i>SetExpression(s,
false).</i> Throws <i>bad_expression</i> on failure.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> SetExpression(<b>constchar</b>*
p, <b>bool</b> icase = <b>false</b>);</td>
<td valign="top" width="42%">Sets the current expression to <i>p</i>, if <i>icase</i>
is <i>true</i> then matching is insensitive to case, otherwise it is sensitive
to case. Throws <i>bad_expression</i> on failure.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> SetExpression(<b>const</b>
std::string&amp; s, <b>bool</b> icase = <b>false</b>);</td>
<td valign="top" width="42%">Sets the current expression to <i>s</i>, if <i>icase</i>
is <i>true</i> then matching is insensitive to case, otherwise it is sensitive
to case. Throws <i>bad_expression</i> on failure.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">std::string Expression()<b>const</b>;</td>
<td valign="top" width="42%">Returns a copy of the current regular expression.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>bool</b> Match(<b>const</b> <b>char</b>* p,
boost::match_flag_type flags = match_default);</td>
<td valign="top" width="42%">Attempts to match the current expression against the
text <i>p</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. Returns <i>true</i> if the expression matches the whole of
the input string.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>bool</b> Match(<b>const</b> std::string&amp; s,
boost::match_flag_type flags = match_default) ;</td>
<td valign="top" width="42%">Attempts to match the current expression against the
text <i>s</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. Returns <i>true</i> if the expression matches the whole of
the input string.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>bool</b> Search(<b>const</b> <b>char</b>* p,
boost::match_flag_type flags = match_default);</td>
<td valign="top" width="42%">Attempts to find a match for the current expression
somewhere in the text <i>p</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. Returns <i>true</i> if the match succeeds.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>bool</b> Search(<b>const</b> std::string&amp; s,
boost::match_flag_type flags = match_default) ;</td>
<td valign="top" width="42%">Attempts to find a match for the current expression
somewhere in the text <i>s</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. Returns <i>true</i> if the match succeeds.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> Grep(GrepCallback cb, <b>const</b>
<b>char</b>* p, boost::match_flag_type flags = match_default);</td>
<td valign="top" width="42%">Finds all matches of the current expression in the
text <i>p</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. For each match found calls the call-back function <i>cb</i>
as: cb(*this);
<p>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.</p>
</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> Grep(GrepCallback cb, <b>const</b>
std::string&amp; s, boost::match_flag_type flags = match_default);</td>
<td valign="top" width="42%">Finds all matches of the current expression in the
text <i>s</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. For each match found calls the call-back function <i>cb</i>
as: cb(*this);
<p>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.</p>
</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> Grep(std::vector&lt;std::string&gt;&amp;
v, <b>const</b> <b>char</b>* p, boost::match_flag_type flags = match_default);</td>
<td valign="top" width="42%">Finds all matches of the current expression in the
text <i>p</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. For each match pushes a copy of what matched onto <i>v</i>.
Returns the number of matches found.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> Grep(std::vector&lt;std::string&gt;&amp;
v, <b>const</b> std::string&amp; s, boost::match_flag_type flags =
match_default);</td>
<td valign="top" width="42%">Finds all matches of the current expression in the
text <i>s</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. For each match pushes a copy of what matched onto <i>v</i>.
Returns the number of matches found.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> Grep(std::vector&lt;<b>unsigned
int</b>&gt;&amp; v, <b>const</b> <b>char</b>* p, boost::match_flag_type
flags = match_default);</td>
<td valign="top" width="42%">Finds all matches of the current expression in the
text <i>p</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. For each match pushes the starting index of what matched
onto <i>v</i>. Returns the number of matches found.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> Grep(std::vector&lt;<b>unsigned
int</b>&gt;&amp; v, <b>const</b> std::string&amp; s, boost::match_flag_type
flags = match_default);</td>
<td valign="top" width="42%">Finds all matches of the current expression in the
text <i>s</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. For each match pushes the starting index of what matched
onto <i>v</i>. Returns the number of matches found.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> GrepFiles(GrepFileCallback
cb, <b>const</b> <b>char</b>* files, <b>bool</b> recurse = <b>false</b>,
boost::match_flag_type flags = match_default);</td>
<td valign="top" width="42%">Finds all matches of the current expression in the
files <i>files</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. For each match calls the call-back function cb.&nbsp;
<p>If the call-back returns false then the algorithm returns without considering
further matches in the current file, or any further files.&nbsp;</p>
<p>The parameter <i>files</i> can include wild card characters '*' and '?', if the
parameter <i>recurse</i> is true then searches sub-directories for matching
file names.&nbsp;</p>
<p>Returns the total number of matches found.</p>
<p>May throw an exception derived from std::runtime_error if file io fails.</p>
</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> GrepFiles(GrepFileCallback
cb, <b>const</b> std::string&amp; files, <b>bool</b> recurse = <b>false</b>,
boost::match_flag_type flags = match_default);</td>
<td valign="top" width="42%">Finds all matches of the current expression in the
files <i>files</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. For each match calls the call-back function cb.&nbsp;
<p>If the call-back returns false then the algorithm returns without considering
further matches in the current file, or any further files.&nbsp;</p>
<p>The parameter <i>files</i> can include wild card characters '*' and '?', if the
parameter <i>recurse</i> is true then searches sub-directories for matching
file names.&nbsp;</p>
<p>Returns the total number of matches found.</p>
<p>May throw an exception derived from std::runtime_error if file io fails.</p>
</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> FindFiles(FindFilesCallback
cb, <b>const</b> <b>char</b>* files, <b>bool</b> recurse = <b>false</b>,
boost::match_flag_type flags = match_default);</td>
<td valign="top" width="42%">Searches <i>files</i> to find all those which contain
at least one match of the current expression using the match flags <i>flags</i>
- see <a href="match_flag_type.html">match flags</a>. For each matching file
calls the call-back function cb.&nbsp;
<p>If the call-back returns false then the algorithm returns without considering
any further files.&nbsp;</p>
<p>The parameter <i>files</i> can include wild card characters '*' and '?', if the
parameter <i>recurse</i> is true then searches sub-directories for matching
file names.&nbsp;</p>
<p>Returns the total number of files found.</p>
<p>May throw an exception derived from std::runtime_error if file io fails.</p>
</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> FindFiles(FindFilesCallback
cb, <b>const</b> std::string&amp; files, <b>bool</b> recurse = <b>false</b>,
boost::match_flag_type flags = match_default);</td>
<td valign="top" width="42%">Searches <i>files</i> to find all those which contain
at least one match of the current expression using the match flags <i>flags</i>
- see <a href="match_flag_type.html">match flags</a>. For each matching file
calls the call-back function cb.&nbsp;
<p>If the call-back returns false then the algorithm returns without considering
any further files.&nbsp;</p>
<p>The parameter <i>files</i> can include wild card characters '*' and '?', if the
parameter <i>recurse</i> is true then searches sub-directories for matching
file names.&nbsp;</p>
<p>Returns the total number of files found.</p>
<p>May throw an exception derived from std::runtime_error if file io fails.</p>
</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">std::string Merge(<b>const</b> std::string&amp; in, <b>const</b>
std::string&amp; fmt, <b>bool</b> copy = <b>true</b>, boost::match_flag_type
flags = match_default);</td>
<td valign="top" width="42%">Performs a search and replace operation: searches
through the string <i>in</i> for all occurrences of the current expression, for
each occurrence replaces the match with the format string <i>fmt</i>. Uses <i>flags</i>
to determine what gets matched, and how the format string should be treated. If <i>
copy</i> is true then all unmatched sections of input are copied unchanged
to output, if the flag <em>format_first_only</em> is set then only the first
occurance of the pattern found is replaced. Returns the new string. See <a href="format_syntax.html">
also format string syntax</a>, <a href="match_flag_type.html">match flags</a>
and <a href="match_flag_type.html">format flags</a>.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">std::string Merge(<b>const</b> char* in, <b>const</b>
char* fmt, <b>bool</b> copy = <b>true</b>, boost::match_flag_type flags =
match_default);</td>
<td valign="top" width="42%">Performs a search and replace operation: searches
through the string <i>in</i> for all occurrences of the current expression, for
each occurrence replaces the match with the format string <i>fmt</i>. Uses <i>flags</i>
to determine what gets matched, and how the format string should be treated. If <i>
copy</i> is true then all unmatched sections of input are copied unchanged
to output, if the flag <em>format_first_only</em> is set then only the first
occurance of the pattern found is replaced. Returns the new string. See <a href="format_syntax.html">
also format string syntax</a>, <a href="match_flag_type.html">match flags</a>
and <a href="match_flag_type.html">format flags</a>.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td valign="top"><b>unsigned</b> Split(std::vector&lt;std::string&gt;&amp; v,
std::string&amp; s, boost::match_flag_type flags = match_default, <b>unsigned</b>
max_count = ~0);</td>
<td valign="top">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 <i>max_count</i>
strings. Before returning, deletes from the input string <i>s</i> all of the
input that has been processed (all of the string if <i>max_count</i> was not
reached). Returns the number of strings pushed onto the vector.</td>
<td>&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> Position(<b>int</b> i = 0)<b>const</b>;</td>
<td valign="top" width="42%">Returns the position of what matched sub-expression <i>i</i>.
If <i>i = 0</i> 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.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> Length(<b>int</b> i = 0)<b>const</b>;</td>
<td valign="top" width="42%">Returns the length of what matched sub-expression <i>i</i>.
If <i>i = 0</i> 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.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><strong>bool</strong> Matched(<strong>int</strong> i = 0)<strong>const</strong>;</td>
<td>Returns true if sub-expression <em>i</em> was matched, false otherwise.</td>
<td>&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> Line()<b>const</b>;</td>
<td valign="top" width="42%">Returns the line on which the match occurred, indexes
start from 1 not zero, if no match occurred then returns RegEx::npos.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned int</b> Marks() const;</td>
<td valign="top" width="42%">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 &gt;= 1.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">std::string What(<b>int</b> i)<b>const</b>;</td>
<td valign="top" width="42%">Returns a copy of what matched sub-expression <i>i</i>.
If <i>i = 0</i> 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.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">std::string <b>operator</b>[](<b>int</b> i)<b>const</b>
;</td>
<td valign="top" width="42%">Returns <i>what(i);</i>
<p>Can be used to simplify access to sub-expression matches, and make usage more
perl-like.</p>
</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
</table>
<br>
<br>
<p></p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
04 Feb 2004
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2004<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

204
doc/Attic/regex_format.html Normal file
View File

@ -0,0 +1,204 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<title>Boost.Regex: Algorithm regex_format (deprecated)</title>
<meta http-equiv="Content-Type" content=
"text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%"
border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt=
"C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">Algorithm regex_format (deprecated)</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt=
"Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<p>The algorithm regex_format is deprecated; new code should use
match_results::format instead.&nbsp; Existing code will continue to
compile, the following documentation is taken from the previous
version of boost.regex and will not be further updated:</p>
<h3>Algorithm regex_format</h3>
<pre>
#include &lt;<a href="../../../boost/regex.hpp">boost/regex.hpp</a>&gt;
</pre>
<p>The algorithm regex_format takes the results of a match and
creates a new string based upon a <a href="format_syntax.html">
format string</a>, regex_format can be used for search and replace
operations:</p>
<pre>
<b>template</b> &lt;<b>class</b> OutputIterator, <b>class</b> iterator, <b>class</b> Allocator, <b>class</b> charT&gt;
OutputIterator regex_format(OutputIterator out,
<b>const</b> match_results&lt;iterator, Allocator&gt;&amp; m,
<b>const</b> charT* fmt,
match_flag_type flags = 0);
<b>template</b> &lt;<b>class</b> OutputIterator, <b>class</b> iterator, <b>class</b> Allocator, <b>class</b> charT&gt;
OutputIterator regex_format(OutputIterator out,
<b>const</b> match_results&lt;iterator, Allocator&gt;&amp; m,
<b>const</b> std::basic_string&lt;charT&gt;&amp; fmt,
match_flag_type flags = 0);
</pre>
<p>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]:</p>
<pre>
<b>template</b> &lt;<b>class</b> iterator, <b>class</b> Allocator, <b>class</b> charT&gt;
std::basic_string&lt;charT&gt; regex_format
(<b>const</b> match_results&lt;iterator, Allocator&gt;&amp; m,
<b>const</b> charT* fmt,
match_flag_type flags = 0);
<b>template</b> &lt;<b>class</b> iterator, <b>class</b> Allocator, <b>class</b> charT&gt;
std::basic_string&lt;charT&gt; regex_format
(<b>const</b> match_results&lt;iterator, Allocator&gt;&amp; m,
<b>const</b> std::basic_string&lt;charT&gt;&amp; fmt,
match_flag_type flags = 0);
</pre>
<p>Parameters to the main version of the function are passed as
follows:</p>
<p></p>
<table id="Table2" cellspacing="0" cellpadding="7" width="100%"
border="0">
<tr>
<td valign="top" width="9%">&nbsp;</td>
<td valign="top" width="39%">OutputIterator out</td>
<td valign="top" width="44%">An output iterator type, the output
string is sent to this iterator. Typically this would be a
std::ostream_iterator.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="9%">&nbsp;</td>
<td valign="top" width="39%"><b>const</b>
match_results&lt;iterator, Allocator&gt;&amp; m</td>
<td valign="top" width="44%">An instance of match_results&lt;&gt;
obtained from one of the matching algorithms above, and denoting
what matched.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="9%">&nbsp;</td>
<td valign="top" width="39%"><b>const</b> charT* fmt</td>
<td valign="top" width="44%">A format string that determines how
the match is transformed into the new string.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="9%">&nbsp;</td>
<td valign="top" width="39%"><b>unsigned</b> flags</td>
<td valign="top" width="44%">Optional flags which describe how the
format string is to be interpreted.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
</table>
<br>
<br>
<p><a name="format_flags"></a>Format flags are defined as
follows:</p>
<p></p>
<table id="Table3" cellspacing="0" cellpadding="7" width="100%"
border="0">
<tr>
<td valign="top" width="9%">&nbsp;</td>
<td valign="top" width="39%">format_all</td>
<td valign="top" width="43%">Enables all syntax options (perl-like
plus extentions).</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="9%">&nbsp;</td>
<td valign="top" width="39%">format_sed</td>
<td valign="top" width="43%">Allows only a sed-like syntax.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="9%">&nbsp;</td>
<td valign="top" width="39%">format_perl</td>
<td valign="top" width="43%">Allows only a perl-like syntax.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="9%">&nbsp;</td>
<td valign="top" width="39%">format_no_copy</td>
<td valign="top" width="43%">Disables copying of unmatched sections
to the output string during <a href="regex_merge.html">
regex_merge</a> operations.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>format_first_only</td>
<td>When this flag is set only the first occurance will be replaced
(applies to regex_merge only).</td>
<td>&nbsp;</td>
</tr>
</table>
<br>
<br>
<p>The format string syntax (and available options) is described
more fully under <a href="format_syntax.html">format strings</a>
.</p>
<p></p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

381
doc/Attic/regex_grep.html Normal file
View File

@ -0,0 +1,381 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Algorithm regex_grep (deprecated)</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">Algorithm regex_grep (deprecated)</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<p>The algorithm regex_grep is deprecated in favor of <a href="regex_iterator.html">regex_iterator</a>
which provides a more convenient and standard library friendly interface.</p>
<p>The following documentation is taken unchanged from the previous boost release,
and will not be updated in future.</p>
<hr>
<pre>
#include &lt;<a href="../../../boost/regex.hpp">boost/regex.hpp</a>&gt;
</pre>
<p>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:</p>
<pre>
<b>template</b> &lt;<b>class</b> Predicate, <b>class</b> iterator, <b>class</b> charT, <b>class</b> traits, <b>class</b> Allocator&gt;
<b>unsigned</b> <b>int</b> regex_grep(Predicate foo,
iterator first,
iterator last,
<b>const</b> basic_regex&lt;charT, traits, Allocator&gt;&amp; e,
boost::match_flag_type flags = match_default)
</pre>
<p>The library also defines the following convenience versions, which take either
a const charT*, or a const std::basic_string&lt;&gt;&amp; 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]:</p>
<pre>
<b>template</b> &lt;<b>class</b> Predicate, <b>class</b> charT, <b>class</b> Allocator, <b>class</b> traits&gt;
<b>unsigned</b> <b>int</b> regex_grep(Predicate foo,
<b>const</b> charT* str,
<b>const</b> basic_regex&lt;charT, traits, Allocator&gt;&amp; e,
boost::match_flag_type flags = match_default);
<b>template</b> &lt;<b>class</b> Predicate, <b>class</b> ST, <b>class</b> SA, <b>class</b> Allocator, <b>class</b> charT, <b>class</b> traits&gt;
<b>unsigned</b> <b>int</b> regex_grep(Predicate foo,
<b>const</b> std::basic_string&lt;charT, ST, SA&gt;&amp; s,
<b>const</b> basic_regex&lt;charT, traits, Allocator&gt;&amp; e,
boost::match_flag_type flags = match_default);
</pre>
<p>The parameters for the primary version of regex_grep have the following
meanings:&nbsp;</p>
<p></p>
<table id="Table2" cellspacing="0" cellpadding="7" width="624" border="0">
<tr>
<td width="5%">&nbsp;</td>
<td valign="top" width="50%">foo</td>
<td valign="top" width="50%">A predicate function object or function pointer, see
below for more information.</td>
<td width="5%">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td valign="top" width="50%">first</td>
<td valign="top" width="50%">The start of the range to search.</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td valign="top" width="50%">last</td>
<td valign="top" width="50%">The end of the range to search.</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td valign="top" width="50%">e</td>
<td valign="top" width="50%">The regular expression to search for.</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td valign="top" width="50%">flags</td>
<td valign="top" width="50%">The flags that determine how matching is carried out,
one of the <a href="#match_type">match_flags</a> enumerators.</td>
<td>&nbsp;</td>
</tr>
</table>
<br>
<br>
<p>The algorithm finds all of the non-overlapping matches of the expression e, for
each match it fills a <a href="#reg_match">match_results</a>&lt;iterator,
Allocator&gt; structure, which contains information on what matched, and calls
the predicate foo, passing the match_results&lt;iterator, Allocator&gt; 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.</p>
<p>The general form of the predicate is:</p>
<pre>
<b>struct</b> grep_predicate
{
<b> bool</b> <b>operator</b>()(<b>const</b> match_results&lt;iterator_type, typename expression_type::alloc_type::template rebind&lt;sub_match&lt;BidirectionalIterator&gt; &gt;::other&gt;&amp; m);
};
</pre>
<p>Note that in almost every case the allocator parameter can be omitted, when
specifying the <a href="match_results.html">match_results</a> type,
alternatively one of the typedefs cmatch, wcmatch, smatch or wsmatch can be
used.</p>
<p>For example the regular expression "a*b" would find one match in the string
"aaaaab" and two in the string "aaabb".</p>
<p>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.</p>
<P>The algorithm may throw&nbsp;<CODE>std::runtime_error</CODE> if the complexity
of matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<p><a href="../example/snippets/regex_grep_example_1.cpp"> Example</a>: convert
the example from <i>regex_search</i> to use <i>regex_grep</i> instead:</p>
<pre>
<font color="#008000">#include &lt;string&gt;
#include &lt;map&gt;
#include &lt;boost/regex.hpp&gt;
</font><font color="#000080"><i>// 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
</i></font><b>typedef</b> std::map&lt;std::string, <b>int</b>, std::less&lt;std::string&gt; &gt; map_type;
const char* re =
// possibly leading whitespace:
"^[[:space:]]*"
// possible template declaration:
"(template[[:space:]]*&lt;[^;:{]+&gt;[[:space:]]*)?"
// class or struct:
"(class|struct)[[:space:]]*"
// leading declspec macros etc:
"("
"\\&lt;\\w+\\&gt;"
"("
"[[:blank:]]*\\([^)]*\\)"
")?"
"[[:space:]]*"
")*"
// the class name
"(\\&lt;\\w*\\&gt;)[[:space:]]*"
// template specialisation parameters
"(&lt;[^;:{]+&gt;)?[[:space:]]*"
// terminate in { or :
"(\\{|:[^;\\{()]*\\{)";
boost::regex expression(re);
<b>class</b> IndexClassesPred
{
map_type&amp; m;
std::string::const_iterator base;
<b>public</b>:
IndexClassesPred(map_type&amp; a, std::string::const_iterator b) : m(a), base(b) {}
<b>bool</b> <b>operator</b>()(<b>const</b> smatch&amp; what)
{
<font color=
#000080> <i>// what[0] contains the whole string
</i> <i>// what[5] contains the class name.
</i> <i>// what[6] contains the template specialisation if any.
</i> <i>// add class name and position to map:
</i></font> m[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] =
what[5].first - base;
<b>return</b> <b>true</b>;
}
};
<b>void</b> IndexClasses(map_type&amp; m, <b>const</b> std::string&amp; file)
{
std::string::const_iterator start, end;
start = file.begin();
end = file.end();
regex_grep(IndexClassesPred(m, start), start, end, expression);
}
</pre>
<p><a href="../example/snippets/regex_grep_example_2.cpp"> Example</a>: Use
regex_grep to call a global callback function:</p>
<pre>
<font color="#008000">#include &lt;string&gt;
#include &lt;map&gt;
#include &lt;boost/regex.hpp&gt;
</font><font color="#000080"><i>// 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
</i></font><b>typedef</b> std::map&lt;std::string, <b>int</b>, std::less&lt;std::string&gt; &gt; map_type;
const char* re =
// possibly leading whitespace:
"^[[:space:]]*"
// possible template declaration:
"(template[[:space:]]*&lt;[^;:{]+&gt;[[:space:]]*)?"
// class or struct:
"(class|struct)[[:space:]]*"
// leading declspec macros etc:
"("
"\\&lt;\\w+\\&gt;"
"("
"[[:blank:]]*\\([^)]*\\)"
")?"
"[[:space:]]*"
")*"
// the class name
"(\\&lt;\\w*\\&gt;)[[:space:]]*"
// template specialisation parameters
"(&lt;[^;:{]+&gt;)?[[:space:]]*"
// terminate in { or :
"(\\{|:[^;\\{()]*\\{)";
boost::regex expression(re);
map_type class_index;
std::string::const_iterator base;
<b>bool</b> grep_callback(<b>const</b> boost::smatch&amp; what)
{
<font color="#000080"> <i>// what[0] contains the whole string
</i> <i>// what[5] contains the class name.
</i> <i>// what[6] contains the template specialisation if any.
</i> <i>// add class name and position to map:
</i></font> class_index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] =
what[5].first - base;
<b>return</b> <b>true</b>;
}
<b>void</b> IndexClasses(<b>const</b> std::string&amp; file)
{
std::string::const_iterator start, end;
start = file.begin();
end = file.end();
base = start;
regex_grep(grep_callback, start, end, expression, match_default);
}
</pre>
<p><a href="../example/snippets/regex_grep_example_3.cpp"> Example</a>: use
regex_grep to call a class member function, use the standard library adapters <i>std::mem_fun</i>
and <i>std::bind1st</i> to convert the member function into a predicate:</p>
<pre>
<font color="#008000">#include &lt;string&gt;
#include &lt;map&gt;
#include &lt;boost/regex.hpp&gt;
#include &lt;functional&gt;
</font><font color="#000080"><i>// 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
</i></font><b>typedef</b> std::map&lt;std::string, <b>int</b>, std::less&lt;std::string&gt; &gt; map_type;
<b>class</b> class_index
{
boost::regex expression;
map_type index;
std::string::const_iterator base;
<b>bool</b> grep_callback(boost::smatch what);
<b>public</b>:
<b> void</b> IndexClasses(<b>const</b> std::string&amp; file);
class_index()
: index(),
expression(<font color=
#000080>"^(template[[:space:]]*&lt;[^;:{]+&gt;[[:space:]]*)?"
"(class|struct)[[:space:]]*(\\&lt;\\w+\\&gt;([[:blank:]]*\\([^)]*\\))?"
"[[:space:]]*)*(\\&lt;\\w*\\&gt;)[[:space:]]*(&lt;[^;:{]+&gt;[[:space:]]*)?"
"(\\{|:[^;\\{()]*\\{)"
</font> ){}
};
<b>bool</b> class_index::grep_callback(boost::smatch what)
{
<font color="#000080"> <i>// what[0] contains the whole string
</i> <i>// what[5] contains the class name.
</i> <i>// what[6] contains the template specialisation if any.
</i> <i>// add class name and position to map:
</i></font> index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] =
what[5].first - base;
<b>return</b> <b>true</b>;
}
<b>void</b> class_index::IndexClasses(<b>const</b> std::string&amp; file)
{
std::string::const_iterator start, end;
start = file.begin();
end = file.end();
base = start;
regex_grep(std::bind1st(std::mem_fun(&amp;class_index::grep_callback), <b>this</b>),
start,
end,
expression);
}
</pre>
<p><a href="../example/snippets/regex_grep_example_4.cpp"> Finally</a>, C++
Builder users can use C++ Builder's closure type as a callback argument:</p>
<pre>
<font color="#008000">#include &lt;string&gt;
#include &lt;map&gt;
#include &lt;boost/regex.hpp&gt;
#include &lt;functional&gt;
</font><font color="#000080"><i>// 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
</i></font><b>typedef</b> std::map&lt;std::string, <b>int</b>, std::less&lt;std::string&gt; &gt; map_type;
<b>class</b> class_index
{
boost::regex expression;
map_type index;
std::string::const_iterator base;
<b>typedef</b> boost::smatch arg_type;
<b>bool</b> grep_callback(<b>const</b> arg_type&amp; what);
<b>public</b>:
<b>typedef</b> <b>bool</b> (<b>__closure</b>* grep_callback_type)(<b>const</b> arg_type&amp;);
<b>void</b> IndexClasses(<b>const</b> std::string&amp; file);
class_index()
: index(),
expression(<font color=
#000080>"^(template[[:space:]]*&lt;[^;:{]+&gt;[[:space:]]*)?"
"(class|struct)[[:space:]]*(\\&lt;\\w+\\&gt;([[:blank:]]*\\([^)]*\\))?"
"[[:space:]]*)*(\\&lt;\\w*\\&gt;)[[:space:]]*(&lt;[^;:{]+&gt;[[:space:]]*)?"
"(\\{|:[^;\\{()]*\\{)"
</font> ){}
};
<b>bool</b> class_index::grep_callback(<b>const</b> arg_type&amp; what)
{
<font color=
#000080> <i>// what[0] contains the whole string</i>
<i>// what[5] contains the class name.</i>
<i>// what[6] contains the template specialisation if any.</i>
<i>// add class name and position to map:</i></font>
index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] =
what[5].first - base;
<b>return</b> <b>true</b>;
}
<b>void</b> class_index::IndexClasses(<b>const</b> std::string&amp; file)
{
std::string::const_iterator start, end;
start = file.begin();
end = file.end();
base = start;
class_index::grep_callback_type cl = &amp;(<b>this</b>-&gt;grep_callback);
regex_grep(cl,
start,
end,
expression);
}
</pre>
<p></p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
04 Feb 2004
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2004<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

View File

@ -0,0 +1,432 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: regex_iterator</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../../../boost.css" type="text/css" rel="stylesheet">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" alt="C++ Boost" src="../../../c++boost.gif" width="277" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">regex_iterator</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" alt="Boost.Regex Index" src="uarrow.gif" width="43" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<h3>Contents</h3>
<dl class="index">
<dt><a href="#synopsis">Synopsis</a> <dt><a href="#description">Description</a> <dt><a href="#examples">
Examples</a></dt>
</dl>
<h3><a name="synopsis"></a>Synopsis</h3>
<p>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&nbsp;<a href="match_results.html">match_results</a> object.</p>
<pre>
template &lt;class BidirectionalIterator,
class charT = iterator_traits&lt;BidirectionalIterator&gt;::value_type,
class traits = regex_traits&lt;charT&gt;,
class Allocator = allocator&lt;charT&gt; &gt;
class regex_iterator
{
public:
typedef <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator&gt; regex_type;
typedef <A href="match_results.html">match_results</A>&lt;BidirectionalIterator&gt; value_type;
typedef typename iterator_traits&lt;BidirectionalIterator&gt;::difference_type difference_type;
typedef const value_type* pointer;
typedef const value_type&amp; reference;
typedef std::forward_iterator_tag iterator_category;
<A href="#c1">regex_iterator</A>();
<A href="#c2">regex_iterator</A>(BidirectionalIterator a, BidirectionalIterator b,
const regex_type&amp; re,
<A href="match_flag_type.html">match_flag_type</A> m = match_default);
<A href="#c3">regex_iterator</A>(const regex_iterator&amp;);
regex_iterator&amp; <A href="#o1">operator</A>=(const regex_iterator&amp;);
bool <A href="#o2">operator</A>==(const regex_iterator&amp;)const;
bool <A href="#o3">operator</A>!=(const regex_iterator&amp;)const;
const value_type&amp; <A href="#o4">operator</A>*()const;
const value_type* <A href="#o5">operator</A>-&gt;()const;
regex_iterator&amp; <A href="#o6">operator</A>++();
regex_iterator <A href="#o7">operator</A>++(int);
};
typedef regex_iterator&lt;const char*&gt; cregex_iterator;
typedef regex_iterator&lt;std::string::const_iterator&gt; sregex_iterator;
#ifndef BOOST_NO_WREGEX
typedef regex_iterator&lt;const wchar_t*&gt; wcregex_iterator;
typedef regex_iterator&lt;std::wstring::const_iterator&gt; wsregex_iterator;
#endif
</pre>
<h3><a name="description"></a>Description</h3>
<p>A regex_iterator is constructed from a pair of iterators, and enumerates all
occurrences of a regular expression within that iterator range.</p>
<pre><A name=c1></A>
regex_iterator();
</pre>
<b></b>
<p><b>Effects:</b> constructs an end of sequence regex_iterator.</p>
<pre><A name=c2></A>regex_iterator(BidirectionalIterator a, BidirectionalIterator b,
const regex_type&amp; re,
<A href="match_flag_type.html">match_flag_type</A> m = match_default);
</pre>
<b></b>
<p><b>Effects:</b> constructs a regex_iterator that will enumerate all occurrences
of the expression <em>re</em>, within the sequence <em>[a,b)</em>, and found
using match flags <em>m</em>.&nbsp; The object <em>re</em> must exist for the
lifetime of the regex_iterator.</p>
<P><STRONG>Throws:</STRONG> <CODE>std::runtime_error</CODE> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<pre><A name=c3></A>
regex_iterator(const regex_iterator&amp; that);
</pre>
<b></b>
<p><b>Effects:</b> constructs a copy of <code>that</code>.</p>
<b></b>
<p><b>Postconditions:</b> <code>*this == that</code>.</p>
<pre><A name=o1></A>
regex_iterator&amp; operator=(const regex_iterator&amp;);
</pre>
<b></b>
<p><b>Effects:</b> sets&nbsp;<code>*this</code> equal to those in <code>that</code>.</p>
<b></b>
<p><b>Postconditions:</b> <code>*this == that</code>.</p>
<pre><A name=o2></A>
bool operator==(const regex_iterator&amp; that)const;
</pre>
<b></b>
<p><b>Effects:</b> returns true if *this is equal to that.</p>
<pre><A name=o3></A>
bool operator!=(const regex_iterator&amp;)const;
</pre>
<b></b>
<p><b>Effects:</b> returns <code>!(*this == that)</code>.</p>
<pre><A name=o4></A>
const value_type&amp; operator*()const;
</pre>
<p><b>Effects:</b> dereferencing a regex_iterator object <em>it</em> yields a
const reference to a <a href="match_results.html">match_results</a> object,
whose members are set as follows:</p>
<p></p>
<table id="Table2" cellspacing="1" cellpadding="7" width="624" border="1">
<tbody>
<tr>
<td valign="top" width="50%"><b></b>
<p><b>Element</b></p>
</td>
<td valign="top" width="50%"><b></b>
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it).size()</p>
</td>
<td valign="top" width="50%">
<p>re.mark_count()</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it).empty()</p>
</td>
<td valign="top" width="50%">
<p>false</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it).prefix().first</p>
</td>
<td valign="top" width="50%">
<p>The end of the last match found, or the start of the underlying sequence if
this is the first match enumerated</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it).prefix().last</p>
</td>
<td valign="top" width="50%">
<p>The same as the start of the match found:<BR>
(*it)[0].first</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it).prefix().matched</p>
</td>
<td valign="top" width="50%">
<p>True if the prefix did not match an empty string:<BR>
(*it).prefix().first != (*it).prefix().second</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it).suffix().first</p>
</td>
<td valign="top" width="50%">
<p>The same as the end of the match found:<BR>
(*it)[0].second</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it).suffix().last</p>
</td>
<td valign="top" width="50%">
<p>The end of the underlying sequence.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it).suffix().matched</p>
</td>
<td valign="top" width="50%">
<p>True if the suffix did not match an empty string:<BR>
(*it).suffix().first != (*it).suffix().second</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it)[0].first</p>
</td>
<td valign="top" width="50%">
<p>The start of the sequence of characters that matched the regular expression</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it)[0].second</p>
</td>
<td valign="top" width="50%">
<p>The end of the sequence of characters that matched the regular expression</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it)[0].matched</p>
</td>
<td valign="top" width="50%">
<p><code>true</code> if a full match was found, and <code>false</code> if it was a
partial match (found as a result of the <code>match_partial</code> flag being
set).</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it)[n].first</p>
</td>
<td valign="top" width="50%">
<p>For all integers n &lt; (*it).size(), the start of the sequence that matched
sub-expression <i>n</i>. Alternatively, if sub-expression n did not participate
in the match, then <i>last</i>.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it)[n].second</p>
</td>
<td valign="top" width="50%">
<p>For all integers n &lt; (*it).size(), the end of the sequence that matched
sub-expression <i>n</i>. Alternatively, if sub-expression n did not participate
in the match, then <i>last</i>.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it)[n].matched</p>
</td>
<td valign="top" width="50%">
<p>For all integers n &lt; (*it).size(), true if sub-expression <i>n</i> participated
in the match, false otherwise.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">(*it).position(n)</td>
<td valign="top" width="50%">For all integers n &lt; (*it).size(), then the
distance from the start of the underlying sequence to the start of
sub-expression match <em>n</em>.</td>
</tr>
</tbody>
</table>
<br>
<br>
<pre><A name=o5></A>
const value_type* operator-&gt;()const;
</pre>
<b></b>
<p><b>Effects:</b> returns <code>&amp;(*this)</code>.</p>
<pre><A name=o6></A>
regex_iterator&amp; operator++();
</pre>
<p><strong>Effects:</strong> moves the iterator to the next match in the
underlying sequence, or the end of sequence iterator if none if found.
&nbsp;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.</p>
<P><STRONG>Throws:</STRONG> <CODE>std::runtime_error</CODE> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<b></b>
<p><b>Returns:</b> <code>*this</code>.</p>
<pre><A name=o7></A>
regex_iterator operator++(int);
</pre>
<b></b>
<p><b>Effects:</b> constructs a copy <code>result</code> of <code>*this</code>,
then calls <code>++(*this)</code>.</p>
<b></b>
<p><b>Returns:</b> <code>result</code>.</p>
<h3>Examples</h3>
<p>The following <a href="../example/snippets/regex_iterator_example.cpp">example</a>
takes a C++ source file and builds up an index of class names, and the location
of that class in the file.</p>
<pre>
<font color="#008040">#include &lt;string&gt;</font>
<font color="#008040">#include &lt;map&gt;</font>
<font color="#008040">#include &lt;fstream&gt;</font>
<font color="#008040">#include &lt;iostream&gt;</font>
<font color="#008040">#include &lt;boost/regex.hpp&gt;</font>
<b>using</b> <b>namespace</b> std;
<i><font color="#000080">// purpose:</font></i>
<i><font color=
#000080>// takes the contents of a file in the form of a string</font></i>
<i><font color=
#000080>// and searches for all the C++ class definitions, storing</font></i>
<i><font color=
#000080>// their locations in a map of strings/int's</font></i>
<b>typedef</b> std::map&lt;std::string, std::string::difference_type, std::less&lt;std::string&gt; &gt; map_type;
<b>const</b> <b>char</b>* re =
<i><font color=
#000080>// possibly leading whitespace: </font></i>
<font color="#0000ff">"^[[:space:]]*"</font>
<i><font color=
#000080>// possible template declaration:</font></i>
<font color=
#0000ff>"(template[[:space:]]*&lt;[^;:{]+&gt;[[:space:]]*)?"</font>
<i><font color="#000080">// class or struct:</font></i>
<font color="#0000ff">"(class|struct)[[:space:]]*"</font>
<i><font color=
#000080>// leading declspec macros etc:</font></i>
<font color="#0000ff">"("</font>
<font color="#0000ff">"\\&lt;\\w+\\&gt;"</font>
<font color="#0000ff">"("</font>
<font color="#0000ff">"[[:blank:]]*\\([^)]*\\)"</font>
<font color="#0000ff">")?"</font>
<font color="#0000ff">"[[:space:]]*"</font>
<font color="#0000ff">")*"</font>
<i><font color="#000080">// the class name</font></i>
<font color="#0000ff">"(\\&lt;\\w*\\&gt;)[[:space:]]*"</font>
<i><font color=
#000080>// template specialisation parameters</font></i>
<font color="#0000ff">"(&lt;[^;:{]+&gt;)?[[:space:]]*"</font>
<i><font color="#000080">// terminate in { or :</font></i>
<font color="#0000ff">"(\\{|:[^;\\{()]*\\{)"</font>;
boost::regex expression(re);
map_type class_index;
<b>bool</b> regex_callback(<b>const</b> boost::match_results&lt;std::string::const_iterator&gt;&amp; what)
{
<i><font color=
#000080>// what[0] contains the whole string</font></i>
<i><font color=
#000080>// what[5] contains the class name.</font></i>
<i><font color=
#000080>// what[6] contains the template specialisation if any.</font></i>
<i><font color=
#000080>// add class name and position to map:</font></i>
class_index[what[<font color=
#0000a0>5</font>].str() + what[<font color=
#0000a0>6</font>].str()] = what.position(<font color=
#0000a0>5</font>);
<b>return</b> <b>true</b>;
}
<b>void</b> load_file(std::string&amp; s, std::istream&amp; is)
{
s.erase();
s.reserve(is.rdbuf()-&gt;in_avail());
<b>char</b> c;
<b>while</b>(is.get(c))
{
<b>if</b>(s.capacity() == s.size())
s.reserve(s.capacity() * <font color="#0000a0">3</font>);
s.append(<font color="#0000a0">1</font>, c);
}
}
<b>int</b> main(<b>int</b> argc, <b>const</b> <b>char</b>** argv)
{
std::string text;
<b>for</b>(<b>int</b> i = <font color=
#0000a0>1</font>; i &lt; argc; ++i)
{
cout &lt;&lt; <font color=
#0000ff>"Processing file "</font> &lt;&lt; argv[i] &lt;&lt; endl;
std::ifstream fs(argv[i]);
load_file(text, fs);
<i><font color=
#000080>// construct our iterators:</font></i>
boost::sregex_iterator m1(text.begin(), text.end(), expression);
boost::sregex_iterator m2;
std::for_each(m1, m2, &amp;regex_callback);
<i><font color="#000080">// copy results:</font></i>
cout &lt;&lt; class_index.size() &lt;&lt; <font color=
#0000ff>" matches found"</font> &lt;&lt; endl;
map_type::iterator c, d;
c = class_index.begin();
d = class_index.end();
<b>while</b>(c != d)
{
cout &lt;&lt; <font color=
#0000ff>"class \""</font> &lt;&lt; (*c).first &lt;&lt; <font
color=
#0000ff>"\" found at index: "</font> &lt;&lt; (*c).second &lt;&lt; endl;
++c;
}
class_index.erase(class_index.begin(), class_index.end());
}
<b>return</b> <font color="#0000a0">0</font>;
}
</pre>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

321
doc/Attic/regex_match.html Normal file
View File

@ -0,0 +1,321 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Algorithm regex_match</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Algorithm regex_match</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<H3>Contents</H3>
<dl class="index">
<dt><a href="#synopsis">Synopsis</a> <dt><a href="#description">Description</a> <dt><a href="#examples">
Examples</a></dt>
</dl>
<H3><A name="synopsis"></A>Synopsis</H3>
<PRE><A name=query_match></A>#include &lt;<A href="../../../boost/regex.hpp">boost/regex.hpp</A>&gt; </PRE>
<P>
The algorithm regex _match determines whether a given regular expression
matches all of a given character sequence denoted by a pair of
bidirectional-iterators, the algorithm is defined as follows, the main use of
this function is data input validation.
<P><STRONG>Note that the result is true only if the expression matches the whole of
the input sequence.&nbsp;</STRONG> If you want to search for an expression
somewhere within the sequence then use <A href="regex_search.html">regex_search</A>.&nbsp;
If you want to match a prefix of the character string then use <A href="regex_search.html">
regex_search</A> with the flag <A href="match_flag_type.html">match_continuous</A>
set.
<PRE>template &lt;class BidirectionalIterator, class Allocator, class charT,
class traits, class Allocator2&gt;
bool <A href="#f1">regex_match</A>(BidirectionalIterator first, BidirectionalIterator last,
<A href="match_results.html">match_results</A>&lt;BidirectionalIterator, Allocator&gt;&amp; m,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);
template &lt;class BidirectionalIterator, class charT, class traits, class Allocator2&gt;
bool <A href="#f2">regex_match</A>(BidirectionalIterator first, BidirectionalIterator last,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);
template &lt;class charT, class Allocator, class traits, class Allocator2&gt;
bool <A href="#f3">regex_match</A>(const charT* str, <A href="match_results.html">match_results</A>&lt;const charT*, Allocator&gt;&amp; m,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);
template &lt;class ST, class SA, class Allocator, class charT,
class traits, class Allocator2&gt;
bool <A href="#f4">regex_match</A>(const basic_string&lt;charT, ST, SA&gt;&amp; s,
<A href="match_results.html">match_results</A>&lt;typename basic_string&lt;charT, ST, SA&gt;::const_iterator, Allocator&gt;&amp; m,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);
template &lt;class charT, class traits, class Allocator2&gt;
bool <A href="#f5">regex_match</A>(const charT* str,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);
template &lt;class ST, class SA, class charT, class traits, class Allocator2&gt;
bool <A href="#f6">regex_match</A>(const basic_string&lt;charT, ST, SA&gt;&amp; s,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);
</PRE>
<H3><A name="description"></A>Description</H3>
<PRE><A name=f1></A>template &lt;class BidirectionalIterator, class Allocator, class charT,
class traits, class Allocator2&gt;
bool regex_match(BidirectionalIterator first, BidirectionalIterator last,
<A href="match_results.html">match_results</A>&lt;BidirectionalIterator, Allocator&gt;&amp; m,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);</PRE>
<P><B> Requires:</B> Type BidirectionalIterator meets the requirements of a
Bidirectional Iterator (24.1.4).</P>
<P><B> Effects: </B>Determines whether there is an exact match between the regular
expression <I>e</I>, and all of the character sequence [first, last), parameter <I>
flags</I> is used to <A href="match_flag_type.html">control how the expression
is matched</A> against the character sequence. Returns true if such a match
exists, false otherwise.</P>
<P><STRONG>Throws:</STRONG> <code>std::runtime_error</code> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<P><B> Postconditions: </B>If the function returns false, then the effect on
parameter <I>m</I> is undefined, otherwise the effects on parameter <I>m</I> are
given in the table:</P>
<P align="center">
<CENTER>
<TABLE id="Table2" cellSpacing="1" cellPadding="7" width="624" border="1">
<TBODY>
<TR>
<TD vAlign="top" width="50%">
<P><B> Element</B>
</P>
</TD>
<TD vAlign="top" width="50%">
<P><B> Value</B>
</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.size()</P>
</TD>
<TD vAlign="top" width="50%">
<P>e.mark_count()</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.empty()</P>
</TD>
<TD vAlign="top" width="50%">
<P>false</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.prefix().first</P>
</TD>
<TD vAlign="top" width="50%">
<P>first</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.prefix().last</P>
</TD>
<TD vAlign="top" width="50%">
<P>first</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.prefix().matched</P>
</TD>
<TD vAlign="top" width="50%">
<P>false</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.suffix().first</P>
</TD>
<TD vAlign="top" width="50%">
<P>last</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.suffix().last</P>
</TD>
<TD vAlign="top" width="50%">
<P>last</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.suffix().matched</P>
</TD>
<TD vAlign="top" width="50%">
<P>false</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[0].first</P>
</TD>
<TD vAlign="top" width="50%">
<P>first</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[0].second</P>
</TD>
<TD vAlign="top" width="50%">
<P>last</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[0].matched</P>
</TD>
<TD vAlign="top" width="50%">
<P><CODE> true</CODE> if a full match was found, and <CODE>false</CODE> if it was
a partial match (found as a result of the <CODE>match_partial</CODE> flag being
set).</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[n].first</P>
</TD>
<TD vAlign="top" width="50%">
<P>For all integers n &lt; m.size(), the start of the sequence that matched
sub-expression <I>n</I>. Alternatively, if sub-expression n did not participate
in the match, then <I>last</I>.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[n].second</P>
</TD>
<TD vAlign="top" width="50%">
<P>For all integers n &lt; m.size(), the end of the sequence that matched
sub-expression <I>n</I>. Alternatively, if sub-expression n did not participate
in the match, then <I>last</I>.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[n].matched</P>
</TD>
<TD vAlign="top" width="50%">
<P>For all integers n &lt; m.size(), true if sub-expression <I>n</I> participated
in the match, false otherwise.</P>
</TD>
</TR>
</TBODY></TD></TR></TABLE>
</CENTER>
<P></P>
<DIV></DIV>
<PRE>&nbsp;</PRE>
<PRE><A name=f2></A>template &lt;class BidirectionalIterator, class charT, class traits, class Allocator2&gt;
bool regex_match(BidirectionalIterator first, BidirectionalIterator last,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);</PRE>
<P><B> Effects:</B> Behaves "as if" by constructing an instance of <CODE><A href="match_results.html">
match_results</A>&lt;</CODE>BidirectionalIterator<CODE>&gt; what</CODE>,
and then returning the result of <CODE>regex_match(first, last, what, e, flags)</CODE>.</P>
<PRE><A name=f3></A>template &lt;class charT, class Allocator, class traits, class Allocator2&gt;
bool regex_match(const charT* str, <A href="match_results.html">match_results</A>&lt;const charT*, Allocator&gt;&amp; m,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);</PRE>
<P><B> Effects:</B> Returns the result of <CODE>regex_match(str, str +
char_traits&lt;charT&gt;::length(str), m, e, flags)</CODE>.</P>
<PRE><A name=f4></A>template &lt;class ST, class SA, class Allocator, class charT,
class traits, class Allocator2&gt;
bool regex_match(const basic_string&lt;charT, ST, SA&gt;&amp; s,
<A href="match_results.html">match_results</A>&lt;typename basic_string&lt;charT, ST, SA&gt;::const_iterator, Allocator&gt;&amp; m,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);</PRE>
<P><B> Effects:</B> Returns the result of <CODE>regex_match(s.begin(), s.end(), m, e,
flags)</CODE>.</P>
<PRE><A name=f5></A>template &lt;class charT, class traits, class Allocator2&gt;
bool regex_match(const charT* str,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);</PRE>
<P><B> Effects:</B> Returns the result of <CODE>regex_match(str, str +
char_traits&lt;charT&gt;::length(str), e, flags)</CODE>.</P>
<PRE><A name=f6></A>template &lt;class ST, class SA, class charT, class traits, class Allocator2&gt;
bool regex_match(const basic_string&lt;charT, ST, SA&gt;&amp; s,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);</PRE>
<P><B> Effects:</B> Returns the result of <CODE>regex_match(s.begin(), s.end(), e,
flags)</CODE>.
<H3><A name="examples"></A>Examples</H3>
<P>The following <A href="../example/snippets/regex_match_example.cpp">example</A>
processes an ftp response:
<P></P>
<PRE><FONT color=#008000>#include &lt;stdlib.h&gt;
#include &lt;boost/regex.hpp&gt;
#include &lt;string&gt;
#include &lt;iostream&gt;
</FONT><B>using namespace</B> boost;
regex expression(<FONT color=#000080>"([0-9]+)(\\-| |$)(.*)"</FONT>);
<FONT color=#000080><I>// process_ftp:
// on success returns the ftp response code, and fills
// msg with the ftp response message.
</I></FONT><B>int</B> process_ftp(<B>const</B> <B>char</B>* response, std::string* msg)
{
&nbsp;&nbsp; cmatch what;
&nbsp;&nbsp; <B>if</B>(regex_match(response, what, expression))
&nbsp;&nbsp; {
<FONT color=#000080>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <I>// what[0] contains the whole string
</I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <I>// what[1] contains the response code
</I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <I>// what[2] contains the separator character
</I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <I>// what[3] contains the text message.
</I></FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <B>if</B>(msg)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg-&gt;assign(what[3].first, what[3].second);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <B>return</B> std::atoi(what[1].first);
&nbsp;&nbsp; }
<FONT color=#000080>&nbsp;&nbsp; <I>// failure did not match
</I></FONT>&nbsp;&nbsp; <B>if</B>(msg)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg-&gt;erase();
&nbsp;&nbsp; <B>return</B> -1;
}
<P>
<HR></PRE>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

View File

@ -0,0 +1,45 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Algorithm regex_merge (deprecated)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Algorithm regex_merge (deprecated)</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>Algorithm regex_merge has been renamed <A href="regex_replace.html">regex_replace</A>,
existing code will continue to compile, but new code should use <A href="regex_replace.html">
regex_replace</A> instead.</P>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

View File

@ -0,0 +1,259 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Algorithm regex_replace</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK href="../../../boost.css" type="text/css" rel="stylesheet"></head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td vAlign="top" width="300">
<h3><A href="../../../index.htm"><IMG height="86" alt="C++ Boost" src="../../../c++boost.gif" width="277" border="0"></A></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Algorithm regex_replace</H2>
</TD>
<td width="50">
<h3><A href="index.html"><IMG height="45" alt="Boost.Regex Index" src="uarrow.gif" width="43" border="0"></A></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<H3>Contents</H3>
<dl class="index">
<dt><A href="#synopsis">Synopsis</A> <dt><a href="#description">Description</a> <dt><A href="#examples">
Examples</A></dt></dl>
<H3><A name="synopsis"></A>Synopsis</H3>
<PRE>#include &lt;<A href="../../../boost/regex.hpp">boost/regex.hpp</A>&gt; </PRE>
<P>The algorithm regex_replace&nbsp;searches&nbsp;through&nbsp;a string finding
all the matches to the regular expression: for each match it then calls <A href="match_results.html#format">
match_results::format</A> 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 <EM>flags</EM> parameter does not have the flag <A href="match_flag_type.html">
format_no_copy</A> set. If the flag <A href="match_flag_type.html">format_first_only</A>
is set then only the first occurrence is replaced rather than all
occurrences.&nbsp;<PRE>template &lt;class OutputIterator, class BidirectionalIterator, class traits,
class Allocator, class charT&gt;
OutputIterator <A href="#f1">regex_replace</A>(OutputIterator out,
BidirectionalIterator first,
BidirectionalIterator last,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator&gt;&amp; e,
const basic_string&lt;charT&gt;&amp; fmt,
<A href="match_flag_type.html">match_flag_type flags = match_default</A>);
template &lt;class traits, class Allocator, class charT&gt;
basic_string&lt;charT&gt; <A href="#f2">regex_replace</A>(const basic_string&lt;charT&gt;&amp; s,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator&gt;&amp; e,
const basic_string&lt;charT&gt;&amp; fmt,
<A href="match_flag_type.html">match_flag_type flags = match_default</A>);
</PRE>
<H3><A name="description"></A>Description</H3>
<PRE><A name=f1></A>template &lt;class OutputIterator, class BidirectionalIterator, class traits,
class Allocator, class charT&gt;
OutputIterator regex_replace(OutputIterator out,
BidirectionalIterator first,
BidirectionalIterator last,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator&gt;&amp; e,
const basic_string&lt;charT&gt;&amp; fmt,
<A href="match_flag_type.html">match_flag_type flags = match_default</A>);</PRE>
<P>Enumerates all the occurences of expression <EM>e</EM> in the sequence [first,
last), replacing each occurence with the string that results by merging the
match found with the format string <EM>fmt</EM>, and copies the resulting
string to <EM>out</EM>.&nbsp;</P>
<P>If the flag format_no_copy is set in <EM>flags</EM> then unmatched sections of
text are not copied to output.&nbsp;
</P>
<P>If the flag format_first_only is set in <EM>flags</EM> then only the first
occurence of <EM>e</EM> is replaced.&nbsp;
</P>
<P>The manner in which the format string <EM>fmt</EM> is interpretted, along with
the rules used&nbsp;for finding matches,&nbsp;are determined by the <A href="match_flag_type.html">
flags</A> set in <EM>flags</EM></P>
<P><B>Effects:</B> Constructs an
<SPAN class="spelle">regex_iterator</SPAN>
object:
</P>
<PRE><SPAN style="FONT-SIZE: 10pt">regex_iterator&lt;</SPAN><SPAN class=spelle><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">BidirectionalIterator</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt">, </SPAN><SPAN class=spelle><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">charT</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt">, traits, Allocator&gt; <BR> </SPAN><SPAN class=grame><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">i(</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt">first, last, e, flags)</SPAN>, </PRE>
<P>and uses
<SPAN class="spelle">
<I>i</I></SPAN>
to enumerate through all of the matches <I>m</I> of type
<SPAN class="spelle">
<SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">match_results</SPAN>
</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">&lt;<SPAN class="spelle">BidirectionalIterator</SPAN>&gt; </SPAN>that
occur within the sequence [first, last).
</P>
<P>If no such matches are found
<SPAN class="grame">and </SPAN></P>
<PRE><SPAN class=grame></SPAN><SPAN class=grame><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">!</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">(flags &amp; <SPAN class=spelle>format_no_copy</SPAN>)</SPAN> </PRE>
<P>then calls
</P>
<PRE><SPAN class=spelle><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">std::copy</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">(first, last, out)</SPAN>. </PRE>
<P>Otherwise, for each match found,
<SPAN class="grame">if </SPAN></P>
<PRE><SPAN class=grame></SPAN><SPAN class=grame><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">!</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">(flags &amp; <SPAN class=spelle>format_no_copy</SPAN>)</SPAN> </PRE>
<P>calls
</P>
<PRE><SPAN class=spelle><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">std::copy</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">(<SPAN class=spelle>m.prefix</SPAN>().first, <SPAN class=spelle>m.prefix</SPAN>().last, out)</SPAN>, </PRE>
<P>and then calls
</P>
<PRE><SPAN class=spelle><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">m.format</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">(out, <SPAN class=spelle>fmt</SPAN>, flags)</SPAN>. </PRE>
<P>Finally
<SPAN class="grame">if </SPAN></P>
<PRE><SPAN class=grame></SPAN><SPAN class=grame><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">!</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">(flags &amp; <SPAN class=spelle>format_no_copy</SPAN>)</SPAN> </PRE>
<P>calls
</P>
<PRE><SPAN class=spelle><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">std::copy</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">(<SPAN class=spelle>last_m.suffix</SPAN>().first, <SPAN class=spelle>last_m,suffix</SPAN>().last, out) </SPAN></PRE>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"></SPAN>where
<SPAN class="spelle">
<SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">last_m</SPAN>
</SPAN>
is a copy of the last match found.
</P>
<P>If
<SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">flags &amp;
<SPAN class="spelle">format_first_only</SPAN></SPAN>
is non-zero then only the first match found is replaced.</P>
<P><STRONG>Throws:</STRONG> <CODE>std::runtime_error</CODE> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<P><B> Returns:</B> <CODE>out</CODE>.
</P>
<PRE><A name=f2></A>template &lt;class traits, class Allocator, class charT&gt;
basic_string&lt;charT&gt; regex_replace(const basic_string&lt;charT&gt;&amp; s,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator&gt;&amp; e,
const basic_string&lt;charT&gt;&amp; fmt,
<A href="match_flag_type.html">match_flag_type flags = match_default</A>);</PRE>
<P><B> Effects:</B> Constructs an object <CODE>basic_string&lt;charT&gt; result</CODE>,
calls <CODE>regex_replace(back_inserter(result), s.begin(), s.end(), e, fmt,
flags)</CODE>, and then returns <CODE>result</CODE>.
<H3><A name="examples"></A>Examples</H3>
<P>The following <A href="../example/snippets/regex_replace_example.cpp">example</A>
takes C/C++ source code as input, and outputs syntax highlighted HTML code.</P>
<P></P>
<PRE><FONT color=#008080>#include &lt;fstream&gt;
#include &lt;sstream&gt;
#include &lt;string&gt;
#include &lt;iterator&gt;
#include &lt;boost/regex.hpp&gt;
#include &lt;fstream&gt;
#include &lt;iostream&gt;
</FONT>
<FONT color=#000080><I>// purpose:
// takes the contents of a file and transform to
// syntax highlighted code in html format
</I></FONT>
boost::regex e1, e2;
<B>extern</B> <B>const</B> <B>char</B>* expression_text;
<B>extern</B> <B>const</B> <B>char</B>* format_string;
<B>extern</B> <B>const</B> <B>char</B>* pre_expression;
<B>extern</B> <B>const</B> <B>char</B>* pre_format;
<B>extern</B> <B>const</B> <B>char</B>* header_text;
<B>extern</B> <B>const</B> <B>char</B>* footer_text;
<B>void</B> load_file(std::string&amp; s, std::istream&amp; is)
{
s.erase();
s.reserve(is.rdbuf()-&gt;in_avail());
<B>char</B> c;
<B>while</B>(is.get(c))
{
<B>if</B>(s.capacity() == s.size())
s.reserve(s.capacity() * <FONT color=#000080>3</FONT>);
s.append(<FONT color=#000080>1</FONT>, c);
}
}
<B>int</B> main(<B>int</B> argc, <B>const</B> <B>char</B>** argv)
{
try{
e1.assign(expression_text);
e2.assign(pre_expression);
<B>for</B>(<B>int</B> i = <FONT color=#000080>1</FONT>; i &lt; argc; ++i)
{
std::cout &lt;&lt; <FONT color=#0000ff>"Processing file "</FONT> &lt;&lt; argv[i] &lt;&lt; std::endl;
std::ifstream fs(argv[i]);
std::string in;
load_file(in, fs);
std::string out_name(std::string(argv[i]) + std::string(<FONT color=#0000ff>".htm"</FONT>));
std::ofstream os(out_name.c_str());
os &lt;&lt; header_text;
<FONT color=#000080><I>// strip '&lt;' and '&gt;' first by outputting to a
</I></FONT> <FONT color=#000080><I>// temporary string stream
</I></FONT> std::ostringstream t(std::ios::out | std::ios::binary);
std::ostream_iterator&lt;<B>char</B>, <B>char</B>&gt; oi(t);
boost::regex_replace(oi, in.begin(), in.end(),
e2, pre_format, boost::match_default | boost::format_all);
<FONT color=#000080><I>// then output to final output stream
</I></FONT> <FONT color=#000080><I>// adding syntax highlighting:
</I></FONT> std::string s(t.str());
std::ostream_iterator&lt;<B>char</B>, <B>char</B>&gt; out(os);
boost::regex_replace(out, s.begin(), s.end(),
e1, format_string, boost::match_default | boost::format_all);
os &lt;&lt; footer_text;
}
}
<STRONG>catch</STRONG>(...)
{ <STRONG>return</STRONG> -1; }
<B>return</B> <FONT color=#000080>0</FONT>;
}
<B>extern</B> <B>const</B> <B>char</B>* pre_expression = <FONT color=#0000ff>"(&lt;)|(&gt;)|\\r"</FONT>;
<B>extern</B> <B>const</B> <B>char</B>* pre_format = <FONT color=#0000ff>"(?1&lt;)(?2&gt;)"</FONT>;
<B>const</B> <B>char</B>* expression_text = <FONT color=#000080><I>// preprocessor directives: index 1
</I></FONT> <FONT color=#0000ff>"(^[[:blank:]]*#(?:[^\\\\\\n]|\\\\[^\\n[:punct:][:word:]]*[\\n[:punct:][:word:]])*)|"
</FONT> <FONT color=#000080><I>// comment: index 2
</I></FONT> <FONT color=#0000ff>"(//[^\\n]*|/\\*.*?\\*/)|"
</FONT> <FONT color=#000080><I>// literals: index 3
</I></FONT> <FONT color=#0000ff>"\\&lt;([+-]?(?:(?:0x[[:xdigit:]]+)|(?:(?:[[:digit:]]*\\.)?[[:digit:]]+(?:[eE][+-]?[[:digit:]]+)?))u?(?:(?:int(?:8|16|32|64))|L)?)\\&gt;|"
</FONT> <FONT color=#000080><I>// string literals: index 4
</I></FONT> <FONT color=#0000ff>"('(?:[^\\\\']|\\\\.)*'|\"(?:[^\\\\\"]|\\\\.)*\")|"
</FONT> <FONT color=#000080><I>// keywords: index 5
</I></FONT> <FONT color=#0000ff>"\\&lt;(__asm|__cdecl|__declspec|__export|__far16|__fastcall|__fortran|__import"
</FONT> <FONT color=#0000ff>"|__pascal|__rtti|__stdcall|_asm|_cdecl|__except|_export|_far16|_fastcall"
</FONT> <FONT color=#0000ff>"|__finally|_fortran|_import|_pascal|_stdcall|__thread|__try|asm|auto|bool"
</FONT> <FONT color=#0000ff>"|break|case|catch|cdecl|char|class|const|const_cast|continue|default|delete"
</FONT> <FONT color=#0000ff>"|do|double|dynamic_cast|else|enum|explicit|extern|false|float|for|friend|goto"
</FONT> <FONT color=#0000ff>"|if|inline|int|long|mutable|namespace|new|operator|pascal|private|protected"
</FONT> <FONT color=#0000ff>"|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_cast"
</FONT> <FONT color=#0000ff>"|struct|switch|template|this|throw|true|try|typedef|typeid|typename|union|unsigned"
</FONT> <FONT color=#0000ff>"|using|virtual|void|volatile|wchar_t|while)\\&gt;"
</FONT> ;
<B>const</B> <B>char</B>* format_string = <FONT color=#0000ff>"(?1&lt;font color=\"#008040\"&gt;$&amp;&lt;/font&gt;)"
</FONT> <FONT color=#0000ff>"(?2&lt;I&gt;&lt;font color=\"#000080\"&gt;$&amp;&lt;/font&gt;&lt;/I&gt;)"
</FONT> <FONT color=#0000ff>"(?3&lt;font color=\"#0000A0\"&gt;$&amp;&lt;/font&gt;)"
</FONT> <FONT color=#0000ff>"(?4&lt;font color=\"#0000FF\"&gt;$&amp;&lt;/font&gt;)"
</FONT> <FONT color=#0000ff>"(?5&lt;B&gt;$&amp;&lt;/B&gt;)"</FONT>;
<B>const</B> <B>char</B>* header_text = <FONT color=#0000ff>"&lt;HTML&gt;\n&lt;HEAD&gt;\n"
</FONT> <FONT color=#0000ff>"&lt;TITLE&gt;Auto-generated html formated source&lt;/TITLE&gt;\n"
</FONT> <FONT color=#0000ff>"&lt;META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=windows-1252\"&gt;\n"
</FONT> <FONT color=#0000ff>"&lt;/HEAD&gt;\n"
</FONT> <FONT color=#0000ff>"&lt;BODY LINK=\"#0000ff\" VLINK=\"#800080\" BGCOLOR=\"#ffffff\"&gt;\n"
</FONT> <FONT color=#0000ff>"&lt;P&gt; &lt;/P&gt;\n&lt;PRE&gt;"</FONT>;
<B>const</B> <B>char</B>* footer_text = <FONT color=#0000ff>"&lt;/PRE&gt;\n&lt;/BODY&gt;\n\n"</FONT>;
</PRE>
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

325
doc/Attic/regex_search.html Normal file
View File

@ -0,0 +1,325 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Algorithm regex_search</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK href="../../../boost.css" type="text/css" rel="stylesheet"></head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td vAlign="top" width="300">
<h3><A href="../../../index.htm"><IMG height="86" alt="C++ Boost" src="../../../c++boost.gif" width="277" border="0"></A></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Algorithm regex_search</H2>
</TD>
<td width="50">
<h3><A href="index.html"><IMG height="45" alt="Boost.Regex Index" src="uarrow.gif" width="43" border="0"></A></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<H3>Contents</H3>
<dl class="index">
<dt><A href="#synopsis">Synopsis</A> <dt><a href="#description">Description</a> <dt><A href="#examples">
Examples</A></dt></dl>
<H3><A name="synopsis"></A>Synopsis</H3>
<PRE>#include &lt;<A href="../../../boost/regex.hpp">boost/regex.hpp</A>&gt; </PRE>
<P></P>
<P>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:
<PRE>template &lt;class BidirectionalIterator,
class Allocator, class charT,
class traits, class Allocator2&gt;
bool <A href="#f1">regex_search</A>(BidirectionalIterator first, BidirectionalIterator last,
<a href="match_results.html">match_results</a>&lt;BidirectionalIterator, Allocator&gt;&amp; m,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator2&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);
template &lt;class ST, class SA,
class Allocator, class charT,
class traits, class Allocator2&gt;
bool <A href="#f2">regex_search</A>(const basic_string&lt;charT, ST, SA&gt;&amp; s,
<a href="match_results.html">match_results</a>&lt;
typename basic_string&lt;charT, ST,SA&gt;::const_iterator,
Allocator&gt;&amp; m,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator2&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);
template&lt;class charT, class Allocator, class traits,
class Allocator2&gt;
bool <A href="#f3">regex_search</A>(const charT* str,
<a href="match_results.html">match_results</a>&lt;const charT*, Allocator&gt;&amp; m,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator2&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);
template &lt;class BidirectionalIterator, class Allocator,
class charT, class traits&gt;
bool <A href="#f4">regex_search</A>(BidirectionalIterator first, BidirectionalIterator last,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);
template &lt;class charT, class Allocator,
class traits&gt;
bool <A href="#f5">regex_search</A>(const charT* str,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);
template&lt;class ST, class SA,
class Allocator, class charT,
class traits&gt;
bool <A href="#f6">regex_search</A>(const basic_string&lt;charT, ST, SA&gt;&amp; s,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);
</PRE>
<H3><A name="description"></A>Description</H3>
<PRE><A name=f1></A>template &lt;class BidirectionalIterator, class Allocator, class charT,
class traits, class Allocator2&gt;
bool regex_search(BidirectionalIterator first, BidirectionalIterator last,
<a href="match_results.html">match_results</a>&lt;BidirectionalIterator, Allocator&gt;&amp; m,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator2&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);</PRE>
<P><B> Requires:</B> Type BidirectionalIterator meets the requirements of a
Bidirectional Iterator (24.1.4).</P>
<P><B> Effects: </B>Determines whether there is some sub-sequence within
[first,last) that matches the regular expression <I>e</I>, parameter <I>flags</I>
is used to control how the expression is matched against the character
sequence. Returns true if such a sequence exists, false otherwise.</P>
<P><STRONG>Throws:</STRONG> <CODE>std::runtime_error</CODE> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<P><B> Postconditions: </B>If the function returns false, then the effect on
parameter <I>m</I> is undefined, otherwise the effects on parameter <I>m</I> are
given in the table:</P>
<DIV align="center">
<CENTER>
<TABLE id="Table2" cellSpacing="1" cellPadding="7" width="624" border="1">
<TR>
<TD vAlign="top" width="50%">
<P><B> Element</B></P>
</TD>
<TD vAlign="top" width="50%">
<P><B> Value</B>
</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.size()</P>
</TD>
<TD vAlign="top" width="50%">
<P>e.mark_count()</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.empty()</P>
</TD>
<TD vAlign="top" width="50%">
<P>false</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.prefix().first</P>
</TD>
<TD vAlign="top" width="50%">
<P>first</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.prefix().last</P>
</TD>
<TD vAlign="top" width="50%">
<P>m[0].first</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.prefix().matched</P>
</TD>
<TD vAlign="top" width="50%">
<P>m.prefix().first != m.prefix().second</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.suffix().first</P>
</TD>
<TD vAlign="top" width="50%">
<P>m[0].second</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.suffix().last</P>
</TD>
<TD vAlign="top" width="50%">
<P>last</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.suffix().matched</P>
</TD>
<TD vAlign="top" width="50%">
<P>m.suffix().first != m.suffix().second</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[0].first</P>
</TD>
<TD vAlign="top" width="50%">
<P>The start of the sequence of characters that matched the regular expression</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[0].second</P>
</TD>
<TD vAlign="top" width="50%">
<P>The end of the sequence of characters that matched the regular expression</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[0].matched</P>
</TD>
<TD vAlign="top" width="50%">
<P><CODE> true</CODE> if a full match was found, and <CODE>false</CODE> if it was
a partial match (found as a result of the <CODE>match_partial</CODE> flag being
set).</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[n].first</P>
</TD>
<TD vAlign="top" width="50%">
<P>For all integers n &lt; m.size(), the start of the sequence that matched
sub-expression <I>n</I>. Alternatively, if sub-expression n did not participate
in the match, then <I>last</I>.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[n].second</P>
</TD>
<TD vAlign="top" width="50%">
<P>For all integers n &lt; m.size(), the end of the sequence that matched
sub-expression <I>n</I>. Alternatively, if sub-expression n did not participate
in the match, then <I>last</I>.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[n].matched</P>
</TD>
<TD vAlign="top" width="50%">
<P>For all integers n &lt; m.size(), true if sub-expression <I>n</I> participated
in the match, false otherwise.</P>
</TD>
</TR>
</TD></TR></TABLE>
</CENTER>
</DIV>
<PRE><A name=f2></A>template &lt;class charT, class Allocator, class traits, class Allocator2&gt;
bool regex_search(const charT* str, <a href="match_results.html">match_results</a>&lt;const charT*, Allocator&gt;&amp; m,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator2&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);</PRE>
<P><B> Effects:</B> Returns the result of <CODE>regex_search(str, str +
char_traits&lt;charT&gt;::length(str), m, e, flags)</CODE>.</P>
<PRE><A name=f3></A>template &lt;class ST, class SA, class Allocator, class charT,
class traits, class Allocator2&gt;
bool regex_search(const basic_string&lt;charT, ST, SA&gt;&amp; s,
<a href="match_results.html">match_results</a>&lt;typename basic_string&lt;charT, ST, SA&gt;::const_iterator, Allocator&gt;&amp; m,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator2&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);</PRE>
<P><B> Effects:</B> Returns the result of <CODE>regex_search(s.begin(), s.end(), m,
e, flags)</CODE>.</P>
<PRE><A name=f4></A>template &lt;class iterator, class Allocator, class charT,
class traits&gt;
bool regex_search(iterator first, iterator last,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);</PRE>
<P><B> Effects:</B> Behaves "as if" by constructing an instance of <CODE><a href="match_results.html">
match_results</a>&lt;</CODE>BidirectionalIterator<CODE>&gt; what</CODE>,
and then returning the result of <CODE>regex_search(first, last, what, e, flags)</CODE>.</P>
<PRE><A name=f5></A>template &lt;class charT, class Allocator, class traits&gt;
bool regex_search(const charT* str
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);</PRE>
<P><B> Effects:</B> Returns the result of <CODE>regex_search(str, str +
char_traits&lt;charT&gt;::length(str), e, flags)</CODE>.</P>
<PRE><A name=f6></A>template &lt;class ST, class SA, class Allocator, class charT,
class traits&gt;
bool regex_search(const basic_string&lt;charT, ST, SA&gt;&amp; s,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);</PRE>
<P><B> Effects:</B> Returns the result of <CODE>regex_search(s.begin(), s.end(), e,
flags)</CODE>.
<H3><A name="examples"></A>Examples</H3>
<P>The following <A href="../example/snippets/regex_search_example.cpp">example</A>,
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.</P>
<P></P>
<PRE><FONT color=#008000>#include &lt;string&gt;
#include &lt;map&gt;
#include &lt;boost/regex.hpp&gt;
</FONT><FONT color=#000080><I>
// 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
</I></FONT><B>typedef</B> std::map&lt;std::string, <B>int</B>, std::less&lt;std::string&gt; &gt; map_type;
boost::regex expression("^(template[[:space:]]*&lt;[^;:{]+&gt;[[:space:]]*)?(class|struct)[[:space:]]*(\\&lt;\\w+\\&gt;([[:blank:]]*\\([^)]*\\))?[[:space:]]*)*(\\&lt;\\w*\\&gt;)[[:space:]]*(&lt;[^;:{]+&gt;[[:space:]]*)?(\\{|:[^;\\{()]*\\{)");
<B>
void</B> IndexClasses(map_type&amp; m, <B>const</B> std::string&amp; file)
{
&nbsp;&nbsp; std::string::const_iterator start, end;
&nbsp;&nbsp; start = file.begin();
&nbsp;&nbsp; end = file.end();&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; boost::<a href="match_results.html">match_results</a>&lt;std::string::const_iterator&gt; what;
&nbsp;&nbsp; boost::match_flag_type flags = boost::match_default;
&nbsp;&nbsp; <B>while</B>(regex_search(start, end, what, expression, flags))&nbsp;
&nbsp;&nbsp; {
<FONT color=#000080>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <I>// what[0] contains the whole string
</I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <I>// what[5] contains the class name.
</I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <I>// what[6] contains the template specialisation if any.
</I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <I>// add class name and position to map:
</I></FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] =&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; what[5].first - file.begin();&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT color=#000080><I>// update search position:
</I></FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; start = what[0].second;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT color=#000080><I>// update flags:
</I></FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flags |= boost::match_prev_avail;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flags |= boost::match_not_bob;&nbsp;
&nbsp;&nbsp; }
}
</PRE>
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
04 Feb 2004
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2004<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

145
doc/Attic/regex_split.html Normal file
View File

@ -0,0 +1,145 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Algorithm regex_split (deprecated)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Algorithm regex_split (deprecated)</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>The algorithm regex_split has been deprecated in favor of the iterator <A href="regex_token_iterator.html">
regex_token_iterator</A> which has a more flexible and powerful interface,
as well as following the more usual standard library "pull" rather than "push"
semantics.</P>
<P>Code which uses regex_split will continue to compile, the following
documentation is taken from the previous boost.regex version:</P>
<H3><A name="regex_split"></A>Algorithm regex_split</H3>
<PRE>#include &lt;<A href="../../../boost/regex.hpp">boost/regex.hpp</A>&gt; </PRE>
<P>Algorithm regex_split performs a similar operation to the perl split operation,
and comes in three overloaded forms:
</P>
<PRE><B>template</B> &lt;<B>class</B> OutputIterator, <B>class</B> charT, <B>class</B> Traits1, <B>class</B> Alloc1, <B>class</B> Traits2, <B>class</B> Alloc2&gt;
std::size_t regex_split(OutputIterator out,&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; std::basic_string&lt;charT, Traits1, Alloc1&gt;&amp; s,&nbsp;
&nbsp;<B> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const</B> basic_regex&lt;charT, Traits2, Alloc2&gt;&amp; e,
&nbsp;<STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</STRONG>boost::match_flag_type flags,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; std::size_t max_split);
<B>template</B> &lt;<B>class</B> OutputIterator, <B>class</B> charT, <B>class</B> Traits1, <B>class</B> Alloc1, <B>class</B> Traits2, <B>class</B> Alloc2&gt;
std::size_t regex_split(OutputIterator out,&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; std::basic_string&lt;charT, Traits1, Alloc1&gt;&amp; s,&nbsp;
&nbsp;<B> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const</B> basic_regex&lt;charT, Traits2, Alloc2&gt;&amp; e,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boost::match_flag_type flags = match_default);
<B>template</B> &lt;<B>class</B> OutputIterator, <B>class</B> charT, <B>class</B> Traits1, <B>class</B> Alloc1&gt;
std::size_t regex_split(OutputIterator out,
std::basic_string&lt;charT, Traits1, Alloc1&gt;&amp; s);</PRE>
<P><STRONG>Effects: </STRONG>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 <I>max_split </I>strings will be written to the
output-iterator. Before returning, all the input processed will be deleted from
the string <I>s</I> (if <I>max_split </I>is not reached then all of <I>s</I> will
be deleted). Returns the number of strings written to the output-iterator. If
the parameter <I>max_split</I> is not specified then it defaults to UINT_MAX.
If no expression is specified, then it defaults to "\s+", and splitting occurs
on whitespace.
</P>
<P><STRONG>Throws:</STRONG> <CODE>std::runtime_error</CODE> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<P><A href="../example/snippets/regex_split_example_1.cpp">Example</A>: the
following function will split the input string into a series of tokens, and
remove each token from the string <I>s</I>:
</P>
<PRE><B>unsigned</B> tokenise(std::list&lt;std::string&gt;&amp; l, std::string&amp; s)
{
<B>&nbsp;&nbsp; return</B> boost::regex_split(std::back_inserter(l), s);
}</PRE>
<P><A href="../example/snippets/regex_split_example_2.cpp">Example</A>: the
following short program will extract all of the URL's from a html file, and
print them out to <I>cout</I>:
</P>
<PRE><FONT color=#008000>#include &lt;list&gt;
#include &lt;fstream&gt;
#include &lt;iostream&gt;
#include &lt;boost/regex.hpp&gt;
</FONT>
boost::regex e(<FONT color=#000080>"&lt;\\s*A\\s+[^&gt;]*href\\s*=\\s*\"([^\"]*)\""</FONT>,
boost::regbase::normal | boost::regbase::icase);
<B>void</B> load_file(std::string&amp; s, std::istream&amp; is)
{
s.erase();
<FONT color=#000080>//
// attempt to grow string buffer to match file size,
// this doesn't always work...
</FONT> s.reserve(is.rdbuf()-&amp;gtin_avail());
<B>char</B> c;
<B>while</B>(is.get(c))
{
<FONT color=#000080>// use logarithmic growth stategy, in case
// in_avail (above) returned zero:
</FONT> <B>if</B>(s.capacity() == s.size())
s.reserve(s.capacity() * 3);
s.append(1, c);
}
}
<B>int</B> main(<B>int</B> argc, <B>char</B>** argv)
{
std::string s;
std::list&lt;std::string&gt; l;
<B>for</B>(<B>int</B> i = 1; i &lt; argc; ++i)
{
std::cout &lt;&lt; <FONT color=#000080>"Findings URL's in "</FONT> &lt;&lt; argv[i] &lt;&lt; <FONT color=#000080>":"</FONT> &lt;&lt; std::endl;
s.erase();
std::ifstream is(argv[i]);
load_file(s, is);
boost::regex_split(std::back_inserter(l), s, e);
<B>while</B>(l.size())
{
s = *(l.begin());
l.pop_front();
std::cout &lt;&lt; s &lt;&lt; std::endl;
}
}
<B>return</B> 0;
}</PRE>
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
04 Feb 2004
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2004<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

View File

@ -0,0 +1,293 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: regex_token_iterator</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK href="../../../boost.css" type="text/css" rel="stylesheet"></head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td vAlign="top" width="300">
<h3><A href="../../../index.htm"><IMG height="86" alt="C++ Boost" src="../../../c++boost.gif" width="277" border="0"></A></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">regex_token_iterator</H2>
</TD>
<td width="50">
<h3><A href="index.html"><IMG height="45" alt="Boost.Regex Index" src="uarrow.gif" width="43" border="0"></A></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<H3>Contents</H3>
<dl class="index">
<dt><A href="#synopsis">Synopsis</A> <dt><a href="#description">Description</a> <dt><A href="#examples">
Examples</A></dt></dl>
<H3><A name="synopsis"></A>Synopsis</H3>
<P>The template class <CODE>regex_token_iterator</CODE> is an iterator adapter;
that is to say it represents a new view of an existing iterator sequence, by
enumerating all the occurrences of a regular expression within that sequence,
and presenting one or more character sequence for each match found. Each
position enumerated by the iterator is a <A href="sub_match.html">sub_match</A>
object that represents what matched a particular sub-expression within the
regular expression. When class <CODE>regex_token_iterator</CODE> is used to
enumerate a single sub-expression with index -1, then the iterator performs
field splitting: that is to say it enumerates one character sequence for each
section of the character container sequence that does not match the regular
expression specified.</P>
<PRE>
template &lt;class BidirectionalIterator,
class charT = iterator_traits&lt;BidirectionalIterator&gt;::value_type,
class traits = regex_traits&lt;charT&gt;,
class Allocator = allocator&lt;charT&gt; &gt;
class regex_token_iterator
{
public:
typedef <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator&gt; regex_type;
typedef <A href="sub_match.html">sub_match</A>
&lt;BidirectionalIterator&gt; value_type;
typedef typename iterator_traits&lt;BidirectionalIterator&gt;::difference_type difference_type;
typedef const value_type* pointer;
typedef const value_type&amp; reference;
typedef std::forward_iterator_tag iterator_category;
<A href="#c1">regex_token_iterator</A>();
<A href="#c2">regex_token_iterator</A>(BidirectionalIterator a, BidirectionalIterator b, const regex_type&amp; re,
int submatch = 0, <A href="match_flag_type.html">match_flag_type</A> m = match_default);
<A href="#c3">regex_token_iterator</A>(BidirectionalIterator a, BidirectionalIterator b, const regex_type&amp; re,
const std::vector&lt;int&gt;&amp; submatches, match_flag_type m = match_default);
template &lt;std::size_t N&gt;
<A href="#c4">regex_token_iterator</A>(BidirectionalIterator a, BidirectionalIterator b, const regex_type&amp; re,
const int (&amp;submatches)[N], match_flag_type m = match_default);
<A href="#c5">regex_token_iterator</A>(const regex_token_iterator&amp;);
regex_token_iterator&amp; <A href="#o1">operator</A>=(const regex_token_iterator&amp;);
bool <A href="#o2">operator</A>==(const regex_token_iterator&amp;)const;
bool <A href="#o3">operator</A>!=(const regex_token_iterator&amp;)const;
const value_type&amp; <A href="#o4">operator</A>*()const;
const value_type* <A href="#o5">operator</A>-&gt;()const;
regex_token_iterator&amp; <A href="#o6">operator</A>++();
regex_token_iterator <A href="#o7">operator</A>++(int);
};
typedef regex_token_iterator&lt;const char*&gt; cregex_token_iterator;
typedef regex_token_iterator&lt;std::string::const_iterator&gt; sregex_token_iterator;
#ifndef BOOST_NO_WREGEX
typedef regex_token_iterator&lt;const wchar_t*&gt; wcregex_token_iterator;
typedef regex_token_iterator&lt;&lt;std::wstring::const_iterator&gt; wsregex_token_iterator;
#endif
</PRE>
<H3><A name="description"></A>Description</H3>
<PRE><A name=c1></A>regex_token_iterator();</PRE>
<P><B> Effects:</B> constructs an end of sequence iterator.</P>
<PRE><A name=c2></A>regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type&amp; re,
int submatch = 0, match_flag_type m = match_default);</PRE>
<P><B> Preconditions: </B><CODE>!re.empty()</CODE>.&nbsp; Object re shall exist
for the lifetime of the iterator constructed from it.</P>
<P><B> Effects:</B> constructs a regex_token_iterator that will enumerate one
string for each regular expression match of the expression <EM>re</EM> found
within the sequence <EM>[a,b)</EM>, using match flags <EM>m</EM>.&nbsp; The
string enumerated is the&nbsp;sub-expression <EM>submatch </EM>for each match
found; if <EM>submatch </EM>is -1, then enumerates all the text sequences that
did not match the expression <EM>re </EM>(that is to performs field splitting).</P>
<P><STRONG>Throws:</STRONG> <CODE>std::runtime_error</CODE> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<PRE><A name=c3></A>regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type&amp; re,
const std::vector&lt;int&gt;&amp; submatches, match_flag_type m = match_default);</PRE>
<P><B> Preconditions:</B> <CODE>submatches.size() &amp;&amp; !re.empty()</CODE>.&nbsp;
Object re shall exist for the lifetime of the iterator constructed from it.</P>
<P><B> Effects:</B> constructs a regex_token_iterator that will enumerate <EM>submatches.size()</EM>
strings for each regular expression match of the expression <EM>re</EM> found
within the sequence <EM>[a,b)</EM>, using match flags <EM>m</EM>.&nbsp; For
each match found one string will be enumerated&nbsp;for each sub-expression
index&nbsp;contained within <EM>submatches </EM>vector; if <EM>submatches[0] </EM>
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.</P>
<P><STRONG>Throws:</STRONG> <CODE>std::runtime_error</CODE> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<PRE><A name=c4></A>template &lt;std::size_t N&gt;
regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type&amp; re,
const int (&amp;submatches)[R], match_flag_type m = match_default);</PRE>
<P><B> Preconditions: </B><CODE>!re.empty()</CODE>.&nbsp; Object re shall exist
for the lifetime of the iterator constructed from it.</P>
<P><STRONG>Effects:</STRONG></B> constructs a regex_token_iterator that will
enumerate&nbsp;<EM>R</EM> strings for each regular expression match of the
expression <EM>re</EM> found within the sequence <EM>[a,b)</EM>, using match
flags <EM>m</EM>.&nbsp; For each match found one string will be
enumerated&nbsp;for each sub-expression index&nbsp;contained within the <EM>submatches
</EM>array; if <EM>submatches[0] </EM>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.</P>
<P><STRONG>Throws:</STRONG> <CODE>std::runtime_error</CODE> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<PRE><A name=c5></A>regex_token_iterator(const regex_token_iterator&amp; that);</PRE>
<P><B> Effects: </B>constructs a copy of <CODE>that</CODE>.</P>
<P><B> Postconditions:</B> <CODE>*this == that</CODE>.</P>
<PRE><A name=o1></A>regex_token_iterator&amp; operator=(const regex_token_iterator&amp; that);</PRE>
<P><B> Effects: </B>sets <CODE>*this</CODE> to be equal to&nbsp;<CODE>that</CODE>.</P>
<P><B> Postconditions:</B> <CODE>*this == that</CODE>.</P>
<PRE><A name=o2></A>bool operator==(const regex_token_iterator&amp;)const;</PRE>
<P>
<B>Effects: </B>returns true if *this is the same position as that.</P>
<PRE><A name=o3></A>bool operator!=(const regex_token_iterator&amp;)const;</PRE>
<P>
<B>Effects: </B>returns <CODE>!(*this == that)</CODE>.</P>
<PRE><A name=o4></A>const value_type&amp; operator*()const;</PRE>
<P>
<B>Effects: </B>returns the current character sequence being enumerated.</P>
<PRE><A name=o5></A>const value_type* operator-&gt;()const;</PRE>
<P>
<B>Effects: </B>returns <CODE>&amp;(*this)</CODE>.</P>
<PRE><A name=o6></A>regex_token_iterator&amp; operator++();</PRE>
<P>
<B>Effects: </B>Moves on to the next character sequence to be enumerated.</P>
<P><STRONG>Throws:</STRONG> <CODE>std::runtime_error</CODE> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<B>
<P>
Returns:</B><CODE> *this</CODE>.</P><PRE><A name=o7></A>regex_token_iterator&amp; operator++(int);</PRE>
<P><B> Effects:</B> constructs a copy <CODE>result</CODE> of <CODE>*this</CODE>,
then calls <CODE>++(*this)</CODE>.</P>
<P><B> Returns:</B> <CODE>result</CODE>.<A name="examples"></A>
<H3>Examples</H3>
<P>The following <A href="../example/snippets/regex_token_iterator_eg_1.cpp">example</A>
takes a string and splits it into a series of tokens:</P>
<pre>
<FONT color=#008040>#include &lt;iostream&gt;</FONT>
<FONT color=#008040>#include &lt;boost/regex.hpp&gt;</FONT>
<B>using</B> <B>namespace</B> std;
<B>int</B> main(<B>int</B> argc)
{
string s;
<B>do</B>{
<B>if</B>(argc == <FONT color=#0000a0>1</FONT>)
{
cout &lt;&lt; <FONT color=#0000ff>"Enter text to split (or \"quit\" to exit): "</FONT>;
getline(cin, s);
<B>if</B>(s == <FONT color=#0000ff>"quit"</FONT>) <B>break</B>;
}
<B>else</B>
s = <FONT color=#0000ff>"This is a string of tokens"</FONT>;
boost::regex re(<FONT color=#0000ff>"\\s+"</FONT>);
boost::sregex_token_iterator i(s.begin(), s.end(), re, -<FONT color=#0000a0>1</FONT>);
boost::sregex_token_iterator j;
<B>unsigned</B> count = <FONT color=#0000a0>0</FONT>;
<B>while</B>(i != j)
{
cout &lt;&lt; *i++ &lt;&lt; endl;
count++;
}
cout &lt;&lt; <FONT color=#0000ff>"There were "</FONT> &lt;&lt; count &lt;&lt; <FONT color=#0000ff>" tokens found."</FONT> &lt;&lt; endl;
}<B>while</B>(argc == <FONT color=#0000a0>1</FONT>);
<B>return</B> <FONT color=#0000a0>0</FONT>;
}
</pre>
<P>The following <A href="../example/snippets/regex_token_iterator_eg_2.cpp">example</A>
takes a html file and outputs a list of all the linked files:</P>
<pre>
<FONT color=#008040>#include &lt;fstream&gt;</FONT>
<FONT color=#008040>#include &lt;iostream&gt;</FONT>
<FONT color=#008040>#include &lt;iterator&gt;</FONT>
<FONT color=#008040>#include &lt;boost/regex.hpp&gt;</FONT>
boost::regex e(<FONT color=#0000ff>"&lt;\\s*A\\s+[^&gt;]*href\\s*=\\s*\"([^\"]*)\""</FONT>,
boost::regex::normal | boost::regbase::icase);
<B>void</B> load_file(std::string&amp; s, std::istream&amp; is)
{
s.erase();
<I><FONT color=#000080>//</FONT></I>
<I><FONT color=#000080>// attempt to grow string buffer to match file size,</FONT></I>
<I><FONT color=#000080>// this doesn't always work...</FONT></I>
s.reserve(is.rdbuf()-&gt;in_avail());
<B>char</B> c;
<B>while</B>(is.get(c))
{
<I><FONT color=#000080>// use logarithmic growth stategy, in case</FONT></I>
<I><FONT color=#000080>// in_avail (above) returned zero:</FONT></I>
<B>if</B>(s.capacity() == s.size())
s.reserve(s.capacity() * <FONT color=#0000a0>3</FONT>);
s.append(<FONT color=#0000a0>1</FONT>, c);
}
}
<B>int</B> main(<B>int</B> argc, <B>char</B>** argv)
{
std::string s;
<B>int</B> i;
<B>for</B>(i = <FONT color=#0000a0>1</FONT>; i &lt; argc; ++i)
{
std::cout &lt;&lt; <FONT color=#0000ff>"Findings URL's in "</FONT> &lt;&lt; argv[i] &lt;&lt; <FONT color=#0000ff>":"</FONT> &lt;&lt; std::endl;
s.erase();
std::ifstream is(argv[i]);
load_file(s, is);
boost::sregex_token_iterator i(s.begin(), s.end(), e, <FONT color=#0000a0>1</FONT>);
boost::sregex_token_iterator j;
<B>while</B>(i != j)
{
std::cout &lt;&lt; *i++ &lt;&lt; std::endl;
}
}
<I><FONT color=#000080>//</FONT></I>
<I><FONT color=#000080>// alternative method:</FONT></I>
<I><FONT color=#000080>// test the array-literal constructor, and split out the whole</FONT></I>
<I><FONT color=#000080>// match as well as $1....</FONT></I>
<I><FONT color=#000080>//</FONT></I>
<B>for</B>(i = <FONT color=#0000a0>1</FONT>; i &lt; argc; ++i)
{
std::cout &lt;&lt; <FONT color=#0000ff>"Findings URL's in "</FONT> &lt;&lt; argv[i] &lt;&lt; <FONT color=#0000ff>":"</FONT> &lt;&lt; std::endl;
s.erase();
std::ifstream is(argv[i]);
load_file(s, is);
<B>const</B> <B>int</B> subs[] = {<FONT color=#0000a0>1</FONT>, <FONT color=#0000a0>0</FONT>,};
boost::sregex_token_iterator i(s.begin(), s.end(), e, subs);
boost::sregex_token_iterator j;
<B>while</B>(i != j)
{
std::cout &lt;&lt; *i++ &lt;&lt; std::endl;
}
}
<B>return</B> <FONT color=#0000a0>0</FONT>;
}
</pre>
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

View File

@ -0,0 +1,46 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: class regex_traits</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">class regex_traits</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>
Under construction: the current design will be replaced by that specified in
the <A href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1429.htm">regular
expression standardization proposal</A>, the current (obsolete) design has
it's <A href="http://cvs.sourceforge.net/viewcvs.py/*checkout*/boost/boost/libs/regex/Attic/traits_class_ref.htm?rev=1.11">
documentation archived online</A>.</P>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

77
doc/Attic/standards.html Normal file
View File

@ -0,0 +1,77 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Standards Conformance</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Standards Conformance</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<H3>C++</H3>
<P>Boost.regex is intended to conform to the <A href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1429.htm">
regular expression standardization proposal</A>, which will appear in a
future C++ standard technical report (and hopefully in a future version of the
standard).&nbsp; Currently there are some differences in how the regular
expression traits classes are defined, these will be fixed in a future release.</P>
<H3>ECMAScript / JavaScript</H3>
<P>All of the ECMAScript regular expression syntax features are supported, except
that:</P>
<P>Negated class escapes (\S, \D and \W) are not permitted inside character class
definitions ( [...] ).</P>
<P>The escape sequence \u matches any upper case character (the same as
[[:upper:]])&nbsp;rather than a Unicode escape sequence; use \x{DDDD} for
Unicode escape sequences.</P>
<H3>Perl</H3>
<P>Almost all Perl features are supported, except for:</P>
<P>\N{name}&nbsp; Use [[:name:]] instead.</P>
<P>\pP and \PP</P>
<P>(?imsx-imsx)</P>
<P>(?&lt;=pattern)</P>
<P>(?&lt;!pattern)</P>
<P>(?{code})</P>
<P>(??{code})</P>
<P>(?(condition)yes-pattern) and (?(condition)yes-pattern|no-pattern)</P>
<P>These embarrassments / limitations will be removed in due course, mainly
dependent upon user demand.</P>
<H3>POSIX</H3>
<P>All the POSIX basic and extended regular expression features are supported,
except that:</P>
<P>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.</P>
<P>Character equivalence classes ( [[=a=]] etc) are probably buggy except on
Win32.&nbsp; 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.</P>
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

562
doc/Attic/sub_match.html Normal file
View File

@ -0,0 +1,562 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: sub_match</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK href="../../../boost.css" type="text/css" rel="stylesheet"></head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td vAlign="top" width="300">
<h3><A href="../../../index.htm"><IMG height="86" alt="C++ Boost" src="../../../c++boost.gif" width="277" border="0"></A></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">sub_match</H2>
</TD>
<td width="50">
<h3><A href="index.html"><IMG height="45" alt="Boost.Regex Index" src="uarrow.gif" width="43" border="0"></A></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<H3>Synopsis</H3>
<P>#include &lt;<A href="../../../boost/regex.hpp">boost/regex.hpp</A>&gt;
</P>
<P>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 <I><A href="match_results.html">match_results</A></I> that acts as an
indexed collection of sub-expression matches, each sub-expression match being
contained in an object of type <I>sub_match</I>
.
<P>Objects of type <EM>sub_match</EM> may only obtained by subscripting an object
of type <EM><A href="match_results.html">match_results</A></EM>
.
<P>Objects of type <EM>sub_match</EM> may be compared to objects of type <EM>std::basic_string</EM>,
or <EM>const charT*</EM> or <EM>const charT</EM>
.
<P>Objects of type <EM>sub_match</EM> may be added to objects of type <EM>std::basic_string</EM>,
or <EM>const charT* </EM>or <EM>const charT</EM>, to produce a new <EM>std::basic_string
</EM>
object.
<P>When the marked sub-expression denoted by an object of type sub_match&lt;&gt;
participated in a regular expression match then member <CODE>matched</CODE> evaluates
to true, and members <CODE>first</CODE> and <CODE>second</CODE> denote the
range of characters <CODE>[first,second)</CODE> which formed that match.
Otherwise <CODE>matched</CODE> is false, and members <CODE>first</CODE> and <CODE>second</CODE>
contained undefined values.</P>
<P>When the marked sub-expression denoted by an object of type sub_match&lt;&gt;
was repeated, then the sub_match object represents the match obtained by the
last repeat.&nbsp; The complete set of all the captures obtained for all the
repeats, may be accessed via the captures() member function (Note: this has
serious performance implications, you have to explicitly enable this feature).</P>
<P>If an object of type <CODE>sub_match&lt;&gt;</CODE> represents sub-expression 0
- that is to say the whole match - then member <CODE>matched</CODE> is always
true, unless a partial match was obtained as a result of the flag <CODE>match_partial</CODE>
being passed to a regular expression algorithm, in which case member <CODE>matched</CODE>
is false, and members <CODE>first</CODE> and <CODE>second</CODE> represent the
character range that formed the partial match.</P>
<PRE>namespace boost{
template &lt;class BidirectionalIterator&gt;
class sub_match : public std::pair&lt;BidirectionalIterator, BidirectionalIterator&gt;
{
public:
typedef typename iterator_traits&lt;BidirectionalIterator&gt;::value_type value_type;
typedef typename iterator_traits&lt;BidirectionalIterator&gt;::difference_type difference_type;
typedef BidirectionalIterator iterator;
bool <A href="#m1" >matched</A>;
difference_type <A href="#m2" >length</A>()const;
operator <A href="#m3" >basic_string</A>&lt;value_type&gt;()const;
basic_string&lt;value_type&gt; <A href="#m4" >str</A>()const;
int <A href="#m5" >compare</A>(const sub_match&amp; s)const;
int <A href="#m6" >compare</A>(const basic_string&lt;value_type&gt;&amp; s)const;
int <A href="#m7" >compare</A>(const value_type* s)const;
#ifdef BOOST_REGEX_MATCH_EXTRA
typedef implementation-private <A href="#m9">capture_sequence_type</A>;
const capture_sequence_type&amp; <A href="#m8" >captures</A>()const;
#endif
};
//
// comparisons to another sub_match:
//
template &lt;class BidirectionalIterator&gt;
bool <A href="#o11" >operator</A> == (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o12" >operator</A> != (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o13" >operator</A> &lt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o14" >operator</A> &lt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o15" >operator</A> &gt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o16" >operator</A> &gt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
//
// comparisons to a basic_string:
//
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o21" >operator</A> == (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o22" >operator</A> != (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o23" >operator</A> &lt; (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o24" >operator</A> &gt; (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o25" >operator</A> &gt;= (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o26" >operator</A> &lt;= (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o31" >operator</A> == (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o32" >operator</A> != (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o33" >operator</A> &lt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o34" >operator</A> &gt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o35" >operator</A> &gt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o36" >operator</A> &lt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);
//
// comparisons to a pointer to a character array:
//
template &lt;class BidirectionalIterator&gt;
bool <A href="#o41" >operator</A> == (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o42" >operator</A> != (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o43" >operator</A> &lt; (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o44" >operator</A> &gt; (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o45" >operator</A> &gt;= (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o46" >operator</A> &lt;= (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o51" >operator</A> == (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o52" >operator</A> != (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o53" >operator</A> &lt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o54" >operator</A> &gt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o55" >operator</A> &gt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o56" >operator</A> &lt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs);
//
// comparisons to a single character:
//
template &lt;class BidirectionalIterator&gt;
bool <A href="#o61" >operator</A> == (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o62" >operator</A> != (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o63" >operator</A> &lt; (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o64" >operator</A> &gt; (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o65" >operator</A> &gt;= (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o66" >operator</A> &lt;= (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o71" >operator</A> == (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o72" >operator</A> != (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o73" >operator</A> &lt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o74" >operator</A> &gt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o75" >operator</A> &gt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o76" >operator</A> &lt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs);
//
// addition operators:
//
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;
<A href="#o81" >operator</A> + (const std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; s,
const sub_match&lt;BidirectionalIterator&gt;&amp; m);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;
<A href="#o82" >operator</A> + (const sub_match&lt;BidirectionalIterator&gt;&amp; m,
const std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; s);
template &lt;class BidirectionalIterator&gt; std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
<A href="#o83" >operator</A> + (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* s,
const sub_match&lt;BidirectionalIterator&gt;&amp; m);
template &lt;class BidirectionalIterator&gt; std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
<A href="#o84" >operator</A> + (const sub_match&lt;BidirectionalIterator&gt;&amp; m,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const * s);
template &lt;class BidirectionalIterator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
<A href="#o85" >operator</A> + (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; s,
const sub_match&lt;BidirectionalIterator&gt;&amp; m);
template &lt;class BidirectionalIterator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
<A href="#o86" >operator</A> + (const sub_match&lt;BidirectionalIterator&gt;&amp; m,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; s);
template &lt;class BidirectionalIterator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
<A href="#o87" >operator</A> + (const sub_match&lt;BidirectionalIterator&gt;&amp; m1,
const sub_match&lt;BidirectionalIterator&gt;&amp; m2);
//
// stream inserter:
//
template &lt;class charT, class traits, class BidirectionalIterator&gt;
basic_ostream&lt;charT, traits&gt;&amp;
<A href="#oi" >operator</A> &lt;&lt; (basic_ostream&lt;charT, traits&gt;&amp; os,
const sub_match&lt;BidirectionalIterator&gt;&amp; m);
} // namespace boost</PRE>
<H3>Description</H3>
<H4>sub_match members</H4>
<PRE>typedef typename std::iterator_traits&lt;iterator&gt;::value_type value_type;</PRE>
<P>The type pointed to by the iterators.</P>
<PRE>typedef typename std::iterator_traits&lt;iterator&gt;::difference_type difference_type;</PRE>
<P>A type that represents the difference between two iterators.</P>
<PRE>typedef iterator iterator_type;</PRE>
<P>The iterator type.</P>
<PRE>iterator first</PRE>
<P>An iterator denoting the position of the start of the match.</P>
<PRE>iterator second</PRE>
<P>An iterator denoting the position of the end of the match.</P>
<PRE><A name=m1></A>bool matched</PRE>
<P>A Boolean value denoting whether this sub-expression participated in the match.</P>
<PRE><A name=m2></A>static difference_type length();</PRE>
<P><B>Effects: </B>returns the length of this matched sub-expression, or 0 if this
sub-expression was not matched: <CODE>matched ? distance(first, second) : 0)</CODE>.</P>
<PRE><A name=m3></A>operator basic_string&lt;value_type&gt;()const;</PRE>
<P><B>Effects: </B>converts *this into a string: returns <CODE>(matched ?
basic_string&lt;value_type&gt;(first, second) :
basic_string&lt;value_type&gt;()).</P>
</CODE><PRE><A name=m4></A>basic_string&lt;value_type&gt; str()const;</PRE>
<P><B>Effects: </B>returns a string representation of *this:&nbsp; <CODE>(matched ?
basic_string&lt;value_type&gt;(first, second) :
basic_string&lt;value_type&gt;())</CODE>.</P>
<PRE><A name=m5></A>int compare(const sub_match&amp; s)const;</PRE>
<P><B>Effects: </B>performs a lexical comparison to <EM>s</EM>: returns <CODE>str().compare(s.str())</CODE>.</P>
<PRE><A name=m6></A>int compare(const basic_string&lt;value_type&gt;&amp; s)const;</PRE>
<P><B>Effects: </B>compares *this to the string s: returns <CODE>str().compare(s)</CODE>.</P>
<PRE><A name=m7></A>int compare(const value_type* s)const;</PRE>
<P><B>Effects:<B></B> </B>compares *this to the null-terminated string <EM>s</EM>:<B>&nbsp;</B>returns
<CODE>str().compare(s)</CODE>.</P>
<PRE><A name=m9></A>typedef implementation-private capture_sequence_type;</PRE>
<P>Defines an implementation-specific type that&nbsp;satisfies the requirements of
a standard library Sequence (21.1.1 including the optional Table 68
operations),&nbsp;whose value_type is a <EM>sub_match&lt;BidirectionalIterator&gt;</EM>.&nbsp;This
type happens to be <EM>std::vector&lt;sub_match&lt;BidirectionalIterator&gt; &gt;</EM>,
but you shouldn't actually rely on that.</P>
<PRE><A name=m8></A>const capture_sequence_type&amp; <A href="#m8" >captures</A>()const; </PRE>
<P><STRONG>Effects:</STRONG> returns a sequence containing all the captures
obtained for this sub-expression.</P>
<P><STRONG>Preconditions:</STRONG> the library must be built and used with
BOOST_REGEX_MATCH_EXTRA defined, and you must pass the flag <A href="match_flag_type.html">
match_extra</A> to the regex matching functions (<A href="regex_match.html">regex_match</A>,
<A href="regex_search.html">regex_search</A>, <A href="regex_iterator.html">regex_iterator</A>
or <A href="regex_token_iterator.html">regex_token_iterator</A>) in order for
this member function to be defined and return useful information.</P>
<P><STRONG>Rationale:</STRONG> Enabling this feature has several consequences:
</P>
<UL>
<LI>
sub_match occupies more memory resulting in complex expressions running out of
memory or stack space more quickly during matching.
<LI>
The matching algorithms are less efficient at handling some features
(independent sub-expressions for example), even when match_extra is not used.
<LI>
The matching algorithms are much less efficient (i.e. slower), when match_extra
is used.&nbsp; Mostly this is down to the extra memory allocations that have to
take place.</LI></UL>
<H4>sub_match non-member operators</H4>
<H5>Comparisons against self</H5>
<PRE><A name=o11></A>template &lt;class BidirectionalIterator&gt;
bool operator == (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.compare(rhs) == 0</CODE>.</P>
<PRE><A name=o12></A>template &lt;class BidirectionalIterator&gt;
bool operator != (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.compare(rhs) != 0</CODE>.</P>
<PRE><A name=o13></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.compare(rhs) &lt; 0</CODE>.</P>
<PRE><A name=o14></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.compare(rhs) &lt;= 0</CODE>.</P>
<PRE><A name=o15></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.compare(rhs) &gt;= 0</CODE>.</P>
<PRE><A name=o16></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.compare(rhs) &gt; 0</CODE>.</P>
<H5>Comparisons with std::basic_string</H5>
<pre><A name=o21></A>
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator == (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits,
Allocator&gt;&amp; lhs, const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
</pre>
<P><B>Effects: </B>returns <CODE>lhs == rhs.str()</CODE>.</P>
<PRE><A name=o22></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator != (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs != rhs.str()</CODE>.</P>
<PRE><A name=o23></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator &lt; (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs&nbsp;&lt; rhs.str()</CODE>.</P>
<PRE><A name=o24></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator &gt; (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs&nbsp;&gt; rhs.str()</CODE>.</P>
<PRE><A name=o25></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator &gt;= (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs &gt;= rhs.str()</CODE>.</P>
<PRE><A name=o26></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator &lt;= (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs &lt;= rhs.str()</CODE>.</P>
<PRE><A name=o31></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator == (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() == rhs</CODE>.</P>
<PRE><A name=o32></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator != (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() != rhs</CODE>.</P>
<PRE><A name=o33></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator &lt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.str()&nbsp;&lt; rhs</CODE>.</P>
<PRE><A name=o34></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator &gt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.str()&nbsp;&gt; rhs</CODE>.</P>
<PRE><A name=o35></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator &gt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &gt;= rhs</CODE>.</P>
<PRE><A name=o36></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator &lt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &lt;= rhs</CODE>.</P>
<H5>Comparisons with null-terminated strings</H5>
<PRE><A name=o41></A>template &lt;class BidirectionalIterator&gt;
bool operator == (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs == rhs.str()</CODE>.</P>
<PRE><A name=o42></A>template &lt;class BidirectionalIterator&gt;
bool operator != (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs != rhs.str()</CODE>.</P>
<PRE></A><A name=o43></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt; (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs &lt; rhs.str()</CODE>.</P>
<PRE><A name=o44></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt; (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs &gt; rhs.str()</CODE>.</P>
<PRE><A name=o45></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt;= (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs &gt;= rhs.str()</CODE>.</P>
<PRE><A name=o46></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt;= (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs &lt;= rhs.str()</CODE>.</P>
<PRE><A name=o51></A>template &lt;class BidirectionalIterator&gt;
bool operator == (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() == rhs</CODE>.</P>
<PRE><A name=o52></A>template &lt;class BidirectionalIterator&gt;
bool operator != (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() != rhs</CODE>.</P>
<PRE><A name=o53></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &lt; rhs</CODE>.</P>
<PRE><A name=o54></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &gt; rhs</CODE>.</P>
<PRE><A name=o55></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &gt;= rhs</CODE>.</P>
<PRE><A name=o56></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &lt;= rhs</CODE>.</P>
<H5>Comparisons with a single character</H5>
<PRE><A name=o61></A>template &lt;class BidirectionalIterator&gt;
bool operator == (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs == rhs.str()</CODE>.</P>
<PRE><A name=o62></A>template &lt;class BidirectionalIterator&gt;
bool operator != (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs != rhs.str()</CODE>.</P>
<PRE><A name=o63></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt; (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs &lt; rhs.str()</CODE>.</P>
<PRE><A name=o64></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt; (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs &gt; rhs.str()</CODE>.</P>
<PRE><A name=o65></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt;= (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs &gt;= rhs.str()</CODE>.</P>
<PRE><A name=o66></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt;= (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs &lt;= rhs.str()</CODE>.</P>
<PRE><A name=o71></A>template &lt;class BidirectionalIterator&gt;
bool operator == (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() == rhs</CODE>.</P>
<PRE><A name=o72></A>template &lt;class BidirectionalIterator&gt;
bool operator != (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() != rhs</CODE>.</P>
<PRE><A name=o73></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &lt; rhs</CODE>.</P>
<PRE><A name=o74></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &gt; rhs</CODE>.</P>
<PRE><A name=o75></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &gt;= rhs</CODE>.</P>
<PRE><A name=o76></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &lt;= rhs</CODE>.</P>
<h5>Addition operators</h5>
<P>The addition operators for sub_match allow you to add a sub_match to any type
to which you can add a std::string and obtain a new string as the result.</P>
<PRE><A name=o81></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;
operator + (const std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; s,
const sub_match&lt;BidirectionalIterator&gt;&amp; m); </PRE>
<P><B>Effects: </B>returns <CODE>s + m.str()</CODE>.</P>
<PRE><A name=o82></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;
operator + (const sub_match&lt;BidirectionalIterator&gt;&amp; m,
const std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; s); </PRE>
<P><B>Effects: </B>returns <CODE>m.str() + s</CODE>.</P>
<PRE><A name=o83></A>template &lt;class BidirectionalIterator&gt; std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
operator + (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* s,
const sub_match&lt;BidirectionalIterator&gt;&amp; m); </PRE>
<P><B>Effects: </B>returns <CODE>s + m.str()</CODE>.</P>
<PRE><A name=o84></A>template &lt;class BidirectionalIterator&gt; std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
operator + (const sub_match&lt;BidirectionalIterator&gt;&amp; m,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const * s);</PRE>
<P><B>Effects: </B>returns <CODE>m.str() + s</CODE>.</P>
<PRE><A name=o85></A>template &lt;class BidirectionalIterator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
operator + (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; s,
const sub_match&lt;BidirectionalIterator&gt;&amp; m); </PRE>
<P><B>Effects: </B>returns <CODE>s + m.str()</CODE>.</P>
<PRE><A name=o86></A>template &lt;class BidirectionalIterator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
operator + (const sub_match&lt;BidirectionalIterator&gt;&amp; m,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; s); </PRE>
<P><B>Effects: </B>returns <CODE>m.str() + s</CODE>.</P>
<PRE><A name=o87></A>template &lt;class BidirectionalIterator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
operator + (const sub_match&lt;BidirectionalIterator&gt;&amp; m1,
const sub_match&lt;BidirectionalIterator&gt;&amp; m2);</PRE>
<P><B>Effects: </B>returns&nbsp;<CODE>m1.str() + m2.str()</CODE>.</P>
<h5>Stream inserter</h5>
<PRE><A name=oi></A>template &lt;class charT, class traits, class BidirectionalIterator&gt;
basic_ostream&lt;charT, traits&gt;&amp;
operator &lt;&lt; (basic_ostream&lt;charT, traits&gt;&amp; os
const sub_match&lt;BidirectionalIterator&gt;&amp; m);</PRE>
<P>
<B>Effects: </B>returns <CODE>(os &lt;&lt; m.str())</CODE>.
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

768
doc/Attic/syntax.html Normal file
View File

@ -0,0 +1,768 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Regular Expression Syntax</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Regular Expression Syntax</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<P>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.
</P>
<H3>Literals
</H3>
<P>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.</P>
<H3>Wildcard
</H3>
<P>The dot character "." matches any single character except : when <I>match_not_dot_null</I>
is passed to the matching algorithms, the dot does not match a null character;
when <I>match_not_dot_newline</I> is passed to the matching algorithms, then
the dot does not match a newline character.
</P>
<H3>Repeats
</H3>
<P>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.
</P>
<P>Examples:
</P>
<P>"ba*" will match all of "b", "ba", "baaa" etc.
</P>
<P>"ba+" will match "ba" or "baaaa" for example but not "b".
</P>
<P>"ba?" will match "b" or "ba".
</P>
<P>"ba{2,4}" will match "baa", "baaa" and "baaaa".
</P>
<H3>Non-greedy repeats
</H3>
<P>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 <I>shortest</I> possible string.
</P>
<P>For example to match html tag pairs one could use something like:
</P>
<P>"&lt;\s*tagname[^&gt;]*&gt;(.*?)&lt;\s*/tagname\s*&gt;"
</P>
<P>In this case $1 will contain the text between the tag pairs, and will be the
shortest possible matching string.&nbsp;
</P>
<H3>Parenthesis
</H3>
<P>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 <A href="regex_match.html">
regex_match</A> and <A href="regex_search.html">regex_search</A> each take
an instance of <A href="match_results.html">match_results</A> that reports what
caused the match, on exit from these functions the <A href="match_results.html">match_results</A>
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 <I>matched</I> parameter
for that sub-expression is <I>false</I>. Sub-expressions are indexed from left
to right starting from 1, sub-expression 0 is the whole expression.
</P>
<H3>Non-Marking Parenthesis
</H3>
<P>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:
</P>
<P>"(?:abc)*"</P>
<H3>Forward Lookahead Asserts&nbsp;
</H3>
<P>There are two forms of these; one for positive forward lookahead asserts, and
one for negative lookahead asserts:</P>
<P>"(?=abc)" matches zero characters only if they are followed by the expression
"abc".</P>
<P>"(?!abc)" matches zero characters only if they are not followed by the
expression "abc".</P>
<H3>Independent sub-expressions</H3>
<P>"(?&gt;expression)" matches "expression" as an independent atom (the algorithm
will not backtrack into it if a failure occurs later in the expression).</P>
<H3>Alternatives
</H3>
<P>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.
</P>
<P>Examples:
</P>
<P>"a(b|c)" could match "ab" or "ac".
</P>
<P>"abc|def" could match "abc" or "def".
</P>
<H3>Sets
</H3>
<P>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 complement of the
elements that follow.
</P>
<P>Examples:
</P>
<P>Character literals:
</P>
<P>"[abc]" will match either of "a", "b", or "c".
</P>
<P>"[^abc] will match any character other than "a", "b", or "c".
</P>
<P>Character ranges:
</P>
<P>"[a-z]" will match any character in the range "a" to "z".
</P>
<P>"[^A-Z]" will match any character other than those in the range "A" to "Z".
</P>
<P>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.
</P>
<P>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:
<BR>
&nbsp;
</P>
<P>
<TABLE id="Table2" cellSpacing="0" cellPadding="7" width="100%" border="0">
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="50%">alnum</TD>
<TD vAlign="top" width="50%">Any alpha numeric character.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">alpha</TD>
<TD vAlign="top" width="50%">Any alphabetical character a-z and A-Z. Other
characters may also be included depending upon the locale.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">blank</TD>
<TD vAlign="top" width="50%">Any blank character, either a space or a tab.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">cntrl</TD>
<TD vAlign="top" width="50%">Any control character.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">digit</TD>
<TD vAlign="top" width="50%">Any digit 0-9.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">graph</TD>
<TD vAlign="top" width="50%">Any graphical character.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">lower</TD>
<TD vAlign="top" width="50%">Any lower case character a-z. Other characters may
also be included depending upon the locale.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">print</TD>
<TD vAlign="top" width="50%">Any printable character.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">punct</TD>
<TD vAlign="top" width="50%">Any punctuation character.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">space</TD>
<TD vAlign="top" width="50%">Any whitespace character.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">upper</TD>
<TD vAlign="top" width="50%">Any upper case character A-Z. Other characters may
also be included depending upon the locale.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">xdigit</TD>
<TD vAlign="top" width="50%">Any hexadecimal digit character, 0-9, a-f and A-F.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">word</TD>
<TD vAlign="top" width="50%">Any word character - all alphanumeric characters plus
the underscore.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">Unicode</TD>
<TD vAlign="top" width="50%">Any character whose code is greater than 255, this
applies to the wide character traits classes only.</TD>
<TD>&nbsp;</TD>
</TR>
</TABLE>
</P>
<P>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:
</P>
<P>\w in place of [:word:]
</P>
<P>\s in place of [:space:]
</P>
<P>\d in place of [:digit:]
</P>
<P>\l in place of [:lower:]
</P>
<P>\u in place of [:upper:]&nbsp;
</P>
<P>Collating elements take the general form [.tagname.] inside a set declaration,
where <I>tagname</I> 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.&nbsp;
</P>
<P>
Equivalence classes take the generalform[=tagname=] inside a set declaration,
where <I>tagname</I> 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 <I>tagname</I>
,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 <I>strxfrm</I>), so
equivalence classes are probably best considered broken under any operating
system other than Win32.&nbsp;
</P>
<P>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.
</P>
<H3>Line anchors
</H3>
<P>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.
</P>
<H3>Back references
</H3>
<P>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.
</P>
<H3>Characters by code
</H3>
<P>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.</P>
<H3>Word operators
</H3>
<P>The following operators are provided for compatibility with the GNU regular
expression library.
</P>
<P>"\w" matches any single character that is a member of the "word" character
class, this is identical to the expression "[[:word:]]".
</P>
<P>"\W" matches any single character that is not a member of the "word" character
class, this is identical to the expression "[^[:word:]]".
</P>
<P>"\&lt;" matches the null string at the start of a word.
</P>
<P>"\&gt;" matches the null string at the end of the word.
</P>
<P>"\b" matches the null string at either the start or the end of a word.
</P>
<P>"\B" matches a null string within a word.
</P>
<P>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.
</P>
<H3>Buffer operators
</H3>
<P>The following operators are provided for compatibility with the GNU regular
expression library, and Perl regular expressions:
</P>
<P>"\`" matches the start of a buffer.
</P>
<P>"\A" matches the start of the buffer.
</P>
<P>"\'" matches the end of a buffer.
</P>
<P>"\z" matches the end of a buffer.
</P>
<P>"\Z" matches the end of a buffer, or possibly one or more new line characters
followed by the end of the buffer.
</P>
<P>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.
</P>
<H3>Escape operator
</H3>
<P>The escape character "\" has several meanings.
</P>
<P>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.
</P>
<P>The escape operator may introduce an operator for example: back references, or
a word operator.
</P>
<P>The escape operator may make the following character normal, for example "\*"
represents a literal "*" rather than the repeat operator.
</P>
<H4>Single character escape sequences
</H4>
<P>The following escape sequences are aliases for single characters:
<BR>
&nbsp;
</P>
<P>
<TABLE id="Table3" cellSpacing="0" cellPadding="7" width="100%" border="0">
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="33%">Escape sequence
</TD>
<TD vAlign="top" width="33%">Character code
</TD>
<TD vAlign="top" width="33%">Meaning
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\a
</TD>
<TD vAlign="top" width="33%">0x07
</TD>
<TD vAlign="top" width="33%">Bell character.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\f
</TD>
<TD vAlign="top" width="33%">0x0C
</TD>
<TD vAlign="top" width="33%">Form feed.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\n
</TD>
<TD vAlign="top" width="33%">0x0A
</TD>
<TD vAlign="top" width="33%">Newline character.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\r
</TD>
<TD vAlign="top" width="33%">0x0D
</TD>
<TD vAlign="top" width="33%">Carriage return.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\t
</TD>
<TD vAlign="top" width="33%">0x09
</TD>
<TD vAlign="top" width="33%">Tab character.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\v
</TD>
<TD vAlign="top" width="33%">0x0B
</TD>
<TD vAlign="top" width="33%">Vertical tab.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\e
</TD>
<TD vAlign="top" width="33%">0x1B
</TD>
<TD vAlign="top" width="33%">ASCII Escape character.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\0dd
</TD>
<TD vAlign="top" width="33%">0dd
</TD>
<TD vAlign="top" width="33%">An octal character code, where <I>dd</I> is one or
more octal digits.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\xXX
</TD>
<TD vAlign="top" width="33%">0xXX
</TD>
<TD vAlign="top" width="33%">A hexadecimal character code, where XX is one or more
hexadecimal digits.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\x{XX}
</TD>
<TD vAlign="top" width="33%">0xXX
</TD>
<TD vAlign="top" width="33%">A hexadecimal character code, where XX is one or more
hexadecimal digits, optionally a Unicode character.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\cZ
</TD>
<TD vAlign="top" width="33%">z-@
</TD>
<TD vAlign="top" width="33%">An ASCII escape sequence control-Z, where Z is any
ASCII character greater than or equal to the character code for '@'.
</TD>
<TD>&nbsp;</TD>
</TR>
</TABLE>
</P>
<H4>Miscellaneous escape sequences:
</H4>
<P>The following are provided mostly for perl compatibility, but note that there
are some differences in the meanings of \l \L \u and \U:
<BR>
&nbsp;
</P>
<P>
<TABLE id="Table4" cellSpacing="0" cellPadding="6" width="100%" border="0">
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\w
</TD>
<TD vAlign="top" width="45%">Equivalent to [[:word:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\W
</TD>
<TD vAlign="top" width="45%">Equivalent to [^[:word:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\s
</TD>
<TD vAlign="top" width="45%">Equivalent to [[:space:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\S
</TD>
<TD vAlign="top" width="45%">Equivalent to [^[:space:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\d
</TD>
<TD vAlign="top" width="45%">Equivalent to [[:digit:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\D
</TD>
<TD vAlign="top" width="45%">Equivalent to [^[:digit:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\l
</TD>
<TD vAlign="top" width="45%">Equivalent to [[:lower:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\L
</TD>
<TD vAlign="top" width="45%">Equivalent to [^[:lower:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\u
</TD>
<TD vAlign="top" width="45%">Equivalent to [[:upper:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\U
</TD>
<TD vAlign="top" width="45%">Equivalent to [^[:upper:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\C
</TD>
<TD vAlign="top" width="45%">Any single character, equivalent to '.'.
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\X
</TD>
<TD vAlign="top" width="45%">Match any Unicode combining character sequence, for
example "a\x 0301" (a letter a with an acute).
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\Q
</TD>
<TD vAlign="top" width="45%">The begin quote operator, everything that follows is
treated as a literal character until a \E end quote operator is found.
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\E
</TD>
<TD vAlign="top" width="45%">The end quote operator, terminates a sequence begun
with \Q.
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
</TABLE>
</P>
<H3>What gets matched?
</H3>
<P>
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.</P>
<P>
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.
</P>
<P>
The following table examples illustrate the main differences between Perl and
POSIX regular expression matching rules:
</P>
<P>
<TABLE id="Table5" cellSpacing="1" cellPadding="7" width="624" border="1">
<TBODY>
<TR>
<TD vAlign="top" width="25%">
<P>Expression</P>
</TD>
<TD vAlign="top" width="25%">
<P>Text</P>
</TD>
<TD vAlign="top" width="25%">
<P>POSIX leftmost longest match</P>
</TD>
<TD vAlign="top" width="25%">
<P>ECMAScript depth first search match</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="25%">
<P><CODE>a|ab</CODE></P>
</TD>
<TD vAlign="top" width="25%">
<P><CODE> xaby</CODE>
</P>
</TD>
<TD vAlign="top" width="25%">
<P><CODE> "ab"</CODE></P>
</TD>
<TD vAlign="top" width="25%">
<P><CODE> "a"</CODE></P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="25%">
<P><CODE> .*([[:alnum:]]+).*</CODE></P>
</TD>
<TD vAlign="top" width="25%">
<P><CODE> " abc def xyz "</CODE></P>
</TD>
<TD vAlign="top" width="25%">
<P>$0 = " abc def xyz "<BR>
$1 = "abc"</P>
</TD>
<TD vAlign="top" width="25%">
<P>$0 = " abc def xyz "<BR>
$1 = "z"</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="25%">
<P><CODE> .*(a|xayy)</CODE></P>
</TD>
<TD vAlign="top" width="25%">
<P><CODE> zzxayyzz</CODE></P>
</TD>
<TD vAlign="top" width="25%">
<P><CODE> "zzxayy"</CODE></P>
</TD>
<TD vAlign="top" width="25%">
<P><CODE>"zzxa"</CODE></P>
</TD>
</TR>
</TBODY></CODE></TD></TR></TABLE>
<P>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.</P>
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

View File

@ -0,0 +1,330 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: syntax_option_type</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">syntax_option_type</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<H3>Synopsis</H3>
<P>Type syntax_option type is an implementation specific bitmask type that
controls how a regular expression string is to be interpreted.&nbsp; For
convenience note that all the constants listed here, are also duplicated within
the scope of class template <A href="basic_regex.html">basic_regex</A>.</P>
<PRE>namespace std{ namespace regex_constants{
typedef <EM>implementation-specific-bitmask-type</EM>
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;<BR>// these are boost.regex specific:<BR>static const syntax_option_type escape_in_lists;<BR>static const syntax_option_type char_classes;<BR>static const syntax_option_type intervals;<BR>static const syntax_option_type limited_ops;<BR>static const syntax_option_type newline_alt;<BR>static const syntax_option_type bk_plus_qm;<BR>static const syntax_option_type bk_braces;<BR>static const syntax_option_type bk_parens;<BR>static const syntax_option_type bk_refs;<BR>static const syntax_option_type bk_vbar;<BR>static const syntax_option_type use_except;<BR>static const syntax_option_type failbit;<BR>static const syntax_option_type literal;<BR>static const syntax_option_type nocollate;<BR>static const syntax_option_type perlex;<BR>static const syntax_option_type emacs;<BR>
} // namespace regex_constants
} // namespace std</PRE>
<H3>Description</H3>
<P>The type <CODE>syntax_option_type</CODE> is an implementation specific bitmask
type (17.3.2.1.2). Setting its elements has the effects listed in the table
below, a valid value of type <CODE>syntax_option_type</CODE> will always have
exactly one of the elements <CODE>normal, basic, extended, awk, grep, egrep, sed
or perl</CODE> set.</P>
<P>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:</P>
<PRE>boost::regex_constants::constant_name</PRE>
<P>or</P>
<PRE>boost::regex::constant_name</PRE>
<P>or</P>
<PRE>boost::wregex::constant_name</PRE>
<P>in an interchangeable manner.</P>
<P>
<TABLE id="Table2" height="1274" cellSpacing="1" cellPadding="7" width="100%" border="0">
<TR>
<TD vAlign="top" width="316">
<P>Element</P>
</TD>
<TD vAlign="top" width="50%">
<P>Effect if set</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>normal</P>
</TD>
<TD vAlign="top" width="50%">
<P>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).</P>
<P>boost.regex also recognizes most perl-compatible extensions in this mode.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>icase</P>
</TD>
<TD vAlign="top" width="50%">
<P>Specifies that matching of regular expressions against a character container
sequence shall be performed without regard to case.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>nosubs</P>
</TD>
<TD vAlign="top" width="50%">
<P>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.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>optimize</P>
</TD>
<TD vAlign="top" width="50%">
<P>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.&nbsp; This currently has no effect for
boost.regex.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>collate</P>
</TD>
<TD vAlign="top" width="50%">
<P>Specifies that character ranges of the form "[a-b]" should be locale sensitive.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>ECMAScript</P>
</TD>
<TD vAlign="top" width="50%">
<P>The same as normal.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>JavaScript</P>
</TD>
<TD vAlign="top" width="50%">
<P>The same as normal.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>JScript</P>
</TD>
<TD vAlign="top" width="50%">
<P>The same as normal.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>basic</P>
</TD>
<TD vAlign="top" width="50%">
<P>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).
</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>extended</P>
</TD>
<TD vAlign="top" width="50%">
<P>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).</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>awk</P>
</TD>
<TD vAlign="top" width="50%">
<P>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).</P>
<P>That is to say: the same as POSIX extended syntax, but with escape sequences in
character classes permitted.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>grep</P>
</TD>
<TD vAlign="top" width="50%">
<P>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).</P>
<P>That is to say, the same as POSIX basic syntax, but with the newline character
acting as an alternation character in addition to "|".</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>egrep</P>
</TD>
<TD vAlign="top" width="50%">
<P>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).</P>
<P>That is to say, the same as POSIX extended syntax, but with the newline
character acting as an alternation character in addition to "|".</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>sed</P>
</TD>
<TD vAlign="top" width="50%">
<P>The same as basic.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>perl</P>
</TD>
<TD vAlign="top" width="50%">
<P>The same as normal.</P>
</TD>
</TR>
</TABLE>
</P>
<P>The following constants are specific to this particular regular expression
implementation and do not appear in the <A href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1429.htm">
regular expression standardization proposal</A>:</P>
<P>
<TABLE id="Table3" cellSpacing="0" cellPadding="7" width="100%" border="0">
<TR>
<TD vAlign="top" width="45%">regbase::escape_in_lists</TD>
<TD vAlign="top" width="45%">Allows 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.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase::char_classes</TD>
<TD vAlign="top" width="45%">When 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".</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: intervals</TD>
<TD vAlign="top" width="45%">When this bit is set, repetition intervals are
allowed, for example "a{2,4}" represents a repeat of between 2 and 4 letter
a's.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: limited_ops</TD>
<TD vAlign="top" width="45%">When this bit is set all of "+", "?" and "|" are
ordinary characters in all situations.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: newline_alt</TD>
<TD vAlign="top" width="45%">When this bit is set, then the newline character "\n"
has the same effect as the alternation operator "|".</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: bk_plus_qm</TD>
<TD vAlign="top" width="45%">When 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.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: bk_braces</TD>
<TD vAlign="top" width="45%">When this bit is set then "\{" and "\}" are used for
bounded repetitions and "{" and "}" are normal characters. This is the opposite
of default behavior.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: bk_parens</TD>
<TD vAlign="top" width="45%">When this bit is set then "\(" and "\)" are used to
group sub-expressions and "(" and ")" are ordinary characters, this is the
opposite of default behavior.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: bk_refs</TD>
<TD vAlign="top" width="45%">When this bit is set then back references are
allowed.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: bk_vbar</TD>
<TD vAlign="top" width="45%">When this bit is set then "\|" represents the
alternation operator and "|" is an ordinary character. This is the opposite of
default behavior.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: use_except</TD>
<TD vAlign="top" width="45%">When this bit is set then a <A href="#bad_expression">bad_expression</A>
exception will be thrown on error.&nbsp; Use of this flag is deprecated -
basic_regex will always throw on error.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: failbit</TD>
<TD vAlign="top" width="45%">This 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.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase::literal</TD>
<TD vAlign="top" width="45%">All characters in the string are treated as literals,
there are no special characters or escape sequences.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%" height="24">regbase::emacs</TD>
<TD vAlign="top" width="45%" height="24">Provides compatability with the emacs
editor, eqivalent to: bk_braces | bk_parens | bk_refs | bk_vbar.</TD>
</TR>
</TABLE>
</P>
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Thread Safety</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Thread Safety</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<P>The regex library is thread safe when Boost is: you can verify that Boost is in
thread safe mode by checking to see if BOOST_HAS_THREADS is defined: this macro
is set automatically by the config system when threading support is turned on
in your compiler.
</P>
<P>Class <A href="basic_regex.html">basic_regex</A>&lt;&gt; and its typedefs regex
and wregex are thread safe, in that compiled regular expressions can safely be
shared between threads. The matching algorithms <A href="regex_match.html">regex_match</A>,
<A href="regex_search.html">regex_search</A>, <A href="regex_grep.html">regex_grep</A>,
<A href="regex_format.html">regex_format</A> and <A href="regex_merge.html">regex_merge</A>
are all re-entrant and thread safe. Class <A href="match_results.html">match_results</A>
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 <A href="match_results.html">match_results</A>
per thread.
</P>
<P>The <A href="posix_api.html">POSIX API functions</A> are all re-entrant and
thread safe, regular expressions compiled with <I>regcomp</I> can also be
shared between threads.
</P>
<P>The class<A href="regex.html"> RegEx</A> 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.
</P>
<P>Finally note that changing the global locale invalidates all compiled regular
expressions, therefore calling <I>set_locale</I> from one thread while another
uses regular expressions <I>will</I> produce unpredictable results.
</P>
<P>
There is also a requirement that there is only one thread executing prior to
the start of main().</P>
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

BIN
doc/Attic/uarrow.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

77
doc/bad_expression.html Normal file
View File

@ -0,0 +1,77 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: bad_expression</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">class bad_expression</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<h3>Synopsis</h3>
<p>#include &lt;<a href="../../../boost/regex/pattern_except.hpp">boost/pattern_except.hpp</a>&gt;</p>
<p>The class <code>bad_expression</code> 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.&nbsp;&nbsp;</p>
<pre>
<b>namespace</b> boost{
<b>class</b> bad_pattern : <b>public</b> std::runtime_error
{
<b>public</b>:
<b>explicit</b> bad_pattern(<b>const</b> std::string&amp; s) : std::runtime_error(s){};
};
<b>class</b> bad_expression : <b>public</b> bad_pattern
{
<b>public</b>:
bad_expression(<b>const</b> std::string&amp; s) : bad_pattern(s) {}
};
} // namespace boost
</pre>
<h3>Description</h3>
<pre>
bad_expression(const string&amp; what_arg);
</pre>
<p><b>Effects:</b> Constructs an object of class <code>bad_expression</code>.</p>
<b></b>
<p><b>Postcondition:</b> <code>strcmp(what(), what_arg.c_str()) == 0</code>.</p>
<p>Footnotes: the class <i>bad_pattern</i> forms the base class for all
pattern-matching exceptions, of which <i>bad_expression</i> is one. The choice
of <i>std::runtime_error</i> as the base class for <i>bad_pattern</i> 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).</p>
<p></p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

914
doc/basic_regex.html Normal file
View File

@ -0,0 +1,914 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: basic_regex</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">basic_regex</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<h3>Synopsis</h3>
<pre>
#include &lt;<a href="../../../boost/regex.hpp">boost/regex.hpp</a>&gt;
</pre>
<p>The template class <em>basic_regex</em> encapsulates regular expression parsing
and compilation. The class takes three template parameters:</p>
<p><b><i>charT</i></b>: determines the character type, i.e. either char or
wchar_t.</p>
<p><b><i>traits</i></b>: determines the behavior of the character type, for
example which character class names are recognized. A default traits class is
provided: <a href="regex_traits.html">regex_traits&lt;charT&gt;</a>.</p>
<p><b><i>Allocator</i></b>: the allocator class used to allocate memory by the
class.</p>
<p>For ease of use there are two typedefs that define the two standard <i>basic_regex</i>
instances, unless you want to use custom traits classes or allocators, you
won't need to use anything other than these:</p>
<pre>
<b>namespace</b> boost{
<b>template</b> &lt;<b>class</b> charT, <b>class</b> traits = regex_traits&lt;charT&gt;, <b>class</b> Allocator = std::allocator&lt;charT&gt; &gt;
<b>class</b> basic_regex;
<b>typedef</b> basic_regex&lt;<b>char</b>&gt; regex;
<b>typedef</b> basic_regex&lt;<b>wchar_t&gt;</b> wregex;
}
</pre>
<p>The definition of <i>basic_regex</i> follows: it is based very closely on class
basic_string, and fulfils the requirements for a constant-container of <i>charT</i>.</p>
<pre>
namespace boost{
template &lt;class charT,
class traits = regex_traits&lt;charT&gt;,
class Allocator = allocator&lt;charT&gt; &gt;
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 <A href="#c1">basic_regex</A>(const Allocator&amp; a = Allocator());
explicit <A href="#c2">basic_regex</A>(const charT* p, flag_type f = regex_constants::normal,
const Allocator&amp; a = Allocator());
<A href="#c3">basic_regex</A>(const charT* p1, const charT* p2, flag_type f = regex_constants::normal,
const Allocator&amp; a = Allocator());
<A href="#c4">basic_regex</A>(const charT* p, size_type len, flag_type f,
const Allocator&amp; a = Allocator());
<A href="#c5">basic_regex</A>(const basic_regex&amp;);
template &lt;class ST, class SA&gt;
explicit <A href="#c6">basic_regex</A>(const basic_string&lt;charT, ST, SA&gt;&amp; p,
flag_type f = regex_constants::normal,
const Allocator&amp; a = Allocator());
template &lt;class InputIterator&gt;
<A href="#c7">basic_regex</A>(InputIterator first, inputIterator last,
flag_type f = regex_constants::normal,
const Allocator&amp; a = Allocator());
~basic_regex();
basic_regex&amp; <A href="#o1">operator</A>=(const basic_regex&amp;);
basic_regex&amp; <A href="#o2">operator</A>= (const charT* ptr);
template &lt;class ST, class SA&gt;
basic_regex&amp; <A href="#o3">operator</A>= (const basic_string&lt;charT, ST, SA&gt;&amp; p);
// iterators:
const_iterator <A href="#m1">begin</A>() const;
const_iterator <A href="#m2">end</A>() const;
// capacity:
size_type <A href="#m3">size</A>() const;
size_type <A href="#m4">max_size</A>() const;
bool <A href="#m5">empty</A>() const;
unsigned <A href="#m6">mark_count</A>()const;
//
// modifiers:
basic_regex&amp; <A href="#a1">assign</A>(const basic_regex&amp; that);
basic_regex&amp; <A href="#a2">assign</A>(const charT* ptr, flag_type f = regex_constants::normal);
basic_regex&amp; <A href="#a3">assign</A>(const charT* ptr, unsigned int len, flag_type f);
template &lt;class string_traits, class A&gt;
basic_regex&amp; <A href="#a4">assign</A>(const basic_string&lt;charT, string_traits, A&gt;&amp; s,
flag_type f = regex_constants::normal);
template &lt;class InputIterator&gt;
basic_regex&amp; <A href="#a5">assign</A>(InputIterator first, InputIterator last,
flag_type f = regex_constants::normal);
// const operations:
Allocator <A href="#m7">get_allocator</A>() const;
flag_type <A href="#m8">flags</A>() const;
basic_string&lt;charT&gt; <A href="#m9">str</A>() const;
int <A href="#m10">compare</A>(basic_regex&amp;) const;
// locale:
locale_type <A href="#m11">imbue</A>(locale_type loc);
locale_type <A href="#m12">getloc</A>() const;
// swap
void <A href="#m13">swap</A>(basic_regex&amp;) throw();
};
template &lt;class charT, class traits, class Allocator&gt;
bool <A href="#o4">operator</A> == (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
template &lt;class charT, class traits, class Allocator&gt;
bool <A href="#o5">operator</A> != (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
template &lt;class charT, class traits, class Allocator&gt;
bool <A href="#o7">operator</A> &lt; (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
template &lt;class charT, class traits, class Allocator&gt;
bool <A href="#o8">operator</A> &lt;= (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
template &lt;class charT, class traits, class Allocator&gt;
bool <A href="#o9">operator</A> &gt;= (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
template &lt;class charT, class traits, class Allocator&gt;
bool <A href="#o10">operator</A> &gt; (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
template &lt;class charT, class io_traits, class re_traits, class Allocator&gt;
basic_ostream&lt;charT, io_traits&gt;&amp;
<A href="#o11">operator</A> &lt;&lt; (basic_ostream&lt;charT, io_traits&gt;&amp; os,
const basic_regex&lt;charT, re_traits, Allocator&gt;&amp; e);
template &lt;class charT, class traits, class Allocator&gt;
void <A href="#o12">swap</A>(basic_regex&lt;charT, traits, Allocator&gt;&amp; e1,
basic_regex&lt;charT, traits, Allocator&gt;&amp; e2);
typedef basic_regex&lt;char&gt; regex;
typedef basic_regex&lt;wchar_t&gt; wregex;
} // namespace boost
</pre>
<h3>Description</h3>
<p>Class&nbsp;<em>basic_regex</em> has the following public member functions:</p>
<h4>basic_regex constants</h4>
<pre>
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;
</pre>
<p>The static constant members are provided as synonyms for the constants declared
in namespace <code>boost::regex_constants</code>; for each constant of type <code><A href="syntax_option_type.html">
syntax_option_type</A></code> declared in namespace <code>boost::regex_constants</code>
then a constant with the same name, type and value is declared within the scope
of <code>basic_regex</code>.</p>
<h4>basic_regex constructors</h4>
<p>In all <code>basic_regex</code> constructors, a copy of the <code>Allocator</code>
argument is used for any memory allocation performed by the constructor or
member functions during the lifetime of the object.</p>
<pre>
basic_regex(const Allocator&amp; a = Allocator());
</pre>
<P><b>Effects:</b> Constructs an object of class <code>basic_regex</code>. The
postconditions of this function are indicated in the table:</P>
<div align="center">
<center>
<table id="Table2" cellspacing="1" cellpadding="7" width="624" border="1">
<tbody>
<tr>
<td valign="top" width="50%">
<p><b>Element</b></p>
</td>
<td valign="top" width="50%">
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>empty()</p>
</td>
<td valign="top" width="50%">
<p>true</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>size()</p>
</td>
<td valign="top" width="50%">
<p>0</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>str()</p>
</td>
<td valign="top" width="50%">
<p>basic_string&lt;charT&gt;()</p>
</td>
</tr>
</tbody>
</table>
</center>
</div>
<pre> <A name=c2></A>basic_regex(const charT* p, flag_type f = regex_constants::normal, const Allocator&amp; a = Allocator());
</pre>
<P><b>Requires:</b> <i>p</i> shall not be a null pointer.</P>
<p><b>Throws:</b> <code>bad_expression</code> if <i>p</i> is not a valid regular
expression.</p>
<p><b>Effects:</b> Constructs an object of class <code>basic_regex</code>; the
object's internal finite state machine is constructed from the regular
expression contained in the null-terminated string <i>p</i>, and interpreted
according to the <a href="syntax_option_type.html">option flags</a>&nbsp;specified
in <i>f</i>. The postconditions of this function are indicated in the table:</p>
<div align="center">
<center>
<table id="Table3" cellspacing="1" cellpadding="7" width="624" border="1">
<tbody>
<tr>
<td valign="top" width="50%">
<p><b>Element</b></p>
</td>
<td valign="top" width="50%">
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>empty()</p>
</td>
<td valign="top" width="50%">
<p>false</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>size()</p>
</td>
<td valign="top" width="50%">
<p>char_traits&lt;charT&gt;::length(p)</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>str()</p>
</td>
<td valign="top" width="50%">
<p>basic_string&lt;charT&gt;(p)</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>flags()</p>
</td>
<td valign="top" width="50%">
<p>f</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>mark_count()</p>
</td>
<td valign="top" width="50%">
<p>The number of marked sub-expressions within the expression.</p>
</td>
</tr>
</tbody>
</table>
</center>
</div>
<pre>
</pre>
<PRE><A name=c3></A>basic_regex(const charT* p1, const charT* p2, flag_type f = regex_constants::normal, const Allocator&amp; a = Allocator());</PRE>
<p><b>Requires:</b> <i>p1</i> and <i>p2</i> are not null pointers, <code>p1 &lt; p2</code>.</p>
<p><b>Throws:</b> <code>bad_expression</code> if [p1,p2) is not a valid regular
expression.</p>
<p><b>Effects:</b> Constructs an object of class <code>basic_regex</code>; 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 <a href="syntax_option_type.html">option flags</a> specified in <i>f</i>.
The postconditions of this function are indicated in the table:</p>
<div align="center">
<center>
<table id="Table4" cellspacing="1" cellpadding="7" width="624" border="1">
<tbody>
<tr>
<td valign="top" width="50%">
<p><b>Element</b></p>
</td>
<td valign="top" width="50%">
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>empty()</p>
</td>
<td valign="top" width="50%">
<p>false</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>size()</p>
</td>
<td valign="top" width="50%">
<p>std::distance(p1,p2)</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>str()</p>
</td>
<td valign="top" width="50%">
<p>basic_string&lt;charT&gt;(p1,p2)</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>flags()</p>
</td>
<td valign="top" width="50%">
<p>f</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>mark_count()</p>
</td>
<td valign="top" width="50%">
<p>The number of marked sub-expressions within the expression.</p>
</td>
</tr>
</tbody>
</table>
</center>
</div>
<pre>
</pre>
<pre><A name=c4></A>
basic_regex(const charT* p, size_type len, flag_type f, const Allocator&amp; a = Allocator());
</pre>
<p><b>Requires:</b> <i>p</i> shall not be a null pointer, <code>len &lt; max_size()</code>.</p>
<p><b>Throws:</b> <code>bad_expression</code> if <i>p</i> is not a valid regular
expression.</p>
<p><b>Effects:</b> Constructs an object of class <code>basic_regex</code>; 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 <a href="syntax_option_type.html">option flags</a> specified in <i>f</i>.
The postconditions of this function are indicated in the table:</p>
<div align="center">
<center>
<table id="Table5" cellspacing="1" cellpadding="7" width="624" border="1">
<tbody>
<tr>
<td valign="top" width="50%">
<p><b>Element</b></p>
</td>
<td valign="top" width="50%">
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>empty()</p>
</td>
<td valign="top" width="50%">
<p>false</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>size()</p>
</td>
<td valign="top" width="50%">
<p>len</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>str()</p>
</td>
<td valign="top" width="50%">
<p>basic_string&lt;charT&gt;(p, len)</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>flags()</p>
</td>
<td valign="top" width="50%">
<p>f</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>mark_count()</p>
</td>
<td valign="top" width="50%">
<p>The number of marked sub-expressions within the expression.</p>
</td>
</tr>
</tbody>
</table>
</center>
</div>
<pre>
</pre>
<pre><A name=c5></A>
basic_regex(const basic_regex&amp; e);
</pre>
<p><b>Effects:</b> Constructs an object of class <code>basic_regex</code> as a
copy of the object <i>e</i>. The postconditions of this function are indicated
in the table:</p>
<div align="center">
<center>
<table id="Table6" cellspacing="1" cellpadding="7" width="624" border="1">
<tbody>
<tr>
<td valign="top" width="50%">
<p><b>Element</b></p>
</td>
<td valign="top" width="50%">
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>empty()</p>
</td>
<td valign="top" width="50%">
<p>e.empty()</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>size()</p>
</td>
<td valign="top" width="50%">
<p>e.size()</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>str()</p>
</td>
<td valign="top" width="50%">
<p>e.str()</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>flags()</p>
</td>
<td valign="top" width="50%">
<p>e.flags()</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>mark_count()</p>
</td>
<td valign="top" width="50%">
<p>e.mark_count()</p>
</td>
</tr>
</tbody>
</table>
</center>
</div>
<pre>
</pre>
<pre>
template &lt;class ST, class SA&gt;
<A name=c6></A>
basic_regex(const basic_string&lt;charT, ST, SA&gt;&amp; s,
flag_type f = regex_constants::normal, const Allocator&amp; a = Allocator());
</pre>
<p><b>Throws:</b> <code>bad_expression</code> if <i>s</i> is not a valid regular
expression.</p>
<p><b>Effects:</b> Constructs an object of class <code>basic_regex</code>; the
object's internal finite state machine is constructed from the regular
expression contained in the string <i>s</i>, and interpreted according to the <a href="syntax_option_type.html">
option flags</a> specified in <i>f</i>. The postconditions of this function
are indicated in the table:</p>
<div align="center">
<center>
<table id="Table7" cellspacing="1" cellpadding="7" width="624" border="1">
<tbody>
<tr>
<td valign="top" width="50%">
<p><b>Element</b></p>
</td>
<td valign="top" width="50%">
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>empty()</p>
</td>
<td valign="top" width="50%">
<p>false</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>size()</p>
</td>
<td valign="top" width="50%">
<p>s.size()</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>str()</p>
</td>
<td valign="top" width="50%">
<p>s</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>flags()</p>
</td>
<td valign="top" width="50%">
<p>f</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>mark_count()</p>
</td>
<td valign="top" width="50%">
<p>The number of marked sub-expressions within the expression.</p>
</td>
</tr>
</tbody>
</table>
</center>
</div>
<pre>
</pre>
<pre>
template &lt;class ForwardIterator&gt;
<A name=c7></A>
basic_regex(ForwardIterator first, ForwardIterator last,
flag_type f = regex_constants::normal, const Allocator&amp; a = Allocator());
</pre>
<p><b>Throws:</b> <code>bad_expression</code> if the sequence <i>[first, last)</i>
is not a valid regular expression.</p>
<p><b>Effects:</b> Constructs an object of class <code>basic_regex</code>; 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 <a href="syntax_option_type.html">option flags</a>
specified in <i>f</i>. The postconditions of this function are indicated in the
table:</p>
<div align="center">
<center>
<table id="Table8" cellspacing="1" cellpadding="7" width="624" border="1">
<tbody>
<tr>
<td valign="top" width="50%">
<p><b>Element</b></p>
</td>
<td valign="top" width="50%">
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>empty()</p>
</td>
<td valign="top" width="50%">
<p>false</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>size()</p>
</td>
<td valign="top" width="50%">
<p>distance(first,last)</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>str()</p>
</td>
<td valign="top" width="50%">
<p>basic_string&lt;charT&gt;(first,last)</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>flags()</p>
</td>
<td valign="top" width="50%">
<p>f</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>mark_count()</p>
</td>
<td valign="top" width="50%">
<p>The number of marked sub-expressions within the expression.</p>
</td>
</tr>
</tbody>
</table>
</center>
</div>
<pre>
</pre>
<pre><A name=o1></A>
basic_regex&amp; operator=(const basic_regex&amp; e);
</pre>
<p><b>Effects:</b> Returns the result of <code>assign(e.str(), e.flags())</code>.</p>
<pre><A name=o2></A>
basic_regex&amp; operator=(const charT* ptr);
</pre>
<p><b>Requires:</b> <i>p</i> shall not be a null pointer.</p>
<p><b>Effects:</b> Returns the result of <code>assign(ptr)</code>.</p>
<pre><A name=o3></A>
template &lt;class ST, class SA&gt;
basic_regex&amp; operator=(const basic_string&lt;charT, ST, SA&gt;&amp; p);
</pre>
<p><b>Effects:</b> Returns the result of <code>assign(p)</code>.</p>
<h4>basic_regex iterators</h4>
<pre><A name=m1></A>
const_iterator begin() const;
</pre>
<p><b>Effects:</b> Returns a starting iterator to a sequence of characters
representing the regular expression.</p>
<pre><A name=m2></A>
const_iterator end() const;
</pre>
<p><b>Effects:</b> Returns termination iterator to a sequence of characters
representing the regular expression.</p>
<h4>basic_regex capacity</h4>
<pre><A name=m3></A>
size_type size() const;
</pre>
<p><b>Effects:</b> Returns the length of the sequence of characters representing
the regular expression.</p>
<pre><A name=m4></A>
size_type max_size() const;
</pre>
<p><b>Effects:</b> Returns the maximum length of the sequence of characters
representing the regular expression.</p>
<pre><A name=m5></A>
bool empty() const;
</pre>
<p><b>Effects:</b> Returns <b>true</b> if the object does not contain a valid
regular expression, otherwise <b>false</b>.</p>
<pre><A name=m6></A>unsigned mark_count() const;
</pre>
<p><b>Effects:</b> Returns the number of marked sub-expressions within the regular
expresion.</p>
<h4>basic_regex assign</h4>
<pre><A name=a1></A>
basic_regex&amp; assign(const basic_regex&amp; that);
</pre>
<p><b>Effects:</b> Returns <code>assign(that.str(), that.flags())</code>.</p>
<pre><A name=a2></A>
basic_regex&amp; assign(const charT* ptr, flag_type f = regex_constants::normal);
</pre>
<p><b>Effects:</b> Returns <code>assign(string_type(ptr), f)</code>.</p>
<PRE><A name=a3></A><A name=a3></A>basic_regex&amp; assign(const charT* ptr, unsigned int len, flag_type f);</PRE>
<P><B>Effects:</B> Returns <CODE>assign(string_type(ptr, len), f)</CODE>.</P>
<PRE><A name=a4></A>template &lt;class string_traits, class A&gt;
<A name=a6></A>basic_regex&amp; assign(const basic_string&lt;charT, string_traits, A&gt;&amp; s,
flag_type f = regex_constants::normal);
</PRE>
<p><b>Throws:</b> <code>bad_expression</code> if <i>s</i> is not a valid regular
expression.</p>
<p><b>Returns:</b> <code>*this</code>.</p>
<p><b>Effects:</b> Assigns the regular expression contained in the string <i>s</i>,
interpreted according the <a href="syntax_option_type.html">option flags</a> specified
in <i>f</i>. The postconditions of this function are indicated in the table:</p>
<div align="center">
<center>
<table id="Table9" cellspacing="1" cellpadding="7" width="624" border="1">
<tbody>
<tr>
<td valign="top" width="50%">
<p><b>Element</b></p>
</td>
<td valign="top" width="50%">
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>empty()</p>
</td>
<td valign="top" width="50%">
<p>false</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>size()</p>
</td>
<td valign="top" width="50%">
<p>s.size()</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>str()</p>
</td>
<td valign="top" width="50%">
<p>s</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>flags()</p>
</td>
<td valign="top" width="50%">
<p>f</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>mark_count()</p>
</td>
<td valign="top" width="50%">
<p>The number of marked sub-expressions within the expression.</p>
</td>
</tr>
</tbody>
</table>
</center>
</div>
<pre>
</pre>
<pre><A name=a5></A>template &lt;class InputIterator&gt;
basic_regex&amp; assign(InputIterator first, InputIterator last,
flag_type f = regex_constants::normal);
</pre>
<p><b>Requires:</b> The type InputIterator corresponds to the Input Iterator
requirements (24.1.1).</p>
<p><b>Effects:</b> Returns <code>assign(string_type(first, last), f)</code>.</p>
<h4>basic_regex constant operations</h4>
<pre><A name=m7></A>Allocator get_allocator() const;
</pre>
<p><b>Effects:</b> Returns a copy of the Allocator that was passed to the object's
constructor.</p>
<pre><A name=m8></A>flag_type flags() const;
</pre>
<p><b>Effects:</b> Returns a copy of the regular expression syntax flags that were
passed to the object's constructor, or the last call to <code>assign.</code></p>
<pre><A name=m9></A>basic_string&lt;charT&gt; str() const;
</pre>
<p><b>Effects:</b> Returns a copy of the character sequence passed to the object's
constructor, or the last call to <code>assign.</code></p>
<pre><A name=m10></A>int compare(basic_regex&amp; e)const;
</pre>
<p><b>Effects:</b> If <code>flags() == e.flags()</code> then returns <code>str().compare(e.str())</code>,
otherwise returns <code>flags() - e.flags()</code>.</p>
<h4>basic_regex locale</h4>
<pre><A name=m11></A>locale_type imbue(locale_type l);
</pre>
<p><b>Effects:</b> Returns the result of <code>traits_inst.imbue(l)</code> where <code>
traits_inst</code> is a (default initialized) instance of the template
parameter <code>traits</code> stored within the object. Calls to imbue
invalidate any currently contained regular expression.</p>
<p><b>Postcondition:</b> <code>empty() == true</code>.</p>
<pre><A name=m12></A>
locale_type getloc() const;
</pre>
<p><b>Effects:</b> Returns the result of <code>traits_inst.getloc()</code> where <code>
traits_inst</code> is a (default initialized) instance of the template
parameter <code>traits</code> stored within the object.</p>
<h4>basic_regex swap</h4>
<pre><A name=m13></A>
void swap(basic_regex&amp; e) throw();
</pre>
<p><b>Effects:</b> Swaps the contents of the two regular expressions.</p>
<p><b>Postcondition:</b> <code>*this</code> contains the characters that were in <i>e</i>,
<i>e</i> contains the regular expression that was in <code>*this</code>.</p>
<p><b>Complexity:</b> constant time.</p>
<h4>basic_regex non-member functions</h4>
<h5>basic_regex non-member comparison operators&nbsp;</h5>
<P>Comparisons between basic_regex objects are provided on an experimental basis:
please note that these are likely to be removed from the standard library
proposal, so use with care if you are writing portable code.</P>
<pre><A name=o4></A>
template &lt;class charT, class traits, class Allocator&gt;
bool operator == (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
</pre>
<p><b>Effects:</b> Returns <code>lhs.compare(rhs) == 0</code>.</p>
<pre><A name=o5></A>
template &lt;class charT, class traits, class Allocator&gt;
bool operator != (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
</pre>
<p><b>Effects:</b> Returns <code>lhs.compare(rhs) != 0</code>.</p>
<pre><A name=o7></A>
template &lt;class charT, class traits, class Allocator&gt;
bool operator &lt; (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
</pre>
<p><b>Effects:</b> Returns <code>lhs.compare(rhs) &lt; 0</code>.</p>
<pre><A name=o8></A>
template &lt;class charT, class traits, class Allocator&gt;
bool operator &lt;= (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
</pre>
<p><b>Effects:</b> Returns <code>lhs.compare(rhs) &lt;= 0</code>.</p>
<pre><A name=o9></A>
template &lt;class charT, class traits, class Allocator&gt;
bool operator &gt;= (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
</pre>
<p><b>Effects:</b> Returns <code>lhs.compare(rhs) &gt;= 0</code>.</p>
<pre><A name=o10></A>
template &lt;class charT, class traits, class Allocator&gt;
bool operator &gt; (const basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
const basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
</pre>
<p><b>Effects:</b> Returns <code>lhs.compare(rhs) &gt; 0</code>.</p>
<h5>basic_regex inserter.</h5>
<P>The basic_regex stream inserter is provided on an experimental basis, and
outputs the textual representation of the expression to the stream:</P>
<pre><A name=o11></A>
template &lt;class charT, class io_traits, class re_traits, class Allocator&gt;
basic_ostream&lt;charT, io_traits&gt;&amp;
operator &lt;&lt; (basic_ostream&lt;charT, io_traits&gt;&amp; os
const basic_regex&lt;charT, re_traits, Allocator&gt;&amp; e);
</pre>
<p><b>Effects:</b> Returns (os &lt;&lt; e.str()).</p>
<h5>basic_regex non-member swap</h5>
<pre><A name=o12></A>
template &lt;class charT, class traits, class Allocator&gt;
void swap(basic_regex&lt;charT, traits, Allocator&gt;&amp; lhs,
basic_regex&lt;charT, traits, Allocator&gt;&amp; rhs);
</pre>
<p><b>Effects:</b> calls <code>lhs.swap(rhs)</code>.</p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

250
doc/captures.html Normal file
View File

@ -0,0 +1,250 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Index</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Understanding Captures</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<H2>Marked sub-expressions</H2>
<P>Every time a Perl regular expression contains a parenthesis group (), it spits
out an extra field, known as a marked sub-expression, for example the
expression:</P>
<PRE>(\w+)\W+(\w+)</PRE>
<P>
Has two marked sub-expressions (known as $1 and $2 respectively), in addition
the complete match is known as $&amp;, everything before the first match as $`,
and everything after the match as $'.&nbsp; So if the above expression is
searched for within "@abc def--", then we obtain:</P>
<BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px">
<P>
<TABLE id="Table2" cellSpacing="1" cellPadding="1" width="300" border="0">
<TR>
<TD>
<P dir="ltr" style="MARGIN-RIGHT: 0px">$`</P>
</TD>
<TD>"@"</TD>
</TR>
<TR>
<TD>$&amp;</TD>
<TD>"abc def"</TD>
</TR>
<TR>
<TD>$1</TD>
<TD>"abc"</TD>
</TR>
<TR>
<TD>$2</TD>
<TD>"def"</TD>
</TR>
<TR>
<TD>$'</TD>
<TD>"--"</TD>
</TR>
</TABLE>
</P>
</BLOCKQUOTE>
<P>In Boost.regex all these are accessible via the <A href="match_results.html">match_results</A>
class that gets filled in when calling one of the matching algorithms (<A href="regex_search.html">regex_search</A>,
<A href="regex_match.html">regex_match</A>, or <A href="regex_iterator.html">regex_iterator</A>).&nbsp;
So given:</P>
<PRE>boost::match_results&lt;IteratorType&gt; m;</PRE>
<P>The Perl and Boost.Regex equivalents are as follows:</P>
<BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px">
<P>
<TABLE id="Table3" cellSpacing="1" cellPadding="1" width="300" border="0">
<TR>
<TD><STRONG>Perl</STRONG></TD>
<TD><STRONG>Boost.Regex</STRONG></TD>
</TR>
<TR>
<TD>$`</TD>
<TD>m.prefix()</TD>
</TR>
<TR>
<TD>$&amp;</TD>
<TD>m[0]</TD>
</TR>
<TR>
<TD>$n</TD>
<TD>m[n]</TD>
</TR>
<TR>
<TD>$'</TD>
<TD>m.suffix()</TD>
</TR>
</TABLE>
</P>
</BLOCKQUOTE>
<P>
<P>In Boost.Regex each sub-expression match is represented by a <A href="sub_match.html">
sub_match</A> object, this is basically just a pair of iterators denoting
the start and end possition of the sub-expression match, but there are some
additional operators provided so that objects of type sub_match behave a lot
like a std::basic_string: for example they are implicitly <A href="sub_match.html#m3">
convertible to a basic_string</A>, they can be <A href="sub_match.html#o21">compared
to a string</A>, <A href="sub_match.html#o81">added to a string</A>, or <A href="sub_match.html#oi">
streamed out to an output stream</A>.</P>
<H2>Unmatched Sub-Expressions</H2>
<P>When a regular expression match is found there is no need for all of the marked
sub-expressions to have participated in the match, for example the expression:</P>
<P>(abc)|(def)</P>
<P>can match either $1 or $2, but never both at the same time.&nbsp; In
Boost.Regex you can determine which sub-expressions matched by accessing the <A href="sub_match.html#m1">
sub_match::matched</A> data member.</P>
<H2>Repeated Captures</H2>
<P>When a marked sub-expression is repeated, then the sub-expression gets
"captured" multiple times, however normally only the final capture is
available, for example if</P>
<PRE>(?:(\w+)\W+)+</PRE>
<P>is matched against</P>
<PRE>one fine day</PRE>
<P>Then $1 will contain the string "day", and all the previous captures will have
been forgotten.</P>
<P>However, Boost.Regex has an experimental feature that allows all the capture
information to be retained - this is accessed either via the <A href="match_results.html#m17">
match_results::captures</A> member function or the <A href="sub_match.html#m8">sub_match::captures</A>
member function.&nbsp; These functions return a container that contains a
sequence of all the captures obtained during the regular expression
matching.&nbsp; The following example program shows how this information may be
used:</P>
<PRE>#include &lt;boost/regex.hpp&gt;
#include &lt;iostream&gt;
void print_captures(const std::string&amp; regx, const std::string&amp; text)
{
boost::regex e(regx);
boost::smatch what;
std::cout &lt;&lt; "Expression: \"" &lt;&lt; regx &lt;&lt; "\"\n";
std::cout &lt;&lt; "Text: \"" &lt;&lt; text &lt;&lt; "\"\n";
if(boost::regex_match(text, what, e, boost::match_extra))
{
unsigned i, j;
std::cout &lt;&lt; "** Match found **\n Sub-Expressions:\n";
for(i = 0; i &lt; what.size(); ++i)
std::cout &lt;&lt; " $" &lt;&lt; i &lt;&lt; " = \"" &lt;&lt; what[i] &lt;&lt; "\"\n";
std::cout &lt;&lt; " Captures:\n";
for(i = 0; i &lt; what.size(); ++i)
{
std::cout &lt;&lt; " $" &lt;&lt; i &lt;&lt; " = {";
for(j = 0; j &lt; what.captures(i).size(); ++j)
{
if(j)
std::cout &lt;&lt; ", ";
else
std::cout &lt;&lt; " ";
std::cout &lt;&lt; "\"" &lt;&lt; what.captures(i)[j] &lt;&lt; "\"";
}
std::cout &lt;&lt; " }\n";
}
}
else
{
std::cout &lt;&lt; "** No Match found **\n";
}
}
int main(int , char* [])
{
print_captures("(([[:lower:]]+)|([[:upper:]]+))+", "aBBcccDDDDDeeeeeeee");
print_captures("(.*)bar|(.*)bah", "abcbar");
print_captures("(.*)bar|(.*)bah", "abcbah");
print_captures("^(?:(\\w+)|(?&gt;\\W+))*$", "now is the time for all good men to come to the aid of the party");
return 0;
}</PRE>
<P>Which produces the following output:</P>
<PRE>Expression: "(([[:lower:]]+)|([[:upper:]]+))+"
Text: "aBBcccDDDDDeeeeeeee"
** Match found **
Sub-Expressions:
$0 = "aBBcccDDDDDeeeeeeee"
$1 = "eeeeeeee"
$2 = "eeeeeeee"
$3 = "DDDDD"
Captures:
$0 = { "aBBcccDDDDDeeeeeeee" }
$1 = { "a", "BB", "ccc", "DDDDD", "eeeeeeee" }
$2 = { "a", "ccc", "eeeeeeee" }
$3 = { "BB", "DDDDD" }
Expression: "(.*)bar|(.*)bah"
Text: "abcbar"
** Match found **
Sub-Expressions:
$0 = "abcbar"
$1 = "abc"
$2 = ""
Captures:
$0 = { "abcbar" }
$1 = { "abc" }
$2 = { }
Expression: "(.*)bar|(.*)bah"
Text: "abcbah"
** Match found **
Sub-Expressions:
$0 = "abcbah"
$1 = ""
$2 = "abc"
Captures:
$0 = { "abcbah" }
$1 = { }
$2 = { "abc" }
Expression: "^(?:(\w+)|(?&gt;\W+))*$"
Text: "now is the time for all good men to come to the aid of the party"
** Match found **
Sub-Expressions:
$0 = "now is the time for all good men to come to the aid of the party"
$1 = "party"
Captures:
$0 = { "now is the time for all good men to come to the aid of the party" }
$1 = { "now", "is", "the", "time", "for", "all", "good", "men", "to", "come", "to", "the", "aid", "of", "the", "party" }
</PRE>
<P>Unfortunately enabling this feature has an impact on performance (even if you
don't use it), and a much bigger impact if you do use it, therefore to use this
feature you need to:</P>
<UL>
<LI>
Define BOOST_REGEX_MATCH_EXTRA for all translation units including the library
source (the best way to do this is to uncomment this define in <A href="../../../boost/regex/user.hpp">
boost/regex/user.hpp</A>
and then rebuild everything.
<LI>
Pass the <A href="match_flag_type.html">match_extra flag</A> to the particular
algorithms where you actually need the captures information (<A href="regex_search.html">regex_search</A>,
<A href="regex_match.html">regex_match</A>, or <A href="regex_iterator.html">regex_iterator</A>).
</LI>
</UL>
<P>
<HR>
<P></P>
<P></P>
<p>Revised&nbsp;
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
12&nbsp;Dec 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

225
doc/configuration.html Normal file
View File

@ -0,0 +1,225 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Configuration and setup</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content=
"text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%"
border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt=
"C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">Configuration and setup</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt=
"Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<h2>Contents</h2>
<dl class="index">
<dt><a href="#compiler">Compiler setup</a></dt>
<dt><a href="#locale">Locale and traits class selection</a></dt>
<dt><a href="#linkage">Linkage Options</a></dt>
<dt><a href="#algorithm">Algorithm Selection</a></dt>
<dt><a href="#tuning">Algorithm Tuning</a></dt>
</dl>
<h3><a name="compiler"></a>Compiler setup.</h3>
<p>You shouldn't need to do anything special to configure
boost.regex for use with your compiler - the <a href="../../config/index.html">boost.config</a> subsystem should already
take care of it, if you do have problems (or you are using a
particularly obscure compiler or platform) then <a href="../../config/index.html">boost.config</a>&nbsp;has a&nbsp;<a href="../../config/config.htm#config_script">configure</a> script.</p>
<h3><a name="locale"></a>Locale and traits class selection.</h3>
<p>The following macros (see <a href="../../../boost/regex/user.hpp">user.hpp</a>) control how
boost.regex interacts with the user's locale:</p>
<table id="Table2" cellspacing="1" cellpadding="1" width="100%"
border="1">
<tr>
<td width="265">BOOST_REGEX_USE_C_LOCALE</td>
<td>Forces 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.</td>
</tr>
<tr>
<td width="265">BOOST_REGEX_USE_CPP_LOCALE</td>
<td>Forces boost.regex to use std::locale in it's default traits
class, regular expressions can then be imbued with an
instance&nbsp;specific locale.</td>
</tr>
<tr>
<td width="265">BOOST_REGEX_NO_W32</td>
<td>Tells 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).</td>
</tr>
</table>
<br>
<br>
<h3><a name="linkage"></a>Linkage Options</h3>
<table id="Table3" cellspacing="1" cellpadding="1" width="100%"
border="1">
<tr>
<td>BOOST_REGEX_DYN_LINK</td>
<td>For Microsoft and Borland C++ builds, this tells boost.regex
that it should link to the dll build of the boost.regex.&nbsp; By
default boost.regex will link to its static library build, even if
the dynamic C runtime library is in use.</td>
</tr>
<tr>
<td>BOOST_REGEX_NO_LIB</td>
<td>For Microsoft and Borland C++ builds, this tells boost.regex
that it should not automatically select the library to link
to.</td>
</tr>
</table>
<br>
<br>
<h3><a name="algorithm"></a>Algorithm Selection</h3>
<table id="Table4" cellspacing="1" cellpadding="1" width="100%"
border="1">
<tr>
<td width="253">BOOST_REGEX_V3</td>
<td>Tells boost.regex to use the boost-1.30.0 matching algorithm,
define only if you need maximum compatibility with previous
behavior.</td>
</tr>
<tr>
<td width="253">BOOST_REGEX_RECURSIVE</td>
<td>Tells boost.regex to use a stack-recursive matching
algorithm.&nbsp; 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.</td>
</tr>
<tr>
<td width="253">BOOST_REGEX_NON_RECURSIVE</td>
<td>Tells 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.&nbsp; This is the default on non-Win32 platforms.</td>
</tr>
</table>
<br>
<br>
<h3><a name="tuning"></a>Algorithm Tuning</h3>
<p>The following option applies only if BOOST_REGEX_RECURSIVE is
set.</p>
<table id="Table6" cellspacing="1" cellpadding="1" width="100%"
border="1">
<tr>
<td>BOOST_REGEX_HAS_MS_STACK_GUARD</td>
<td>Tells boost.regex that Microsoft style __try - __except blocks
are supported, and can be used to safely trap stack overflow.</td>
</tr>
</table>
<br>
<br>
<p>The following options apply only if BOOST_REGEX_NON_RECURSIVE is
set.</p>
<table id="Table5" cellspacing="1" cellpadding="1" width="100%"
border="1">
<tr>
<td>BOOST_REGEX_BLOCKSIZE</td>
<td>In 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.&nbsp;
This defaults to 4096 bytes, which is large enough to match the
vast majority of regular expressions&nbsp;without further
allocations, however, you can choose smaller or larger values
depending upon your platforms characteristics.</td>
</tr>
<tr>
<td>BOOST_REGEX_MAX_BLOCKS</td>
<td>Tells boost.regex how many blocks of size BOOST_REGEX_BLOCKSIZE
it is permitted to use.&nbsp; If this value is exceeded then
boost.regex will stop trying to find a match and throw a
std::runtime_error.&nbsp; Defaults to 1024, don't forget to tweek
this value if you alter BOOST_REGEX_BLOCKSIZE by much.</td>
</tr>
<tr>
<td>BOOST_REGEX_MAX_CACHE_BLOCKS</td>
<td>Tells 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.&nbsp; 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).&nbsp; 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.&nbsp; On the other hand, on large multi-processor,
multi-threaded systems, you may find that a higher value is in
order.</td>
</tr>
</table>
<br>
<br>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

87
doc/contacts.html Normal file
View File

@ -0,0 +1,87 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Contacts</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><IMG height="86" alt="C++ Boost" src="../../../c++boost.gif" width="277" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">Contacts and Acknowledgements</h2>
</td>
<td width="50">
<h3><a href="index.html"><IMG height="45" alt="Boost.Regex Index" src="uarrow.gif" width="43" border="0"></a></h3>
</td>
</tr>
</table>
<BR>
<BR>
<HR>
<P>The author can be contacted at john@johnmaddock.co.uk;&nbsp;the home page for
this library is at <A href="http://www.boost.org">www.boost.org</A>.</P>
<P>I am indebted to <A href="http://www.cs.princeton.edu/~rs/">Robert Sedgewick's
"Algorithms in C++" </A>for forcing me to think about algorithms and their
performance, and to the folks at <A href="http://www.boost.org">boost</A> for
forcing me to <I>think</I>, period.</P>
<P><A href="http://www.boost-consulting.com">Eric Niebler</A>, author of the <A href="http://research.microsoft.com/projects/greta">
GRETA regular expression component</A>, has shared several important ideas,
in a series of long discussions.</P>
<P>Pete Becker, of <A href="http://www.dinkumware.com/">Dinkumware Ltd</A>, has
helped enormously with the standardisation proposal language.</P>
<P>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<72> Poirier, Michael Raykh, Marc Recht, Scott VanCamp, Bruno Voigt, Alexey
Voinov, Jerry Waldorf, Rob Ward, Lealon Watts, John Wismar, 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.</P>
<P>Useful further information can be found at:</P>
<P>Short&nbsp;tutorials on regular expressions can be <A href="http://etext.lib.virginia.edu/helpsheets/regex.html">
found here</A> and&nbsp;<A href="http://www.devshed.com/Server_Side/Administration/RegExp/page1.html">here</A>.</P>
<P>The main book on regular expressions is <A href="http://www.oreilly.com/catalog/regex/">
Mastering Regular Expressions, published by O'Reilly</A>.</P>
<P>Information on the <A href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1429.htm">
Boost.regex standardization proposal</A>, along with other <A href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1475.html">
standard library extension proposals</A> can be found on the <A href="http://anubis.dkuug.dk/jtc1/sc22/wg21/">
C++ Committees web pages</A>.</P>
<P>The<a href="http://www.opengroup.org/onlinepubs/7908799/toc.htm">Open Unix
Specification</a> contains a wealth of useful material, including the
regular expression syntax, and specifications for <a href="http://www.opengroup.org/onlinepubs/7908799/xsh/regex.h.html">
&lt;regex.h&gt;</a> and <a href="http://www.opengroup.org/onlinepubs/7908799/xsh/nl_types.h.html">
&lt;nl_types.h&gt;</a>.</P>
<p>The <a href="http://www.cs.ucr.edu/~stelo/pattern.html">Pattern Matching Pointers</a>
site is a "must visit" resource for anyone interested in pattern matching.</p>
<p><a href="http://glimpse.cs.arizona.edu/">Glimpse and Agrep</a>, use a
simplified regular expression syntax to achieve faster search times.</p>
<p><a href="http://glimpse.cs.arizona.edu/udi.html">Udi Manber</a> and <a href="http://www.dcc.uchile.cl/~rbaeza/">
Ricardo Baeza-Yates</a> both have a selection of useful pattern matching
papers available from their respective web sites.</p>
<p></p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

95
doc/examples.html Normal file
View File

@ -0,0 +1,95 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Examples</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><IMG height="86" alt="C++ Boost" src="../../../c++boost.gif" width="277" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">Examples</h2>
</td>
<td width="50">
<h3><a href="index.html"><IMG height="45" alt="Boost.Regex Index" src="uarrow.gif" width="43" border="0"></a></h3>
</td>
</tr>
</table>
<BR>
<BR>
<HR>
<P>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.</P>
<H5>regress.exe:</H5>
<P>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.</P>
<P>Files: <A href="../test/regress/parse.cpp">parse.cpp</A>, <A href="../test/regress/regress.cpp">
regress.cpp</A>, <A href="../test/regress/tests.cpp">tests.cpp</A>.</P>
<H5>jgrep.exe</H5>
<P>A simple grep implementation, run with no command line options to find out its
usage. Look at <A href="../src/fileiter.cpp">fileiter.cpp</A>/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.</P>
<P>Files: <A href="../example/jgrep/jgrep.cpp">jgrep.cpp</A>, <A href="../example/jgrep/main.cpp">
main.cpp</A>.</P>
<H5>timer.exe</H5>
<P>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.</P>
<P>Files: <A href="../example/timer/regex_timer.cpp">regex_timer.cpp</A>.</P>
<H5>Code snippets</H5>
<P>The snippets examples contain the code examples used in the documentation:</P>
<P><A href="../example/snippets/credit_card_example.cpp">credit_card_example.cpp</A>:
Credit card number formatting code.</P>
<P><A href="../example/snippets/partial_regex_grep.cpp">partial_regex_grep.cpp</A>:
Search example using partial matches.</P>
<P><A href="../example/snippets/partial_regex_match.cpp">partial_regex_match.cpp</A>:
regex_match example using partial matches.</P>
<P><A href="../example/snippets/regex_grep_example_1.cpp">regex_grep_example_1.cpp</A>:
regex_grep example 1: searches a cpp file for class definitions.</P>
<P><A href="../example/snippets/regex_grep_example_2.cpp">regex_grep_example_2.cpp</A>:
regex_grep example 2: searches a cpp file for class definitions, using a global
callback function.</P>
<P><A href="../example/snippets/regex_grep_example_3.cpp">regex_grep_example_3.cpp</A>:
regex_grep example 2: searches a cpp file for class definitions, using a bound
member function callback.</P>
<P><A href="../example/snippets/regex_grep_example_4.cpp">regex_grep_example_4.cpp</A>:
regex_grep example 2: searches a cpp file for class definitions, using a C++
Builder closure as a callback.</P>
<P><A href="../example/snippets/regex_match_example.cpp">regex_match_example.cpp</A>:
ftp based regex_match example.</P>
<P><A href="../example/snippets/regex_merge_example.cpp">regex_merge_example.cpp</A>:
regex_merge example: converts a C++ file to syntax highlighted HTML.</P>
<P><A href="../example/snippets/regex_replace_example.cpp">regex_replace_example.cpp</A>:
regex_replace example: converts a C++ file to syntax highlighted HTML</P>
<P><A href="../example/snippets/regex_search_example.cpp">regex_search_example.cpp</A>:
regex_search example: searches a cpp file for class definitions.</P>
<P><A href="../example/snippets/regex_split_example_1.cpp">regex_split_example_1.cpp</A>:
regex_split example: split a string into tokens.</P>
<P><A href="../example/snippets/regex_split_example_2.cpp">regex_split_example_2.cpp</A>
: regex_split example: spit out linked URL's.</P>
<P></P>
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

114
doc/faq.html Normal file
View File

@ -0,0 +1,114 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: FAQ</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">FAQ</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<font color="#ff0000"><font color="#ff0000"></font></font>
<p><font color="#ff0000"><font color="#ff0000"><font color="#ff0000">&nbsp;Q. Why can't I
use the "convenience" versions of regex_match / regex_search / regex_grep /
regex_format / regex_merge?</font></font></font></p>
<p>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
&lt;boost/regex.hpp&gt; through your C++ pre-processor, and search the output
file for the function that you are interested in.<font color="#ff0000"><font color="#ff0000"></font></font></p>
<p><font color="#ff0000"><font color="#ff0000">Q. I can't get regex++ to work with
escape characters, what's going on?</font></font></p>
<p>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. <font color="#ff0000"></font>
</p>
<p><font color="#ff0000">Q. Why does using parenthesis in a POSIX regular expression
change the result of a match?</font></p>
<p>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...</p>
<pre>
"(0*)([0-9]*)" against "00123" would produce
$1 = "00"
$2 = "123"
</pre>
<p>where as</p>
<pre>
"0*([0-9])*" against "00123" would produce
$1 = "00123"
</pre>
<p>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:</p>
<pre>
"0*([1-9][0-9]*)"
</pre>
<p>as the expression.</p>
<p><font color="#ff0000">Q. Why don't character ranges work properly (POSIX mode
only)?</font><br>
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. <i>[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</i>].</p>
<p><font color="#ff0000">Q. Why are there no throw specifications on any of the
functions? What exceptions can the library throw?</font></p>
<p>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,&nbsp;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.</p>
<p></p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

263
doc/format_syntax.html Normal file
View File

@ -0,0 +1,263 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<title>Boost.Regex: Format String Syntax</title>
<meta http-equiv="Content-Type" content=
"text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%"
border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt=
"C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">Format String Syntax</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt=
"Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<p>Format strings are used by the algorithm <a href="regex_replace.html">regex_replace</a>&nbsp;and by <a
href="match_results.html">match_results::format</a>, and are used
to transform one string into another.</p>
<p>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.</p>
<p><b><i>Extended format syntax</i></b></p>
<p>In format strings, all characters are treated as literals
except: ()$\?:</p>
<p>To use any of these as literals you must prefix them with the
escape character \</p>
<p>The following special sequences are recognized:&nbsp;<br>
&nbsp;<br>
<i>Grouping:</i></p>
<p>Use the parenthesis characters ( and ) to group sub-expressions
within the format string, use \( and \) to represent literal '('
and ')'.&nbsp;<br>
&nbsp;<br>
<i>Sub-expression expansions:</i></p>
<p>The following Perl like expressions expand to a particular
matched sub-expression:<br>
&nbsp;</p>
<p></p>
<table id="Table2" cellspacing="0" cellpadding="7" width="100%"
border="0">
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">$`</td>
<td valign="top" width="43%">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.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">$'</td>
<td valign="top" width="43%">Expands to all the text from the end
of the match to the end of the input string.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">$&amp;</td>
<td valign="top" width="43%">Expands to all of the current
match.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">$0</td>
<td valign="top" width="43%">Expands to all of the current
match.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">$N</td>
<td valign="top" width="43%">Expands to the text that matched
sub-expression <i>N</i>.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
</table>
<br>
<br>
<p><i>Conditional expressions:</i></p>
<p>Conditional expressions allow two different format strings to be
selected dependent upon whether a sub-expression participated in
the match or not:</p>
<p>?Ntrue_expression:false_expression</p>
<p>Executes true_expression if sub-expression <i>N</i> participated
in the match, otherwise executes false_expression.</p>
<p>Example: suppose we search for "(while)|(for)" then the format
string "?1WHILE:FOR" would output what matched, but in upper
case.&nbsp;<br>
&nbsp;<br>
<i>Escape sequences:</i></p>
<p>The following escape sequences are also allowed:<br>
</p>
<p></p>
<table id="Table3" cellspacing="0" cellpadding="7" width="100%"
border="0">
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\a</td>
<td valign="top" width="43%">The bell character.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\f</td>
<td valign="top" width="43%">The form feed character.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\n</td>
<td valign="top" width="43%">The newline character.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\r</td>
<td valign="top" width="43%">The carriage return character.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\t</td>
<td valign="top" width="43%">The tab character.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\v</td>
<td valign="top" width="43%">A vertical tab character.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\x</td>
<td valign="top" width="43%">A hexadecimal character - for example
\x0D.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\x{}</td>
<td valign="top" width="43%">A possible Unicode hexadecimal
character - for example \x{1A0}</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\cx</td>
<td valign="top" width="43%">The ASCII escape character x, for
example \c@ is equivalent to escape-@.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\e</td>
<td valign="top" width="43%">The ASCII escape character.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="8%">&nbsp;</td>
<td valign="top" width="40%">\dd</td>
<td valign="top" width="43%">An octal character constant, for
example \10.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
</table>
<br>
<br>
<p><b><i>Perl format strings</i></b></p>
<p>Perl format strings are the same as the default syntax except
that the characters ()?: have no special meaning.</p>
<p><b><i>Sed format strings</i></b></p>
<p>Sed format strings use only the characters \ and &amp; as
special characters.</p>
<p>\n where n is a digit, is expanded to the nth
sub-expression.</p>
<p>&amp; is expanded to the whole of the match (equivalent to
\0).</p>
<p>Other escape sequences are expanded as per the default
syntax.</p>
<p></p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

539
doc/gcc-performance.html Normal file
View File

@ -0,0 +1,539 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>Regular Expression Performance Comparison (gcc 3.2)</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<META content="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot" name="Template">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
</head>
<body bgcolor="#ffffff" link="#0000ff" vlink="#800080">
<h2>Regular Expression Performance Comparison</h2>
<p>The following tables provide comparisons between the following regular
expression libraries:</p>
<p><a href="http://www.boost.org/">The Boost regex library</a>.</p>
<p><a href="http://www.gnu.org">The GNU regular expression library</a>.</p>
<p>Philip Hazel's <a href="http://www.pcre.org">PCRE</a> library.</p>
<h3>Details</h3>
<p>Machine: Intel Pentium 4 2.8GHz PC.</p>
<p>Compiler: GNU C++ version 3.2 20020927 (prerelease).</p>
<p>C++ Standard Library: GNU libstdc++ version 20020927.</p>
<p>OS: Cygwin.</p>
<p>Boost version: 1.31.0.</p>
<p>PCRE version: 4.1.</p>
<p>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 <a href="http://www.regxlib.com/">Library of
Regular Expressions</a>. 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.</p>
<h3>Averages</h3>
<p>The following are the average relative scores for all the tests: the perfect
regular expression library&nbsp;would score 1, in practice anything less than 2
is pretty good.</p>
<table border="1" cellspacing="1">
<tr>
<td><strong>Boost</strong></td>
<td><strong>Boost + C++ locale</strong></td>
<td><strong>POSIX</strong></td>
<td><strong>PCRE</strong></td>
</tr>
<tr>
<td>1.4503</td>
<td>1.49124</td>
<td>108.372</td>
<td>1.56255</td>
</tr>
</table>
<br>
<br>
<h3>Comparison 1: Long Search</h3>
<p>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
(<a href="ftp://ibiblio.org/pub/docs/books/gutenberg/etext02/mtent12.zip">mtent12.txt</a>
from <a href="http://promo.net/pg/">Project Gutenberg</a>, 19Mb).&nbsp;</p>
<table border="1" cellspacing="1">
<tr>
<td><strong>Expression</strong></td>
<td><strong>Boost</strong></td>
<td><strong>Boost + C++ locale</strong></td>
<td><strong>POSIX</strong></td>
<td><strong>PCRE</strong></td>
</tr>
<tr>
<td><code>Twain</code></td>
<td>3.49<br>
(0.205s)</td>
<td>4.09<br>
(0.24s)</td>
<td>65.2<br>
(3.83s)</td>
<td><font color="#008000">1<br>
(0.0588s)</font></td>
</tr>
<tr>
<td><code>Huck[[:alpha:]]+</code></td>
<td>3.86<br>
(0.203s)</td>
<td>4.52<br>
(0.238s)</td>
<td>100<br>
(5.26s)</td>
<td><font color="#008000">1<br>
(0.0526s)</font></td>
</tr>
<tr>
<td><code>[[:alpha:]]+ing</code></td>
<td><font color="#008000">1.01<br>
(1.23s)</font></td>
<td><font color="#008000">1<br>
(1.22s)</font></td>
<td>4.95<br>
(6.04s)</td>
<td>4.67<br>
(5.71s)</td>
</tr>
<tr>
<td><code>^[^ ]*?Twain</code></td>
<td><font color="#008000">1<br>
(0.31s)</font></td>
<td><font color="#008000">1.05<br>
(0.326s)</font></td>
<td>NA</td>
<td>3.32<br>
(1.03s)</td>
</tr>
<tr>
<td><code>Tom|Sawyer|Huckleberry|Finn</code></td>
<td><font color="#008000">1.02<br>
(0.125s)</font></td>
<td><font color="#008000">1<br>
(0.123s)</font></td>
<td>165<br>
(20.3s)</td>
<td><font color="#008000">1.08<br>
(0.133s)</font></td>
</tr>
<tr>
<td><code> (Tom|Sawyer|Huckleberry|Finn).{0,30}river|river.{0,30}(Tom|Sawyer|Huckleberry|Finn)</code></td>
<td><font color="#008000">1<br>
(0.345s)</font></td>
<td><font color="#008000">1.03<br>
(0.355s)</font></td>
<td>NA</td>
<td>1.71<br>
(0.59s)</td>
</tr>
</table>
<br>
<br>
<h3>Comparison 2: Medium Sized Search</h3>
<p>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).&nbsp;</p>
<table border="1" cellspacing="1">
<tr>
<td><strong>Expression</strong></td>
<td><strong>Boost</strong></td>
<td><strong>Boost + C++ locale</strong></td>
<td><strong>POSIX</strong></td>
<td><strong>PCRE</strong></td>
</tr>
<tr>
<td><code>Twain</code></td>
<td>1.8<br>
(0.000519s)</td>
<td>2.14<br>
(0.000616s)</td>
<td>9.08<br>
(0.00262s)</td>
<td><font color="#008000">1<br>
(0.000289s)</font></td>
</tr>
<tr>
<td><code>Huck[[:alpha:]]+</code></td>
<td>3.65<br>
(0.000499s)</td>
<td>4.36<br>
(0.000597s)</td>
<td><font color="#008000">1<br>
(0.000137s)</font></td>
<td>1.43<br>
(0.000196s)</td>
</tr>
<tr>
<td><code>[[:alpha:]]+ing</code></td>
<td><font color="#008000">1<br>
(0.00258s)</font></td>
<td><font color="#008000">1<br>
(0.00258s)</font></td>
<td>5.28<br>
(0.0136s)</td>
<td>5.63<br>
(0.0145s)</td>
</tr>
<tr>
<td><code>^[^ ]*?Twain</code></td>
<td><font color="#008000">1<br>
(0.000929s)</font></td>
<td><font color="#008000">1.03<br>
(0.000957s)</font></td>
<td>NA</td>
<td>2.82<br>
(0.00262s)</td>
</tr>
<tr>
<td><code>Tom|Sawyer|Huckleberry|Finn</code></td>
<td><font color="#008000">1<br>
(0.000812s)</font></td>
<td><font color="#008000">1<br>
(0.000812s)</font></td>
<td>60.1<br>
(0.0488s)</td>
<td>1.28<br>
(0.00104s)</td>
</tr>
<tr>
<td><code> (Tom|Sawyer|Huckleberry|Finn).{0,30}river|river.{0,30}(Tom|Sawyer|Huckleberry|Finn)</code></td>
<td><font color="#008000">1.02<br>
(0.00178s)</font></td>
<td><font color="#008000">1<br>
(0.00174s)</font></td>
<td>242<br>
(0.421s)</td>
<td>1.3<br>
(0.00227s)</td>
</tr>
</table>
<br>
<br>
<h3>Comparison 3:&nbsp;C++ Code&nbsp;Search</h3>
<p>For each of the following regular expressions the time taken to find all
occurrences of the expression within the C++ source file <a href="../../../boost/crc.hpp">
boost/crc.hpp</a>&nbsp;was measured.&nbsp;</p>
<table border="1" cellspacing="1">
<tr>
<td><strong>Expression</strong></td>
<td><strong>Boost</strong></td>
<td><strong>Boost + C++ locale</strong></td>
<td><strong>POSIX</strong></td>
<td><strong>PCRE</strong></td>
</tr>
<tr>
<td><code> ^(template[[:space:]]*&lt;[^;:{]+&gt;[[:space:]]*)?(class|struct)[[:space:]]*(\&lt;\w+\&gt;([
]*\([^)]*\))?[[:space:]]*)*(\&lt;\w*\&gt;)[[:space:]]*(&lt;[^;:{]+&gt;[[:space:]]*)?(\{|:[^;\{()]*\{)</code></td>
<td><font color="#008000">1.04<br>
(0.000144s)</font></td>
<td><font color="#008000">1<br>
(0.000139s)</font></td>
<td>862<br>
(0.12s)</td>
<td>4.56<br>
(0.000636s)</td>
</tr>
<tr>
<td><code>(^[
]*#(?:[^\\\n]|\\[^\n_[:punct:][:alnum:]]*[\n[:punct:][:word:]])*)|(//[^\n]*|/\*.*?\*/)|\&lt;([+-]?(?:(?:0x[[:xdigit:]]+)|(?:(?:[[:digit:]]*\.)?[[:digit:]]+(?:[eE][+-]?[[:digit:]]+)?))u?(?:(?:int(?:8|16|32|64))|L)?)\&gt;|('(?:[^\\']|\\.)*'|"(?:[^\\"]|\\.)*")|\&lt;(__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)\&gt;</code></td>
<td><font color="#008000">1<br>
(0.0139s)</font></td>
<td><font color="#008000">1.01<br>
(0.0141s)</font></td>
<td>NA</td>
<td>1.55<br>
(0.0216s)</td>
</tr>
<tr>
<td><code>^[ ]*#[ ]*include[ ]+("[^"]+"|&lt;[^&gt;]+&gt;)</code></td>
<td><font color="#008000">1.04<br>
(0.000332s)</font></td>
<td><font color="#008000">1<br>
(0.000318s)</font></td>
<td>130<br>
(0.0413s)</td>
<td>1.72<br>
(0.000547s)</td>
</tr>
<tr>
<td><code>^[ ]*#[ ]*include[ ]+("boost/[^"]+"|&lt;boost/[^&gt;]+&gt;)</code></td>
<td><font color="#008000">1.02<br>
(0.000323s)</font></td>
<td><font color="#008000">1<br>
(0.000318s)</font></td>
<td>150<br>
(0.0476s)</td>
<td>1.72<br>
(0.000547s)</td>
</tr>
</table>
<br>
<h3></h3>
<H3>Comparison 4: HTML Document Search
</H3>
<p>For each of the following regular expressions the time taken to find all
occurrences of the expression within the html file <a href="../../libraries.htm">libs/libraries.htm</a>
was measured.&nbsp;</p>
<table border="1" cellspacing="1">
<tr>
<td><strong>Expression</strong></td>
<td><strong>Boost</strong></td>
<td><strong>Boost + C++ locale</strong></td>
<td><strong>POSIX</strong></td>
<td><strong>PCRE</strong></td>
</tr>
<tr>
<td><code>beman|john|dave</code></td>
<td><font color="#008000">1.03<br>
(0.000367s)</font></td>
<td><font color="#008000">1<br>
(0.000357s)</font></td>
<td>47.4<br>
(0.0169s)</td>
<td>1.16<br>
(0.000416s)</td>
</tr>
<tr>
<td><code>&lt;p&gt;.*?&lt;/p&gt;</code></td>
<td>1.25<br>
(0.000459s)</td>
<td><font color="#008000">1<br>
(0.000367s)</font></td>
<td>NA</td>
<td><font color="#008000">1.03<br>
(0.000376s)</font></td>
</tr>
<tr>
<td><code> &lt;a[^&gt;]+href=("[^"]*"|[^[:space:]]+)[^&gt;]*&gt;</code></td>
<td><font color="#008000">1<br>
(0.000509s)</font></td>
<td><font color="#008000">1.02<br>
(0.000518s)</font></td>
<td>305<br>
(0.155s)</td>
<td><font color="#008000">1.1<br>
(0.000558s)</font></td>
</tr>
<tr>
<td><code> &lt;h[12345678][^&gt;]*&gt;.*?&lt;/h[12345678]&gt;</code></td>
<td><font color="#008000">1.04<br>
(0.00025s)</font></td>
<td><font color="#008000">1<br>
(0.00024s)</font></td>
<td>NA</td>
<td>1.16<br>
(0.000279s)</td>
</tr>
<tr>
<td><code> &lt;img[^&gt;]+src=("[^"]*"|[^[:space:]]+)[^&gt;]*&gt;</code></td>
<td>2.22<br>
(0.000489s)</td>
<td>1.69<br>
(0.000372s)</td>
<td>148<br>
(0.0326s)</td>
<td><font color="#008000">1<br>
(0.00022s)</font></td>
</tr>
<tr>
<td><code> &lt;font[^&gt;]+face=("[^"]*"|[^[:space:]]+)[^&gt;]*&gt;.*?&lt;/font&gt;</code></td>
<td>1.71<br>
(0.000371s)</td>
<td>1.75<br>
(0.000381s)</td>
<td>NA</td>
<td><font color="#008000">1<br>
(0.000218s)</font></td>
</tr>
</table>
<br>
<br>
<h3>Comparison 3: Simple Matches</h3>
<p>For each of the following regular expressions the time taken to match against
the text indicated was measured.&nbsp;</p>
<table border="1" cellspacing="1">
<tr>
<td><strong>Expression</strong></td>
<td><strong>Text</strong></td>
<td><strong>Boost</strong></td>
<td><strong>Boost + C++ locale</strong></td>
<td><strong>POSIX</strong></td>
<td><strong>PCRE</strong></td>
</tr>
<tr>
<td><code>abc</code></td>
<td>abc</td>
<td>1.36<br>
(2.15e-07s)</td>
<td>1.36<br>
(2.15e-07s)</td>
<td>2.76<br>
(4.34e-07s)</td>
<td><font color="#008000">1<br>
(1.58e-07s)</font></td>
</tr>
<tr>
<td><code>^([0-9]+)(\-| |$)(.*)$</code></td>
<td>100- this is a line of ftp response which contains a message string</td>
<td>1.55<br>
(7.26e-07s)</td>
<td>1.51<br>
(7.07e-07s)</td>
<td>319<br>
(0.000149s)</td>
<td><font color="#008000">1<br>
(4.67e-07s)</font></td>
</tr>
<tr>
<td><code>([[:digit:]]{4}[- ]){3}[[:digit:]]{3,4}</code></td>
<td>1234-5678-1234-456</td>
<td>1.96<br>
(9.54e-07s)</td>
<td>1.96<br>
(9.54e-07s)</td>
<td>44.5<br>
(2.17e-05s)</td>
<td><font color="#008000">1<br>
(4.87e-07s)</font></td>
</tr>
<tr>
<td><code> ^([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})(\]?)$</code></td>
<td>john@johnmaddock.co.uk</td>
<td>1.22<br>
(1.51e-06s)</td>
<td>1.23<br>
(1.53e-06s)</td>
<td>162<br>
(0.000201s)</td>
<td><font color="#008000">1<br>
(1.24e-06s)</font></td>
</tr>
<tr>
<td><code> ^([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})(\]?)$</code></td>
<td>foo12@foo.edu</td>
<td>1.28<br>
(1.47e-06s)</td>
<td>1.3<br>
(1.49e-06s)</td>
<td>104<br>
(0.00012s)</td>
<td><font color="#008000">1<br>
(1.15e-06s)</font></td>
</tr>
<tr>
<td><code> ^([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})(\]?)$</code></td>
<td>bob.smith@foo.tv</td>
<td>1.28<br>
(1.47e-06s)</td>
<td>1.3<br>
(1.49e-06s)</td>
<td>113<br>
(0.00013s)</td>
<td><font color="#008000">1<br>
(1.15e-06s)</font></td>
</tr>
<tr>
<td><code>^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$</code></td>
<td>EH10 2QQ</td>
<td>1.38<br>
(4.68e-07s)</td>
<td>1.41<br>
(4.77e-07s)</td>
<td>13.5<br>
(4.59e-06s)</td>
<td><font color="#008000">1<br>
(3.39e-07s)</font></td>
</tr>
<tr>
<td><code>^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$</code></td>
<td>G1 1AA</td>
<td>1.28<br>
(4.35e-07s)</td>
<td>1.25<br>
(4.25e-07s)</td>
<td>11.7<br>
(3.97e-06s)</td>
<td><font color="#008000">1<br>
(3.39e-07s)</font></td>
</tr>
<tr>
<td><code>^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$</code></td>
<td>SW1 1ZZ</td>
<td>1.32<br>
(4.53e-07s)</td>
<td>1.31<br>
(4.49e-07s)</td>
<td>12.2<br>
(4.2e-06s)</td>
<td><font color="#008000">1<br>
(3.44e-07s)</font></td>
</tr>
<tr>
<td><code> ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$</code></td>
<td>4/1/2001</td>
<td>1.16<br>
(3.82e-07s)</td>
<td>1.2<br>
(3.96e-07s)</td>
<td>13.9<br>
(4.59e-06s)</td>
<td><font color="#008000">1<br>
(3.29e-07s)</font></td>
</tr>
<tr>
<td><code> ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$</code></td>
<td>12/12/2001</td>
<td>1.38<br>
(4.49e-07s)</td>
<td>1.38<br>
(4.49e-07s)</td>
<td>16<br>
(5.2e-06s)</td>
<td><font color="#008000">1<br>
(3.25e-07s)</font></td>
</tr>
<tr>
<td><code>^[-+]?[[:digit:]]*\.?[[:digit:]]*$</code></td>
<td>123</td>
<td>1.19<br>
(7.64e-07s)</td>
<td>1.16<br>
(7.45e-07s)</td>
<td>7.51<br>
(4.81e-06s)</td>
<td><font color="#008000">1<br>
(6.4e-07s)</font></td>
</tr>
<tr>
<td><code>^[-+]?[[:digit:]]*\.?[[:digit:]]*$</code></td>
<td>+3.14159</td>
<td>1.32<br>
(8.97e-07s)</td>
<td>1.31<br>
(8.88e-07s)</td>
<td>14<br>
(9.48e-06s)</td>
<td><font color="#008000">1<br>
(6.78e-07s)</font></td>
</tr>
<tr>
<td><code>^[-+]?[[:digit:]]*\.?[[:digit:]]*$</code></td>
<td>-3.14159</td>
<td>1.32<br>
(8.97e-07s)</td>
<td>1.31<br>
(8.88e-07s)</td>
<td>14<br>
(9.48e-06s)</td>
<td><font color="#008000">1<br>
(6.78e-07s)</font></td>
</tr>
</table>
<br>
<br>
<hr>
<p>Copyright John Maddock April 2003, all rights reserved.</p>
</body>
</html>

50
doc/headers.html Normal file
View File

@ -0,0 +1,50 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Headers</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Headers</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>There are two main headers used by this library: &lt;boost/regex.hpp&gt;
provides full access to the entire library, while &lt;boost/cregex.hpp&gt;
provides access to just the high level class RegEx, and the POSIX API
functions.
</P>
<P>There is also a header containing only forward declarations
&lt;boost/regex_fwd.hpp&gt; for use when an interface is dependent upon
boost::basic_regex, but otherwise does not need the full definitions.</P>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

68
doc/history.html Normal file
View File

@ -0,0 +1,68 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: History</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">History</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>Boost 1.31.0.</P>
<UL>
<LI>
Completely rewritten pattern matching code - it is now up to 10 times faster
than before.
<LI>
Reorganized documentation.
<LI>
Deprecated all interfaces that are not part of the <A href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1429.htm">
regular expression standardization proposal</A>.
<LI>
Added <A href="regex_iterator.html">regex_iterator</A> and <A href="regex_token_iterator.html">
regex_token_iterator</A>
.
<LI>
Added support for Perl style independent sub-expressions.
<LI>
Added non-member operators to the<A href="sub_match.html"> sub_match class</A>,
so that you can compare sub_match's with strings, or add them to a string to
produce a new string.
<LI>
Added experimental support for <A href="captures.html">extended capture
information</A>.
<LI>
Changed the match flags so that they are a distinct type (not an integer), if
you try to pass the match flags as an integer rather than<A href="match_flag_type.html">
match_flag_type</A> to the regex algorithms then you will now get a compiler
error.</LI></UL>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
22 Dec 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

43
doc/implementation.html Normal file
View File

@ -0,0 +1,43 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Implementation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Implementation</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>Todo.</P>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

143
doc/index.html Normal file
View File

@ -0,0 +1,143 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<title>Boost.Regex: Index</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td style="WIDTH: 353px">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">Index</h2>
</td>
<td width="50">
<h3><a href="../../index.html"><img height="45" width="43" alt="Boost Libraries Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<h2>Contents</h2>
<dl class="index">
<dt><a href="introduction.html">Overview</a></dt>
<dt><a href="configuration.html">Configuration and setup</a></dt>
<dt><a href="install.html">Installation</a></dt>
<dd>
<dl class="index">
<dt><a href="install.html#bcb">Borland C++ Builder</a></dt> <dt><a href="install.html#vc">
Microsoft Visual C++</a></dt> <dt><a href="install.html#gcc">GNU G++</a></dt>
<dt><a href="install.html#sun">Sun Forte Compiler</a></dt> <dt><a href="install.html#other">
Other compilers (building with bjam)</a></dt>
</dl>
</dd>
<dt>Reference</dt>
<dd>
<dl class="index">
<dt>Types</dt>
<dd>
<dl class="index">
<dt><a href="syntax_option_type.html">syntax_option_type</a></dt> <dt><a href="match_flag_type.html">
match_flag_type</a></dt> <dt><a href="bad_expression.html">class bad_expression</a></dt>
<dt><a href="regex_traits.html">class regex_traits</a></dt>
<dt><a href="basic_regex.html">class template basic_regex</a></dt>
<dt><a href="sub_match.html">class template sub_match</a></dt>
<dt><a href="match_results.html">class template match_results</a></dt>
</dl>
</dd>
<dt>Algorithms</dt>
<dd>
<dl class="index">
<dt><a href="regex_match.html">regex_match</a></dt> <dt><a href="regex_search.html">regex_search</a></dt>
<dt><a href="regex_replace.html">regex_replace</a></dt>
</dl>
</dd>
<dt>Iterators</dt>
<dd>
<dl class="index">
<dt><a href="regex_iterator.html">regex_iterator</a></dt>
<dt><a href="regex_token_iterator.html">regex_token_iterator</a></dt>
</dl>
</dd>
<dt>Typedefs</dt>
<dd>
<dl class="index">
<dt><a href="basic_regex.html">regex</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ = basic_regex&lt;char&gt; ]</dt>
<dt><a href="basic_regex.html">wregex</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ = basic_regex&lt;wchar_t&gt; ]</dt>
<dt><a href="match_results.html">cmatch</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ = match_results&lt;const char*&gt; ]</dt>
<dt><a href="match_results.html">wcmatch</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ = match_results&lt;const wchar_t*&gt; ]</dt>
<dt><a href="match_results.html">smatch</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ = match_results&lt;std::string::const_iterator&gt; ]</dt>
<dt><a href="match_results.html">wsmatch</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ = match_results&lt;std::wstring::const_iterator&gt; ]</dt>
<dt><a href="regex_iterator.html">cregex_iterator</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ = regex_iterator&lt;const char*&gt;]</dt>
<dt><a href="regex_iterator.html">wcregex_iterator</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ = regex_iterator&lt;const wchar_t*&gt;]</dt>
<dt><a href="regex_iterator.html">sregex_iterator</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ = regex_iterator&lt;std::string::const_iterator&gt;]</dt>
<dt><a href="regex_iterator.html">wsregex_iterator</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ = regex_iterator&lt;std::wstring::const_iterator&gt;]</dt>
<dt><a href="regex_token_iterator.html">cregex_token_iterator</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ = regex_token_iterator&lt;const char*&gt;]</dt>
<dt><a href="regex_token_iterator.html">wcregex_token_iterator</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ = regex_token_iterator&lt;const wchar_t*&gt;]</dt>
<dt><a href="regex_token_iterator.html">sregex_token_iterator</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ = regex_token_iterator&lt;std::string::const_iterator&gt;]</dt>
<dt><a href="regex_token_iterator.html">wsregex_token_iterator</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ = regex_token_iterator&lt;std::wstring::const_iterator&gt;]</dt>
</dl>
</dd>
<dt>Misc.</dt>
<dd>
<dl class="index">
<dt><a href="posix_api.html">POSIX API Compatibility Functions</a></dt>
<dt><a href="partial_matches.html">Partial matches</a></dt>
<dt><a href="syntax.html">Regular Expression Syntax</a></dt>
<dt><a href="format_syntax.html">Format String Syntax</a></dt>
<dt><a href="captures.html">Understanding Captures</a></dt>
</dl>
</dd>
<dt>Deprecated interfaces</dt>
<dd>
<dl class="index">
<dt><a href="regbase.html">class regbase</a></dt> <dt><a href="reg_expression.html">class
template reg_expression</a></dt> <dt><a href="regex_grep.html">Algorithm
regex_grep</a></dt> <dt><a href="regex_format.html">Algorithm regex_format</a></dt>
<dt><a href="regex_merge.html">Algorithm regex_merge</a></dt> <dt><a href="regex_split.html">
Algorithm regex_split</a></dt>
<dt><a href="regex.html">class RegEx</a></dt>
</dl>
</dd>
</dl>
</dd>
<dt><a href="faq.html">FAQ</a></dt>
<dt>Appendix</dt>
<dd>
<dl class="index">
<dt><a href="implementation.html">Implementation</a></dt>
<dt><a href="thread_safety.html">Thread Safety</a></dt>
<dt><a href="localisation.html">Localisation</a></dt>
<dt><a href="examples.html">Examples</a></dt>
<dt><a href="headers.html">Headers</a></dt>
<dt><a href="redistributables.html">Redistributables and Library Names</a></dt>
<dt><a href="standards.html">Standards Conformance</a></dt>
<dt><a href="history.html">History</a></dt>
<dt><a href="performance.html">Performance</a></dt>
<dt><a href="contacts.html">Contacts and Acknowledgements</a></dt>
</dl>
</dd>
</dl>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

235
doc/install.html Normal file
View File

@ -0,0 +1,235 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Index</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Installation</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<P>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!
</P>
<P>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 <A href="../../config/config.htm">
configuration library documentation</A>.</P>
<P>The library will encase all code inside namespace boost.
</P>
<P>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:
</P>
<P><B><A name="bcb"></A>Borland C++ Builder:</B>
</P>
<UL>
<LI>
Open up a console window and change to the &lt;boost&gt;\libs\regex\build
directory.
<LI>
Select the appropriate makefile (bcb4.mak for C++ Builder 4, bcb5.mak for C++
Builder 5, and bcb6.mak for C++ Builder 6).
<LI>
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:
</LI>
</UL>
<PRE>make -fbcb5.mak</PRE>
<P>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:</P>
<PRE>make -fbcb5.mak install</PRE>
<P>library files will be copied to &lt;BCROOT&gt;/lib and the dll's to
&lt;BCROOT&gt;/bin, where &lt;BCROOT&gt; corresponds to the install path of
your Borland C++ tools.
</P>
<P>You may also remove temporary files created during the build process (excluding
lib and dll files) by using:</P>
<PRE>make -fbcb5.mak clean</PRE>
<P>Finally when you use regex++ it is only necessary for you to add the
&lt;boost&gt; 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.
</P>
<P>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.&nbsp;</P>
<P>If you want to suppress automatic linking altogether (and supply your own
custom build of the lib) then define BOOST_REGEX_NO_LIB.</P>
<P>If you are building with C++ Builder 6, you will find that
&lt;boost/regex.hpp&gt; can not be used in a pre-compiled header (the actual
problem is in &lt;locale&gt; which gets included by &lt;boost/regex.hpp&gt;),
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!</P>
<P><B><A name="vc"></A>Microsoft Visual C++ 6</B><STRONG> and 7</STRONG></P>
<P>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 <A href="http://ourworld.compuserve.com/homepages/john_maddock/regexpp.htm">
library</A>
</P>
<P>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 &lt;boost&gt;\libs\regex\build
directory.
</P>
<P>Select the correct makefile - vc6.mak for "vanilla" Visual C++ 6 or
vc6-stlport.mak if you are using STLPort.</P>
<P>Invoke the makefile like this:</P>
<PRE>nmake -fvc6.mak</PRE>
<P>You will now have a collection of lib and dll files in a "vc6" subdirectory, to
install these into your development system use:</P>
<PRE>nmake -fvc6.mak install</PRE>
<P>The lib files will be copied to your &lt;VC6&gt;\lib directory and the dll
files to &lt;VC6&gt;\bin, where &lt;VC6&gt; is the root of your Visual C++ 6
installation.</P>
<P>You can delete all the temporary files created during the build (excluding lib
and dll files) using:</P>
<PRE>nmake -fvc6.mak clean </PRE>
<P>Finally when you use regex++ it is only necessary for you to add the
&lt;boost&gt; 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.
</P>
<P>
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.</P>
<P>If you want to add the source directly to your project then define
BOOST_REGEX_NO_LIB to disable automatic library selection.</P>
<P>There are several important caveats to remember when using boost.regex with
Microsoft's Compiler:</P>
<UL>
<LI>
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.</LI>
<LI>
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.
</LI>
<LI>
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).</LI>
<LI>
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.
</LI>
</UL>
<P><B><A name="gcc"></A>GCC(2.95 and 3.x)</B>
</P>
<P>You can build with gcc using the normal boost Jamfile in
&lt;boost&gt;/libs/regex/build, alternatively there is a conservative makefile
for the g++ compiler. From the command prompt change to the
&lt;boost&gt;/libs/regex/build directory and type:
</P>
<PRE>make -fgcc.mak </PRE>
<P>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
&lt;boost&gt;/libs/regex/build/gcc/libboost_regex.a to your list of library
files.
</P>
<P>There is also a makefile to build the library as a shared library:</P>
<PRE>make -fgcc-shared.mak</PRE>
<P>which will build libboost_regex.so and libboost_regex_debug.so.</P>
<P>Both of the these makefiles support the following environment variables:</P>
<P>CXXFLAGS: extra compiler options - note that this applies to both the debug and
release builds.</P>
<P>INCLUDES: additional include directories.</P>
<P>LDFLAGS: additional linker options.</P>
<P>LIBS: additional library files.</P>
<P>For the more adventurous there is a configure script in
&lt;boost&gt;/libs/config; see the <A href="../../config/config.htm">config library
documentation</A>.</P>
<P><B><A name="sun"></A>Sun Workshop 6.1</B></P>
<P>There is a makefile for the sun (6.1) compiler (C++ version 3.12). From the
command prompt change to the &lt;boost&gt;/libs/regex/build directory and type:
</P>
<PRE>dmake -f sunpro.mak </PRE>
<P>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
&lt;boost&gt;/libs/regex/build/sunpro/ to your library search path.
</P>
<P>Both of the these makefiles support the following environment variables:</P>
<P>CXXFLAGS: extra compiler options - note that this applies to both the single
and multithreaded builds.</P>
<P>INCLUDES: additional include directories.</P>
<P>LDFLAGS: additional linker options.</P>
<P>LIBS: additional library files.</P>
<P>LIBSUFFIX: a suffix to mangle the library name with (defaults to nothing).</P>
<P>This makefile does not set any architecture specific options like -xarch=v9,
you can set these by defining the appropriate macros, for example:</P>
<PRE>dmake CXXFLAGS="-xarch=v9" LDFLAGS="-xarch=v9" LIBSUFFIX="_v9" -f sunpro.mak</PRE>
<P>will build v9 variants of the regex library named libboost_regex_v9.a etc.</P>
<P><B><A name="other"></A>Other compilers:</B>
</P>
<P>There is a generic makefile (<A href="../build/generic.mak">generic.mak</A>
) provided in &lt;boost-root&gt;/libs/regex/build - see that makefile for
details of environment variables that need to be set before use.
<P>
Alternatively you can using the <A href="../../../tools/build/index.html">Jam based
build system</A>: cd into &lt;boost&gt;/libs/regex/build and run:<PRE>bjam -sTOOLS=mytoolset</PRE>
<P>
If you need to configure the library for your platform, then refer to the <A href="../../config/config.htm">
config library documentation</A>
.
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

181
doc/introduction.html Normal file
View File

@ -0,0 +1,181 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Introduction</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Introduction</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>Regular expressions are a form of pattern-matching that are often used in text
processing; many users will be familiar with the Unix utilities <I>grep</I>, <I>sed</I>
and <I>awk</I>, and the programming language <I>Perl</I>, 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.</P>
<P>The class <A href="basic_regex.html">boost::basic_regex</A> 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:</P>
<pre><B>namespace </B>boost{
<B>template</B> &lt;<B>class</B> charT,
<B> class</B> traits = regex_traits&lt;charT&gt;,
<B>class</B> Allocator = std::allocator&lt;charT&gt; &gt;
<B>class</B> basic_regex;
<B>typedef</B> basic_regex&lt;<B>char</B>&gt; regex;
<B>typedef</B> basic_regex&lt;<B>wchar_t&gt;</B> wregex;
}</pre>
<P>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:</P>
<PRE>(\d{4}[- ]){3}\d{4}</PRE>
<P>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.</P>
<P>Now let's take that expression and place it in some C++ code to validate the
format of a credit card number:</P>
<PRE><B>bool</B> validate_card_format(<B>const</B> std::string s)
{
<B>static</B> <B>const</B> <A href="basic_regex.html">boost::regex</A> e("(\\d{4}[- ]){3}\\d{4}");
<B>return</B> <A href="regex_match.html">regex_match</A>(s, e);
}</PRE>
<P>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.</P>
<P>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 <I>sed</I> and <I>Perl</I> will already be ahead here; we
need two strings - one a regular expression - the other a "<A href="format_syntax.html">format
string</A>" that provides a description of the text to replace the match
with. In regex++ this search and replace operation is performed with the
algorithm<A href="regex_replace.html"> regex_replace</A>, for our credit card
example we can write two algorithms like this to provide the format
conversions:</P>
<PRE><I>// match any format with the regular expression:
</I><B>const</B> boost::regex e("\\A(\\d{3,4})[- ]?(\\d{4})[- ]?(\\d{4})[- ]?(\\d{4})\\z");
<B>const</B> std::string machine_format("\\1\\2\\3\\4");
<B>const</B> std::string human_format("\\1-\\2-\\3-\\4");
std::string machine_readable_card_number(<B>const</B> std::string s)
{
<B>return</B> <A href="regex_replace.html">regex_replace</A>(s, e, machine_format, boost::match_default | boost::format_sed);
}
std::string human_readable_card_number(<B>const</B> std::string s)
{
<B>return</B> <A href="regex_replace.html">regex_replace</A>(s, e, human_format, boost::match_default | boost::format_sed);
}</PRE>
<P>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.</P>
<P>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 <A href="match_results.html">
match_results</A>, as before there are typedefs of this class for the most
common cases:
</P>
<PRE><B>namespace </B>boost{
<B>typedef</B> match_results&lt;<B>const</B> <B>char</B>*&gt; cmatch;
<B>typedef</B> match_results&lt;<B>const</B> <B>wchar_t</B>*&gt; wcmatch;
<STRONG>typedef</STRONG> match_results&lt;std::string::const_iterator&gt; smatch;
<STRONG>typedef</STRONG> match_results&lt;std::wstring::const_iterator&gt; wsmatch;
}</PRE>
<P>The algorithms <A href="regex_search.html">regex_search</A> and&nbsp;<A href="regex_match.html">regex_match</A>
make use of match_results to report what matched; the difference between these
algorithms is that <A href="regex_match.html">regex_match</A> will only find
matches that consume <EM>all</EM> of the input text, where as <A href="regex_search.html">
regex_search</A> will <EM>search</EM> for a match anywhere within the text
being matched.</P>
<P>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.
</P>
<P>For search and replace operations, in addition to the algorithm <A href="regex_replace.html">
regex_replace</A> that we have already seen, the <A href="match_results.html">match_results</A>
class has a format member that takes the result of a match and a format string,
and produces a new string by merging the two.</P>
<P>For iterating through all occurences of an expression within a text, there are
two iterator types: <A href="regex_iterator.html">regex_iterator</A> will
enumerate over the <A href="match_results.html">match_results</A> objects
found, while <A href="regex_token_iterator.html">regex_token_iterator</A> will
enumerate a series of strings (similar to perl style split operations).</P>
<P>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. This class is now deprecated as it does not form part of the regular
expressions C++ standard library proposal.
</P>
<P>The <A href="posix_api.html">POSIX API</A> 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.
</P>
<P>Finally, note that the library now has run-time <A href="localisation.html">localization</A>
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.
</P>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

1023
doc/localisation.html Normal file

File diff suppressed because it is too large Load Diff

282
doc/match_flag_type.html Normal file
View File

@ -0,0 +1,282 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: match_flag_type</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">match_flag_type</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<h3>Synopsis</h3>
<p>The type <code>match_flag_type</code> is an implementation specific bitmask
type (17.3.2.1.2) that controls how a regular expression is matched against a
character sequence.&nbsp; The behavior of the format flags is descibed in more
detail in the <A href="format_syntax.html">format syntax guide</A>.</p>
<pre>
namespace boost{ namespace regex_constants{
typedef <EM>implemenation-specific-bitmask-type</EM> 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_single_line;
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 boost
</pre>
<h3>Description</h3>
<p>The type <code>match_flag_type</code> is an implementation specific 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:</p>
<p></p>
<table id="Table2" cellspacing="1" cellpadding="7" width="100%" border="0">
<tr>
<td valign="top" width="50%">
<p>Element</p>
</td>
<td valign="top" width="50%">
<p>Effect if set</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>match_default</p>
</td>
<td valign="top" width="50%">
<p>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)</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">match_not_bob</td>
<td valign="top" width="50%">Specifies that the expression "\A" should not match
against the sub-sequence [first,first).</td>
</tr>
<tr>
<td valign="top" width="50%">match_not_eob</td>
<td valign="top" width="50%">Specifies that the expressions "\z" and
"\Z"&nbsp;should not match against the sub-sequence [last,last).</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>match_not_bol</p>
</td>
<td valign="top" width="50%">
<p>Specifies that the expression "^" should not be matched against the
sub-sequence [first,first).</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>match_not_eol</p>
</td>
<td valign="top" width="50%">
<p>Specifies that the expression "$" should not be matched against the
sub-sequence [last,last).</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>match_not_bow</p>
</td>
<td valign="top" width="50%">
<p>Specifies that the expression "\b" should not be matched against the
sub-sequence [first,first).</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>match_not_eow</p>
</td>
<td valign="top" width="50%">
<p>Specifies that the expression "\b" should not be matched against the
sub-sequence [last,last).</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>match_any</p>
</td>
<td valign="top" width="50%">
<p>Specifies that if more than one match is possible then any match is an
acceptable result.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>match_not_null</p>
</td>
<td valign="top" width="50%">
<p>Specifies that the expression can not be matched against an empty sequence.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>match_continuous</p>
</td>
<td valign="top" width="50%">
<p>Specifies that the expression must match a sub-sequence that begins at <i>first</i>.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>match_partial</p>
</td>
<td valign="top" width="50%">
<p>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.</p>
</td>
</tr>
<TR>
<TD vAlign="top" width="50%">match_extra</TD>
<TD vAlign="top" width="50%">Instructs the matching engine to retain all available <A href="captures.html">
capture</A> information; if a capturing group is repeated then information
about every repeat is available via <A href="match_results.html#m17">match_results::captures()</A>
or <A href="sub_match.html#m8">sub_match_captures().</A></TD>
</TR>
<TR>
<TD vAlign="top" width="50%">match_single_line</TD>
<TD vAlign="top" width="50%">Equivalent to Perl's s/ modifier; prevents ^ from
matching after an embedded newline character (so that it only matches at the
start of the text being matched), and $ from matching before an embedded
newline (so that it only matches at the end of the text being matched).</TD>
</TR>
<tr>
<td valign="top" width="50%">
<p>match_prev_avail</p>
</td>
<td valign="top" width="50%">
<p>Specifies that <code>--first</code> is a valid iterator position, when this
flag is set then the flags <code>match_not_bol</code> and <code>match_not_bow</code>
are ignored by the regular expression algorithms (RE.7) and iterators (RE.8).</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">match_not_dot_newline</td>
<td valign="top" width="50%">Specifies that the expression "." does not match a
newline character.</td>
</tr>
<tr>
<td valign="top" width="50%">match_not_dot_null</td>
<td valign="top" width="50%">Specified that the expression "." does not match a
character null '\0'.</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>format_default</p>
</td>
<td valign="top" width="50%">
<p>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.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>format_sed</p>
</td>
<td valign="top" width="50%">
<p>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..</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>format_perl</p>
</td>
<td valign="top" width="50%">
<p>
Specifies that when a regular expression match is to be replaced by a new
string, that the new string is constructed using the same rules as Perl 5.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%" height="32">format_all</td>
<td valign="top" width="50%" height="32">Specifies that all syntax extensions are
enabled, including conditional (?ddexpression1:expression2) replacements: see
the <A href="format_syntax.html">format string guide</A> for more details.</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>format_no_copy</p>
</td>
<td valign="top" width="50%">
<p>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.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>format_first_only</p>
</td>
<td valign="top" width="50%">
<p>When specified during a search and replace operation, then only the first
occurrence of the regular expression is replaced.</p>
</td>
</tr>
</table>
<br>
<br>
<p></p>
<hr>
<br>
<br>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
04 Feb 2004
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2004<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

458
doc/match_results.html Normal file
View File

@ -0,0 +1,458 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: class match_results</title>
<meta content="HTML Tidy, see www.w3.org" name="generator">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK href="../../../boost.css" type="text/css" rel="stylesheet"></head>
<body>
<p></p>
<table id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<tr>
<td vAlign="top" width="300">
<h3><A href="../../../index.htm"><IMG height="86" alt="C++ Boost" src="../../../c++boost.gif" width="277" border="0"></A></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">class match_results</h2>
</td>
<td width="50">
<h3><A href="index.html"><IMG height="45" alt="Boost.Regex Index" src="uarrow.gif" width="43" border="0"></A></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<h3>Contents</h3>
<dl class="index">
<dt><A href="#synopsis">Synopsis</A> <dt><A href="#description">Description</A> </dt>
</dl>
<h3><a name="synopsis"></a>Synopsis</h3>
<p>#include &lt;<A href="../../../boost/regex.hpp">boost/regex.hpp</A>&gt;</p>
<p>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 <i>match_results</i> that acts as an indexed collection of sub-expression
matches, each sub-expression match being contained in an object of type <i><A href="sub_match.html">
sub_match</A></i> .</p>
<p>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 <A href="regex_match.html">regex_match</A>
and <A href="regex_search.html">regex_search</A>, and are returned by the
iterator <A href="regex_iterator.html">regex_iterator</A> .&nbsp; Storage for
the collection is allocated and freed as necessary by the member functions of
class match_results.</p>
<p>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.</p>
<p>Class template match_results is most commonly used as one of the typedefs
cmatch, wcmatch, smatch, or wsmatch:</p>
<pre>template &lt;class BidirectionalIterator,
class Allocator = allocator&lt;sub_match&lt;BidirectionalIterator&gt; &gt;
class match_results;
typedef match_results&lt;const char*&gt; cmatch;
typedef match_results&lt;const wchar_t*&gt; wcmatch;
typedef match_results&lt;string::const_iterator&gt; smatch;
typedef match_results&lt;wstring::const_iterator&gt; wsmatch;
template &lt;class BidirectionalIterator,
class Allocator = allocator&lt;sub_match&lt;BidirectionalIterator&gt; &gt;
class match_results
{
public:
typedef sub_match&lt;BidirectionalIterator&gt; value_type;
typedef const value_type&amp; const_reference;
typedef const_reference reference;
typedef implementation defined const_iterator;
typedef const_iterator iterator;
typedef typename iterator_traits&lt;BidirectionalIterator&gt;::difference_type difference_type;
typedef typename Allocator::size_type size_type;
typedef Allocator allocator_type;
typedef typename iterator_traits&lt;BidirectionalIterator&gt;::value_type char_type;
typedef basic_string&lt;char_type&gt; string_type;
// construct/copy/destroy:
explicit <A href="#c1" >match_results</A>(const Allocator&amp; a = Allocator());
<A href="#c2" >match_results</A>(const match_results&amp; m);
<A href="#c3" >match_results</A>&amp; <A href="#c3" >operator</A>=(const match_results&amp; m);
~match_results();
// size:
size_type <A href="#m1" >size</A>() const;
size_type <A href="#m2" >max_size</A>() const;
bool <A href="#m3" >empty</A>() const;
// element access:
difference_type <A href="#m4" >length</A>(int sub = 0) const;
difference_type <A href="#m5" >position</A>(unsigned int sub = 0) const;
string_type <A href="#m6" >str</A>(int sub = 0) const;
const_reference <A href="#m7" >operator</A>[](int n) const;
const_reference <A href="#m8" >prefix</A>() const;
const_reference <A href="#m9" >suffix</A>() const;
const_iterator <A href="#m10" >begin</A>() const;
const_iterator <A href="#m11" >end</A>() const;
// format:
template &lt;class OutputIterator&gt;
OutputIterator <A href="#m12" >format</A>(OutputIterator out,
const string_type&amp; fmt,
match_flag_type flags = format_default) const;
string_type <A href="#m13" >format</A>(const string_type&amp; fmt,
match_flag_type flags = format_default) const;
allocator_type <A href="#m14" >get_allocator</A>() const;
void <A href="#m15" >swap</A>(match_results&amp; that);
#ifdef BOOST_REGEX_MATCH_EXTRA
typedef typename value_type::capture_sequence_type <A href="#m16" >capture_sequence_type</A>;
const capture_sequence_type&amp; <A href="#m17" >captures</A>(std::size_t i)const;
#endif
};
template &lt;class BidirectionalIterator, class Allocator&gt;
bool <A href="#n1" >operator</A> == (const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m1,
const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m2);
template &lt;class BidirectionalIterator, class Allocator&gt;
bool <A href="#n2" >operator</A> != (const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m1,
const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m2);
template &lt;class charT, class traits, class BidirectionalIterator, class Allocator&gt;
basic_ostream&lt;charT, traits&gt;&amp;
<A href="#n3" >operator</A> &lt;&lt; (basic_ostream&lt;charT, traits&gt;&amp; os,
const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m);
template &lt;class BidirectionalIterator, class Allocator&gt;
void <A href="#n4" >swap</A>(match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m1,
match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m2);
</pre>
<h3><a name="description"></a>Description</h3>
<h4>match_results constructors</h4>
<p>In all <code>match_results</code> 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.</p>
<pre><A name=c1></A>
match_results(const Allocator&amp; a = Allocator());
</pre>
<b></b>
<p><b>Effects:</b> Constructs an object of class match_results. The postconditions
of this function are indicated in the table:</p>
<p align="center"></p>
<center>
<table id="Table2" cellSpacing="1" cellPadding="7" width="624" border="1">
<tbody>
<tr>
<td vAlign="top" width="50%"><b></b>
<p><b>Element</b></p>
</td>
<td vAlign="top" width="50%"><b></b>
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>empty()</p>
</td>
<td vAlign="top" width="50%">
<p>true</p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>size()</p>
</td>
<td vAlign="top" width="50%">
<p>0</p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>str()</p>
</td>
<td vAlign="top" width="50%">
<p>basic_string&lt;charT&gt;()</p>
</td>
</tr>
</tbody></table>
</center>
<p>&nbsp;</p>
<pre><A name=c2></A>
match_results(const match_results&amp; m);
</pre>
<b></b>
<p><b>Effects:</b> Constructs an object of class match_results, as a copy of m.</p>
<pre><A name=c3></A>
match_results&amp; operator=(const match_results&amp; m);
</pre>
<b></b>
<p><b>Effects:</b> Assigns m to *this. The postconditions of this function are
indicated in the table:</p>
<p align="center"></p>
<center>
<table id="Table3" cellSpacing="1" cellPadding="7" width="624" border="1">
<tbody>
<tr>
<td vAlign="top" width="50%"><b></b>
<p><b>Element</b></p>
</td>
<td vAlign="top" width="50%"><b></b>
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>empty()</p>
</td>
<td vAlign="top" width="50%">
<p>m.empty().</p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>size()</p>
</td>
<td vAlign="top" width="50%">
<p>m.size().</p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>str(n)</p>
</td>
<td vAlign="top" width="50%">
<p>m.str(n) for all integers n &lt; m.size().</p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>prefix()</p>
</td>
<td vAlign="top" width="50%">
<p>m.prefix().</p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>suffix()</p>
</td>
<td vAlign="top" width="50%">
<p>m.suffix().</p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>(*this)[n]</p>
</td>
<td vAlign="top" width="50%">
<p>m[n] for all integers n &lt; m.size().</p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>length(n)</p>
</td>
<td vAlign="top" width="50%">
<p>m.length(n) for all integers n &lt; m.size().</p>
</td>
</tr>
<tr>
<td vAlign="top" width="50%">
<p>position(n)</p>
</td>
<td vAlign="top" width="50%">
<p>m.position(n) for all integers n &lt; m.size().</p>
</td>
</tr>
</tbody></table>
</center>
<h4>match_results size</h4>
<pre><A name=m1></A>
size_type size()const;
</pre>
<b></b>
<p><b>Effects:</b> Returns the number of sub_match elements stored in *this; that
is the number of marked sub-expressions in the regular expression that was
matched plus one.</p>
<pre><A name=m2></A>
size_type max_size()const;
</pre>
<b></b>
<p><b>Effects:</b> Returns the maximum number of sub_match elements that can be
stored in *this.</p>
<pre><A name=m3></A>
bool empty()const;
</pre>
<b></b>
<p><b>Effects:</b> Returns <code>size() == 0</code>.</p>
<h4>match_results element access</h4>
<pre><A name=m4></A>
difference_type length(int sub = 0)const;
</pre>
<b></b>
<p><b>Effects:</b> Returns the length of sub-expression <EM>sub</EM>, that is to
say: <code>(*this)[sub].length()</code>.</p>
<pre><A name=m5></A>
difference_type position(unsigned int sub = 0)const;
</pre>
<b></b>
<p><b>Effects:</b> Returns the starting location of sub-expression <EM>sub</EM>,
or -1 if <EM>sub</EM> was not matched <code>.</code></p>
<pre><A name=m6></A>
string_type str(int sub = 0)const;
</pre>
<b></b>
<p><b>Effects:</b> Returns sub-expression <EM>sub</EM> as a string:&nbsp; <code>string_type((*this)[sub]).</code></p>
<pre><A name=m7></A>
const_reference operator[](int n) const;
</pre>
<b></b>
<p><b>Effects:</b> Returns a reference to the <code>sub_match</code> object
representing the character sequence that matched marked sub-expression <i>n</i>.
If <code>n == 0</code> then returns a reference to a <code>sub_match</code> object
representing the character sequence that matched the whole regular
expression.&nbsp; If <EM>n</EM> is out of range, or if <EM>n</EM> is an
unmatched sub-expression, then returns a sub_match object whose <EM>matched</EM>
member is <EM>false</EM>.</p>
<pre><A name=m8></A>
const_reference prefix()const;
</pre>
<b></b>
<p><b>Effects:</b> Returns a reference to the <code>sub_match</code> object
representing the character sequence from the start of the string being
matched/searched, to the start of the match found.</p>
<pre><A name=m9></A>
const_reference suffix()const;
</pre>
<b></b>
<p><b>Effects:</b> Returns a reference to the <code>sub_match</code> object
representing the character sequence from the end of the match found to the end
of the string being matched/searched.</p>
<pre><A name=m10></A>
const_iterator begin()const;
</pre>
<b></b>
<p><b>Effects:</b> Returns a starting iterator that enumerates over all the marked
sub-expression matches stored in *this.</p>
<pre><A name=m11></A>
const_iterator end()const;
</pre>
<b></b>
<p><b>Effects:</b> Returns a terminating iterator that enumerates over all the
marked sub-expression matches stored in *this.</p>
<h4><A name="format"></A>match_results reformatting</h4>
<pre><A name=m12></A>template &lt;class OutputIterator&gt;
OutputIterator format(OutputIterator out,
const string_type&amp; fmt,
<A href="match_flag_type.html" >match_flag_type</A> flags = format_default);
</pre>
<b></b>
<p><b>Requires:</b> The type OutputIterator conforms to the Output Iterator
requirements (24.1.2).</p>
<b></b>
<p><b>Effects:</b> Copies the character sequence <i>[fmt.begin(), fmt.end())</i> to
OutputIterator <i>out</i>. For each format specifier or escape sequence in <i>fmt</i>,
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 <i><A href="match_flag_type.html">flags</A></i> determines what <A href="format_syntax.html">
format specifiers or escape sequences are recognized</A>, by default this is
the format used by ECMA-262, ECMAScript Language Specification, Chapter 15 part
5.4.11 String.prototype.replace.</p>
<b></b>
<p><b>Returns:</b> <i>out</i>.</p>
<pre><A name=m13></A>
string_type format(const string_type&amp; fmt,
<A href="match_flag_type.html" >match_flag_type</A> flags = format_default);
</pre>
<b></b>
<p><b>Effects:</b> Returns a copy of the string <i>fmt</i>. For each format
specifier or escape sequence in <i>fmt</i>, 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 <i><A href="match_flag_type.html">flags</A></i>
determines what <A href="format_syntax.html">format specifiers or escape sequences
are recognized</A>, by default this is the format used by ECMA-262,
ECMAScript Language Specification, Chapter 15 part 5.4.11
String.prototype.replace.</p>
<H4>Allocator access</H4>
<pre>allocator_type get_allocator()const;
</pre>
<b></b>
<p><b>Effects:</b> Returns a copy of the Allocator that was passed to the object's
constructor.</p>
<H4><A name="m15"></A>Swap</H4>
<PRE>void swap(match_results&amp; that);
</PRE>
<b></b>
<p><b>Effects:</b> Swaps the contents of the two sequences.</p>
<b></b>
<p><b>Postcondition:</b> <code>*this</code> contains the sequence of matched
sub-expressions that were in <code>that</code>, <code>that</code> contains the
sequence of matched sub-expressions that were in <code>*this</code>.</p>
<b></b>
<p><b>Complexity:</b> constant time.</p>
<H4>Captures</H4>
<PRE><A name=m16></A>typedef typename value_type::capture_sequence_type capture_sequence_type;</PRE>
<P>Defines an implementation-specific type that&nbsp;satisfies the requirements of
a standard library Sequence (21.1.1 including the optional Table 68
operations),&nbsp;whose value_type is a <EM>sub_match&lt;BidirectionalIterator&gt;</EM>.&nbsp;This
type happens to be <EM>std::vector&lt;sub_match&lt;BidirectionalIterator&gt; &gt;</EM>,
but you shouldn't actually rely on that.</P>
<PRE><A name=m17></A>const capture_sequence_type&amp; <A href="#m8" >captures</A>(std::size_t i)const; </PRE>
<P><STRONG>Effects:</STRONG> returns a sequence containing all the captures
obtained for sub-expression <EM>i</EM>.</P>
<P><STRONG>Returns:</STRONG> <code>(*this)[i].captures();</code></P>
<P><STRONG>Preconditions:</STRONG> the library must be built and used with
BOOST_REGEX_MATCH_EXTRA defined, and you must pass the flag <A href="match_flag_type.html">
match_extra</A> to the regex matching functions (<A href="regex_match.html">regex_match</A>,
<A href="regex_search.html">regex_search</A>, <A href="regex_iterator.html">regex_iterator</A>
or <A href="regex_token_iterator.html">regex_token_iterator</A>) in order for
this member function to be defined and return useful information.</P>
<P><STRONG>Rationale:</STRONG> Enabling this feature has several consequences:
</P>
<UL>
<LI>
sub_match occupies more memory resulting in complex expressions running out of
memory or stack space more quickly during matching.
<LI>
The matching algorithms are less efficient at handling some features
(independent sub-expressions for example), even when match_extra is not used.
<LI>
The matching algorithms are much less efficient (i.e. slower), when match_extra
is used.&nbsp; Mostly this is down to the extra memory allocations that have to
take place.</LI></UL>
<h4>match_results non-members</h4>
<PRE><A name=n1></A>template &lt;class BidirectionalIterator, class Allocator&gt;
bool operator == (const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m1,
const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m2);</PRE>
<P><B>Effects:</B> Compares the two sequences for equality.</P>
<PRE><A name=n2></A>template &lt;class BidirectionalIterator, class Allocator&gt;
bool operator != (const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m1,
const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m2);</PRE>
<P><B>Effects:</B> Compares the two sequences for inequality.</P>
<PRE><A name=n3></A>template &lt;class charT, class traits, class BidirectionalIterator, class Allocator&gt;
basic_ostream&lt;charT, traits&gt;&amp;
operator &lt;&lt; (basic_ostream&lt;charT, traits&gt;&amp; os,
const match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m);</PRE>
<P><B>Effects:</B> Writes the contents of <EM>m</EM> to the stream <EM>os</EM> as
if by calling <code>os &lt;&lt; m.str();</code> Returns <EM>os</EM>..</P>
<PRE><A name=n4></A>template &lt;class BidirectionalIterator, class Allocator&gt;
void swap(match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m1,
match_results&lt;BidirectionalIterator, Allocator&gt;&amp; m2);</PRE>
<P><B>Effects:</B> Swaps the contents of the two sequences.</P>
<p></p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

182
doc/partial_matches.html Normal file
View File

@ -0,0 +1,182 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Partial Matches</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Partial Matches</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>The <A href="match_flag_type.html">match-flag</A> <CODE>match_partial</CODE> can
be passed to the following algorithms: <A href="regex_match.html">regex_match</A>,
<A href="regex_search.html">regex_search</A>, and <A href="regex_grep.html">regex_grep</A>.
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 <A href="match_results.html">match_results&lt;&gt;</A> as filled in
by regex_match, regex_search or regex_grep):<BR>
</P>
<P>
<TABLE id="Table2" cellSpacing="0" cellPadding="7" width="100%" border="0">
<TR>
<TD vAlign="top" width="20%">&nbsp;</TD>
<TD vAlign="top" width="20%">Result</TD>
<TD vAlign="top" width="20%">M[0].matched</TD>
<TD vAlign="top" width="20%">M[0].first</TD>
<TD vAlign="top" width="20%">M[0].second</TD>
</TR>
<TR>
<TD vAlign="top" width="20%">No match</TD>
<TD vAlign="top" width="20%">False</TD>
<TD vAlign="top" width="20%">Undefined</TD>
<TD vAlign="top" width="20%">Undefined</TD>
<TD vAlign="top" width="20%">Undefined</TD>
</TR>
<TR>
<TD vAlign="top" width="20%">Partial match</TD>
<TD vAlign="top" width="20%">True</TD>
<TD vAlign="top" width="20%">False</TD>
<TD vAlign="top" width="20%">Start of partial match.</TD>
<TD vAlign="top" width="20%">End of partial match (end of text).</TD>
</TR>
<TR>
<TD vAlign="top" width="20%">Full match</TD>
<TD vAlign="top" width="20%">True</TD>
<TD vAlign="top" width="20%">True</TD>
<TD vAlign="top" width="20%">Start of full match.</TD>
<TD vAlign="top" width="20%">End of full match.</TD>
</TR>
</TABLE>
</P>
<P>The following <A href="../example/snippets/partial_regex_match.cpp">example</A>
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 <CODE>is_possible_card_number</CODE>. 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.</P>
<PRE>#include &lt;string&gt;
#include &lt;iostream&gt;
#include &lt;boost/regex.hpp&gt;
boost::regex e("(\\d{3,4})[- ]?(\\d{4})[- ]?(\\d{4})[- ]?(\\d{4})");
bool is_possible_card_number(const std::string&amp; 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&lt;std::string::const_iterator&gt; 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;
}</PRE>
<P>In the following <A href="../example/snippets/partial_regex_grep.cpp">example</A>,
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:</P>
<PRE>#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;sstream&gt;
#include &lt;string&gt;
#include &lt;boost/regex.hpp&gt;
// match some kind of html tag:
boost::regex e("&lt;[^&gt;]*&gt;");
// count how many:
unsigned int tags = 0;
// saved position of partial match:
char* next_pos = 0;
bool grep_callback(const boost::match_results&lt;char*&gt;&amp; m)
{
if(m[0].matched == false)
{
// save position and return:
next_pos = m[0].first;
}
else
++tags;
return true;
}
void search(std::istream&amp; 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);
}
}</PRE>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

52
doc/performance.html Normal file
View File

@ -0,0 +1,52 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Performance</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Performance</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>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.&nbsp; The following pages compare
Boost.regex with various other regular expression libraries for the following
compilers:</P>
<P><A href="vc71-performance.html">Visual Studio.Net 2003 (recursive Boost.regex
implementation)</A>.</P>
<P><A href="gcc-performance.html">Gcc 3.2 (cygwin) (non-recursive Boost.regex
implementation).</A></P>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

286
doc/posix_api.html Normal file
View File

@ -0,0 +1,286 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: POSIX API Compatibility Functions</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">POSIX API Compatibility Functions</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<PRE>#include &lt;boost/cregex.hpp&gt;
<I>or</I>:
#include &lt;boost/regex.h&gt;</PRE>
<P>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.
</P>
<P><B>Important</B>: Note that all the symbols defined here are enclosed inside
namespace <I>boost</I> when used in C++ programs, unless you use #include
&lt;boost/regex.h&gt; instead - in which case the symbols are still defined in
namespace boost, but are made available in the global namespace as well.</P>
<P>The functions are defined as:
</P>
<PRE>extern "C" {
<B>int</B> regcompA(regex_tA*, <B>const</B> <B>char</B>*, <B>int</B>);
<B>unsigned</B> <B>int</B> regerrorA(<B>int</B>, <B>const</B> regex_tA*, <B>char</B>*, <B>unsigned</B> <B>int</B>);
<B>int</B> regexecA(<B>const</B> regex_tA*, <B>const</B> <B>char</B>*, <B>unsigned</B> <B>int</B>, regmatch_t*, <B>int</B>);
<B>void</B> regfreeA(regex_tA*);
<B>int</B> regcompW(regex_tW*, <B>const</B> <B>wchar_t</B>*, <B>int</B>);
<B>unsigned</B> <B>int</B> regerrorW(<B>int</B>, <B>const</B> regex_tW*, <B>wchar_t</B>*, <B>unsigned</B> <B>int</B>);
<B>int</B> regexecW(<B>const</B> regex_tW*, <B>const</B> <B>wchar_t</B>*, <B>unsigned</B> <B>int</B>, regmatch_t*, <B>int</B>);
<B>void</B> 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
}</PRE>
<P>All the functions operate on structure <B>regex_t</B>, which exposes two public
members:
</P>
<P><B>unsigned int re_nsub</B> this is filled in by <B>regcomp</B> and indicates
the number of sub-expressions contained in the regular expression.
</P>
<P><B>const TCHAR* re_endp</B> points to the end of the expression to compile when
the flag REG_PEND is set.
</P>
<P><I>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.</I>
</P>
<H3>regcomp</H3>
<P><B>regcomp</B> takes a pointer to a <B>regex_t</B>, a pointer to the expression
to compile and a flags parameter which can be a combination of:
<BR>
&nbsp;
</P>
<P>
<TABLE id="Table2" cellSpacing="0" cellPadding="7" width="100%" border="0">
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_EXTENDED</TD>
<TD vAlign="top" width="45%">Compiles modern regular expressions. Equivalent to
regbase::char_classes | regbase::intervals | regbase::bk_refs.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_BASIC</TD>
<TD vAlign="top" width="45%">Compiles basic (obsolete) regular expression syntax.
Equivalent to regbase::char_classes | regbase::intervals | regbase::limited_ops
| regbase::bk_braces | regbase::bk_parens | regbase::bk_refs.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_NOSPEC</TD>
<TD vAlign="top" width="45%">All characters are ordinary, the expression is a
literal string.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_ICASE</TD>
<TD vAlign="top" width="45%">Compiles for matching that ignores character case.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_NOSUB</TD>
<TD vAlign="top" width="45%">Has no effect in this library.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_NEWLINE</TD>
<TD vAlign="top" width="45%">When this flag is set a dot does not match the
newline character.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_PEND</TD>
<TD vAlign="top" width="45%">When this flag is set the re_endp parameter of the
regex_t structure must point to the end of the regular expression to compile.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_NOCOLLATE</TD>
<TD vAlign="top" width="45%">When this flag is set then locale dependent collation
for character ranges is turned off.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_ESCAPE_IN_LISTS<BR>
, , ,
</TD>
<TD vAlign="top" width="45%">When this flag is set, then escape sequences are
permitted in bracket expressions (character sets).</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_NEWLINE_ALT&nbsp;</TD>
<TD vAlign="top" width="45%">When this flag is set then the newline character is
equivalent to the alternation operator |.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_PERL&nbsp;</TD>
<TD vAlign="top" width="45%">Compiles Perl like regular expressions.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_AWK</TD>
<TD vAlign="top" width="45%">A shortcut for awk-like behavior: REG_EXTENDED |
REG_ESCAPE_IN_LISTS</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_GREP</TD>
<TD vAlign="top" width="45%">A shortcut for grep like behavior: REG_BASIC |
REG_NEWLINE_ALT</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">REG_EGREP</TD>
<TD vAlign="top" width="45%">&nbsp;A shortcut for egrep like behavior:
REG_EXTENDED | REG_NEWLINE_ALT</TD>
<TD width="5%">&nbsp;</TD>
</TR>
</TABLE>
</P>
<H3>regerror</H3>
<P>regerror takes the following parameters, it maps an error code to a human
readable string:
<BR>
</P>
<P>
<TABLE id="Table3" cellSpacing="0" cellPadding="7" width="100%" border="0">
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="50%">int code</TD>
<TD vAlign="top" width="50%">The error code.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">const regex_t* e</TD>
<TD vAlign="top" width="50%">The regular expression (can be null).</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">char* buf</TD>
<TD vAlign="top" width="50%">The buffer to fill in with the error message.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">unsigned int buf_size</TD>
<TD vAlign="top" width="50%">The length of buf.</TD>
<TD>&nbsp;</TD>
</TR>
</TABLE>
</P>
<P>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 <B>e</B> must not be null and <B>e-&gt;re_pend</B> 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 <B>code</B>, the return value
is the number of characters in the error message, if the return value is
greater than or equal to <B>buf_size</B> then <B>regerror</B> will have to be
called again with a larger buffer.</P>
<H3>regexec</H3>
<P><B>regexec</B> finds the first occurrence of expression <B>e</B> within string <B>buf</B>.
If <B>len</B> is non-zero then *<B>m</B> is filled in with what matched the
regular expression, <B>m[0]</B> contains what matched the whole string, <B>m[1] </B>
the first sub-expression etc, see <B>regmatch_t</B> in the header file
declaration for more details. The <B>eflags</B> parameter can be a combination
of:
<BR>
&nbsp;
</P>
<P>
<TABLE id="Table4" cellSpacing="0" cellPadding="7" width="100%" border="0">
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="50%">REG_NOTBOL</TD>
<TD vAlign="top" width="50%">Parameter <B>buf </B>does not represent the start of
a line.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">REG_NOTEOL</TD>
<TD vAlign="top" width="50%">Parameter <B>buf</B> does not terminate at the end of
a line.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">REG_STARTEND</TD>
<TD vAlign="top" width="50%">The string searched starts at buf + pmatch[0].rm_so
and ends at buf + pmatch[0].rm_eo.</TD>
<TD>&nbsp;</TD>
</TR>
</TABLE>
</P>
<H3>regfree</H3>
<P>Finally <B>regfree</B> frees all the memory that was allocated by regcomp.
</P>
<P><I>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.</I>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

84
doc/redistributables.html Normal file
View File

@ -0,0 +1,84 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Redistributables and Library Names</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Redistributables and Library Names</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>If you are using Microsoft or Borland C++ and link to a dll version of the run
time library, then you can choose to also link to a dll version of boost.regex
by defining the symbol BOOST_REGEX_DYN_LINK when you compile your code. 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:<BR>
</P>
<P></P>
<P>BOOST_LIB_PREFIX<BR>
+ "boost_regex_"<BR>
+ BOOST_LIB_TOOLSET<BR>
+ "_"<BR>
+ BOOST_LIB_THREAD_OPT<BR>
+ BOOST_LIB_RT_OPT<BR>
+ BOOST_LIB_DEBUG_OPT<BR>
<BR>
These are defined as:</P>
<P>BOOST_LIB_PREFIX: Either "lib" if this is a static link library,
or&nbsp;nothing for dynamic / shared&nbsp;libraries.<BR>
<BR>
BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc).<BR>
<BR>
BOOST_LIB_THREAD_OPT: "s" for single thread builds,<BR>
"m" for multithread builds.<BR>
<BR>
BOOST_LIB_RT_OPT: "s" for static runtime,<BR>
"d" for dynamic runtime.<BR>
<BR>
BOOST_LIB_LINK_OPT: "s" for static link,<BR>
"i" for dynamic link.<BR>
<BR>
BOOST_LIB_DEBUG_OPT: nothing for release builds,<BR>
"d" for debug builds,<BR>
"dd" for debug-diagnostic builds (_STLP_DEBUG).</P>
<P>
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.
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

44
doc/reg_expression.html Normal file
View File

@ -0,0 +1,44 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Class reg_expression (deprecated)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Class reg_expression (deprecated)</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>The use of class template reg_expression is deprecated: use <A href="basic_regex.html">
basic_regex</A> instead.</P>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

82
doc/regbase.html Normal file
View File

@ -0,0 +1,82 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<title>Boost.Regex: regbase</title>
<meta http-equiv="Content-Type" content=
"text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%"
border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt=
"C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">regbase</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt=
"Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<p>Use of the type <code>boost::regbase</code> is now deprecated,
and the type does not form a part of the <a href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1429.htm">
regular expression standardization proposal</a>.&nbsp; This type
still exists as a base class of <code>boost::basic_regex</code>,
and you can still refer to <code>
boost::regbase::constant_name</code> in your code, however for
maximum portability to other std regex implementations you should
instead use either:</p>
<pre>
boost::regex_constants::constant_name
</pre>
<p>or</p>
<pre>
boost::regex::constant_name
</pre>
<p>or</p>
<pre>
boost::wregex::constant_name
</pre>
<p></p>
<hr>
<br>
<br>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

481
doc/regex.html Normal file
View File

@ -0,0 +1,481 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: class RegEx (deprecated)</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">class RegEx (deprecated)</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<p>The high level wrapper class RegEx is now deprecated and does not form a part
of the <a href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1429.htm">regular
expression standardization proposal</a>.&nbsp; This type still exists, and
existing code will continue to compile, however the following documentation is
unlikely to be further updated.</p>
<pre>
#include &lt;boost/cregex.hpp&gt;
</pre>
<p>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.</p>
<pre>
<b>typedef</b> <b>bool</b> (*GrepCallback)(<b>const</b> RegEx&amp; expression);
<b>typedef</b> <b>bool</b> (*GrepFileCallback)(<b>const</b> <b>char</b>* file, <b>const</b> RegEx&amp; expression);
<b>typedef</b> <b>bool</b> (*FindFilesCallback)(<b>const</b> <b>char</b>* file);
<b>class</b> RegEx
{
<b>public</b>:
RegEx();
RegEx(<b>const</b> RegEx&amp; o);
~RegEx();
RegEx(<b>const</b> <b>char</b>* c, <b>bool</b> icase = <b>false</b>);
<strong>explicit</strong> RegEx(<b>const</b> std::string&amp; s, <b>bool</b> icase = <b>false</b>);
RegEx&amp; <b>operator</b>=(<b>const</b> RegEx&amp; o);
RegEx&amp; <b>operator</b>=(<b>const</b> <b>char</b>* p);
RegEx&amp; <b>operator</b>=(<b>const</b> std::string&amp; s);
<b>unsigned</b> <b>int</b> SetExpression(<b>const</b> <b>char</b>* p, <b>bool</b> icase = <b>false</b>);
<b>unsigned</b> <b>int</b> SetExpression(<b>const</b> std::string&amp; s, <b>bool</b> icase = <b>false</b>);
std::string Expression()<b>const</b>;
<font color="#000080"><i>//
</i> <i>// now matching operators:</i>
<i>//</i></font>
<b>bool</b> Match(<b>const</b> <b>char</b>* p, boost::match_flag_type flags = match_default);
<b>bool</b> Match(<b>const</b> std::string&amp; s, boost::match_flag_type flags = match_default);
<b>bool</b> Search(<b>const</b> <b>char</b>* p, boost::match_flag_type flags = match_default);
<b>bool</b> Search(<b>const</b> std::string&amp; s, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> Grep(GrepCallback cb, <b>const</b> <b>char</b>* p, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> Grep(GrepCallback cb, <b>const</b> std::string&amp; s, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> Grep(std::vector&lt;std::string&gt;&amp; v, <b>const</b> <b>char</b>* p, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> Grep(std::vector&lt;std::string&gt;&amp; v, <b>const</b> std::string&amp; s, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> Grep(std::vector&lt;<b>unsigned</b> <b>int</b>&gt;&amp; v, <b>const</b> <b>char</b>* p, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> Grep(std::vector&lt;<b>unsigned</b> <b>int</b>&gt;&amp; v, <b>const</b> std::string&amp; s, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> GrepFiles(GrepFileCallback cb, <b>const</b> <b>char</b>* files, <b>bool</b> recurse = <b>false</b>, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> GrepFiles(GrepFileCallback cb, <b>const</b> std::string&amp; files, <b>bool</b> recurse = <b>false</b>, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> FindFiles(FindFilesCallback cb, <b>const</b> <b>char</b>* files, <b>bool</b> recurse = <b>false</b>, boost::match_flag_type flags = match_default);
<b>unsigned</b> <b>int</b> FindFiles(FindFilesCallback cb, <b>const</b> std::string&amp; files, <b>bool</b> recurse = <b>false</b>, boost::match_flag_type flags = match_default);
std::string Merge(<b>const</b> std::string&amp; in, <b>const</b> std::string&amp; fmt, <b>bool</b> copy = <b>true</b>, boost::match_flag_type flags = match_default);
std::string Merge(<b>const</b> char* in, <b>const</b> char* fmt, <b>bool</b> copy = <b>true</b>, boost::match_flag_type flags = match_default);
<b>unsigned</b> Split(std::vector&lt;std::string&gt;&amp; v, std::string&amp; s, boost::match_flag_type flags = match_default, <b>unsigned</b> max_count = ~0);
<font color="#000080"><i>//
</i> <i>// now operators for returning what matched in more detail:
</i> <i>//
</i></font> <b>unsigned</b> <b>int</b> Position(<b>int</b> i = 0)<b>const</b>;
<b>unsigned</b> <b>int</b> Length(<b>int</b> i = 0)<b>const</b>;
<strong>bool</strong> Matched(<strong>int</strong> i = 0)<strong>const</strong>;
<b>unsigned</b> <b>int</b> Line()<b>const</b>;
<b>unsigned int</b> Marks() const;
std::string What(<b>int</b> i)<b>const</b>;
std::string <b>operator</b>[](<b>int</b> i)<b>const</b> ;
<strong>static const unsigned int</strong> npos;
};
</pre>
<p>Member functions for class RegEx are defined as follows:<br>
&nbsp;</p>
<p></p>
<table id="Table2" cellspacing="0" cellpadding="7" width="100%" border="0">
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">RegEx();</td>
<td valign="top" width="42%">Default constructor, constructs an instance of RegEx
without any valid expression.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">RegEx(<b>const</b> RegEx&amp; o);</td>
<td valign="top" width="42%">Copy constructor, all the properties of parameter <i>o</i>
are copied.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">RegEx(<b>const</b> <b>char</b>* c, <b>bool</b> icase
= <b>false</b>);</td>
<td valign="top" width="42%">Constructs an instance of RegEx, setting the
expression to <i>c</i>, if <i>icase</i> is <i>true</i> then matching is
insensitive to case, otherwise it is sensitive to case. Throws <i>bad_expression</i>
on failure.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">RegEx(<b>const</b> std::string&amp; s, <b>bool</b> icase
= <b>false</b>);</td>
<td valign="top" width="42%">Constructs an instance of RegEx, setting the
expression to <i>s</i>, if <i>icase</i> is <i>true</i> then matching is
insensitive to case, otherwise it is sensitive to case. Throws <i>bad_expression</i>
on failure.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">RegEx&amp; <b>operator</b>=(<b>const</b> RegEx&amp;
o);</td>
<td valign="top" width="42%">Default assignment operator.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">RegEx&amp; <b>operator</b>=(<b>const</b> <b>char</b>*
p);</td>
<td valign="top" width="42%">Assignment operator, equivalent to calling <i>SetExpression(p,
false).</i> Throws <i>bad_expression</i> on failure.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">RegEx&amp; <b>operator</b>=(<b>const</b> std::string&amp;
s);</td>
<td valign="top" width="42%">Assignment operator, equivalent to calling <i>SetExpression(s,
false).</i> Throws <i>bad_expression</i> on failure.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> SetExpression(<b>constchar</b>*
p, <b>bool</b> icase = <b>false</b>);</td>
<td valign="top" width="42%">Sets the current expression to <i>p</i>, if <i>icase</i>
is <i>true</i> then matching is insensitive to case, otherwise it is sensitive
to case. Throws <i>bad_expression</i> on failure.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> SetExpression(<b>const</b>
std::string&amp; s, <b>bool</b> icase = <b>false</b>);</td>
<td valign="top" width="42%">Sets the current expression to <i>s</i>, if <i>icase</i>
is <i>true</i> then matching is insensitive to case, otherwise it is sensitive
to case. Throws <i>bad_expression</i> on failure.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">std::string Expression()<b>const</b>;</td>
<td valign="top" width="42%">Returns a copy of the current regular expression.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>bool</b> Match(<b>const</b> <b>char</b>* p,
boost::match_flag_type flags = match_default);</td>
<td valign="top" width="42%">Attempts to match the current expression against the
text <i>p</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. Returns <i>true</i> if the expression matches the whole of
the input string.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>bool</b> Match(<b>const</b> std::string&amp; s,
boost::match_flag_type flags = match_default) ;</td>
<td valign="top" width="42%">Attempts to match the current expression against the
text <i>s</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. Returns <i>true</i> if the expression matches the whole of
the input string.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>bool</b> Search(<b>const</b> <b>char</b>* p,
boost::match_flag_type flags = match_default);</td>
<td valign="top" width="42%">Attempts to find a match for the current expression
somewhere in the text <i>p</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. Returns <i>true</i> if the match succeeds.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>bool</b> Search(<b>const</b> std::string&amp; s,
boost::match_flag_type flags = match_default) ;</td>
<td valign="top" width="42%">Attempts to find a match for the current expression
somewhere in the text <i>s</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. Returns <i>true</i> if the match succeeds.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> Grep(GrepCallback cb, <b>const</b>
<b>char</b>* p, boost::match_flag_type flags = match_default);</td>
<td valign="top" width="42%">Finds all matches of the current expression in the
text <i>p</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. For each match found calls the call-back function <i>cb</i>
as: cb(*this);
<p>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.</p>
</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> Grep(GrepCallback cb, <b>const</b>
std::string&amp; s, boost::match_flag_type flags = match_default);</td>
<td valign="top" width="42%">Finds all matches of the current expression in the
text <i>s</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. For each match found calls the call-back function <i>cb</i>
as: cb(*this);
<p>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.</p>
</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> Grep(std::vector&lt;std::string&gt;&amp;
v, <b>const</b> <b>char</b>* p, boost::match_flag_type flags = match_default);</td>
<td valign="top" width="42%">Finds all matches of the current expression in the
text <i>p</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. For each match pushes a copy of what matched onto <i>v</i>.
Returns the number of matches found.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> Grep(std::vector&lt;std::string&gt;&amp;
v, <b>const</b> std::string&amp; s, boost::match_flag_type flags =
match_default);</td>
<td valign="top" width="42%">Finds all matches of the current expression in the
text <i>s</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. For each match pushes a copy of what matched onto <i>v</i>.
Returns the number of matches found.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> Grep(std::vector&lt;<b>unsigned
int</b>&gt;&amp; v, <b>const</b> <b>char</b>* p, boost::match_flag_type
flags = match_default);</td>
<td valign="top" width="42%">Finds all matches of the current expression in the
text <i>p</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. For each match pushes the starting index of what matched
onto <i>v</i>. Returns the number of matches found.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> Grep(std::vector&lt;<b>unsigned
int</b>&gt;&amp; v, <b>const</b> std::string&amp; s, boost::match_flag_type
flags = match_default);</td>
<td valign="top" width="42%">Finds all matches of the current expression in the
text <i>s</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. For each match pushes the starting index of what matched
onto <i>v</i>. Returns the number of matches found.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> GrepFiles(GrepFileCallback
cb, <b>const</b> <b>char</b>* files, <b>bool</b> recurse = <b>false</b>,
boost::match_flag_type flags = match_default);</td>
<td valign="top" width="42%">Finds all matches of the current expression in the
files <i>files</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. For each match calls the call-back function cb.&nbsp;
<p>If the call-back returns false then the algorithm returns without considering
further matches in the current file, or any further files.&nbsp;</p>
<p>The parameter <i>files</i> can include wild card characters '*' and '?', if the
parameter <i>recurse</i> is true then searches sub-directories for matching
file names.&nbsp;</p>
<p>Returns the total number of matches found.</p>
<p>May throw an exception derived from std::runtime_error if file io fails.</p>
</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> GrepFiles(GrepFileCallback
cb, <b>const</b> std::string&amp; files, <b>bool</b> recurse = <b>false</b>,
boost::match_flag_type flags = match_default);</td>
<td valign="top" width="42%">Finds all matches of the current expression in the
files <i>files</i> using the match flags <i>flags</i> - see <a href="match_flag_type.html">
match flags</a>. For each match calls the call-back function cb.&nbsp;
<p>If the call-back returns false then the algorithm returns without considering
further matches in the current file, or any further files.&nbsp;</p>
<p>The parameter <i>files</i> can include wild card characters '*' and '?', if the
parameter <i>recurse</i> is true then searches sub-directories for matching
file names.&nbsp;</p>
<p>Returns the total number of matches found.</p>
<p>May throw an exception derived from std::runtime_error if file io fails.</p>
</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> FindFiles(FindFilesCallback
cb, <b>const</b> <b>char</b>* files, <b>bool</b> recurse = <b>false</b>,
boost::match_flag_type flags = match_default);</td>
<td valign="top" width="42%">Searches <i>files</i> to find all those which contain
at least one match of the current expression using the match flags <i>flags</i>
- see <a href="match_flag_type.html">match flags</a>. For each matching file
calls the call-back function cb.&nbsp;
<p>If the call-back returns false then the algorithm returns without considering
any further files.&nbsp;</p>
<p>The parameter <i>files</i> can include wild card characters '*' and '?', if the
parameter <i>recurse</i> is true then searches sub-directories for matching
file names.&nbsp;</p>
<p>Returns the total number of files found.</p>
<p>May throw an exception derived from std::runtime_error if file io fails.</p>
</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> FindFiles(FindFilesCallback
cb, <b>const</b> std::string&amp; files, <b>bool</b> recurse = <b>false</b>,
boost::match_flag_type flags = match_default);</td>
<td valign="top" width="42%">Searches <i>files</i> to find all those which contain
at least one match of the current expression using the match flags <i>flags</i>
- see <a href="match_flag_type.html">match flags</a>. For each matching file
calls the call-back function cb.&nbsp;
<p>If the call-back returns false then the algorithm returns without considering
any further files.&nbsp;</p>
<p>The parameter <i>files</i> can include wild card characters '*' and '?', if the
parameter <i>recurse</i> is true then searches sub-directories for matching
file names.&nbsp;</p>
<p>Returns the total number of files found.</p>
<p>May throw an exception derived from std::runtime_error if file io fails.</p>
</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">std::string Merge(<b>const</b> std::string&amp; in, <b>const</b>
std::string&amp; fmt, <b>bool</b> copy = <b>true</b>, boost::match_flag_type
flags = match_default);</td>
<td valign="top" width="42%">Performs a search and replace operation: searches
through the string <i>in</i> for all occurrences of the current expression, for
each occurrence replaces the match with the format string <i>fmt</i>. Uses <i>flags</i>
to determine what gets matched, and how the format string should be treated. If <i>
copy</i> is true then all unmatched sections of input are copied unchanged
to output, if the flag <em>format_first_only</em> is set then only the first
occurance of the pattern found is replaced. Returns the new string. See <a href="format_syntax.html">
also format string syntax</a>, <a href="match_flag_type.html">match flags</a>
and <a href="match_flag_type.html">format flags</a>.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">std::string Merge(<b>const</b> char* in, <b>const</b>
char* fmt, <b>bool</b> copy = <b>true</b>, boost::match_flag_type flags =
match_default);</td>
<td valign="top" width="42%">Performs a search and replace operation: searches
through the string <i>in</i> for all occurrences of the current expression, for
each occurrence replaces the match with the format string <i>fmt</i>. Uses <i>flags</i>
to determine what gets matched, and how the format string should be treated. If <i>
copy</i> is true then all unmatched sections of input are copied unchanged
to output, if the flag <em>format_first_only</em> is set then only the first
occurance of the pattern found is replaced. Returns the new string. See <a href="format_syntax.html">
also format string syntax</a>, <a href="match_flag_type.html">match flags</a>
and <a href="match_flag_type.html">format flags</a>.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td valign="top"><b>unsigned</b> Split(std::vector&lt;std::string&gt;&amp; v,
std::string&amp; s, boost::match_flag_type flags = match_default, <b>unsigned</b>
max_count = ~0);</td>
<td valign="top">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 <i>max_count</i>
strings. Before returning, deletes from the input string <i>s</i> all of the
input that has been processed (all of the string if <i>max_count</i> was not
reached). Returns the number of strings pushed onto the vector.</td>
<td>&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> Position(<b>int</b> i = 0)<b>const</b>;</td>
<td valign="top" width="42%">Returns the position of what matched sub-expression <i>i</i>.
If <i>i = 0</i> 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.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> Length(<b>int</b> i = 0)<b>const</b>;</td>
<td valign="top" width="42%">Returns the length of what matched sub-expression <i>i</i>.
If <i>i = 0</i> 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.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><strong>bool</strong> Matched(<strong>int</strong> i = 0)<strong>const</strong>;</td>
<td>Returns true if sub-expression <em>i</em> was matched, false otherwise.</td>
<td>&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned</b> <b>int</b> Line()<b>const</b>;</td>
<td valign="top" width="42%">Returns the line on which the match occurred, indexes
start from 1 not zero, if no match occurred then returns RegEx::npos.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%"><b>unsigned int</b> Marks() const;</td>
<td valign="top" width="42%">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 &gt;= 1.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">std::string What(<b>int</b> i)<b>const</b>;</td>
<td valign="top" width="42%">Returns a copy of what matched sub-expression <i>i</i>.
If <i>i = 0</i> 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.</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="7%">&nbsp;</td>
<td valign="top" width="43%">std::string <b>operator</b>[](<b>int</b> i)<b>const</b>
;</td>
<td valign="top" width="42%">Returns <i>what(i);</i>
<p>Can be used to simplify access to sub-expression matches, and make usage more
perl-like.</p>
</td>
<td valign="top" width="7%">&nbsp;</td>
</tr>
</table>
<br>
<br>
<p></p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
04 Feb 2004
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2004<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

204
doc/regex_format.html Normal file
View File

@ -0,0 +1,204 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<title>Boost.Regex: Algorithm regex_format (deprecated)</title>
<meta http-equiv="Content-Type" content=
"text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%"
border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt=
"C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">Algorithm regex_format (deprecated)</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt=
"Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<p>The algorithm regex_format is deprecated; new code should use
match_results::format instead.&nbsp; Existing code will continue to
compile, the following documentation is taken from the previous
version of boost.regex and will not be further updated:</p>
<h3>Algorithm regex_format</h3>
<pre>
#include &lt;<a href="../../../boost/regex.hpp">boost/regex.hpp</a>&gt;
</pre>
<p>The algorithm regex_format takes the results of a match and
creates a new string based upon a <a href="format_syntax.html">
format string</a>, regex_format can be used for search and replace
operations:</p>
<pre>
<b>template</b> &lt;<b>class</b> OutputIterator, <b>class</b> iterator, <b>class</b> Allocator, <b>class</b> charT&gt;
OutputIterator regex_format(OutputIterator out,
<b>const</b> match_results&lt;iterator, Allocator&gt;&amp; m,
<b>const</b> charT* fmt,
match_flag_type flags = 0);
<b>template</b> &lt;<b>class</b> OutputIterator, <b>class</b> iterator, <b>class</b> Allocator, <b>class</b> charT&gt;
OutputIterator regex_format(OutputIterator out,
<b>const</b> match_results&lt;iterator, Allocator&gt;&amp; m,
<b>const</b> std::basic_string&lt;charT&gt;&amp; fmt,
match_flag_type flags = 0);
</pre>
<p>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]:</p>
<pre>
<b>template</b> &lt;<b>class</b> iterator, <b>class</b> Allocator, <b>class</b> charT&gt;
std::basic_string&lt;charT&gt; regex_format
(<b>const</b> match_results&lt;iterator, Allocator&gt;&amp; m,
<b>const</b> charT* fmt,
match_flag_type flags = 0);
<b>template</b> &lt;<b>class</b> iterator, <b>class</b> Allocator, <b>class</b> charT&gt;
std::basic_string&lt;charT&gt; regex_format
(<b>const</b> match_results&lt;iterator, Allocator&gt;&amp; m,
<b>const</b> std::basic_string&lt;charT&gt;&amp; fmt,
match_flag_type flags = 0);
</pre>
<p>Parameters to the main version of the function are passed as
follows:</p>
<p></p>
<table id="Table2" cellspacing="0" cellpadding="7" width="100%"
border="0">
<tr>
<td valign="top" width="9%">&nbsp;</td>
<td valign="top" width="39%">OutputIterator out</td>
<td valign="top" width="44%">An output iterator type, the output
string is sent to this iterator. Typically this would be a
std::ostream_iterator.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="9%">&nbsp;</td>
<td valign="top" width="39%"><b>const</b>
match_results&lt;iterator, Allocator&gt;&amp; m</td>
<td valign="top" width="44%">An instance of match_results&lt;&gt;
obtained from one of the matching algorithms above, and denoting
what matched.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="9%">&nbsp;</td>
<td valign="top" width="39%"><b>const</b> charT* fmt</td>
<td valign="top" width="44%">A format string that determines how
the match is transformed into the new string.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="9%">&nbsp;</td>
<td valign="top" width="39%"><b>unsigned</b> flags</td>
<td valign="top" width="44%">Optional flags which describe how the
format string is to be interpreted.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
</table>
<br>
<br>
<p><a name="format_flags"></a>Format flags are defined as
follows:</p>
<p></p>
<table id="Table3" cellspacing="0" cellpadding="7" width="100%"
border="0">
<tr>
<td valign="top" width="9%">&nbsp;</td>
<td valign="top" width="39%">format_all</td>
<td valign="top" width="43%">Enables all syntax options (perl-like
plus extentions).</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="9%">&nbsp;</td>
<td valign="top" width="39%">format_sed</td>
<td valign="top" width="43%">Allows only a sed-like syntax.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="9%">&nbsp;</td>
<td valign="top" width="39%">format_perl</td>
<td valign="top" width="43%">Allows only a perl-like syntax.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="9%">&nbsp;</td>
<td valign="top" width="39%">format_no_copy</td>
<td valign="top" width="43%">Disables copying of unmatched sections
to the output string during <a href="regex_merge.html">
regex_merge</a> operations.</td>
<td valign="top" width="9%">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>format_first_only</td>
<td>When this flag is set only the first occurance will be replaced
(applies to regex_merge only).</td>
<td>&nbsp;</td>
</tr>
</table>
<br>
<br>
<p>The format string syntax (and available options) is described
more fully under <a href="format_syntax.html">format strings</a>
.</p>
<p></p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

381
doc/regex_grep.html Normal file
View File

@ -0,0 +1,381 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Algorithm regex_grep (deprecated)</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">Algorithm regex_grep (deprecated)</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<p>The algorithm regex_grep is deprecated in favor of <a href="regex_iterator.html">regex_iterator</a>
which provides a more convenient and standard library friendly interface.</p>
<p>The following documentation is taken unchanged from the previous boost release,
and will not be updated in future.</p>
<hr>
<pre>
#include &lt;<a href="../../../boost/regex.hpp">boost/regex.hpp</a>&gt;
</pre>
<p>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:</p>
<pre>
<b>template</b> &lt;<b>class</b> Predicate, <b>class</b> iterator, <b>class</b> charT, <b>class</b> traits, <b>class</b> Allocator&gt;
<b>unsigned</b> <b>int</b> regex_grep(Predicate foo,
iterator first,
iterator last,
<b>const</b> basic_regex&lt;charT, traits, Allocator&gt;&amp; e,
boost::match_flag_type flags = match_default)
</pre>
<p>The library also defines the following convenience versions, which take either
a const charT*, or a const std::basic_string&lt;&gt;&amp; 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]:</p>
<pre>
<b>template</b> &lt;<b>class</b> Predicate, <b>class</b> charT, <b>class</b> Allocator, <b>class</b> traits&gt;
<b>unsigned</b> <b>int</b> regex_grep(Predicate foo,
<b>const</b> charT* str,
<b>const</b> basic_regex&lt;charT, traits, Allocator&gt;&amp; e,
boost::match_flag_type flags = match_default);
<b>template</b> &lt;<b>class</b> Predicate, <b>class</b> ST, <b>class</b> SA, <b>class</b> Allocator, <b>class</b> charT, <b>class</b> traits&gt;
<b>unsigned</b> <b>int</b> regex_grep(Predicate foo,
<b>const</b> std::basic_string&lt;charT, ST, SA&gt;&amp; s,
<b>const</b> basic_regex&lt;charT, traits, Allocator&gt;&amp; e,
boost::match_flag_type flags = match_default);
</pre>
<p>The parameters for the primary version of regex_grep have the following
meanings:&nbsp;</p>
<p></p>
<table id="Table2" cellspacing="0" cellpadding="7" width="624" border="0">
<tr>
<td width="5%">&nbsp;</td>
<td valign="top" width="50%">foo</td>
<td valign="top" width="50%">A predicate function object or function pointer, see
below for more information.</td>
<td width="5%">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td valign="top" width="50%">first</td>
<td valign="top" width="50%">The start of the range to search.</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td valign="top" width="50%">last</td>
<td valign="top" width="50%">The end of the range to search.</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td valign="top" width="50%">e</td>
<td valign="top" width="50%">The regular expression to search for.</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td valign="top" width="50%">flags</td>
<td valign="top" width="50%">The flags that determine how matching is carried out,
one of the <a href="#match_type">match_flags</a> enumerators.</td>
<td>&nbsp;</td>
</tr>
</table>
<br>
<br>
<p>The algorithm finds all of the non-overlapping matches of the expression e, for
each match it fills a <a href="#reg_match">match_results</a>&lt;iterator,
Allocator&gt; structure, which contains information on what matched, and calls
the predicate foo, passing the match_results&lt;iterator, Allocator&gt; 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.</p>
<p>The general form of the predicate is:</p>
<pre>
<b>struct</b> grep_predicate
{
<b> bool</b> <b>operator</b>()(<b>const</b> match_results&lt;iterator_type, typename expression_type::alloc_type::template rebind&lt;sub_match&lt;BidirectionalIterator&gt; &gt;::other&gt;&amp; m);
};
</pre>
<p>Note that in almost every case the allocator parameter can be omitted, when
specifying the <a href="match_results.html">match_results</a> type,
alternatively one of the typedefs cmatch, wcmatch, smatch or wsmatch can be
used.</p>
<p>For example the regular expression "a*b" would find one match in the string
"aaaaab" and two in the string "aaabb".</p>
<p>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.</p>
<P>The algorithm may throw&nbsp;<CODE>std::runtime_error</CODE> if the complexity
of matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<p><a href="../example/snippets/regex_grep_example_1.cpp"> Example</a>: convert
the example from <i>regex_search</i> to use <i>regex_grep</i> instead:</p>
<pre>
<font color="#008000">#include &lt;string&gt;
#include &lt;map&gt;
#include &lt;boost/regex.hpp&gt;
</font><font color="#000080"><i>// 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
</i></font><b>typedef</b> std::map&lt;std::string, <b>int</b>, std::less&lt;std::string&gt; &gt; map_type;
const char* re =
// possibly leading whitespace:
"^[[:space:]]*"
// possible template declaration:
"(template[[:space:]]*&lt;[^;:{]+&gt;[[:space:]]*)?"
// class or struct:
"(class|struct)[[:space:]]*"
// leading declspec macros etc:
"("
"\\&lt;\\w+\\&gt;"
"("
"[[:blank:]]*\\([^)]*\\)"
")?"
"[[:space:]]*"
")*"
// the class name
"(\\&lt;\\w*\\&gt;)[[:space:]]*"
// template specialisation parameters
"(&lt;[^;:{]+&gt;)?[[:space:]]*"
// terminate in { or :
"(\\{|:[^;\\{()]*\\{)";
boost::regex expression(re);
<b>class</b> IndexClassesPred
{
map_type&amp; m;
std::string::const_iterator base;
<b>public</b>:
IndexClassesPred(map_type&amp; a, std::string::const_iterator b) : m(a), base(b) {}
<b>bool</b> <b>operator</b>()(<b>const</b> smatch&amp; what)
{
<font color=
#000080> <i>// what[0] contains the whole string
</i> <i>// what[5] contains the class name.
</i> <i>// what[6] contains the template specialisation if any.
</i> <i>// add class name and position to map:
</i></font> m[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] =
what[5].first - base;
<b>return</b> <b>true</b>;
}
};
<b>void</b> IndexClasses(map_type&amp; m, <b>const</b> std::string&amp; file)
{
std::string::const_iterator start, end;
start = file.begin();
end = file.end();
regex_grep(IndexClassesPred(m, start), start, end, expression);
}
</pre>
<p><a href="../example/snippets/regex_grep_example_2.cpp"> Example</a>: Use
regex_grep to call a global callback function:</p>
<pre>
<font color="#008000">#include &lt;string&gt;
#include &lt;map&gt;
#include &lt;boost/regex.hpp&gt;
</font><font color="#000080"><i>// 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
</i></font><b>typedef</b> std::map&lt;std::string, <b>int</b>, std::less&lt;std::string&gt; &gt; map_type;
const char* re =
// possibly leading whitespace:
"^[[:space:]]*"
// possible template declaration:
"(template[[:space:]]*&lt;[^;:{]+&gt;[[:space:]]*)?"
// class or struct:
"(class|struct)[[:space:]]*"
// leading declspec macros etc:
"("
"\\&lt;\\w+\\&gt;"
"("
"[[:blank:]]*\\([^)]*\\)"
")?"
"[[:space:]]*"
")*"
// the class name
"(\\&lt;\\w*\\&gt;)[[:space:]]*"
// template specialisation parameters
"(&lt;[^;:{]+&gt;)?[[:space:]]*"
// terminate in { or :
"(\\{|:[^;\\{()]*\\{)";
boost::regex expression(re);
map_type class_index;
std::string::const_iterator base;
<b>bool</b> grep_callback(<b>const</b> boost::smatch&amp; what)
{
<font color="#000080"> <i>// what[0] contains the whole string
</i> <i>// what[5] contains the class name.
</i> <i>// what[6] contains the template specialisation if any.
</i> <i>// add class name and position to map:
</i></font> class_index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] =
what[5].first - base;
<b>return</b> <b>true</b>;
}
<b>void</b> IndexClasses(<b>const</b> std::string&amp; file)
{
std::string::const_iterator start, end;
start = file.begin();
end = file.end();
base = start;
regex_grep(grep_callback, start, end, expression, match_default);
}
</pre>
<p><a href="../example/snippets/regex_grep_example_3.cpp"> Example</a>: use
regex_grep to call a class member function, use the standard library adapters <i>std::mem_fun</i>
and <i>std::bind1st</i> to convert the member function into a predicate:</p>
<pre>
<font color="#008000">#include &lt;string&gt;
#include &lt;map&gt;
#include &lt;boost/regex.hpp&gt;
#include &lt;functional&gt;
</font><font color="#000080"><i>// 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
</i></font><b>typedef</b> std::map&lt;std::string, <b>int</b>, std::less&lt;std::string&gt; &gt; map_type;
<b>class</b> class_index
{
boost::regex expression;
map_type index;
std::string::const_iterator base;
<b>bool</b> grep_callback(boost::smatch what);
<b>public</b>:
<b> void</b> IndexClasses(<b>const</b> std::string&amp; file);
class_index()
: index(),
expression(<font color=
#000080>"^(template[[:space:]]*&lt;[^;:{]+&gt;[[:space:]]*)?"
"(class|struct)[[:space:]]*(\\&lt;\\w+\\&gt;([[:blank:]]*\\([^)]*\\))?"
"[[:space:]]*)*(\\&lt;\\w*\\&gt;)[[:space:]]*(&lt;[^;:{]+&gt;[[:space:]]*)?"
"(\\{|:[^;\\{()]*\\{)"
</font> ){}
};
<b>bool</b> class_index::grep_callback(boost::smatch what)
{
<font color="#000080"> <i>// what[0] contains the whole string
</i> <i>// what[5] contains the class name.
</i> <i>// what[6] contains the template specialisation if any.
</i> <i>// add class name and position to map:
</i></font> index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] =
what[5].first - base;
<b>return</b> <b>true</b>;
}
<b>void</b> class_index::IndexClasses(<b>const</b> std::string&amp; file)
{
std::string::const_iterator start, end;
start = file.begin();
end = file.end();
base = start;
regex_grep(std::bind1st(std::mem_fun(&amp;class_index::grep_callback), <b>this</b>),
start,
end,
expression);
}
</pre>
<p><a href="../example/snippets/regex_grep_example_4.cpp"> Finally</a>, C++
Builder users can use C++ Builder's closure type as a callback argument:</p>
<pre>
<font color="#008000">#include &lt;string&gt;
#include &lt;map&gt;
#include &lt;boost/regex.hpp&gt;
#include &lt;functional&gt;
</font><font color="#000080"><i>// 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
</i></font><b>typedef</b> std::map&lt;std::string, <b>int</b>, std::less&lt;std::string&gt; &gt; map_type;
<b>class</b> class_index
{
boost::regex expression;
map_type index;
std::string::const_iterator base;
<b>typedef</b> boost::smatch arg_type;
<b>bool</b> grep_callback(<b>const</b> arg_type&amp; what);
<b>public</b>:
<b>typedef</b> <b>bool</b> (<b>__closure</b>* grep_callback_type)(<b>const</b> arg_type&amp;);
<b>void</b> IndexClasses(<b>const</b> std::string&amp; file);
class_index()
: index(),
expression(<font color=
#000080>"^(template[[:space:]]*&lt;[^;:{]+&gt;[[:space:]]*)?"
"(class|struct)[[:space:]]*(\\&lt;\\w+\\&gt;([[:blank:]]*\\([^)]*\\))?"
"[[:space:]]*)*(\\&lt;\\w*\\&gt;)[[:space:]]*(&lt;[^;:{]+&gt;[[:space:]]*)?"
"(\\{|:[^;\\{()]*\\{)"
</font> ){}
};
<b>bool</b> class_index::grep_callback(<b>const</b> arg_type&amp; what)
{
<font color=
#000080> <i>// what[0] contains the whole string</i>
<i>// what[5] contains the class name.</i>
<i>// what[6] contains the template specialisation if any.</i>
<i>// add class name and position to map:</i></font>
index[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] =
what[5].first - base;
<b>return</b> <b>true</b>;
}
<b>void</b> class_index::IndexClasses(<b>const</b> std::string&amp; file)
{
std::string::const_iterator start, end;
start = file.begin();
end = file.end();
base = start;
class_index::grep_callback_type cl = &amp;(<b>this</b>-&gt;grep_callback);
regex_grep(cl,
start,
end,
expression);
}
</pre>
<p></p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
04 Feb 2004
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2004<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

432
doc/regex_iterator.html Normal file
View File

@ -0,0 +1,432 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: regex_iterator</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../../../boost.css" type="text/css" rel="stylesheet">
</head>
<body>
<p></p>
<table id="Table1" cellspacing="1" cellpadding="1" width="100%" border="0">
<tr>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" alt="C++ Boost" src="../../../c++boost.gif" width="277" border="0"></a></h3>
</td>
<td width="353">
<h1 align="center">Boost.Regex</h1>
<h2 align="center">regex_iterator</h2>
</td>
<td width="50">
<h3><a href="index.html"><img height="45" alt="Boost.Regex Index" src="uarrow.gif" width="43" border="0"></a></h3>
</td>
</tr>
</table>
<br>
<br>
<hr>
<h3>Contents</h3>
<dl class="index">
<dt><a href="#synopsis">Synopsis</a> <dt><a href="#description">Description</a> <dt><a href="#examples">
Examples</a></dt>
</dl>
<h3><a name="synopsis"></a>Synopsis</h3>
<p>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&nbsp;<a href="match_results.html">match_results</a> object.</p>
<pre>
template &lt;class BidirectionalIterator,
class charT = iterator_traits&lt;BidirectionalIterator&gt;::value_type,
class traits = regex_traits&lt;charT&gt;,
class Allocator = allocator&lt;charT&gt; &gt;
class regex_iterator
{
public:
typedef <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator&gt; regex_type;
typedef <A href="match_results.html">match_results</A>&lt;BidirectionalIterator&gt; value_type;
typedef typename iterator_traits&lt;BidirectionalIterator&gt;::difference_type difference_type;
typedef const value_type* pointer;
typedef const value_type&amp; reference;
typedef std::forward_iterator_tag iterator_category;
<A href="#c1">regex_iterator</A>();
<A href="#c2">regex_iterator</A>(BidirectionalIterator a, BidirectionalIterator b,
const regex_type&amp; re,
<A href="match_flag_type.html">match_flag_type</A> m = match_default);
<A href="#c3">regex_iterator</A>(const regex_iterator&amp;);
regex_iterator&amp; <A href="#o1">operator</A>=(const regex_iterator&amp;);
bool <A href="#o2">operator</A>==(const regex_iterator&amp;)const;
bool <A href="#o3">operator</A>!=(const regex_iterator&amp;)const;
const value_type&amp; <A href="#o4">operator</A>*()const;
const value_type* <A href="#o5">operator</A>-&gt;()const;
regex_iterator&amp; <A href="#o6">operator</A>++();
regex_iterator <A href="#o7">operator</A>++(int);
};
typedef regex_iterator&lt;const char*&gt; cregex_iterator;
typedef regex_iterator&lt;std::string::const_iterator&gt; sregex_iterator;
#ifndef BOOST_NO_WREGEX
typedef regex_iterator&lt;const wchar_t*&gt; wcregex_iterator;
typedef regex_iterator&lt;std::wstring::const_iterator&gt; wsregex_iterator;
#endif
</pre>
<h3><a name="description"></a>Description</h3>
<p>A regex_iterator is constructed from a pair of iterators, and enumerates all
occurrences of a regular expression within that iterator range.</p>
<pre><A name=c1></A>
regex_iterator();
</pre>
<b></b>
<p><b>Effects:</b> constructs an end of sequence regex_iterator.</p>
<pre><A name=c2></A>regex_iterator(BidirectionalIterator a, BidirectionalIterator b,
const regex_type&amp; re,
<A href="match_flag_type.html">match_flag_type</A> m = match_default);
</pre>
<b></b>
<p><b>Effects:</b> constructs a regex_iterator that will enumerate all occurrences
of the expression <em>re</em>, within the sequence <em>[a,b)</em>, and found
using match flags <em>m</em>.&nbsp; The object <em>re</em> must exist for the
lifetime of the regex_iterator.</p>
<P><STRONG>Throws:</STRONG> <CODE>std::runtime_error</CODE> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<pre><A name=c3></A>
regex_iterator(const regex_iterator&amp; that);
</pre>
<b></b>
<p><b>Effects:</b> constructs a copy of <code>that</code>.</p>
<b></b>
<p><b>Postconditions:</b> <code>*this == that</code>.</p>
<pre><A name=o1></A>
regex_iterator&amp; operator=(const regex_iterator&amp;);
</pre>
<b></b>
<p><b>Effects:</b> sets&nbsp;<code>*this</code> equal to those in <code>that</code>.</p>
<b></b>
<p><b>Postconditions:</b> <code>*this == that</code>.</p>
<pre><A name=o2></A>
bool operator==(const regex_iterator&amp; that)const;
</pre>
<b></b>
<p><b>Effects:</b> returns true if *this is equal to that.</p>
<pre><A name=o3></A>
bool operator!=(const regex_iterator&amp;)const;
</pre>
<b></b>
<p><b>Effects:</b> returns <code>!(*this == that)</code>.</p>
<pre><A name=o4></A>
const value_type&amp; operator*()const;
</pre>
<p><b>Effects:</b> dereferencing a regex_iterator object <em>it</em> yields a
const reference to a <a href="match_results.html">match_results</a> object,
whose members are set as follows:</p>
<p></p>
<table id="Table2" cellspacing="1" cellpadding="7" width="624" border="1">
<tbody>
<tr>
<td valign="top" width="50%"><b></b>
<p><b>Element</b></p>
</td>
<td valign="top" width="50%"><b></b>
<p><b>Value</b></p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it).size()</p>
</td>
<td valign="top" width="50%">
<p>re.mark_count()</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it).empty()</p>
</td>
<td valign="top" width="50%">
<p>false</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it).prefix().first</p>
</td>
<td valign="top" width="50%">
<p>The end of the last match found, or the start of the underlying sequence if
this is the first match enumerated</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it).prefix().last</p>
</td>
<td valign="top" width="50%">
<p>The same as the start of the match found:<BR>
(*it)[0].first</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it).prefix().matched</p>
</td>
<td valign="top" width="50%">
<p>True if the prefix did not match an empty string:<BR>
(*it).prefix().first != (*it).prefix().second</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it).suffix().first</p>
</td>
<td valign="top" width="50%">
<p>The same as the end of the match found:<BR>
(*it)[0].second</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it).suffix().last</p>
</td>
<td valign="top" width="50%">
<p>The end of the underlying sequence.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it).suffix().matched</p>
</td>
<td valign="top" width="50%">
<p>True if the suffix did not match an empty string:<BR>
(*it).suffix().first != (*it).suffix().second</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it)[0].first</p>
</td>
<td valign="top" width="50%">
<p>The start of the sequence of characters that matched the regular expression</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it)[0].second</p>
</td>
<td valign="top" width="50%">
<p>The end of the sequence of characters that matched the regular expression</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it)[0].matched</p>
</td>
<td valign="top" width="50%">
<p><code>true</code> if a full match was found, and <code>false</code> if it was a
partial match (found as a result of the <code>match_partial</code> flag being
set).</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it)[n].first</p>
</td>
<td valign="top" width="50%">
<p>For all integers n &lt; (*it).size(), the start of the sequence that matched
sub-expression <i>n</i>. Alternatively, if sub-expression n did not participate
in the match, then <i>last</i>.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it)[n].second</p>
</td>
<td valign="top" width="50%">
<p>For all integers n &lt; (*it).size(), the end of the sequence that matched
sub-expression <i>n</i>. Alternatively, if sub-expression n did not participate
in the match, then <i>last</i>.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<p>(*it)[n].matched</p>
</td>
<td valign="top" width="50%">
<p>For all integers n &lt; (*it).size(), true if sub-expression <i>n</i> participated
in the match, false otherwise.</p>
</td>
</tr>
<tr>
<td valign="top" width="50%">(*it).position(n)</td>
<td valign="top" width="50%">For all integers n &lt; (*it).size(), then the
distance from the start of the underlying sequence to the start of
sub-expression match <em>n</em>.</td>
</tr>
</tbody>
</table>
<br>
<br>
<pre><A name=o5></A>
const value_type* operator-&gt;()const;
</pre>
<b></b>
<p><b>Effects:</b> returns <code>&amp;(*this)</code>.</p>
<pre><A name=o6></A>
regex_iterator&amp; operator++();
</pre>
<p><strong>Effects:</strong> moves the iterator to the next match in the
underlying sequence, or the end of sequence iterator if none if found.
&nbsp;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.</p>
<P><STRONG>Throws:</STRONG> <CODE>std::runtime_error</CODE> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<b></b>
<p><b>Returns:</b> <code>*this</code>.</p>
<pre><A name=o7></A>
regex_iterator operator++(int);
</pre>
<b></b>
<p><b>Effects:</b> constructs a copy <code>result</code> of <code>*this</code>,
then calls <code>++(*this)</code>.</p>
<b></b>
<p><b>Returns:</b> <code>result</code>.</p>
<h3>Examples</h3>
<p>The following <a href="../example/snippets/regex_iterator_example.cpp">example</a>
takes a C++ source file and builds up an index of class names, and the location
of that class in the file.</p>
<pre>
<font color="#008040">#include &lt;string&gt;</font>
<font color="#008040">#include &lt;map&gt;</font>
<font color="#008040">#include &lt;fstream&gt;</font>
<font color="#008040">#include &lt;iostream&gt;</font>
<font color="#008040">#include &lt;boost/regex.hpp&gt;</font>
<b>using</b> <b>namespace</b> std;
<i><font color="#000080">// purpose:</font></i>
<i><font color=
#000080>// takes the contents of a file in the form of a string</font></i>
<i><font color=
#000080>// and searches for all the C++ class definitions, storing</font></i>
<i><font color=
#000080>// their locations in a map of strings/int's</font></i>
<b>typedef</b> std::map&lt;std::string, std::string::difference_type, std::less&lt;std::string&gt; &gt; map_type;
<b>const</b> <b>char</b>* re =
<i><font color=
#000080>// possibly leading whitespace: </font></i>
<font color="#0000ff">"^[[:space:]]*"</font>
<i><font color=
#000080>// possible template declaration:</font></i>
<font color=
#0000ff>"(template[[:space:]]*&lt;[^;:{]+&gt;[[:space:]]*)?"</font>
<i><font color="#000080">// class or struct:</font></i>
<font color="#0000ff">"(class|struct)[[:space:]]*"</font>
<i><font color=
#000080>// leading declspec macros etc:</font></i>
<font color="#0000ff">"("</font>
<font color="#0000ff">"\\&lt;\\w+\\&gt;"</font>
<font color="#0000ff">"("</font>
<font color="#0000ff">"[[:blank:]]*\\([^)]*\\)"</font>
<font color="#0000ff">")?"</font>
<font color="#0000ff">"[[:space:]]*"</font>
<font color="#0000ff">")*"</font>
<i><font color="#000080">// the class name</font></i>
<font color="#0000ff">"(\\&lt;\\w*\\&gt;)[[:space:]]*"</font>
<i><font color=
#000080>// template specialisation parameters</font></i>
<font color="#0000ff">"(&lt;[^;:{]+&gt;)?[[:space:]]*"</font>
<i><font color="#000080">// terminate in { or :</font></i>
<font color="#0000ff">"(\\{|:[^;\\{()]*\\{)"</font>;
boost::regex expression(re);
map_type class_index;
<b>bool</b> regex_callback(<b>const</b> boost::match_results&lt;std::string::const_iterator&gt;&amp; what)
{
<i><font color=
#000080>// what[0] contains the whole string</font></i>
<i><font color=
#000080>// what[5] contains the class name.</font></i>
<i><font color=
#000080>// what[6] contains the template specialisation if any.</font></i>
<i><font color=
#000080>// add class name and position to map:</font></i>
class_index[what[<font color=
#0000a0>5</font>].str() + what[<font color=
#0000a0>6</font>].str()] = what.position(<font color=
#0000a0>5</font>);
<b>return</b> <b>true</b>;
}
<b>void</b> load_file(std::string&amp; s, std::istream&amp; is)
{
s.erase();
s.reserve(is.rdbuf()-&gt;in_avail());
<b>char</b> c;
<b>while</b>(is.get(c))
{
<b>if</b>(s.capacity() == s.size())
s.reserve(s.capacity() * <font color="#0000a0">3</font>);
s.append(<font color="#0000a0">1</font>, c);
}
}
<b>int</b> main(<b>int</b> argc, <b>const</b> <b>char</b>** argv)
{
std::string text;
<b>for</b>(<b>int</b> i = <font color=
#0000a0>1</font>; i &lt; argc; ++i)
{
cout &lt;&lt; <font color=
#0000ff>"Processing file "</font> &lt;&lt; argv[i] &lt;&lt; endl;
std::ifstream fs(argv[i]);
load_file(text, fs);
<i><font color=
#000080>// construct our iterators:</font></i>
boost::sregex_iterator m1(text.begin(), text.end(), expression);
boost::sregex_iterator m2;
std::for_each(m1, m2, &amp;regex_callback);
<i><font color="#000080">// copy results:</font></i>
cout &lt;&lt; class_index.size() &lt;&lt; <font color=
#0000ff>" matches found"</font> &lt;&lt; endl;
map_type::iterator c, d;
c = class_index.begin();
d = class_index.end();
<b>while</b>(c != d)
{
cout &lt;&lt; <font color=
#0000ff>"class \""</font> &lt;&lt; (*c).first &lt;&lt; <font
color=
#0000ff>"\" found at index: "</font> &lt;&lt; (*c).second &lt;&lt; endl;
++c;
}
class_index.erase(class_index.begin(), class_index.end());
}
<b>return</b> <font color="#0000a0">0</font>;
}
</pre>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

321
doc/regex_match.html Normal file
View File

@ -0,0 +1,321 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Algorithm regex_match</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Algorithm regex_match</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<H3>Contents</H3>
<dl class="index">
<dt><a href="#synopsis">Synopsis</a> <dt><a href="#description">Description</a> <dt><a href="#examples">
Examples</a></dt>
</dl>
<H3><A name="synopsis"></A>Synopsis</H3>
<PRE><A name=query_match></A>#include &lt;<A href="../../../boost/regex.hpp">boost/regex.hpp</A>&gt; </PRE>
<P>
The algorithm regex _match determines whether a given regular expression
matches all of a given character sequence denoted by a pair of
bidirectional-iterators, the algorithm is defined as follows, the main use of
this function is data input validation.
<P><STRONG>Note that the result is true only if the expression matches the whole of
the input sequence.&nbsp;</STRONG> If you want to search for an expression
somewhere within the sequence then use <A href="regex_search.html">regex_search</A>.&nbsp;
If you want to match a prefix of the character string then use <A href="regex_search.html">
regex_search</A> with the flag <A href="match_flag_type.html">match_continuous</A>
set.
<PRE>template &lt;class BidirectionalIterator, class Allocator, class charT,
class traits, class Allocator2&gt;
bool <A href="#f1">regex_match</A>(BidirectionalIterator first, BidirectionalIterator last,
<A href="match_results.html">match_results</A>&lt;BidirectionalIterator, Allocator&gt;&amp; m,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);
template &lt;class BidirectionalIterator, class charT, class traits, class Allocator2&gt;
bool <A href="#f2">regex_match</A>(BidirectionalIterator first, BidirectionalIterator last,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);
template &lt;class charT, class Allocator, class traits, class Allocator2&gt;
bool <A href="#f3">regex_match</A>(const charT* str, <A href="match_results.html">match_results</A>&lt;const charT*, Allocator&gt;&amp; m,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);
template &lt;class ST, class SA, class Allocator, class charT,
class traits, class Allocator2&gt;
bool <A href="#f4">regex_match</A>(const basic_string&lt;charT, ST, SA&gt;&amp; s,
<A href="match_results.html">match_results</A>&lt;typename basic_string&lt;charT, ST, SA&gt;::const_iterator, Allocator&gt;&amp; m,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);
template &lt;class charT, class traits, class Allocator2&gt;
bool <A href="#f5">regex_match</A>(const charT* str,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);
template &lt;class ST, class SA, class charT, class traits, class Allocator2&gt;
bool <A href="#f6">regex_match</A>(const basic_string&lt;charT, ST, SA&gt;&amp; s,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);
</PRE>
<H3><A name="description"></A>Description</H3>
<PRE><A name=f1></A>template &lt;class BidirectionalIterator, class Allocator, class charT,
class traits, class Allocator2&gt;
bool regex_match(BidirectionalIterator first, BidirectionalIterator last,
<A href="match_results.html">match_results</A>&lt;BidirectionalIterator, Allocator&gt;&amp; m,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);</PRE>
<P><B> Requires:</B> Type BidirectionalIterator meets the requirements of a
Bidirectional Iterator (24.1.4).</P>
<P><B> Effects: </B>Determines whether there is an exact match between the regular
expression <I>e</I>, and all of the character sequence [first, last), parameter <I>
flags</I> is used to <A href="match_flag_type.html">control how the expression
is matched</A> against the character sequence. Returns true if such a match
exists, false otherwise.</P>
<P><STRONG>Throws:</STRONG> <code>std::runtime_error</code> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<P><B> Postconditions: </B>If the function returns false, then the effect on
parameter <I>m</I> is undefined, otherwise the effects on parameter <I>m</I> are
given in the table:</P>
<P align="center">
<CENTER>
<TABLE id="Table2" cellSpacing="1" cellPadding="7" width="624" border="1">
<TBODY>
<TR>
<TD vAlign="top" width="50%">
<P><B> Element</B>
</P>
</TD>
<TD vAlign="top" width="50%">
<P><B> Value</B>
</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.size()</P>
</TD>
<TD vAlign="top" width="50%">
<P>e.mark_count()</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.empty()</P>
</TD>
<TD vAlign="top" width="50%">
<P>false</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.prefix().first</P>
</TD>
<TD vAlign="top" width="50%">
<P>first</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.prefix().last</P>
</TD>
<TD vAlign="top" width="50%">
<P>first</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.prefix().matched</P>
</TD>
<TD vAlign="top" width="50%">
<P>false</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.suffix().first</P>
</TD>
<TD vAlign="top" width="50%">
<P>last</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.suffix().last</P>
</TD>
<TD vAlign="top" width="50%">
<P>last</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.suffix().matched</P>
</TD>
<TD vAlign="top" width="50%">
<P>false</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[0].first</P>
</TD>
<TD vAlign="top" width="50%">
<P>first</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[0].second</P>
</TD>
<TD vAlign="top" width="50%">
<P>last</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[0].matched</P>
</TD>
<TD vAlign="top" width="50%">
<P><CODE> true</CODE> if a full match was found, and <CODE>false</CODE> if it was
a partial match (found as a result of the <CODE>match_partial</CODE> flag being
set).</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[n].first</P>
</TD>
<TD vAlign="top" width="50%">
<P>For all integers n &lt; m.size(), the start of the sequence that matched
sub-expression <I>n</I>. Alternatively, if sub-expression n did not participate
in the match, then <I>last</I>.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[n].second</P>
</TD>
<TD vAlign="top" width="50%">
<P>For all integers n &lt; m.size(), the end of the sequence that matched
sub-expression <I>n</I>. Alternatively, if sub-expression n did not participate
in the match, then <I>last</I>.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[n].matched</P>
</TD>
<TD vAlign="top" width="50%">
<P>For all integers n &lt; m.size(), true if sub-expression <I>n</I> participated
in the match, false otherwise.</P>
</TD>
</TR>
</TBODY></TD></TR></TABLE>
</CENTER>
<P></P>
<DIV></DIV>
<PRE>&nbsp;</PRE>
<PRE><A name=f2></A>template &lt;class BidirectionalIterator, class charT, class traits, class Allocator2&gt;
bool regex_match(BidirectionalIterator first, BidirectionalIterator last,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);</PRE>
<P><B> Effects:</B> Behaves "as if" by constructing an instance of <CODE><A href="match_results.html">
match_results</A>&lt;</CODE>BidirectionalIterator<CODE>&gt; what</CODE>,
and then returning the result of <CODE>regex_match(first, last, what, e, flags)</CODE>.</P>
<PRE><A name=f3></A>template &lt;class charT, class Allocator, class traits, class Allocator2&gt;
bool regex_match(const charT* str, <A href="match_results.html">match_results</A>&lt;const charT*, Allocator&gt;&amp; m,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);</PRE>
<P><B> Effects:</B> Returns the result of <CODE>regex_match(str, str +
char_traits&lt;charT&gt;::length(str), m, e, flags)</CODE>.</P>
<PRE><A name=f4></A>template &lt;class ST, class SA, class Allocator, class charT,
class traits, class Allocator2&gt;
bool regex_match(const basic_string&lt;charT, ST, SA&gt;&amp; s,
<A href="match_results.html">match_results</A>&lt;typename basic_string&lt;charT, ST, SA&gt;::const_iterator, Allocator&gt;&amp; m,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);</PRE>
<P><B> Effects:</B> Returns the result of <CODE>regex_match(s.begin(), s.end(), m, e,
flags)</CODE>.</P>
<PRE><A name=f5></A>template &lt;class charT, class traits, class Allocator2&gt;
bool regex_match(const charT* str,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);</PRE>
<P><B> Effects:</B> Returns the result of <CODE>regex_match(str, str +
char_traits&lt;charT&gt;::length(str), e, flags)</CODE>.</P>
<PRE><A name=f6></A>template &lt;class ST, class SA, class charT, class traits, class Allocator2&gt;
bool regex_match(const basic_string&lt;charT, ST, SA&gt;&amp; s,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator2&gt;&amp; e,
<A href="match_flag_type.html">match_flag_type</A> flags = match_default);</PRE>
<P><B> Effects:</B> Returns the result of <CODE>regex_match(s.begin(), s.end(), e,
flags)</CODE>.
<H3><A name="examples"></A>Examples</H3>
<P>The following <A href="../example/snippets/regex_match_example.cpp">example</A>
processes an ftp response:
<P></P>
<PRE><FONT color=#008000>#include &lt;stdlib.h&gt;
#include &lt;boost/regex.hpp&gt;
#include &lt;string&gt;
#include &lt;iostream&gt;
</FONT><B>using namespace</B> boost;
regex expression(<FONT color=#000080>"([0-9]+)(\\-| |$)(.*)"</FONT>);
<FONT color=#000080><I>// process_ftp:
// on success returns the ftp response code, and fills
// msg with the ftp response message.
</I></FONT><B>int</B> process_ftp(<B>const</B> <B>char</B>* response, std::string* msg)
{
&nbsp;&nbsp; cmatch what;
&nbsp;&nbsp; <B>if</B>(regex_match(response, what, expression))
&nbsp;&nbsp; {
<FONT color=#000080>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <I>// what[0] contains the whole string
</I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <I>// what[1] contains the response code
</I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <I>// what[2] contains the separator character
</I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <I>// what[3] contains the text message.
</I></FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <B>if</B>(msg)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg-&gt;assign(what[3].first, what[3].second);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <B>return</B> std::atoi(what[1].first);
&nbsp;&nbsp; }
<FONT color=#000080>&nbsp;&nbsp; <I>// failure did not match
</I></FONT>&nbsp;&nbsp; <B>if</B>(msg)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg-&gt;erase();
&nbsp;&nbsp; <B>return</B> -1;
}
<P>
<HR></PRE>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

45
doc/regex_merge.html Normal file
View File

@ -0,0 +1,45 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Algorithm regex_merge (deprecated)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Algorithm regex_merge (deprecated)</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>Algorithm regex_merge has been renamed <A href="regex_replace.html">regex_replace</A>,
existing code will continue to compile, but new code should use <A href="regex_replace.html">
regex_replace</A> instead.</P>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

259
doc/regex_replace.html Normal file
View File

@ -0,0 +1,259 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Algorithm regex_replace</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK href="../../../boost.css" type="text/css" rel="stylesheet"></head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td vAlign="top" width="300">
<h3><A href="../../../index.htm"><IMG height="86" alt="C++ Boost" src="../../../c++boost.gif" width="277" border="0"></A></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Algorithm regex_replace</H2>
</TD>
<td width="50">
<h3><A href="index.html"><IMG height="45" alt="Boost.Regex Index" src="uarrow.gif" width="43" border="0"></A></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<H3>Contents</H3>
<dl class="index">
<dt><A href="#synopsis">Synopsis</A> <dt><a href="#description">Description</a> <dt><A href="#examples">
Examples</A></dt></dl>
<H3><A name="synopsis"></A>Synopsis</H3>
<PRE>#include &lt;<A href="../../../boost/regex.hpp">boost/regex.hpp</A>&gt; </PRE>
<P>The algorithm regex_replace&nbsp;searches&nbsp;through&nbsp;a string finding
all the matches to the regular expression: for each match it then calls <A href="match_results.html#format">
match_results::format</A> 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 <EM>flags</EM> parameter does not have the flag <A href="match_flag_type.html">
format_no_copy</A> set. If the flag <A href="match_flag_type.html">format_first_only</A>
is set then only the first occurrence is replaced rather than all
occurrences.&nbsp;<PRE>template &lt;class OutputIterator, class BidirectionalIterator, class traits,
class Allocator, class charT&gt;
OutputIterator <A href="#f1">regex_replace</A>(OutputIterator out,
BidirectionalIterator first,
BidirectionalIterator last,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator&gt;&amp; e,
const basic_string&lt;charT&gt;&amp; fmt,
<A href="match_flag_type.html">match_flag_type flags = match_default</A>);
template &lt;class traits, class Allocator, class charT&gt;
basic_string&lt;charT&gt; <A href="#f2">regex_replace</A>(const basic_string&lt;charT&gt;&amp; s,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator&gt;&amp; e,
const basic_string&lt;charT&gt;&amp; fmt,
<A href="match_flag_type.html">match_flag_type flags = match_default</A>);
</PRE>
<H3><A name="description"></A>Description</H3>
<PRE><A name=f1></A>template &lt;class OutputIterator, class BidirectionalIterator, class traits,
class Allocator, class charT&gt;
OutputIterator regex_replace(OutputIterator out,
BidirectionalIterator first,
BidirectionalIterator last,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator&gt;&amp; e,
const basic_string&lt;charT&gt;&amp; fmt,
<A href="match_flag_type.html">match_flag_type flags = match_default</A>);</PRE>
<P>Enumerates all the occurences of expression <EM>e</EM> in the sequence [first,
last), replacing each occurence with the string that results by merging the
match found with the format string <EM>fmt</EM>, and copies the resulting
string to <EM>out</EM>.&nbsp;</P>
<P>If the flag format_no_copy is set in <EM>flags</EM> then unmatched sections of
text are not copied to output.&nbsp;
</P>
<P>If the flag format_first_only is set in <EM>flags</EM> then only the first
occurence of <EM>e</EM> is replaced.&nbsp;
</P>
<P>The manner in which the format string <EM>fmt</EM> is interpretted, along with
the rules used&nbsp;for finding matches,&nbsp;are determined by the <A href="match_flag_type.html">
flags</A> set in <EM>flags</EM></P>
<P><B>Effects:</B> Constructs an
<SPAN class="spelle">regex_iterator</SPAN>
object:
</P>
<PRE><SPAN style="FONT-SIZE: 10pt">regex_iterator&lt;</SPAN><SPAN class=spelle><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">BidirectionalIterator</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt">, </SPAN><SPAN class=spelle><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">charT</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt">, traits, Allocator&gt; <BR> </SPAN><SPAN class=grame><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">i(</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt">first, last, e, flags)</SPAN>, </PRE>
<P>and uses
<SPAN class="spelle">
<I>i</I></SPAN>
to enumerate through all of the matches <I>m</I> of type
<SPAN class="spelle">
<SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">match_results</SPAN>
</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">&lt;<SPAN class="spelle">BidirectionalIterator</SPAN>&gt; </SPAN>that
occur within the sequence [first, last).
</P>
<P>If no such matches are found
<SPAN class="grame">and </SPAN></P>
<PRE><SPAN class=grame></SPAN><SPAN class=grame><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">!</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">(flags &amp; <SPAN class=spelle>format_no_copy</SPAN>)</SPAN> </PRE>
<P>then calls
</P>
<PRE><SPAN class=spelle><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">std::copy</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">(first, last, out)</SPAN>. </PRE>
<P>Otherwise, for each match found,
<SPAN class="grame">if </SPAN></P>
<PRE><SPAN class=grame></SPAN><SPAN class=grame><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">!</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">(flags &amp; <SPAN class=spelle>format_no_copy</SPAN>)</SPAN> </PRE>
<P>calls
</P>
<PRE><SPAN class=spelle><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">std::copy</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">(<SPAN class=spelle>m.prefix</SPAN>().first, <SPAN class=spelle>m.prefix</SPAN>().last, out)</SPAN>, </PRE>
<P>and then calls
</P>
<PRE><SPAN class=spelle><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">m.format</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">(out, <SPAN class=spelle>fmt</SPAN>, flags)</SPAN>. </PRE>
<P>Finally
<SPAN class="grame">if </SPAN></P>
<PRE><SPAN class=grame></SPAN><SPAN class=grame><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">!</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">(flags &amp; <SPAN class=spelle>format_no_copy</SPAN>)</SPAN> </PRE>
<P>calls
</P>
<PRE><SPAN class=spelle><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">std::copy</SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">(<SPAN class=spelle>last_m.suffix</SPAN>().first, <SPAN class=spelle>last_m,suffix</SPAN>().last, out) </SPAN></PRE>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"></SPAN>where
<SPAN class="spelle">
<SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">last_m</SPAN>
</SPAN>
is a copy of the last match found.
</P>
<P>If
<SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">flags &amp;
<SPAN class="spelle">format_first_only</SPAN></SPAN>
is non-zero then only the first match found is replaced.</P>
<P><STRONG>Throws:</STRONG> <CODE>std::runtime_error</CODE> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<P><B> Returns:</B> <CODE>out</CODE>.
</P>
<PRE><A name=f2></A>template &lt;class traits, class Allocator, class charT&gt;
basic_string&lt;charT&gt; regex_replace(const basic_string&lt;charT&gt;&amp; s,
const <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator&gt;&amp; e,
const basic_string&lt;charT&gt;&amp; fmt,
<A href="match_flag_type.html">match_flag_type flags = match_default</A>);</PRE>
<P><B> Effects:</B> Constructs an object <CODE>basic_string&lt;charT&gt; result</CODE>,
calls <CODE>regex_replace(back_inserter(result), s.begin(), s.end(), e, fmt,
flags)</CODE>, and then returns <CODE>result</CODE>.
<H3><A name="examples"></A>Examples</H3>
<P>The following <A href="../example/snippets/regex_replace_example.cpp">example</A>
takes C/C++ source code as input, and outputs syntax highlighted HTML code.</P>
<P></P>
<PRE><FONT color=#008080>#include &lt;fstream&gt;
#include &lt;sstream&gt;
#include &lt;string&gt;
#include &lt;iterator&gt;
#include &lt;boost/regex.hpp&gt;
#include &lt;fstream&gt;
#include &lt;iostream&gt;
</FONT>
<FONT color=#000080><I>// purpose:
// takes the contents of a file and transform to
// syntax highlighted code in html format
</I></FONT>
boost::regex e1, e2;
<B>extern</B> <B>const</B> <B>char</B>* expression_text;
<B>extern</B> <B>const</B> <B>char</B>* format_string;
<B>extern</B> <B>const</B> <B>char</B>* pre_expression;
<B>extern</B> <B>const</B> <B>char</B>* pre_format;
<B>extern</B> <B>const</B> <B>char</B>* header_text;
<B>extern</B> <B>const</B> <B>char</B>* footer_text;
<B>void</B> load_file(std::string&amp; s, std::istream&amp; is)
{
s.erase();
s.reserve(is.rdbuf()-&gt;in_avail());
<B>char</B> c;
<B>while</B>(is.get(c))
{
<B>if</B>(s.capacity() == s.size())
s.reserve(s.capacity() * <FONT color=#000080>3</FONT>);
s.append(<FONT color=#000080>1</FONT>, c);
}
}
<B>int</B> main(<B>int</B> argc, <B>const</B> <B>char</B>** argv)
{
try{
e1.assign(expression_text);
e2.assign(pre_expression);
<B>for</B>(<B>int</B> i = <FONT color=#000080>1</FONT>; i &lt; argc; ++i)
{
std::cout &lt;&lt; <FONT color=#0000ff>"Processing file "</FONT> &lt;&lt; argv[i] &lt;&lt; std::endl;
std::ifstream fs(argv[i]);
std::string in;
load_file(in, fs);
std::string out_name(std::string(argv[i]) + std::string(<FONT color=#0000ff>".htm"</FONT>));
std::ofstream os(out_name.c_str());
os &lt;&lt; header_text;
<FONT color=#000080><I>// strip '&lt;' and '&gt;' first by outputting to a
</I></FONT> <FONT color=#000080><I>// temporary string stream
</I></FONT> std::ostringstream t(std::ios::out | std::ios::binary);
std::ostream_iterator&lt;<B>char</B>, <B>char</B>&gt; oi(t);
boost::regex_replace(oi, in.begin(), in.end(),
e2, pre_format, boost::match_default | boost::format_all);
<FONT color=#000080><I>// then output to final output stream
</I></FONT> <FONT color=#000080><I>// adding syntax highlighting:
</I></FONT> std::string s(t.str());
std::ostream_iterator&lt;<B>char</B>, <B>char</B>&gt; out(os);
boost::regex_replace(out, s.begin(), s.end(),
e1, format_string, boost::match_default | boost::format_all);
os &lt;&lt; footer_text;
}
}
<STRONG>catch</STRONG>(...)
{ <STRONG>return</STRONG> -1; }
<B>return</B> <FONT color=#000080>0</FONT>;
}
<B>extern</B> <B>const</B> <B>char</B>* pre_expression = <FONT color=#0000ff>"(&lt;)|(&gt;)|\\r"</FONT>;
<B>extern</B> <B>const</B> <B>char</B>* pre_format = <FONT color=#0000ff>"(?1&lt;)(?2&gt;)"</FONT>;
<B>const</B> <B>char</B>* expression_text = <FONT color=#000080><I>// preprocessor directives: index 1
</I></FONT> <FONT color=#0000ff>"(^[[:blank:]]*#(?:[^\\\\\\n]|\\\\[^\\n[:punct:][:word:]]*[\\n[:punct:][:word:]])*)|"
</FONT> <FONT color=#000080><I>// comment: index 2
</I></FONT> <FONT color=#0000ff>"(//[^\\n]*|/\\*.*?\\*/)|"
</FONT> <FONT color=#000080><I>// literals: index 3
</I></FONT> <FONT color=#0000ff>"\\&lt;([+-]?(?:(?:0x[[:xdigit:]]+)|(?:(?:[[:digit:]]*\\.)?[[:digit:]]+(?:[eE][+-]?[[:digit:]]+)?))u?(?:(?:int(?:8|16|32|64))|L)?)\\&gt;|"
</FONT> <FONT color=#000080><I>// string literals: index 4
</I></FONT> <FONT color=#0000ff>"('(?:[^\\\\']|\\\\.)*'|\"(?:[^\\\\\"]|\\\\.)*\")|"
</FONT> <FONT color=#000080><I>// keywords: index 5
</I></FONT> <FONT color=#0000ff>"\\&lt;(__asm|__cdecl|__declspec|__export|__far16|__fastcall|__fortran|__import"
</FONT> <FONT color=#0000ff>"|__pascal|__rtti|__stdcall|_asm|_cdecl|__except|_export|_far16|_fastcall"
</FONT> <FONT color=#0000ff>"|__finally|_fortran|_import|_pascal|_stdcall|__thread|__try|asm|auto|bool"
</FONT> <FONT color=#0000ff>"|break|case|catch|cdecl|char|class|const|const_cast|continue|default|delete"
</FONT> <FONT color=#0000ff>"|do|double|dynamic_cast|else|enum|explicit|extern|false|float|for|friend|goto"
</FONT> <FONT color=#0000ff>"|if|inline|int|long|mutable|namespace|new|operator|pascal|private|protected"
</FONT> <FONT color=#0000ff>"|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_cast"
</FONT> <FONT color=#0000ff>"|struct|switch|template|this|throw|true|try|typedef|typeid|typename|union|unsigned"
</FONT> <FONT color=#0000ff>"|using|virtual|void|volatile|wchar_t|while)\\&gt;"
</FONT> ;
<B>const</B> <B>char</B>* format_string = <FONT color=#0000ff>"(?1&lt;font color=\"#008040\"&gt;$&amp;&lt;/font&gt;)"
</FONT> <FONT color=#0000ff>"(?2&lt;I&gt;&lt;font color=\"#000080\"&gt;$&amp;&lt;/font&gt;&lt;/I&gt;)"
</FONT> <FONT color=#0000ff>"(?3&lt;font color=\"#0000A0\"&gt;$&amp;&lt;/font&gt;)"
</FONT> <FONT color=#0000ff>"(?4&lt;font color=\"#0000FF\"&gt;$&amp;&lt;/font&gt;)"
</FONT> <FONT color=#0000ff>"(?5&lt;B&gt;$&amp;&lt;/B&gt;)"</FONT>;
<B>const</B> <B>char</B>* header_text = <FONT color=#0000ff>"&lt;HTML&gt;\n&lt;HEAD&gt;\n"
</FONT> <FONT color=#0000ff>"&lt;TITLE&gt;Auto-generated html formated source&lt;/TITLE&gt;\n"
</FONT> <FONT color=#0000ff>"&lt;META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=windows-1252\"&gt;\n"
</FONT> <FONT color=#0000ff>"&lt;/HEAD&gt;\n"
</FONT> <FONT color=#0000ff>"&lt;BODY LINK=\"#0000ff\" VLINK=\"#800080\" BGCOLOR=\"#ffffff\"&gt;\n"
</FONT> <FONT color=#0000ff>"&lt;P&gt; &lt;/P&gt;\n&lt;PRE&gt;"</FONT>;
<B>const</B> <B>char</B>* footer_text = <FONT color=#0000ff>"&lt;/PRE&gt;\n&lt;/BODY&gt;\n\n"</FONT>;
</PRE>
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

325
doc/regex_search.html Normal file
View File

@ -0,0 +1,325 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Algorithm regex_search</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK href="../../../boost.css" type="text/css" rel="stylesheet"></head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td vAlign="top" width="300">
<h3><A href="../../../index.htm"><IMG height="86" alt="C++ Boost" src="../../../c++boost.gif" width="277" border="0"></A></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Algorithm regex_search</H2>
</TD>
<td width="50">
<h3><A href="index.html"><IMG height="45" alt="Boost.Regex Index" src="uarrow.gif" width="43" border="0"></A></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<H3>Contents</H3>
<dl class="index">
<dt><A href="#synopsis">Synopsis</A> <dt><a href="#description">Description</a> <dt><A href="#examples">
Examples</A></dt></dl>
<H3><A name="synopsis"></A>Synopsis</H3>
<PRE>#include &lt;<A href="../../../boost/regex.hpp">boost/regex.hpp</A>&gt; </PRE>
<P></P>
<P>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:
<PRE>template &lt;class BidirectionalIterator,
class Allocator, class charT,
class traits, class Allocator2&gt;
bool <A href="#f1">regex_search</A>(BidirectionalIterator first, BidirectionalIterator last,
<a href="match_results.html">match_results</a>&lt;BidirectionalIterator, Allocator&gt;&amp; m,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator2&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);
template &lt;class ST, class SA,
class Allocator, class charT,
class traits, class Allocator2&gt;
bool <A href="#f2">regex_search</A>(const basic_string&lt;charT, ST, SA&gt;&amp; s,
<a href="match_results.html">match_results</a>&lt;
typename basic_string&lt;charT, ST,SA&gt;::const_iterator,
Allocator&gt;&amp; m,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator2&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);
template&lt;class charT, class Allocator, class traits,
class Allocator2&gt;
bool <A href="#f3">regex_search</A>(const charT* str,
<a href="match_results.html">match_results</a>&lt;const charT*, Allocator&gt;&amp; m,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator2&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);
template &lt;class BidirectionalIterator, class Allocator,
class charT, class traits&gt;
bool <A href="#f4">regex_search</A>(BidirectionalIterator first, BidirectionalIterator last,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);
template &lt;class charT, class Allocator,
class traits&gt;
bool <A href="#f5">regex_search</A>(const charT* str,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);
template&lt;class ST, class SA,
class Allocator, class charT,
class traits&gt;
bool <A href="#f6">regex_search</A>(const basic_string&lt;charT, ST, SA&gt;&amp; s,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);
</PRE>
<H3><A name="description"></A>Description</H3>
<PRE><A name=f1></A>template &lt;class BidirectionalIterator, class Allocator, class charT,
class traits, class Allocator2&gt;
bool regex_search(BidirectionalIterator first, BidirectionalIterator last,
<a href="match_results.html">match_results</a>&lt;BidirectionalIterator, Allocator&gt;&amp; m,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator2&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);</PRE>
<P><B> Requires:</B> Type BidirectionalIterator meets the requirements of a
Bidirectional Iterator (24.1.4).</P>
<P><B> Effects: </B>Determines whether there is some sub-sequence within
[first,last) that matches the regular expression <I>e</I>, parameter <I>flags</I>
is used to control how the expression is matched against the character
sequence. Returns true if such a sequence exists, false otherwise.</P>
<P><STRONG>Throws:</STRONG> <CODE>std::runtime_error</CODE> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<P><B> Postconditions: </B>If the function returns false, then the effect on
parameter <I>m</I> is undefined, otherwise the effects on parameter <I>m</I> are
given in the table:</P>
<DIV align="center">
<CENTER>
<TABLE id="Table2" cellSpacing="1" cellPadding="7" width="624" border="1">
<TR>
<TD vAlign="top" width="50%">
<P><B> Element</B></P>
</TD>
<TD vAlign="top" width="50%">
<P><B> Value</B>
</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.size()</P>
</TD>
<TD vAlign="top" width="50%">
<P>e.mark_count()</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.empty()</P>
</TD>
<TD vAlign="top" width="50%">
<P>false</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.prefix().first</P>
</TD>
<TD vAlign="top" width="50%">
<P>first</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.prefix().last</P>
</TD>
<TD vAlign="top" width="50%">
<P>m[0].first</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.prefix().matched</P>
</TD>
<TD vAlign="top" width="50%">
<P>m.prefix().first != m.prefix().second</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.suffix().first</P>
</TD>
<TD vAlign="top" width="50%">
<P>m[0].second</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.suffix().last</P>
</TD>
<TD vAlign="top" width="50%">
<P>last</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m.suffix().matched</P>
</TD>
<TD vAlign="top" width="50%">
<P>m.suffix().first != m.suffix().second</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[0].first</P>
</TD>
<TD vAlign="top" width="50%">
<P>The start of the sequence of characters that matched the regular expression</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[0].second</P>
</TD>
<TD vAlign="top" width="50%">
<P>The end of the sequence of characters that matched the regular expression</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[0].matched</P>
</TD>
<TD vAlign="top" width="50%">
<P><CODE> true</CODE> if a full match was found, and <CODE>false</CODE> if it was
a partial match (found as a result of the <CODE>match_partial</CODE> flag being
set).</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[n].first</P>
</TD>
<TD vAlign="top" width="50%">
<P>For all integers n &lt; m.size(), the start of the sequence that matched
sub-expression <I>n</I>. Alternatively, if sub-expression n did not participate
in the match, then <I>last</I>.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[n].second</P>
</TD>
<TD vAlign="top" width="50%">
<P>For all integers n &lt; m.size(), the end of the sequence that matched
sub-expression <I>n</I>. Alternatively, if sub-expression n did not participate
in the match, then <I>last</I>.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="50%">
<P>m[n].matched</P>
</TD>
<TD vAlign="top" width="50%">
<P>For all integers n &lt; m.size(), true if sub-expression <I>n</I> participated
in the match, false otherwise.</P>
</TD>
</TR>
</TD></TR></TABLE>
</CENTER>
</DIV>
<PRE><A name=f2></A>template &lt;class charT, class Allocator, class traits, class Allocator2&gt;
bool regex_search(const charT* str, <a href="match_results.html">match_results</a>&lt;const charT*, Allocator&gt;&amp; m,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator2&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);</PRE>
<P><B> Effects:</B> Returns the result of <CODE>regex_search(str, str +
char_traits&lt;charT&gt;::length(str), m, e, flags)</CODE>.</P>
<PRE><A name=f3></A>template &lt;class ST, class SA, class Allocator, class charT,
class traits, class Allocator2&gt;
bool regex_search(const basic_string&lt;charT, ST, SA&gt;&amp; s,
<a href="match_results.html">match_results</a>&lt;typename basic_string&lt;charT, ST, SA&gt;::const_iterator, Allocator&gt;&amp; m,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator2&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);</PRE>
<P><B> Effects:</B> Returns the result of <CODE>regex_search(s.begin(), s.end(), m,
e, flags)</CODE>.</P>
<PRE><A name=f4></A>template &lt;class iterator, class Allocator, class charT,
class traits&gt;
bool regex_search(iterator first, iterator last,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);</PRE>
<P><B> Effects:</B> Behaves "as if" by constructing an instance of <CODE><a href="match_results.html">
match_results</a>&lt;</CODE>BidirectionalIterator<CODE>&gt; what</CODE>,
and then returning the result of <CODE>regex_search(first, last, what, e, flags)</CODE>.</P>
<PRE><A name=f5></A>template &lt;class charT, class Allocator, class traits&gt;
bool regex_search(const charT* str
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);</PRE>
<P><B> Effects:</B> Returns the result of <CODE>regex_search(str, str +
char_traits&lt;charT&gt;::length(str), e, flags)</CODE>.</P>
<PRE><A name=f6></A>template &lt;class ST, class SA, class Allocator, class charT,
class traits&gt;
bool regex_search(const basic_string&lt;charT, ST, SA&gt;&amp; s,
const <a href="basic_regex.html">basic_regex</a>&lt;charT, traits, Allocator&gt;&amp; e,
<a href="match_flag_type.html">match_flag_type</a> flags = match_default);</PRE>
<P><B> Effects:</B> Returns the result of <CODE>regex_search(s.begin(), s.end(), e,
flags)</CODE>.
<H3><A name="examples"></A>Examples</H3>
<P>The following <A href="../example/snippets/regex_search_example.cpp">example</A>,
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.</P>
<P></P>
<PRE><FONT color=#008000>#include &lt;string&gt;
#include &lt;map&gt;
#include &lt;boost/regex.hpp&gt;
</FONT><FONT color=#000080><I>
// 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
</I></FONT><B>typedef</B> std::map&lt;std::string, <B>int</B>, std::less&lt;std::string&gt; &gt; map_type;
boost::regex expression("^(template[[:space:]]*&lt;[^;:{]+&gt;[[:space:]]*)?(class|struct)[[:space:]]*(\\&lt;\\w+\\&gt;([[:blank:]]*\\([^)]*\\))?[[:space:]]*)*(\\&lt;\\w*\\&gt;)[[:space:]]*(&lt;[^;:{]+&gt;[[:space:]]*)?(\\{|:[^;\\{()]*\\{)");
<B>
void</B> IndexClasses(map_type&amp; m, <B>const</B> std::string&amp; file)
{
&nbsp;&nbsp; std::string::const_iterator start, end;
&nbsp;&nbsp; start = file.begin();
&nbsp;&nbsp; end = file.end();&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; boost::<a href="match_results.html">match_results</a>&lt;std::string::const_iterator&gt; what;
&nbsp;&nbsp; boost::match_flag_type flags = boost::match_default;
&nbsp;&nbsp; <B>while</B>(regex_search(start, end, what, expression, flags))&nbsp;
&nbsp;&nbsp; {
<FONT color=#000080>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <I>// what[0] contains the whole string
</I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <I>// what[5] contains the class name.
</I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <I>// what[6] contains the template specialisation if any.
</I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <I>// add class name and position to map:
</I></FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m[std::string(what[5].first, what[5].second) + std::string(what[6].first, what[6].second)] =&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; what[5].first - file.begin();&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT color=#000080><I>// update search position:
</I></FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; start = what[0].second;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT color=#000080><I>// update flags:
</I></FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flags |= boost::match_prev_avail;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flags |= boost::match_not_bob;&nbsp;
&nbsp;&nbsp; }
}
</PRE>
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
04 Feb 2004
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2004<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

145
doc/regex_split.html Normal file
View File

@ -0,0 +1,145 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Algorithm regex_split (deprecated)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Algorithm regex_split (deprecated)</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>The algorithm regex_split has been deprecated in favor of the iterator <A href="regex_token_iterator.html">
regex_token_iterator</A> which has a more flexible and powerful interface,
as well as following the more usual standard library "pull" rather than "push"
semantics.</P>
<P>Code which uses regex_split will continue to compile, the following
documentation is taken from the previous boost.regex version:</P>
<H3><A name="regex_split"></A>Algorithm regex_split</H3>
<PRE>#include &lt;<A href="../../../boost/regex.hpp">boost/regex.hpp</A>&gt; </PRE>
<P>Algorithm regex_split performs a similar operation to the perl split operation,
and comes in three overloaded forms:
</P>
<PRE><B>template</B> &lt;<B>class</B> OutputIterator, <B>class</B> charT, <B>class</B> Traits1, <B>class</B> Alloc1, <B>class</B> Traits2, <B>class</B> Alloc2&gt;
std::size_t regex_split(OutputIterator out,&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; std::basic_string&lt;charT, Traits1, Alloc1&gt;&amp; s,&nbsp;
&nbsp;<B> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const</B> basic_regex&lt;charT, Traits2, Alloc2&gt;&amp; e,
&nbsp;<STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</STRONG>boost::match_flag_type flags,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; std::size_t max_split);
<B>template</B> &lt;<B>class</B> OutputIterator, <B>class</B> charT, <B>class</B> Traits1, <B>class</B> Alloc1, <B>class</B> Traits2, <B>class</B> Alloc2&gt;
std::size_t regex_split(OutputIterator out,&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; std::basic_string&lt;charT, Traits1, Alloc1&gt;&amp; s,&nbsp;
&nbsp;<B> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const</B> basic_regex&lt;charT, Traits2, Alloc2&gt;&amp; e,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boost::match_flag_type flags = match_default);
<B>template</B> &lt;<B>class</B> OutputIterator, <B>class</B> charT, <B>class</B> Traits1, <B>class</B> Alloc1&gt;
std::size_t regex_split(OutputIterator out,
std::basic_string&lt;charT, Traits1, Alloc1&gt;&amp; s);</PRE>
<P><STRONG>Effects: </STRONG>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 <I>max_split </I>strings will be written to the
output-iterator. Before returning, all the input processed will be deleted from
the string <I>s</I> (if <I>max_split </I>is not reached then all of <I>s</I> will
be deleted). Returns the number of strings written to the output-iterator. If
the parameter <I>max_split</I> is not specified then it defaults to UINT_MAX.
If no expression is specified, then it defaults to "\s+", and splitting occurs
on whitespace.
</P>
<P><STRONG>Throws:</STRONG> <CODE>std::runtime_error</CODE> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<P><A href="../example/snippets/regex_split_example_1.cpp">Example</A>: the
following function will split the input string into a series of tokens, and
remove each token from the string <I>s</I>:
</P>
<PRE><B>unsigned</B> tokenise(std::list&lt;std::string&gt;&amp; l, std::string&amp; s)
{
<B>&nbsp;&nbsp; return</B> boost::regex_split(std::back_inserter(l), s);
}</PRE>
<P><A href="../example/snippets/regex_split_example_2.cpp">Example</A>: the
following short program will extract all of the URL's from a html file, and
print them out to <I>cout</I>:
</P>
<PRE><FONT color=#008000>#include &lt;list&gt;
#include &lt;fstream&gt;
#include &lt;iostream&gt;
#include &lt;boost/regex.hpp&gt;
</FONT>
boost::regex e(<FONT color=#000080>"&lt;\\s*A\\s+[^&gt;]*href\\s*=\\s*\"([^\"]*)\""</FONT>,
boost::regbase::normal | boost::regbase::icase);
<B>void</B> load_file(std::string&amp; s, std::istream&amp; is)
{
s.erase();
<FONT color=#000080>//
// attempt to grow string buffer to match file size,
// this doesn't always work...
</FONT> s.reserve(is.rdbuf()-&amp;gtin_avail());
<B>char</B> c;
<B>while</B>(is.get(c))
{
<FONT color=#000080>// use logarithmic growth stategy, in case
// in_avail (above) returned zero:
</FONT> <B>if</B>(s.capacity() == s.size())
s.reserve(s.capacity() * 3);
s.append(1, c);
}
}
<B>int</B> main(<B>int</B> argc, <B>char</B>** argv)
{
std::string s;
std::list&lt;std::string&gt; l;
<B>for</B>(<B>int</B> i = 1; i &lt; argc; ++i)
{
std::cout &lt;&lt; <FONT color=#000080>"Findings URL's in "</FONT> &lt;&lt; argv[i] &lt;&lt; <FONT color=#000080>":"</FONT> &lt;&lt; std::endl;
s.erase();
std::ifstream is(argv[i]);
load_file(s, is);
boost::regex_split(std::back_inserter(l), s, e);
<B>while</B>(l.size())
{
s = *(l.begin());
l.pop_front();
std::cout &lt;&lt; s &lt;&lt; std::endl;
}
}
<B>return</B> 0;
}</PRE>
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
04 Feb 2004
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2004<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

View File

@ -0,0 +1,293 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: regex_token_iterator</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK href="../../../boost.css" type="text/css" rel="stylesheet"></head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td vAlign="top" width="300">
<h3><A href="../../../index.htm"><IMG height="86" alt="C++ Boost" src="../../../c++boost.gif" width="277" border="0"></A></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">regex_token_iterator</H2>
</TD>
<td width="50">
<h3><A href="index.html"><IMG height="45" alt="Boost.Regex Index" src="uarrow.gif" width="43" border="0"></A></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<H3>Contents</H3>
<dl class="index">
<dt><A href="#synopsis">Synopsis</A> <dt><a href="#description">Description</a> <dt><A href="#examples">
Examples</A></dt></dl>
<H3><A name="synopsis"></A>Synopsis</H3>
<P>The template class <CODE>regex_token_iterator</CODE> is an iterator adapter;
that is to say it represents a new view of an existing iterator sequence, by
enumerating all the occurrences of a regular expression within that sequence,
and presenting one or more character sequence for each match found. Each
position enumerated by the iterator is a <A href="sub_match.html">sub_match</A>
object that represents what matched a particular sub-expression within the
regular expression. When class <CODE>regex_token_iterator</CODE> is used to
enumerate a single sub-expression with index -1, then the iterator performs
field splitting: that is to say it enumerates one character sequence for each
section of the character container sequence that does not match the regular
expression specified.</P>
<PRE>
template &lt;class BidirectionalIterator,
class charT = iterator_traits&lt;BidirectionalIterator&gt;::value_type,
class traits = regex_traits&lt;charT&gt;,
class Allocator = allocator&lt;charT&gt; &gt;
class regex_token_iterator
{
public:
typedef <A href="basic_regex.html">basic_regex</A>&lt;charT, traits, Allocator&gt; regex_type;
typedef <A href="sub_match.html">sub_match</A>
&lt;BidirectionalIterator&gt; value_type;
typedef typename iterator_traits&lt;BidirectionalIterator&gt;::difference_type difference_type;
typedef const value_type* pointer;
typedef const value_type&amp; reference;
typedef std::forward_iterator_tag iterator_category;
<A href="#c1">regex_token_iterator</A>();
<A href="#c2">regex_token_iterator</A>(BidirectionalIterator a, BidirectionalIterator b, const regex_type&amp; re,
int submatch = 0, <A href="match_flag_type.html">match_flag_type</A> m = match_default);
<A href="#c3">regex_token_iterator</A>(BidirectionalIterator a, BidirectionalIterator b, const regex_type&amp; re,
const std::vector&lt;int&gt;&amp; submatches, match_flag_type m = match_default);
template &lt;std::size_t N&gt;
<A href="#c4">regex_token_iterator</A>(BidirectionalIterator a, BidirectionalIterator b, const regex_type&amp; re,
const int (&amp;submatches)[N], match_flag_type m = match_default);
<A href="#c5">regex_token_iterator</A>(const regex_token_iterator&amp;);
regex_token_iterator&amp; <A href="#o1">operator</A>=(const regex_token_iterator&amp;);
bool <A href="#o2">operator</A>==(const regex_token_iterator&amp;)const;
bool <A href="#o3">operator</A>!=(const regex_token_iterator&amp;)const;
const value_type&amp; <A href="#o4">operator</A>*()const;
const value_type* <A href="#o5">operator</A>-&gt;()const;
regex_token_iterator&amp; <A href="#o6">operator</A>++();
regex_token_iterator <A href="#o7">operator</A>++(int);
};
typedef regex_token_iterator&lt;const char*&gt; cregex_token_iterator;
typedef regex_token_iterator&lt;std::string::const_iterator&gt; sregex_token_iterator;
#ifndef BOOST_NO_WREGEX
typedef regex_token_iterator&lt;const wchar_t*&gt; wcregex_token_iterator;
typedef regex_token_iterator&lt;&lt;std::wstring::const_iterator&gt; wsregex_token_iterator;
#endif
</PRE>
<H3><A name="description"></A>Description</H3>
<PRE><A name=c1></A>regex_token_iterator();</PRE>
<P><B> Effects:</B> constructs an end of sequence iterator.</P>
<PRE><A name=c2></A>regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type&amp; re,
int submatch = 0, match_flag_type m = match_default);</PRE>
<P><B> Preconditions: </B><CODE>!re.empty()</CODE>.&nbsp; Object re shall exist
for the lifetime of the iterator constructed from it.</P>
<P><B> Effects:</B> constructs a regex_token_iterator that will enumerate one
string for each regular expression match of the expression <EM>re</EM> found
within the sequence <EM>[a,b)</EM>, using match flags <EM>m</EM>.&nbsp; The
string enumerated is the&nbsp;sub-expression <EM>submatch </EM>for each match
found; if <EM>submatch </EM>is -1, then enumerates all the text sequences that
did not match the expression <EM>re </EM>(that is to performs field splitting).</P>
<P><STRONG>Throws:</STRONG> <CODE>std::runtime_error</CODE> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<PRE><A name=c3></A>regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type&amp; re,
const std::vector&lt;int&gt;&amp; submatches, match_flag_type m = match_default);</PRE>
<P><B> Preconditions:</B> <CODE>submatches.size() &amp;&amp; !re.empty()</CODE>.&nbsp;
Object re shall exist for the lifetime of the iterator constructed from it.</P>
<P><B> Effects:</B> constructs a regex_token_iterator that will enumerate <EM>submatches.size()</EM>
strings for each regular expression match of the expression <EM>re</EM> found
within the sequence <EM>[a,b)</EM>, using match flags <EM>m</EM>.&nbsp; For
each match found one string will be enumerated&nbsp;for each sub-expression
index&nbsp;contained within <EM>submatches </EM>vector; if <EM>submatches[0] </EM>
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.</P>
<P><STRONG>Throws:</STRONG> <CODE>std::runtime_error</CODE> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<PRE><A name=c4></A>template &lt;std::size_t N&gt;
regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type&amp; re,
const int (&amp;submatches)[R], match_flag_type m = match_default);</PRE>
<P><B> Preconditions: </B><CODE>!re.empty()</CODE>.&nbsp; Object re shall exist
for the lifetime of the iterator constructed from it.</P>
<P><STRONG>Effects:</STRONG></B> constructs a regex_token_iterator that will
enumerate&nbsp;<EM>R</EM> strings for each regular expression match of the
expression <EM>re</EM> found within the sequence <EM>[a,b)</EM>, using match
flags <EM>m</EM>.&nbsp; For each match found one string will be
enumerated&nbsp;for each sub-expression index&nbsp;contained within the <EM>submatches
</EM>array; if <EM>submatches[0] </EM>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.</P>
<P><STRONG>Throws:</STRONG> <CODE>std::runtime_error</CODE> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<PRE><A name=c5></A>regex_token_iterator(const regex_token_iterator&amp; that);</PRE>
<P><B> Effects: </B>constructs a copy of <CODE>that</CODE>.</P>
<P><B> Postconditions:</B> <CODE>*this == that</CODE>.</P>
<PRE><A name=o1></A>regex_token_iterator&amp; operator=(const regex_token_iterator&amp; that);</PRE>
<P><B> Effects: </B>sets <CODE>*this</CODE> to be equal to&nbsp;<CODE>that</CODE>.</P>
<P><B> Postconditions:</B> <CODE>*this == that</CODE>.</P>
<PRE><A name=o2></A>bool operator==(const regex_token_iterator&amp;)const;</PRE>
<P>
<B>Effects: </B>returns true if *this is the same position as that.</P>
<PRE><A name=o3></A>bool operator!=(const regex_token_iterator&amp;)const;</PRE>
<P>
<B>Effects: </B>returns <CODE>!(*this == that)</CODE>.</P>
<PRE><A name=o4></A>const value_type&amp; operator*()const;</PRE>
<P>
<B>Effects: </B>returns the current character sequence being enumerated.</P>
<PRE><A name=o5></A>const value_type* operator-&gt;()const;</PRE>
<P>
<B>Effects: </B>returns <CODE>&amp;(*this)</CODE>.</P>
<PRE><A name=o6></A>regex_token_iterator&amp; operator++();</PRE>
<P>
<B>Effects: </B>Moves on to the next character sequence to be enumerated.</P>
<P><STRONG>Throws:</STRONG> <CODE>std::runtime_error</CODE> if the complexity of
matching the expression against an N character string begins to exceed O(N<SUP>2</SUP>),
or if the program runs out of stack space while matching the expression (if
Boost.regex is <A href="configuration.html">configured</A> in recursive mode),
or if the matcher exhausts it's permitted memory allocation (if Boost.regex is <A href="configuration.html">
configured</A> in non-recursive mode).</P>
<B>
<P>
Returns:</B><CODE> *this</CODE>.</P><PRE><A name=o7></A>regex_token_iterator&amp; operator++(int);</PRE>
<P><B> Effects:</B> constructs a copy <CODE>result</CODE> of <CODE>*this</CODE>,
then calls <CODE>++(*this)</CODE>.</P>
<P><B> Returns:</B> <CODE>result</CODE>.<A name="examples"></A>
<H3>Examples</H3>
<P>The following <A href="../example/snippets/regex_token_iterator_eg_1.cpp">example</A>
takes a string and splits it into a series of tokens:</P>
<pre>
<FONT color=#008040>#include &lt;iostream&gt;</FONT>
<FONT color=#008040>#include &lt;boost/regex.hpp&gt;</FONT>
<B>using</B> <B>namespace</B> std;
<B>int</B> main(<B>int</B> argc)
{
string s;
<B>do</B>{
<B>if</B>(argc == <FONT color=#0000a0>1</FONT>)
{
cout &lt;&lt; <FONT color=#0000ff>"Enter text to split (or \"quit\" to exit): "</FONT>;
getline(cin, s);
<B>if</B>(s == <FONT color=#0000ff>"quit"</FONT>) <B>break</B>;
}
<B>else</B>
s = <FONT color=#0000ff>"This is a string of tokens"</FONT>;
boost::regex re(<FONT color=#0000ff>"\\s+"</FONT>);
boost::sregex_token_iterator i(s.begin(), s.end(), re, -<FONT color=#0000a0>1</FONT>);
boost::sregex_token_iterator j;
<B>unsigned</B> count = <FONT color=#0000a0>0</FONT>;
<B>while</B>(i != j)
{
cout &lt;&lt; *i++ &lt;&lt; endl;
count++;
}
cout &lt;&lt; <FONT color=#0000ff>"There were "</FONT> &lt;&lt; count &lt;&lt; <FONT color=#0000ff>" tokens found."</FONT> &lt;&lt; endl;
}<B>while</B>(argc == <FONT color=#0000a0>1</FONT>);
<B>return</B> <FONT color=#0000a0>0</FONT>;
}
</pre>
<P>The following <A href="../example/snippets/regex_token_iterator_eg_2.cpp">example</A>
takes a html file and outputs a list of all the linked files:</P>
<pre>
<FONT color=#008040>#include &lt;fstream&gt;</FONT>
<FONT color=#008040>#include &lt;iostream&gt;</FONT>
<FONT color=#008040>#include &lt;iterator&gt;</FONT>
<FONT color=#008040>#include &lt;boost/regex.hpp&gt;</FONT>
boost::regex e(<FONT color=#0000ff>"&lt;\\s*A\\s+[^&gt;]*href\\s*=\\s*\"([^\"]*)\""</FONT>,
boost::regex::normal | boost::regbase::icase);
<B>void</B> load_file(std::string&amp; s, std::istream&amp; is)
{
s.erase();
<I><FONT color=#000080>//</FONT></I>
<I><FONT color=#000080>// attempt to grow string buffer to match file size,</FONT></I>
<I><FONT color=#000080>// this doesn't always work...</FONT></I>
s.reserve(is.rdbuf()-&gt;in_avail());
<B>char</B> c;
<B>while</B>(is.get(c))
{
<I><FONT color=#000080>// use logarithmic growth stategy, in case</FONT></I>
<I><FONT color=#000080>// in_avail (above) returned zero:</FONT></I>
<B>if</B>(s.capacity() == s.size())
s.reserve(s.capacity() * <FONT color=#0000a0>3</FONT>);
s.append(<FONT color=#0000a0>1</FONT>, c);
}
}
<B>int</B> main(<B>int</B> argc, <B>char</B>** argv)
{
std::string s;
<B>int</B> i;
<B>for</B>(i = <FONT color=#0000a0>1</FONT>; i &lt; argc; ++i)
{
std::cout &lt;&lt; <FONT color=#0000ff>"Findings URL's in "</FONT> &lt;&lt; argv[i] &lt;&lt; <FONT color=#0000ff>":"</FONT> &lt;&lt; std::endl;
s.erase();
std::ifstream is(argv[i]);
load_file(s, is);
boost::sregex_token_iterator i(s.begin(), s.end(), e, <FONT color=#0000a0>1</FONT>);
boost::sregex_token_iterator j;
<B>while</B>(i != j)
{
std::cout &lt;&lt; *i++ &lt;&lt; std::endl;
}
}
<I><FONT color=#000080>//</FONT></I>
<I><FONT color=#000080>// alternative method:</FONT></I>
<I><FONT color=#000080>// test the array-literal constructor, and split out the whole</FONT></I>
<I><FONT color=#000080>// match as well as $1....</FONT></I>
<I><FONT color=#000080>//</FONT></I>
<B>for</B>(i = <FONT color=#0000a0>1</FONT>; i &lt; argc; ++i)
{
std::cout &lt;&lt; <FONT color=#0000ff>"Findings URL's in "</FONT> &lt;&lt; argv[i] &lt;&lt; <FONT color=#0000ff>":"</FONT> &lt;&lt; std::endl;
s.erase();
std::ifstream is(argv[i]);
load_file(s, is);
<B>const</B> <B>int</B> subs[] = {<FONT color=#0000a0>1</FONT>, <FONT color=#0000a0>0</FONT>,};
boost::sregex_token_iterator i(s.begin(), s.end(), e, subs);
boost::sregex_token_iterator j;
<B>while</B>(i != j)
{
std::cout &lt;&lt; *i++ &lt;&lt; std::endl;
}
}
<B>return</B> <FONT color=#0000a0>0</FONT>;
}
</pre>
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

46
doc/regex_traits.html Normal file
View File

@ -0,0 +1,46 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: class regex_traits</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">class regex_traits</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<p></p>
<P>
Under construction: the current design will be replaced by that specified in
the <A href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1429.htm">regular
expression standardization proposal</A>, the current (obsolete) design has
it's <A href="http://cvs.sourceforge.net/viewcvs.py/*checkout*/boost/boost/libs/regex/Attic/traits_class_ref.htm?rev=1.11">
documentation archived online</A>.</P>
<P>
<HR>
<P></P>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

77
doc/standards.html Normal file
View File

@ -0,0 +1,77 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Standards Conformance</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Standards Conformance</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<H3>C++</H3>
<P>Boost.regex is intended to conform to the <A href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1429.htm">
regular expression standardization proposal</A>, which will appear in a
future C++ standard technical report (and hopefully in a future version of the
standard).&nbsp; Currently there are some differences in how the regular
expression traits classes are defined, these will be fixed in a future release.</P>
<H3>ECMAScript / JavaScript</H3>
<P>All of the ECMAScript regular expression syntax features are supported, except
that:</P>
<P>Negated class escapes (\S, \D and \W) are not permitted inside character class
definitions ( [...] ).</P>
<P>The escape sequence \u matches any upper case character (the same as
[[:upper:]])&nbsp;rather than a Unicode escape sequence; use \x{DDDD} for
Unicode escape sequences.</P>
<H3>Perl</H3>
<P>Almost all Perl features are supported, except for:</P>
<P>\N{name}&nbsp; Use [[:name:]] instead.</P>
<P>\pP and \PP</P>
<P>(?imsx-imsx)</P>
<P>(?&lt;=pattern)</P>
<P>(?&lt;!pattern)</P>
<P>(?{code})</P>
<P>(??{code})</P>
<P>(?(condition)yes-pattern) and (?(condition)yes-pattern|no-pattern)</P>
<P>These embarrassments / limitations will be removed in due course, mainly
dependent upon user demand.</P>
<H3>POSIX</H3>
<P>All the POSIX basic and extended regular expression features are supported,
except that:</P>
<P>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.</P>
<P>Character equivalence classes ( [[=a=]] etc) are probably buggy except on
Win32.&nbsp; 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.</P>
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

562
doc/sub_match.html Normal file
View File

@ -0,0 +1,562 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: sub_match</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK href="../../../boost.css" type="text/css" rel="stylesheet"></head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td vAlign="top" width="300">
<h3><A href="../../../index.htm"><IMG height="86" alt="C++ Boost" src="../../../c++boost.gif" width="277" border="0"></A></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">sub_match</H2>
</TD>
<td width="50">
<h3><A href="index.html"><IMG height="45" alt="Boost.Regex Index" src="uarrow.gif" width="43" border="0"></A></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<H3>Synopsis</H3>
<P>#include &lt;<A href="../../../boost/regex.hpp">boost/regex.hpp</A>&gt;
</P>
<P>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 <I><A href="match_results.html">match_results</A></I> that acts as an
indexed collection of sub-expression matches, each sub-expression match being
contained in an object of type <I>sub_match</I>
.
<P>Objects of type <EM>sub_match</EM> may only obtained by subscripting an object
of type <EM><A href="match_results.html">match_results</A></EM>
.
<P>Objects of type <EM>sub_match</EM> may be compared to objects of type <EM>std::basic_string</EM>,
or <EM>const charT*</EM> or <EM>const charT</EM>
.
<P>Objects of type <EM>sub_match</EM> may be added to objects of type <EM>std::basic_string</EM>,
or <EM>const charT* </EM>or <EM>const charT</EM>, to produce a new <EM>std::basic_string
</EM>
object.
<P>When the marked sub-expression denoted by an object of type sub_match&lt;&gt;
participated in a regular expression match then member <CODE>matched</CODE> evaluates
to true, and members <CODE>first</CODE> and <CODE>second</CODE> denote the
range of characters <CODE>[first,second)</CODE> which formed that match.
Otherwise <CODE>matched</CODE> is false, and members <CODE>first</CODE> and <CODE>second</CODE>
contained undefined values.</P>
<P>When the marked sub-expression denoted by an object of type sub_match&lt;&gt;
was repeated, then the sub_match object represents the match obtained by the
last repeat.&nbsp; The complete set of all the captures obtained for all the
repeats, may be accessed via the captures() member function (Note: this has
serious performance implications, you have to explicitly enable this feature).</P>
<P>If an object of type <CODE>sub_match&lt;&gt;</CODE> represents sub-expression 0
- that is to say the whole match - then member <CODE>matched</CODE> is always
true, unless a partial match was obtained as a result of the flag <CODE>match_partial</CODE>
being passed to a regular expression algorithm, in which case member <CODE>matched</CODE>
is false, and members <CODE>first</CODE> and <CODE>second</CODE> represent the
character range that formed the partial match.</P>
<PRE>namespace boost{
template &lt;class BidirectionalIterator&gt;
class sub_match : public std::pair&lt;BidirectionalIterator, BidirectionalIterator&gt;
{
public:
typedef typename iterator_traits&lt;BidirectionalIterator&gt;::value_type value_type;
typedef typename iterator_traits&lt;BidirectionalIterator&gt;::difference_type difference_type;
typedef BidirectionalIterator iterator;
bool <A href="#m1" >matched</A>;
difference_type <A href="#m2" >length</A>()const;
operator <A href="#m3" >basic_string</A>&lt;value_type&gt;()const;
basic_string&lt;value_type&gt; <A href="#m4" >str</A>()const;
int <A href="#m5" >compare</A>(const sub_match&amp; s)const;
int <A href="#m6" >compare</A>(const basic_string&lt;value_type&gt;&amp; s)const;
int <A href="#m7" >compare</A>(const value_type* s)const;
#ifdef BOOST_REGEX_MATCH_EXTRA
typedef implementation-private <A href="#m9">capture_sequence_type</A>;
const capture_sequence_type&amp; <A href="#m8" >captures</A>()const;
#endif
};
//
// comparisons to another sub_match:
//
template &lt;class BidirectionalIterator&gt;
bool <A href="#o11" >operator</A> == (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o12" >operator</A> != (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o13" >operator</A> &lt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o14" >operator</A> &lt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o15" >operator</A> &gt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o16" >operator</A> &gt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
//
// comparisons to a basic_string:
//
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o21" >operator</A> == (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o22" >operator</A> != (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o23" >operator</A> &lt; (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o24" >operator</A> &gt; (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o25" >operator</A> &gt;= (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o26" >operator</A> &lt;= (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o31" >operator</A> == (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o32" >operator</A> != (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o33" >operator</A> &lt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o34" >operator</A> &gt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o35" >operator</A> &gt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool <A href="#o36" >operator</A> &lt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);
//
// comparisons to a pointer to a character array:
//
template &lt;class BidirectionalIterator&gt;
bool <A href="#o41" >operator</A> == (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o42" >operator</A> != (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o43" >operator</A> &lt; (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o44" >operator</A> &gt; (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o45" >operator</A> &gt;= (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o46" >operator</A> &lt;= (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o51" >operator</A> == (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o52" >operator</A> != (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o53" >operator</A> &lt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o54" >operator</A> &gt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o55" >operator</A> &gt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o56" >operator</A> &lt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs);
//
// comparisons to a single character:
//
template &lt;class BidirectionalIterator&gt;
bool <A href="#o61" >operator</A> == (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o62" >operator</A> != (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o63" >operator</A> &lt; (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o64" >operator</A> &gt; (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o65" >operator</A> &gt;= (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o66" >operator</A> &lt;= (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o71" >operator</A> == (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o72" >operator</A> != (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o73" >operator</A> &lt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o74" >operator</A> &gt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o75" >operator</A> &gt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs);
template &lt;class BidirectionalIterator&gt;
bool <A href="#o76" >operator</A> &lt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs);
//
// addition operators:
//
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;
<A href="#o81" >operator</A> + (const std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; s,
const sub_match&lt;BidirectionalIterator&gt;&amp; m);
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;
<A href="#o82" >operator</A> + (const sub_match&lt;BidirectionalIterator&gt;&amp; m,
const std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; s);
template &lt;class BidirectionalIterator&gt; std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
<A href="#o83" >operator</A> + (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* s,
const sub_match&lt;BidirectionalIterator&gt;&amp; m);
template &lt;class BidirectionalIterator&gt; std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
<A href="#o84" >operator</A> + (const sub_match&lt;BidirectionalIterator&gt;&amp; m,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const * s);
template &lt;class BidirectionalIterator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
<A href="#o85" >operator</A> + (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; s,
const sub_match&lt;BidirectionalIterator&gt;&amp; m);
template &lt;class BidirectionalIterator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
<A href="#o86" >operator</A> + (const sub_match&lt;BidirectionalIterator&gt;&amp; m,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; s);
template &lt;class BidirectionalIterator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
<A href="#o87" >operator</A> + (const sub_match&lt;BidirectionalIterator&gt;&amp; m1,
const sub_match&lt;BidirectionalIterator&gt;&amp; m2);
//
// stream inserter:
//
template &lt;class charT, class traits, class BidirectionalIterator&gt;
basic_ostream&lt;charT, traits&gt;&amp;
<A href="#oi" >operator</A> &lt;&lt; (basic_ostream&lt;charT, traits&gt;&amp; os,
const sub_match&lt;BidirectionalIterator&gt;&amp; m);
} // namespace boost</PRE>
<H3>Description</H3>
<H4>sub_match members</H4>
<PRE>typedef typename std::iterator_traits&lt;iterator&gt;::value_type value_type;</PRE>
<P>The type pointed to by the iterators.</P>
<PRE>typedef typename std::iterator_traits&lt;iterator&gt;::difference_type difference_type;</PRE>
<P>A type that represents the difference between two iterators.</P>
<PRE>typedef iterator iterator_type;</PRE>
<P>The iterator type.</P>
<PRE>iterator first</PRE>
<P>An iterator denoting the position of the start of the match.</P>
<PRE>iterator second</PRE>
<P>An iterator denoting the position of the end of the match.</P>
<PRE><A name=m1></A>bool matched</PRE>
<P>A Boolean value denoting whether this sub-expression participated in the match.</P>
<PRE><A name=m2></A>static difference_type length();</PRE>
<P><B>Effects: </B>returns the length of this matched sub-expression, or 0 if this
sub-expression was not matched: <CODE>matched ? distance(first, second) : 0)</CODE>.</P>
<PRE><A name=m3></A>operator basic_string&lt;value_type&gt;()const;</PRE>
<P><B>Effects: </B>converts *this into a string: returns <CODE>(matched ?
basic_string&lt;value_type&gt;(first, second) :
basic_string&lt;value_type&gt;()).</P>
</CODE><PRE><A name=m4></A>basic_string&lt;value_type&gt; str()const;</PRE>
<P><B>Effects: </B>returns a string representation of *this:&nbsp; <CODE>(matched ?
basic_string&lt;value_type&gt;(first, second) :
basic_string&lt;value_type&gt;())</CODE>.</P>
<PRE><A name=m5></A>int compare(const sub_match&amp; s)const;</PRE>
<P><B>Effects: </B>performs a lexical comparison to <EM>s</EM>: returns <CODE>str().compare(s.str())</CODE>.</P>
<PRE><A name=m6></A>int compare(const basic_string&lt;value_type&gt;&amp; s)const;</PRE>
<P><B>Effects: </B>compares *this to the string s: returns <CODE>str().compare(s)</CODE>.</P>
<PRE><A name=m7></A>int compare(const value_type* s)const;</PRE>
<P><B>Effects:<B></B> </B>compares *this to the null-terminated string <EM>s</EM>:<B>&nbsp;</B>returns
<CODE>str().compare(s)</CODE>.</P>
<PRE><A name=m9></A>typedef implementation-private capture_sequence_type;</PRE>
<P>Defines an implementation-specific type that&nbsp;satisfies the requirements of
a standard library Sequence (21.1.1 including the optional Table 68
operations),&nbsp;whose value_type is a <EM>sub_match&lt;BidirectionalIterator&gt;</EM>.&nbsp;This
type happens to be <EM>std::vector&lt;sub_match&lt;BidirectionalIterator&gt; &gt;</EM>,
but you shouldn't actually rely on that.</P>
<PRE><A name=m8></A>const capture_sequence_type&amp; <A href="#m8" >captures</A>()const; </PRE>
<P><STRONG>Effects:</STRONG> returns a sequence containing all the captures
obtained for this sub-expression.</P>
<P><STRONG>Preconditions:</STRONG> the library must be built and used with
BOOST_REGEX_MATCH_EXTRA defined, and you must pass the flag <A href="match_flag_type.html">
match_extra</A> to the regex matching functions (<A href="regex_match.html">regex_match</A>,
<A href="regex_search.html">regex_search</A>, <A href="regex_iterator.html">regex_iterator</A>
or <A href="regex_token_iterator.html">regex_token_iterator</A>) in order for
this member function to be defined and return useful information.</P>
<P><STRONG>Rationale:</STRONG> Enabling this feature has several consequences:
</P>
<UL>
<LI>
sub_match occupies more memory resulting in complex expressions running out of
memory or stack space more quickly during matching.
<LI>
The matching algorithms are less efficient at handling some features
(independent sub-expressions for example), even when match_extra is not used.
<LI>
The matching algorithms are much less efficient (i.e. slower), when match_extra
is used.&nbsp; Mostly this is down to the extra memory allocations that have to
take place.</LI></UL>
<H4>sub_match non-member operators</H4>
<H5>Comparisons against self</H5>
<PRE><A name=o11></A>template &lt;class BidirectionalIterator&gt;
bool operator == (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.compare(rhs) == 0</CODE>.</P>
<PRE><A name=o12></A>template &lt;class BidirectionalIterator&gt;
bool operator != (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.compare(rhs) != 0</CODE>.</P>
<PRE><A name=o13></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.compare(rhs) &lt; 0</CODE>.</P>
<PRE><A name=o14></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.compare(rhs) &lt;= 0</CODE>.</P>
<PRE><A name=o15></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.compare(rhs) &gt;= 0</CODE>.</P>
<PRE><A name=o16></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.compare(rhs) &gt; 0</CODE>.</P>
<H5>Comparisons with std::basic_string</H5>
<pre><A name=o21></A>
template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator == (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits,
Allocator&gt;&amp; lhs, const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);
</pre>
<P><B>Effects: </B>returns <CODE>lhs == rhs.str()</CODE>.</P>
<PRE><A name=o22></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator != (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs != rhs.str()</CODE>.</P>
<PRE><A name=o23></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator &lt; (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs&nbsp;&lt; rhs.str()</CODE>.</P>
<PRE><A name=o24></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator &gt; (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs&nbsp;&gt; rhs.str()</CODE>.</P>
<PRE><A name=o25></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator &gt;= (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs &gt;= rhs.str()</CODE>.</P>
<PRE><A name=o26></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator &lt;= (const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs &lt;= rhs.str()</CODE>.</P>
<PRE><A name=o31></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator == (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() == rhs</CODE>.</P>
<PRE><A name=o32></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator != (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() != rhs</CODE>.</P>
<PRE><A name=o33></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator &lt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.str()&nbsp;&lt; rhs</CODE>.</P>
<PRE><A name=o34></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator &gt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.str()&nbsp;&gt; rhs</CODE>.</P>
<PRE><A name=o35></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator &gt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &gt;= rhs</CODE>.</P>
<PRE><A name=o36></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
bool operator &lt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
const std::basic_string&lt;iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; rhs);</PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &lt;= rhs</CODE>.</P>
<H5>Comparisons with null-terminated strings</H5>
<PRE><A name=o41></A>template &lt;class BidirectionalIterator&gt;
bool operator == (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs == rhs.str()</CODE>.</P>
<PRE><A name=o42></A>template &lt;class BidirectionalIterator&gt;
bool operator != (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs != rhs.str()</CODE>.</P>
<PRE></A><A name=o43></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt; (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs &lt; rhs.str()</CODE>.</P>
<PRE><A name=o44></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt; (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs &gt; rhs.str()</CODE>.</P>
<PRE><A name=o45></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt;= (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs &gt;= rhs.str()</CODE>.</P>
<PRE><A name=o46></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt;= (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs &lt;= rhs.str()</CODE>.</P>
<PRE><A name=o51></A>template &lt;class BidirectionalIterator&gt;
bool operator == (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() == rhs</CODE>.</P>
<PRE><A name=o52></A>template &lt;class BidirectionalIterator&gt;
bool operator != (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() != rhs</CODE>.</P>
<PRE><A name=o53></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &lt; rhs</CODE>.</P>
<PRE><A name=o54></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &gt; rhs</CODE>.</P>
<PRE><A name=o55></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &gt;= rhs</CODE>.</P>
<PRE><A name=o56></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &lt;= rhs</CODE>.</P>
<H5>Comparisons with a single character</H5>
<PRE><A name=o61></A>template &lt;class BidirectionalIterator&gt;
bool operator == (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs == rhs.str()</CODE>.</P>
<PRE><A name=o62></A>template &lt;class BidirectionalIterator&gt;
bool operator != (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs != rhs.str()</CODE>.</P>
<PRE><A name=o63></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt; (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs &lt; rhs.str()</CODE>.</P>
<PRE><A name=o64></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt; (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs &gt; rhs.str()</CODE>.</P>
<PRE><A name=o65></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt;= (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs &gt;= rhs.str()</CODE>.</P>
<PRE><A name=o66></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt;= (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; lhs,
const sub_match&lt;BidirectionalIterator&gt;&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs &lt;= rhs.str()</CODE>.</P>
<PRE><A name=o71></A>template &lt;class BidirectionalIterator&gt;
bool operator == (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() == rhs</CODE>.</P>
<PRE><A name=o72></A>template &lt;class BidirectionalIterator&gt;
bool operator != (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() != rhs</CODE>.</P>
<PRE><A name=o73></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &lt; rhs</CODE>.</P>
<PRE><A name=o74></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt; (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &gt; rhs</CODE>.</P>
<PRE><A name=o75></A>template &lt;class BidirectionalIterator&gt;
bool operator &gt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &gt;= rhs</CODE>.</P>
<PRE><A name=o76></A>template &lt;class BidirectionalIterator&gt;
bool operator &lt;= (const sub_match&lt;BidirectionalIterator&gt;&amp; lhs,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; rhs); </PRE>
<P><B>Effects: </B>returns <CODE>lhs.str() &lt;= rhs</CODE>.</P>
<h5>Addition operators</h5>
<P>The addition operators for sub_match allow you to add a sub_match to any type
to which you can add a std::string and obtain a new string as the result.</P>
<PRE><A name=o81></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;
operator + (const std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; s,
const sub_match&lt;BidirectionalIterator&gt;&amp; m); </PRE>
<P><B>Effects: </B>returns <CODE>s + m.str()</CODE>.</P>
<PRE><A name=o82></A>template &lt;class BidirectionalIterator, class traits, class Allocator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;
operator + (const sub_match&lt;BidirectionalIterator&gt;&amp; m,
const std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type, traits, Allocator&gt;&amp; s); </PRE>
<P><B>Effects: </B>returns <CODE>m.str() + s</CODE>.</P>
<PRE><A name=o83></A>template &lt;class BidirectionalIterator&gt; std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
operator + (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const* s,
const sub_match&lt;BidirectionalIterator&gt;&amp; m); </PRE>
<P><B>Effects: </B>returns <CODE>s + m.str()</CODE>.</P>
<PRE><A name=o84></A>template &lt;class BidirectionalIterator&gt; std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
operator + (const sub_match&lt;BidirectionalIterator&gt;&amp; m,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const * s);</PRE>
<P><B>Effects: </B>returns <CODE>m.str() + s</CODE>.</P>
<PRE><A name=o85></A>template &lt;class BidirectionalIterator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
operator + (typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; s,
const sub_match&lt;BidirectionalIterator&gt;&amp; m); </PRE>
<P><B>Effects: </B>returns <CODE>s + m.str()</CODE>.</P>
<PRE><A name=o86></A>template &lt;class BidirectionalIterator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
operator + (const sub_match&lt;BidirectionalIterator&gt;&amp; m,
typename iterator_traits&lt;BidirectionalIterator&gt;::value_type const&amp; s); </PRE>
<P><B>Effects: </B>returns <CODE>m.str() + s</CODE>.</P>
<PRE><A name=o87></A>template &lt;class BidirectionalIterator&gt;
std::basic_string&lt;typename iterator_traits&lt;BidirectionalIterator&gt;::value_type&gt;
operator + (const sub_match&lt;BidirectionalIterator&gt;&amp; m1,
const sub_match&lt;BidirectionalIterator&gt;&amp; m2);</PRE>
<P><B>Effects: </B>returns&nbsp;<CODE>m1.str() + m2.str()</CODE>.</P>
<h5>Stream inserter</h5>
<PRE><A name=oi></A>template &lt;class charT, class traits, class BidirectionalIterator&gt;
basic_ostream&lt;charT, traits&gt;&amp;
operator &lt;&lt; (basic_ostream&lt;charT, traits&gt;&amp; os
const sub_match&lt;BidirectionalIterator&gt;&amp; m);</PRE>
<P>
<B>Effects: </B>returns <CODE>(os &lt;&lt; m.str())</CODE>.
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

768
doc/syntax.html Normal file
View File

@ -0,0 +1,768 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Regular Expression Syntax</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Regular Expression Syntax</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<P>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.
</P>
<H3>Literals
</H3>
<P>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.</P>
<H3>Wildcard
</H3>
<P>The dot character "." matches any single character except : when <I>match_not_dot_null</I>
is passed to the matching algorithms, the dot does not match a null character;
when <I>match_not_dot_newline</I> is passed to the matching algorithms, then
the dot does not match a newline character.
</P>
<H3>Repeats
</H3>
<P>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.
</P>
<P>Examples:
</P>
<P>"ba*" will match all of "b", "ba", "baaa" etc.
</P>
<P>"ba+" will match "ba" or "baaaa" for example but not "b".
</P>
<P>"ba?" will match "b" or "ba".
</P>
<P>"ba{2,4}" will match "baa", "baaa" and "baaaa".
</P>
<H3>Non-greedy repeats
</H3>
<P>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 <I>shortest</I> possible string.
</P>
<P>For example to match html tag pairs one could use something like:
</P>
<P>"&lt;\s*tagname[^&gt;]*&gt;(.*?)&lt;\s*/tagname\s*&gt;"
</P>
<P>In this case $1 will contain the text between the tag pairs, and will be the
shortest possible matching string.&nbsp;
</P>
<H3>Parenthesis
</H3>
<P>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 <A href="regex_match.html">
regex_match</A> and <A href="regex_search.html">regex_search</A> each take
an instance of <A href="match_results.html">match_results</A> that reports what
caused the match, on exit from these functions the <A href="match_results.html">match_results</A>
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 <I>matched</I> parameter
for that sub-expression is <I>false</I>. Sub-expressions are indexed from left
to right starting from 1, sub-expression 0 is the whole expression.
</P>
<H3>Non-Marking Parenthesis
</H3>
<P>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:
</P>
<P>"(?:abc)*"</P>
<H3>Forward Lookahead Asserts&nbsp;
</H3>
<P>There are two forms of these; one for positive forward lookahead asserts, and
one for negative lookahead asserts:</P>
<P>"(?=abc)" matches zero characters only if they are followed by the expression
"abc".</P>
<P>"(?!abc)" matches zero characters only if they are not followed by the
expression "abc".</P>
<H3>Independent sub-expressions</H3>
<P>"(?&gt;expression)" matches "expression" as an independent atom (the algorithm
will not backtrack into it if a failure occurs later in the expression).</P>
<H3>Alternatives
</H3>
<P>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.
</P>
<P>Examples:
</P>
<P>"a(b|c)" could match "ab" or "ac".
</P>
<P>"abc|def" could match "abc" or "def".
</P>
<H3>Sets
</H3>
<P>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 complement of the
elements that follow.
</P>
<P>Examples:
</P>
<P>Character literals:
</P>
<P>"[abc]" will match either of "a", "b", or "c".
</P>
<P>"[^abc] will match any character other than "a", "b", or "c".
</P>
<P>Character ranges:
</P>
<P>"[a-z]" will match any character in the range "a" to "z".
</P>
<P>"[^A-Z]" will match any character other than those in the range "A" to "Z".
</P>
<P>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.
</P>
<P>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:
<BR>
&nbsp;
</P>
<P>
<TABLE id="Table2" cellSpacing="0" cellPadding="7" width="100%" border="0">
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="50%">alnum</TD>
<TD vAlign="top" width="50%">Any alpha numeric character.</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">alpha</TD>
<TD vAlign="top" width="50%">Any alphabetical character a-z and A-Z. Other
characters may also be included depending upon the locale.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">blank</TD>
<TD vAlign="top" width="50%">Any blank character, either a space or a tab.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">cntrl</TD>
<TD vAlign="top" width="50%">Any control character.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">digit</TD>
<TD vAlign="top" width="50%">Any digit 0-9.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">graph</TD>
<TD vAlign="top" width="50%">Any graphical character.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">lower</TD>
<TD vAlign="top" width="50%">Any lower case character a-z. Other characters may
also be included depending upon the locale.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">print</TD>
<TD vAlign="top" width="50%">Any printable character.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">punct</TD>
<TD vAlign="top" width="50%">Any punctuation character.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">space</TD>
<TD vAlign="top" width="50%">Any whitespace character.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">upper</TD>
<TD vAlign="top" width="50%">Any upper case character A-Z. Other characters may
also be included depending upon the locale.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">xdigit</TD>
<TD vAlign="top" width="50%">Any hexadecimal digit character, 0-9, a-f and A-F.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">word</TD>
<TD vAlign="top" width="50%">Any word character - all alphanumeric characters plus
the underscore.</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="50%">Unicode</TD>
<TD vAlign="top" width="50%">Any character whose code is greater than 255, this
applies to the wide character traits classes only.</TD>
<TD>&nbsp;</TD>
</TR>
</TABLE>
</P>
<P>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:
</P>
<P>\w in place of [:word:]
</P>
<P>\s in place of [:space:]
</P>
<P>\d in place of [:digit:]
</P>
<P>\l in place of [:lower:]
</P>
<P>\u in place of [:upper:]&nbsp;
</P>
<P>Collating elements take the general form [.tagname.] inside a set declaration,
where <I>tagname</I> 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.&nbsp;
</P>
<P>
Equivalence classes take the generalform[=tagname=] inside a set declaration,
where <I>tagname</I> 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 <I>tagname</I>
,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 <I>strxfrm</I>), so
equivalence classes are probably best considered broken under any operating
system other than Win32.&nbsp;
</P>
<P>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.
</P>
<H3>Line anchors
</H3>
<P>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.
</P>
<H3>Back references
</H3>
<P>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.
</P>
<H3>Characters by code
</H3>
<P>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.</P>
<H3>Word operators
</H3>
<P>The following operators are provided for compatibility with the GNU regular
expression library.
</P>
<P>"\w" matches any single character that is a member of the "word" character
class, this is identical to the expression "[[:word:]]".
</P>
<P>"\W" matches any single character that is not a member of the "word" character
class, this is identical to the expression "[^[:word:]]".
</P>
<P>"\&lt;" matches the null string at the start of a word.
</P>
<P>"\&gt;" matches the null string at the end of the word.
</P>
<P>"\b" matches the null string at either the start or the end of a word.
</P>
<P>"\B" matches a null string within a word.
</P>
<P>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.
</P>
<H3>Buffer operators
</H3>
<P>The following operators are provided for compatibility with the GNU regular
expression library, and Perl regular expressions:
</P>
<P>"\`" matches the start of a buffer.
</P>
<P>"\A" matches the start of the buffer.
</P>
<P>"\'" matches the end of a buffer.
</P>
<P>"\z" matches the end of a buffer.
</P>
<P>"\Z" matches the end of a buffer, or possibly one or more new line characters
followed by the end of the buffer.
</P>
<P>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.
</P>
<H3>Escape operator
</H3>
<P>The escape character "\" has several meanings.
</P>
<P>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.
</P>
<P>The escape operator may introduce an operator for example: back references, or
a word operator.
</P>
<P>The escape operator may make the following character normal, for example "\*"
represents a literal "*" rather than the repeat operator.
</P>
<H4>Single character escape sequences
</H4>
<P>The following escape sequences are aliases for single characters:
<BR>
&nbsp;
</P>
<P>
<TABLE id="Table3" cellSpacing="0" cellPadding="7" width="100%" border="0">
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="33%">Escape sequence
</TD>
<TD vAlign="top" width="33%">Character code
</TD>
<TD vAlign="top" width="33%">Meaning
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\a
</TD>
<TD vAlign="top" width="33%">0x07
</TD>
<TD vAlign="top" width="33%">Bell character.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\f
</TD>
<TD vAlign="top" width="33%">0x0C
</TD>
<TD vAlign="top" width="33%">Form feed.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\n
</TD>
<TD vAlign="top" width="33%">0x0A
</TD>
<TD vAlign="top" width="33%">Newline character.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\r
</TD>
<TD vAlign="top" width="33%">0x0D
</TD>
<TD vAlign="top" width="33%">Carriage return.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\t
</TD>
<TD vAlign="top" width="33%">0x09
</TD>
<TD vAlign="top" width="33%">Tab character.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\v
</TD>
<TD vAlign="top" width="33%">0x0B
</TD>
<TD vAlign="top" width="33%">Vertical tab.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\e
</TD>
<TD vAlign="top" width="33%">0x1B
</TD>
<TD vAlign="top" width="33%">ASCII Escape character.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\0dd
</TD>
<TD vAlign="top" width="33%">0dd
</TD>
<TD vAlign="top" width="33%">An octal character code, where <I>dd</I> is one or
more octal digits.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\xXX
</TD>
<TD vAlign="top" width="33%">0xXX
</TD>
<TD vAlign="top" width="33%">A hexadecimal character code, where XX is one or more
hexadecimal digits.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\x{XX}
</TD>
<TD vAlign="top" width="33%">0xXX
</TD>
<TD vAlign="top" width="33%">A hexadecimal character code, where XX is one or more
hexadecimal digits, optionally a Unicode character.
</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD vAlign="top" width="33%">\cZ
</TD>
<TD vAlign="top" width="33%">z-@
</TD>
<TD vAlign="top" width="33%">An ASCII escape sequence control-Z, where Z is any
ASCII character greater than or equal to the character code for '@'.
</TD>
<TD>&nbsp;</TD>
</TR>
</TABLE>
</P>
<H4>Miscellaneous escape sequences:
</H4>
<P>The following are provided mostly for perl compatibility, but note that there
are some differences in the meanings of \l \L \u and \U:
<BR>
&nbsp;
</P>
<P>
<TABLE id="Table4" cellSpacing="0" cellPadding="6" width="100%" border="0">
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\w
</TD>
<TD vAlign="top" width="45%">Equivalent to [[:word:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\W
</TD>
<TD vAlign="top" width="45%">Equivalent to [^[:word:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\s
</TD>
<TD vAlign="top" width="45%">Equivalent to [[:space:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\S
</TD>
<TD vAlign="top" width="45%">Equivalent to [^[:space:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\d
</TD>
<TD vAlign="top" width="45%">Equivalent to [[:digit:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\D
</TD>
<TD vAlign="top" width="45%">Equivalent to [^[:digit:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\l
</TD>
<TD vAlign="top" width="45%">Equivalent to [[:lower:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\L
</TD>
<TD vAlign="top" width="45%">Equivalent to [^[:lower:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\u
</TD>
<TD vAlign="top" width="45%">Equivalent to [[:upper:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\U
</TD>
<TD vAlign="top" width="45%">Equivalent to [^[:upper:]].
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\C
</TD>
<TD vAlign="top" width="45%">Any single character, equivalent to '.'.
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\X
</TD>
<TD vAlign="top" width="45%">Match any Unicode combining character sequence, for
example "a\x 0301" (a letter a with an acute).
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\Q
</TD>
<TD vAlign="top" width="45%">The begin quote operator, everything that follows is
treated as a literal character until a \E end quote operator is found.
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
<TR>
<TD width="5%">&nbsp;</TD>
<TD vAlign="top" width="45%">\E
</TD>
<TD vAlign="top" width="45%">The end quote operator, terminates a sequence begun
with \Q.
</TD>
<TD width="5%">&nbsp;</TD>
</TR>
</TABLE>
</P>
<H3>What gets matched?
</H3>
<P>
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.</P>
<P>
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.
</P>
<P>
The following table examples illustrate the main differences between Perl and
POSIX regular expression matching rules:
</P>
<P>
<TABLE id="Table5" cellSpacing="1" cellPadding="7" width="624" border="1">
<TBODY>
<TR>
<TD vAlign="top" width="25%">
<P>Expression</P>
</TD>
<TD vAlign="top" width="25%">
<P>Text</P>
</TD>
<TD vAlign="top" width="25%">
<P>POSIX leftmost longest match</P>
</TD>
<TD vAlign="top" width="25%">
<P>ECMAScript depth first search match</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="25%">
<P><CODE>a|ab</CODE></P>
</TD>
<TD vAlign="top" width="25%">
<P><CODE> xaby</CODE>
</P>
</TD>
<TD vAlign="top" width="25%">
<P><CODE> "ab"</CODE></P>
</TD>
<TD vAlign="top" width="25%">
<P><CODE> "a"</CODE></P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="25%">
<P><CODE> .*([[:alnum:]]+).*</CODE></P>
</TD>
<TD vAlign="top" width="25%">
<P><CODE> " abc def xyz "</CODE></P>
</TD>
<TD vAlign="top" width="25%">
<P>$0 = " abc def xyz "<BR>
$1 = "abc"</P>
</TD>
<TD vAlign="top" width="25%">
<P>$0 = " abc def xyz "<BR>
$1 = "z"</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="25%">
<P><CODE> .*(a|xayy)</CODE></P>
</TD>
<TD vAlign="top" width="25%">
<P><CODE> zzxayyzz</CODE></P>
</TD>
<TD vAlign="top" width="25%">
<P><CODE> "zzxayy"</CODE></P>
</TD>
<TD vAlign="top" width="25%">
<P><CODE>"zzxa"</CODE></P>
</TD>
</TR>
</TBODY></CODE></TD></TR></TABLE>
<P>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.</P>
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

330
doc/syntax_option_type.html Normal file
View File

@ -0,0 +1,330 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: syntax_option_type</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">syntax_option_type</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<H3>Synopsis</H3>
<P>Type syntax_option type is an implementation specific bitmask type that
controls how a regular expression string is to be interpreted.&nbsp; For
convenience note that all the constants listed here, are also duplicated within
the scope of class template <A href="basic_regex.html">basic_regex</A>.</P>
<PRE>namespace std{ namespace regex_constants{
typedef <EM>implementation-specific-bitmask-type</EM>
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;<BR>// these are boost.regex specific:<BR>static const syntax_option_type escape_in_lists;<BR>static const syntax_option_type char_classes;<BR>static const syntax_option_type intervals;<BR>static const syntax_option_type limited_ops;<BR>static const syntax_option_type newline_alt;<BR>static const syntax_option_type bk_plus_qm;<BR>static const syntax_option_type bk_braces;<BR>static const syntax_option_type bk_parens;<BR>static const syntax_option_type bk_refs;<BR>static const syntax_option_type bk_vbar;<BR>static const syntax_option_type use_except;<BR>static const syntax_option_type failbit;<BR>static const syntax_option_type literal;<BR>static const syntax_option_type nocollate;<BR>static const syntax_option_type perlex;<BR>static const syntax_option_type emacs;<BR>
} // namespace regex_constants
} // namespace std</PRE>
<H3>Description</H3>
<P>The type <CODE>syntax_option_type</CODE> is an implementation specific bitmask
type (17.3.2.1.2). Setting its elements has the effects listed in the table
below, a valid value of type <CODE>syntax_option_type</CODE> will always have
exactly one of the elements <CODE>normal, basic, extended, awk, grep, egrep, sed
or perl</CODE> set.</P>
<P>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:</P>
<PRE>boost::regex_constants::constant_name</PRE>
<P>or</P>
<PRE>boost::regex::constant_name</PRE>
<P>or</P>
<PRE>boost::wregex::constant_name</PRE>
<P>in an interchangeable manner.</P>
<P>
<TABLE id="Table2" height="1274" cellSpacing="1" cellPadding="7" width="100%" border="0">
<TR>
<TD vAlign="top" width="316">
<P>Element</P>
</TD>
<TD vAlign="top" width="50%">
<P>Effect if set</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>normal</P>
</TD>
<TD vAlign="top" width="50%">
<P>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).</P>
<P>boost.regex also recognizes most perl-compatible extensions in this mode.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>icase</P>
</TD>
<TD vAlign="top" width="50%">
<P>Specifies that matching of regular expressions against a character container
sequence shall be performed without regard to case.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>nosubs</P>
</TD>
<TD vAlign="top" width="50%">
<P>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.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>optimize</P>
</TD>
<TD vAlign="top" width="50%">
<P>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.&nbsp; This currently has no effect for
boost.regex.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>collate</P>
</TD>
<TD vAlign="top" width="50%">
<P>Specifies that character ranges of the form "[a-b]" should be locale sensitive.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>ECMAScript</P>
</TD>
<TD vAlign="top" width="50%">
<P>The same as normal.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>JavaScript</P>
</TD>
<TD vAlign="top" width="50%">
<P>The same as normal.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>JScript</P>
</TD>
<TD vAlign="top" width="50%">
<P>The same as normal.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>basic</P>
</TD>
<TD vAlign="top" width="50%">
<P>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).
</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>extended</P>
</TD>
<TD vAlign="top" width="50%">
<P>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).</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>awk</P>
</TD>
<TD vAlign="top" width="50%">
<P>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).</P>
<P>That is to say: the same as POSIX extended syntax, but with escape sequences in
character classes permitted.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>grep</P>
</TD>
<TD vAlign="top" width="50%">
<P>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).</P>
<P>That is to say, the same as POSIX basic syntax, but with the newline character
acting as an alternation character in addition to "|".</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>egrep</P>
</TD>
<TD vAlign="top" width="50%">
<P>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).</P>
<P>That is to say, the same as POSIX extended syntax, but with the newline
character acting as an alternation character in addition to "|".</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>sed</P>
</TD>
<TD vAlign="top" width="50%">
<P>The same as basic.</P>
</TD>
</TR>
<TR>
<TD vAlign="top" width="316">
<P>perl</P>
</TD>
<TD vAlign="top" width="50%">
<P>The same as normal.</P>
</TD>
</TR>
</TABLE>
</P>
<P>The following constants are specific to this particular regular expression
implementation and do not appear in the <A href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1429.htm">
regular expression standardization proposal</A>:</P>
<P>
<TABLE id="Table3" cellSpacing="0" cellPadding="7" width="100%" border="0">
<TR>
<TD vAlign="top" width="45%">regbase::escape_in_lists</TD>
<TD vAlign="top" width="45%">Allows 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.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase::char_classes</TD>
<TD vAlign="top" width="45%">When 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".</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: intervals</TD>
<TD vAlign="top" width="45%">When this bit is set, repetition intervals are
allowed, for example "a{2,4}" represents a repeat of between 2 and 4 letter
a's.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: limited_ops</TD>
<TD vAlign="top" width="45%">When this bit is set all of "+", "?" and "|" are
ordinary characters in all situations.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: newline_alt</TD>
<TD vAlign="top" width="45%">When this bit is set, then the newline character "\n"
has the same effect as the alternation operator "|".</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: bk_plus_qm</TD>
<TD vAlign="top" width="45%">When 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.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: bk_braces</TD>
<TD vAlign="top" width="45%">When this bit is set then "\{" and "\}" are used for
bounded repetitions and "{" and "}" are normal characters. This is the opposite
of default behavior.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: bk_parens</TD>
<TD vAlign="top" width="45%">When this bit is set then "\(" and "\)" are used to
group sub-expressions and "(" and ")" are ordinary characters, this is the
opposite of default behavior.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: bk_refs</TD>
<TD vAlign="top" width="45%">When this bit is set then back references are
allowed.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: bk_vbar</TD>
<TD vAlign="top" width="45%">When this bit is set then "\|" represents the
alternation operator and "|" is an ordinary character. This is the opposite of
default behavior.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: use_except</TD>
<TD vAlign="top" width="45%">When this bit is set then a <A href="#bad_expression">bad_expression</A>
exception will be thrown on error.&nbsp; Use of this flag is deprecated -
basic_regex will always throw on error.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase:: failbit</TD>
<TD vAlign="top" width="45%">This 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.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%">regbase::literal</TD>
<TD vAlign="top" width="45%">All characters in the string are treated as literals,
there are no special characters or escape sequences.</TD>
</TR>
<TR>
<TD vAlign="top" width="45%" height="24">regbase::emacs</TD>
<TD vAlign="top" width="45%" height="24">Provides compatability with the emacs
editor, eqivalent to: bk_braces | bk_parens | bk_refs | bk_vbar.</TD>
</TR>
</TABLE>
</P>
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

70
doc/thread_safety.html Normal file
View File

@ -0,0 +1,70 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Boost.Regex: Thread Safety</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
</head>
<body>
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<td valign="top" width="300">
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
</td>
<TD width="353">
<H1 align="center">Boost.Regex</H1>
<H2 align="center">Thread Safety</H2>
</TD>
<td width="50">
<h3><a href="index.html"><img height="45" width="43" alt="Boost.Regex Index" src="uarrow.gif" border="0"></a></h3>
</td>
</TR>
</TABLE>
</P>
<HR>
<P>The regex library is thread safe when Boost is: you can verify that Boost is in
thread safe mode by checking to see if BOOST_HAS_THREADS is defined: this macro
is set automatically by the config system when threading support is turned on
in your compiler.
</P>
<P>Class <A href="basic_regex.html">basic_regex</A>&lt;&gt; and its typedefs regex
and wregex are thread safe, in that compiled regular expressions can safely be
shared between threads. The matching algorithms <A href="regex_match.html">regex_match</A>,
<A href="regex_search.html">regex_search</A>, <A href="regex_grep.html">regex_grep</A>,
<A href="regex_format.html">regex_format</A> and <A href="regex_merge.html">regex_merge</A>
are all re-entrant and thread safe. Class <A href="match_results.html">match_results</A>
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 <A href="match_results.html">match_results</A>
per thread.
</P>
<P>The <A href="posix_api.html">POSIX API functions</A> are all re-entrant and
thread safe, regular expressions compiled with <I>regcomp</I> can also be
shared between threads.
</P>
<P>The class<A href="regex.html"> RegEx</A> 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.
</P>
<P>Finally note that changing the global locale invalidates all compiled regular
expressions, therefore calling <I>set_locale</I> from one thread while another
uses regular expressions <I>will</I> produce unpredictable results.
</P>
<P>
There is also a requirement that there is only one thread executing prior to
the start of main().</P>
<HR>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>
<p><i><EFBFBD> Copyright John Maddock&nbsp;1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More