From ed21a5183b6cdd391563a6ac50438c8e5217635c Mon Sep 17 00:00:00 2001 From: John Maddock Date: Tue, 10 Apr 2001 11:44:47 +0000 Subject: [PATCH] reworked regex directory structure to match boost requirements. [SVN r9752] --- appendix.htm | 34 +++++++++---------- {lib => build}/bc55.mak | 0 {lib => build}/bcb4.mak | 0 {lib => build}/bcb5.mak | 0 {lib => build}/gcc-shared.mak | 0 {lib => build}/gcc.mak | 0 {lib => build}/generic.mak | 0 {lib => build}/makefile.in | 0 {lib => build}/makefile.org | 0 {lib => build}/sunpro.mak | 0 {lib => build}/vc6-stlport.mak | 0 {lib => build}/vc6.mak | 0 configure | 18 +++++----- configure.in | 16 ++++----- {demo => example}/jgrep/bc55.mak | 3 +- {demo => example}/jgrep/bcb4.mak | 3 +- {demo => example}/jgrep/bcb5.mak | 6 ++-- {demo => example}/jgrep/gcc.mak | 5 +-- {demo => example}/jgrep/jgrep.cpp | 0 {demo => example}/jgrep/jgrep.h | 0 {demo => example}/jgrep/main.cpp | 0 {demo => example}/jgrep/makefile.in | 5 +-- {demo => example}/jgrep/vc6-stlport.mak | 3 +- {demo => example}/jgrep/vc6.mak | 3 +- .../snippets/credit_card_example.cpp | 21 ++++++++++++ .../snippets/partial_regex_grep.cpp | 0 .../snippets/partial_regex_match.cpp | 0 .../snippets/regex_grep_example_1.cpp | 2 +- .../snippets/regex_grep_example_2.cpp | 2 +- .../snippets/regex_grep_example_3.cpp | 4 +-- .../snippets/regex_grep_example_4.cpp | 4 +-- .../snippets/regex_match_example.cpp | 2 +- .../snippets/regex_merge_example.cpp | 2 +- .../snippets/regex_search_example.cpp | 2 +- .../snippets/regex_split_example_1.cpp | 2 +- .../snippets/regex_split_example_2.cpp | 2 +- {demo => example}/timer/bc55.mak | 3 +- {demo => example}/timer/bcb4.mak | 3 +- {demo => example}/timer/bcb5.mak | 3 +- {demo => example}/timer/gcc.mak | 5 +-- {demo => example}/timer/makefile.in | 5 +-- {demo => example}/timer/regex_timer.cpp | 0 {demo => example}/timer/vc6-stlport.mak | 3 +- {demo => example}/timer/vc6.mak | 3 +- index.htm | 20 +++++------ introduction.htm | 6 ++-- makefile.in | 10 +++--- makefile_gen | 18 +++++----- template_class_ref.htm | 22 ++++++------ .../c_compiler_checks/posix_api_check.c | 0 .../c_compiler_checks/posix_api_check.cpp | 0 .../c_compiler_checks/wide_posix_api_check.c | 0 .../wide_posix_api_check.cpp | 0 {demo => test}/regress/bc55.mak | 3 +- {demo => test}/regress/bcb4.mak | 3 +- {demo => test}/regress/bcb5.mak | 3 +- {demo => test}/regress/gcc.mak | 3 +- {demo => test}/regress/makefile.in | 5 +-- {demo => test}/regress/parse.cpp | 0 {demo => test}/regress/regex_test.cpp | 0 {demo => test}/regress/regress.cpp | 0 {demo => test}/regress/regress.h | 0 {demo => test}/regress/sunpro.mak | 3 +- {demo => test}/regress/test1252.txt | 0 {demo => test}/regress/tests.cpp | 0 {demo => test}/regress/tests.txt | 0 {demo => test}/regress/vc6-stlport.mak | 3 +- {demo => test}/regress/vc6.mak | 3 +- {demo => test}/regress/wregex_test.cpp | 0 69 files changed, 155 insertions(+), 111 deletions(-) rename {lib => build}/bc55.mak (100%) rename {lib => build}/bcb4.mak (100%) rename {lib => build}/bcb5.mak (100%) rename {lib => build}/gcc-shared.mak (100%) rename {lib => build}/gcc.mak (100%) rename {lib => build}/generic.mak (100%) rename {lib => build}/makefile.in (100%) rename {lib => build}/makefile.org (100%) rename {lib => build}/sunpro.mak (100%) rename {lib => build}/vc6-stlport.mak (100%) rename {lib => build}/vc6.mak (100%) rename {demo => example}/jgrep/bc55.mak (95%) rename {demo => example}/jgrep/bcb4.mak (95%) rename {demo => example}/jgrep/bcb5.mak (85%) rename {demo => example}/jgrep/gcc.mak (51%) rename {demo => example}/jgrep/jgrep.cpp (100%) rename {demo => example}/jgrep/jgrep.h (100%) rename {demo => example}/jgrep/main.cpp (100%) rename {demo => example}/jgrep/makefile.in (63%) rename {demo => example}/jgrep/vc6-stlport.mak (76%) rename {demo => example}/jgrep/vc6.mak (79%) rename demo/snippets/snip10.cpp => example/snippets/credit_card_example.cpp (64%) rename {demo => example}/snippets/partial_regex_grep.cpp (100%) rename {demo => example}/snippets/partial_regex_match.cpp (100%) rename demo/snippets/snip3.cpp => example/snippets/regex_grep_example_1.cpp (98%) rename demo/snippets/snip5.cpp => example/snippets/regex_grep_example_2.cpp (98%) rename demo/snippets/snip6.cpp => example/snippets/regex_grep_example_3.cpp (96%) rename demo/snippets/snip7.cpp => example/snippets/regex_grep_example_4.cpp (96%) rename demo/snippets/snip1.cpp => example/snippets/regex_match_example.cpp (98%) rename demo/snippets/snip4.cpp => example/snippets/regex_merge_example.cpp (99%) rename demo/snippets/snip2.cpp => example/snippets/regex_search_example.cpp (98%) rename demo/snippets/snip8.cpp => example/snippets/regex_split_example_1.cpp (97%) rename demo/snippets/snip9.cpp => example/snippets/regex_split_example_2.cpp (98%) rename {demo => example}/timer/bc55.mak (82%) rename {demo => example}/timer/bcb4.mak (82%) rename {demo => example}/timer/bcb5.mak (82%) rename {demo => example}/timer/gcc.mak (50%) rename {demo => example}/timer/makefile.in (66%) rename {demo => example}/timer/regex_timer.cpp (100%) rename {demo => example}/timer/vc6-stlport.mak (87%) rename {demo => example}/timer/vc6.mak (89%) rename {demo => test}/c_compiler_checks/posix_api_check.c (100%) rename {demo => test}/c_compiler_checks/posix_api_check.cpp (100%) rename {demo => test}/c_compiler_checks/wide_posix_api_check.c (100%) rename {demo => test}/c_compiler_checks/wide_posix_api_check.cpp (100%) rename {demo => test}/regress/bc55.mak (98%) rename {demo => test}/regress/bcb4.mak (99%) rename {demo => test}/regress/bcb5.mak (99%) rename {demo => test}/regress/gcc.mak (92%) rename {demo => test}/regress/makefile.in (73%) rename {demo => test}/regress/parse.cpp (100%) rename {demo => test}/regress/regex_test.cpp (100%) rename {demo => test}/regress/regress.cpp (100%) rename {demo => test}/regress/regress.h (100%) rename {demo => test}/regress/sunpro.mak (96%) rename {demo => test}/regress/test1252.txt (100%) rename {demo => test}/regress/tests.cpp (100%) rename {demo => test}/regress/tests.txt (100%) rename {demo => test}/regress/vc6-stlport.mak (99%) rename {demo => test}/regress/vc6.mak (99%) rename {demo => test}/regress/wregex_test.cpp (100%) diff --git a/appendix.htm b/appendix.htm index 18ae453d..a3c25740 100644 --- a/appendix.htm +++ b/appendix.htm @@ -1067,7 +1067,7 @@ syntax messages replace the default ones.

-

Appendix 4: Demo Applications

+

Appendix 4: Example Applications

There are three demo applications that ship with this library, they all come with makefiles for Borland, Microsoft and gcc @@ -1081,9 +1081,9 @@ guarantee that the library will behave as claimed - at least as far as those items tested are concerned - if anyone spots anything that isn't being tested I'd be glad to hear about it.

-

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

+

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

jgrep.exe
@@ -1093,8 +1093,8 @@ and the mapfile class to see an example of a "smart" bidirectional iterator that can be used with regex++ or any other STL algorithm.

-

Files: jgrep.cpp, main.cpp.

+

Files: jgrep.cpp, main.cpp.

timer.exe
@@ -1103,41 +1103,41 @@ results of all matches are timed, allowing the programmer to optimize their regular expressions where performance is critical.

-

Files: regex_timer.cpp. +

Files: regex_timer.cpp.

-

The snippets demos contain the code examples used in the +

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

-

snip1.cpp: ftp based +

regex_match_example.cpp: ftp based regex_match example.

-

snip2.cpp: regex_search +

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

-

snip3.cpp: regex_grep +

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

-

snip4.cpp: regex_merge +

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

-

snip5.cpp: regex_grep +

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

-

snip6.cpp: regex_grep +

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

-

snip7.cpp: regex_grep +

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

-

snip8.cpp: regex_split +

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

-

snip9.cpp: regex_split +

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


diff --git a/lib/bc55.mak b/build/bc55.mak similarity index 100% rename from lib/bc55.mak rename to build/bc55.mak diff --git a/lib/bcb4.mak b/build/bcb4.mak similarity index 100% rename from lib/bcb4.mak rename to build/bcb4.mak diff --git a/lib/bcb5.mak b/build/bcb5.mak similarity index 100% rename from lib/bcb5.mak rename to build/bcb5.mak diff --git a/lib/gcc-shared.mak b/build/gcc-shared.mak similarity index 100% rename from lib/gcc-shared.mak rename to build/gcc-shared.mak diff --git a/lib/gcc.mak b/build/gcc.mak similarity index 100% rename from lib/gcc.mak rename to build/gcc.mak diff --git a/lib/generic.mak b/build/generic.mak similarity index 100% rename from lib/generic.mak rename to build/generic.mak diff --git a/lib/makefile.in b/build/makefile.in similarity index 100% rename from lib/makefile.in rename to build/makefile.in diff --git a/lib/makefile.org b/build/makefile.org similarity index 100% rename from lib/makefile.org rename to build/makefile.org diff --git a/lib/sunpro.mak b/build/sunpro.mak similarity index 100% rename from lib/sunpro.mak rename to build/sunpro.mak diff --git a/lib/vc6-stlport.mak b/build/vc6-stlport.mak similarity index 100% rename from lib/vc6-stlport.mak rename to build/vc6-stlport.mak diff --git a/lib/vc6.mak b/build/vc6.mak similarity index 100% rename from lib/vc6.mak rename to build/vc6.mak diff --git a/configure b/configure index dc32ae9d..dc0dd690 100644 --- a/configure +++ b/configure @@ -3390,7 +3390,7 @@ done ac_all_o="" ac_rules="" ac_all_cpp="" -cat ./lib/makefile.org > ./lib/makefile.in +cat ./build/makefile.org > ./build/makefile.in for file in src/*.cpp src/*.c do if test "$file" != 'src/*.cpp' && test "$file" != 'src/*.c'; then @@ -3398,15 +3398,15 @@ do ac_all_cpp="$ac_all_cpp $file" root=`echo "$file" | sed 's/src\/\(.*\)\..*/\1/g'` ac_all_o="$ac_all_o $root$ac_obj_ext" - echo >> ./lib/makefile.in - echo >> ./lib/makefile.in - echo "$root$ac_obj_ext"': $(ALL_H) '"../$file" >> ./lib/makefile.in - echo ' $(CPP) $(CPP_PROJ)'" ../$file" >> ./lib/makefile.in - echo ' $(AR) -rc lib$(LIBNAME).a'" $root$ac_obj_ext" >> ./lib/makefile.in + echo >> ./build/makefile.in + echo >> ./build/makefile.in + echo "$root$ac_obj_ext"': $(ALL_H) '"../$file" >> ./build/makefile.in + echo ' $(CPP) $(CPP_PROJ)'" ../$file" >> ./build/makefile.in + echo ' $(AR) -rc lib$(LIBNAME).a'" $root$ac_obj_ext" >> ./build/makefile.in fi done -echo "$ac_rules" >> ./lib/makefile.in +echo "$ac_rules" >> ./build/makefile.in @@ -3773,7 +3773,7 @@ done ac_given_srcdir=$srcdir -trap 'rm -fr `echo "lib/makefile demo/jgrep/makefile demo/timer/makefile demo/regress/makefile makefile ../../boost/re_detail/regex_options.hpp:jm_opt.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 +trap 'rm -fr `echo "lib/makefile example/jgrep/makefile example/timer/makefile test/regress/makefile makefile ../../boost/re_detail/regex_options.hpp:jm_opt.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then diff --git a/configure.in b/configure.in index ef3d5031..6002661a 100644 --- a/configure.in +++ b/configure.in @@ -1383,7 +1383,7 @@ done ac_all_o="" ac_rules="" ac_all_cpp="" -cat ./lib/makefile.org > ./lib/makefile.in +cat ./build/makefile.org > ./build/makefile.in for file in src/*.cpp src/*.c do if test "$file" != 'src/*.cpp' && test "$file" != 'src/*.c'; then @@ -1393,15 +1393,15 @@ do root=`echo "$file" | sed 's/src\/\(.*\)\..*/\1/g'` dnl echo root file name is "$root" ac_all_o="$ac_all_o $root$ac_obj_ext" - echo >> ./lib/makefile.in - echo >> ./lib/makefile.in - echo "$root$ac_obj_ext"': $(ALL_H) '"../$file" >> ./lib/makefile.in - echo ' $(CPP) $(CPP_PROJ)'" ../$file" >> ./lib/makefile.in - echo ' $(AR) -rc lib$(LIBNAME).a'" $root$ac_obj_ext" >> ./lib/makefile.in + echo >> ./build/makefile.in + echo >> ./build/makefile.in + echo "$root$ac_obj_ext"': $(ALL_H) '"../$file" >> ./build/makefile.in + echo ' $(CPP) $(CPP_PROJ)'" ../$file" >> ./build/makefile.in + echo ' $(AR) -rc lib$(LIBNAME).a'" $root$ac_obj_ext" >> ./build/makefile.in fi done -echo "$ac_rules" >> ./lib/makefile.in +echo "$ac_rules" >> ./build/makefile.in AC_SUBST(ac_all_o) AC_SUBST(ac_all_h) @@ -1657,7 +1657,7 @@ AC_DEFINE(BOOST_RE_AUTO_CONF) AC_MSG_RESULT(***) AC_MSG_RESULT($0: setting up headers...) AC_MSG_RESULT(***) -AC_OUTPUT(lib/makefile demo/jgrep/makefile demo/timer/makefile demo/regress/makefile makefile) +AC_OUTPUT(lib/makefile example/jgrep/makefile example/timer/makefile test/regress/makefile makefile) AC_MSG_RESULT(***) AC_MSG_RESULT($0: regex++ package tuned for use with \"${CXX}\" compiler.) AC_MSG_RESULT($0: To restore original settings - copy jm_opt.in to ../../boost/re_detail/regex_options.hpp) diff --git a/demo/jgrep/bc55.mak b/example/jgrep/bc55.mak similarity index 95% rename from demo/jgrep/bc55.mak rename to example/jgrep/bc55.mak index c249519d..8918e05f 100644 --- a/demo/jgrep/bc55.mak +++ b/example/jgrep/bc55.mak @@ -10,7 +10,7 @@ BCROOT=$(MAKEDIR)\.. !endif BCC32 = $(BCROOT)\bin\Bcc32.exe -LIBPATH=..\..\lib\bcb5 +LIBPATH=..\..\build\bcb5 IDE_LinkFLAGS32 = -L$(BCROOT)\LIB LINKOPTS= -ap -Tpe -x @@ -47,3 +47,4 @@ main.obj : main.cpp + diff --git a/demo/jgrep/bcb4.mak b/example/jgrep/bcb4.mak similarity index 95% rename from demo/jgrep/bcb4.mak rename to example/jgrep/bcb4.mak index 32c1f1d4..b21f33c1 100644 --- a/demo/jgrep/bcb4.mak +++ b/example/jgrep/bcb4.mak @@ -10,7 +10,7 @@ BCROOT=$(MAKEDIR)\.. !endif BCC32 = $(BCROOT)\bin\Bcc32.exe -LIBPATH="..\..\lib\bcb4" +LIBPATH="..\..\build\bcb4" IDE_LinkFLAGS32 = -L$(BCROOT)\LIB LINKOPTS= -ap -Tpe -x @@ -47,3 +47,4 @@ main.obj : main.cpp + diff --git a/demo/jgrep/bcb5.mak b/example/jgrep/bcb5.mak similarity index 85% rename from demo/jgrep/bcb5.mak rename to example/jgrep/bcb5.mak index a69b04a8..0241f111 100644 --- a/demo/jgrep/bcb5.mak +++ b/example/jgrep/bcb5.mak @@ -10,7 +10,7 @@ BCROOT=$(MAKEDIR)\.. !endif BCC32 = $(BCROOT)\bin\Bcc32.exe -LIBPATH=../../lib/bcb5 +LIBPATH=../../build/bcb5 IDE_LinkFLAGS32 = -L$(BCROOT)\LIB LINKOPTS= -ap -Tpe -x @@ -19,7 +19,7 @@ COMPOPTS= -O2 -tWM- -DSTRICT; -I$(BCROOT)\include;../../../../; -D_NO_VCL jgrep.exe : jgrep.obj main.obj - $(BCC32) $(COMPOPTS) -e$@ -L..\..\lib\bcb5 main.obj jgrep.obj + $(BCC32) $(COMPOPTS) -e$@ -L..\..\build\bcb5 main.obj jgrep.obj jgrep.obj : jgrep.cpp $(BCC32) -c @&&| @@ -45,3 +45,5 @@ main.obj : main.cpp + + diff --git a/demo/jgrep/gcc.mak b/example/jgrep/gcc.mak similarity index 51% rename from demo/jgrep/gcc.mak rename to example/jgrep/gcc.mak index 44db05ea..efe068a4 100644 --- a/demo/jgrep/gcc.mak +++ b/example/jgrep/gcc.mak @@ -6,10 +6,11 @@ CXX= $(INCLUDES) -O2 -I../../../../ -I./ $(CXXFLAGS) $(LDFLAGS) jgrep : jgrep.cpp main.cpp - g++ -ojgrep $(CXX) jgrep.cpp main.cpp -L../../lib/gcc -lboost_regex $(LIBS) + g++ -ojgrep $(CXX) jgrep.cpp main.cpp -L../../build/gcc -lboost_regex $(LIBS) debug : jgrep.cpp main.cpp - g++ -ojgrep -I../../../../ -I./ -g jgrep.cpp main.cpp -L../../lib/gcc -lboost_regex_debug $(LIBS) + g++ -ojgrep -I../../../../ -I./ -g jgrep.cpp main.cpp -L../../build/gcc -lboost_regex_debug $(LIBS) + diff --git a/demo/jgrep/jgrep.cpp b/example/jgrep/jgrep.cpp similarity index 100% rename from demo/jgrep/jgrep.cpp rename to example/jgrep/jgrep.cpp diff --git a/demo/jgrep/jgrep.h b/example/jgrep/jgrep.h similarity index 100% rename from demo/jgrep/jgrep.h rename to example/jgrep/jgrep.h diff --git a/demo/jgrep/main.cpp b/example/jgrep/main.cpp similarity index 100% rename from demo/jgrep/main.cpp rename to example/jgrep/main.cpp diff --git a/demo/jgrep/makefile.in b/example/jgrep/makefile.in similarity index 63% rename from demo/jgrep/makefile.in rename to example/jgrep/makefile.in index 3cdcccc5..ad103ec6 100644 --- a/demo/jgrep/makefile.in +++ b/example/jgrep/makefile.in @@ -8,10 +8,10 @@ LIBS=@LIBS@ EXE=@ac_exe_ext@ OBJ=@ac_obj_ext@ -LIBDEP=../../lib/libboost_regex.a ../../../../boost/re_detail/regex_options.hpp ../../../../boost/re_detail/regex_config.hpp +LIBDEP=../../build/libboost_regex.a ../../../../boost/re_detail/regex_options.hpp ../../../../boost/re_detail/regex_config.hpp jgrep$(EXE) : jgrep$(OBJ) main$(OBJ) - $(CXX) -o jgrep$(EXE) jgrep$(OBJ) main$(OBJ) -L../../lib -lboost_regex $(LIBS) + $(CXX) -o jgrep$(EXE) jgrep$(OBJ) main$(OBJ) -L../../build -lboost_regex $(LIBS) jgrep$(OBJ) : jgrep.cpp jgrep.h $(LIBDEP) $(CXX) -c $(CXXFLAGS) -I../../../../ -I./ jgrep.cpp @@ -37,5 +37,6 @@ main$(OBJ) : main.cpp jgrep.h $(LIBDEP) + diff --git a/demo/jgrep/vc6-stlport.mak b/example/jgrep/vc6-stlport.mak similarity index 76% rename from demo/jgrep/vc6-stlport.mak rename to example/jgrep/vc6-stlport.mak index 86a20e36..a5152cf5 100644 --- a/demo/jgrep/vc6-stlport.mak +++ b/example/jgrep/vc6-stlport.mak @@ -4,7 +4,8 @@ # jgrep.exe: main.cpp jgrep.cpp jgrep.h - cl -GX -GR /Oityb1 /GF /Gy -MT -I..\..\..\..\ jgrep.cpp main.cpp /link /LIBPATH:..\..\lib\vc6-stlport user32.lib + cl -GX -GR /Oityb1 /GF /Gy -MT -I..\..\..\..\ jgrep.cpp main.cpp /link /LIBPATH:..\..\build\vc6-stlport user32.lib + diff --git a/demo/jgrep/vc6.mak b/example/jgrep/vc6.mak similarity index 79% rename from demo/jgrep/vc6.mak rename to example/jgrep/vc6.mak index bfccb20a..7b9ae60c 100644 --- a/demo/jgrep/vc6.mak +++ b/example/jgrep/vc6.mak @@ -4,7 +4,8 @@ # jgrep.exe: main.cpp jgrep.cpp jgrep.h - cl -GX -GR /Oityb1 /GF /Gy -I..\..\..\..\ jgrep.cpp main.cpp /link /LIBPATH:..\..\lib\vc6 user32.lib + cl -GX -GR /Oityb1 /GF /Gy -I..\..\..\..\ jgrep.cpp main.cpp /link /LIBPATH:..\..\build\vc6 user32.lib + diff --git a/demo/snippets/snip10.cpp b/example/snippets/credit_card_example.cpp similarity index 64% rename from demo/snippets/snip10.cpp rename to example/snippets/credit_card_example.cpp index 1f12ef48..d01ab9be 100644 --- a/demo/snippets/snip10.cpp +++ b/example/snippets/credit_card_example.cpp @@ -1,3 +1,24 @@ +/* + * + * Copyright (c) 1998-2000 + * Dr John Maddock + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies and + * that both that copyright notice and this permission notice appear + * in supporting documentation. Dr John Maddock makes no representations + * about the suitability of this software for any purpose. + * It is provided "as is" without express or implied warranty. + * + */ + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE credit_card_example.cpp + * VERSION 3.00 + * DESCRIPTION: Credit card number formatting code. + */ #include #include diff --git a/demo/snippets/partial_regex_grep.cpp b/example/snippets/partial_regex_grep.cpp similarity index 100% rename from demo/snippets/partial_regex_grep.cpp rename to example/snippets/partial_regex_grep.cpp diff --git a/demo/snippets/partial_regex_match.cpp b/example/snippets/partial_regex_match.cpp similarity index 100% rename from demo/snippets/partial_regex_match.cpp rename to example/snippets/partial_regex_match.cpp diff --git a/demo/snippets/snip3.cpp b/example/snippets/regex_grep_example_1.cpp similarity index 98% rename from demo/snippets/snip3.cpp rename to example/snippets/regex_grep_example_1.cpp index fad975c6..a385cd03 100644 --- a/demo/snippets/snip3.cpp +++ b/example/snippets/regex_grep_example_1.cpp @@ -15,7 +15,7 @@ /* * LOCATION: see http://www.boost.org for most recent version. - * FILE snip3.cpp + * FILE regex_grep_example_1.cpp * VERSION 3.00 * DESCRIPTION: regex_grep example 1: searches a cpp file for class definitions. */ diff --git a/demo/snippets/snip5.cpp b/example/snippets/regex_grep_example_2.cpp similarity index 98% rename from demo/snippets/snip5.cpp rename to example/snippets/regex_grep_example_2.cpp index aa105df1..c54e63a1 100644 --- a/demo/snippets/snip5.cpp +++ b/example/snippets/regex_grep_example_2.cpp @@ -15,7 +15,7 @@ /* * LOCATION: see http://www.boost.org for most recent version. - * FILE snip5.cpp + * FILE regex_grep_example_2.cpp * VERSION 3.00 * DESCRIPTION: regex_grep example 2: searches a cpp file for class definitions, * using a global callback function. diff --git a/demo/snippets/snip6.cpp b/example/snippets/regex_grep_example_3.cpp similarity index 96% rename from demo/snippets/snip6.cpp rename to example/snippets/regex_grep_example_3.cpp index 1073058c..cad3e2bd 100644 --- a/demo/snippets/snip6.cpp +++ b/example/snippets/regex_grep_example_3.cpp @@ -15,9 +15,9 @@ /* * LOCATION: see http://www.boost.org for most recent version. - * FILE snip6.cpp + * FILE regex_grep_example_3.cpp * VERSION 3.00 - * DESCRIPTION: regex_grep example 2: searches a cpp file for class definitions, + * DESCRIPTION: regex_grep example 3: searches a cpp file for class definitions, * using a bound member function callback. */ diff --git a/demo/snippets/snip7.cpp b/example/snippets/regex_grep_example_4.cpp similarity index 96% rename from demo/snippets/snip7.cpp rename to example/snippets/regex_grep_example_4.cpp index 2120a6ed..b5e9fcf5 100644 --- a/demo/snippets/snip7.cpp +++ b/example/snippets/regex_grep_example_4.cpp @@ -15,9 +15,9 @@ /* * LOCATION: see http://www.boost.org for most recent version. - * FILE snip7.cpp + * FILE regex_grep_example_4.cpp * VERSION 3.00 - * DESCRIPTION: regex_grep example 2: searches a cpp file for class definitions, + * DESCRIPTION: regex_grep example 4: searches a cpp file for class definitions, * using a C++ Builder closure as a callback. */ diff --git a/demo/snippets/snip1.cpp b/example/snippets/regex_match_example.cpp similarity index 98% rename from demo/snippets/snip1.cpp rename to example/snippets/regex_match_example.cpp index 131b1954..ba7541a5 100644 --- a/demo/snippets/snip1.cpp +++ b/example/snippets/regex_match_example.cpp @@ -15,7 +15,7 @@ /* * LOCATION: see http://www.boost.org for most recent version. - * FILE snip1.cpp + * FILE regex_match_example.cpp * VERSION 3.00 * DESCRIPTION: ftp based regex_match example. */ diff --git a/demo/snippets/snip4.cpp b/example/snippets/regex_merge_example.cpp similarity index 99% rename from demo/snippets/snip4.cpp rename to example/snippets/regex_merge_example.cpp index 0cb32f4e..866796d7 100644 --- a/demo/snippets/snip4.cpp +++ b/example/snippets/regex_merge_example.cpp @@ -15,7 +15,7 @@ /* * LOCATION: see http://www.boost.org for most recent version. - * FILE snip4.cpp + * FILE regex_merge_example.cpp * VERSION 3.00 * DESCRIPTION: regex_merge example: * converts a C++ file to syntax highlighted HTML. diff --git a/demo/snippets/snip2.cpp b/example/snippets/regex_search_example.cpp similarity index 98% rename from demo/snippets/snip2.cpp rename to example/snippets/regex_search_example.cpp index 33d8a399..aa0574e5 100644 --- a/demo/snippets/snip2.cpp +++ b/example/snippets/regex_search_example.cpp @@ -15,7 +15,7 @@ /* * LOCATION: see http://www.boost.org for most recent version. - * FILE snip2.cpp + * FILE regex_search_example.cpp * VERSION 3.00 * DESCRIPTION: regex_search example: searches a cpp file for class definitions. */ diff --git a/demo/snippets/snip8.cpp b/example/snippets/regex_split_example_1.cpp similarity index 97% rename from demo/snippets/snip8.cpp rename to example/snippets/regex_split_example_1.cpp index 3ed73c42..7d0d7a18 100644 --- a/demo/snippets/snip8.cpp +++ b/example/snippets/regex_split_example_1.cpp @@ -15,7 +15,7 @@ /* * LOCATION: see http://www.boost.org for most recent version. - * FILE snip8.cpp + * FILE regex_split_example_1.cpp * VERSION 3.00 * DESCRIPTION: regex_split example: split a string into tokens. */ diff --git a/demo/snippets/snip9.cpp b/example/snippets/regex_split_example_2.cpp similarity index 98% rename from demo/snippets/snip9.cpp rename to example/snippets/regex_split_example_2.cpp index 89ef970b..2c6090a5 100644 --- a/demo/snippets/snip9.cpp +++ b/example/snippets/regex_split_example_2.cpp @@ -15,7 +15,7 @@ /* * LOCATION: see http://www.boost.org for most recent version. - * FILE snip9.cpp + * FILE regex_split_example_2.cpp * VERSION 3.00 * DESCRIPTION: regex_split example: spit out linked URL's. */ diff --git a/demo/timer/bc55.mak b/example/timer/bc55.mak similarity index 82% rename from demo/timer/bc55.mak rename to example/timer/bc55.mak index 1c04edd9..f2680720 100644 --- a/demo/timer/bc55.mak +++ b/example/timer/bc55.mak @@ -13,7 +13,7 @@ BCROOT=$(MAKEDIR)\.. BCC32 = $(BCROOT)\bin\Bcc32.exe IDE_LinkFLAGS32 = -L$(BCROOT)\LIB -COMPOPTS= -O2 -tWC -tWM- -D_NO_VCL; -I../../../../; -L..\..\lib\bcb5 +COMPOPTS= -O2 -tWC -tWM- -D_NO_VCL; -I../../../../; -L..\..\build\bcb5 timer.exe : regex_timer.cpp @@ -40,5 +40,6 @@ timer.exe : regex_timer.cpp + diff --git a/demo/timer/bcb4.mak b/example/timer/bcb4.mak similarity index 82% rename from demo/timer/bcb4.mak rename to example/timer/bcb4.mak index 0893a874..6c6f7d64 100644 --- a/demo/timer/bcb4.mak +++ b/example/timer/bcb4.mak @@ -13,7 +13,7 @@ BCROOT=$(MAKEDIR)\.. BCC32 = $(BCROOT)\bin\Bcc32.exe IDE_LinkFLAGS32 = -L$(BCROOT)\LIB -COMPOPTS= -O2 -tWC -tWM- -D_NO_VCL; -I../../../../; -L..\..\lib\bcb4 +COMPOPTS= -O2 -tWC -tWM- -D_NO_VCL; -I../../../../; -L..\..\build\bcb4 timer.exe : regex_timer.cpp @@ -40,5 +40,6 @@ timer.exe : regex_timer.cpp + diff --git a/demo/timer/bcb5.mak b/example/timer/bcb5.mak similarity index 82% rename from demo/timer/bcb5.mak rename to example/timer/bcb5.mak index 1c04edd9..f2680720 100644 --- a/demo/timer/bcb5.mak +++ b/example/timer/bcb5.mak @@ -13,7 +13,7 @@ BCROOT=$(MAKEDIR)\.. BCC32 = $(BCROOT)\bin\Bcc32.exe IDE_LinkFLAGS32 = -L$(BCROOT)\LIB -COMPOPTS= -O2 -tWC -tWM- -D_NO_VCL; -I../../../../; -L..\..\lib\bcb5 +COMPOPTS= -O2 -tWC -tWM- -D_NO_VCL; -I../../../../; -L..\..\build\bcb5 timer.exe : regex_timer.cpp @@ -40,5 +40,6 @@ timer.exe : regex_timer.cpp + diff --git a/demo/timer/gcc.mak b/example/timer/gcc.mak similarity index 50% rename from demo/timer/gcc.mak rename to example/timer/gcc.mak index 84bdddcb..5db67b7c 100644 --- a/demo/timer/gcc.mak +++ b/example/timer/gcc.mak @@ -6,10 +6,11 @@ CXX= $(INCLUDES) -I../../../../ -I./ $(CXXFLAGS) timer : regex_timer.cpp - g++ $(CXX) -O2 -o timer regex_timer.cpp -L../../lib/gcc $(LDFLAGS) -lboost_regex $(LIBS) + g++ $(CXX) -O2 -o timer regex_timer.cpp -L../../build/gcc $(LDFLAGS) -lboost_regex $(LIBS) debug : regex_timer.cpp timer.cpp - g++ $(CXX) -g -o timer regex_timer.cpp -L../../lib/gcc $(LDFLAGS) -lboost_regex_debug $(LIBS) + g++ $(CXX) -g -o timer regex_timer.cpp -L../../build/gcc $(LDFLAGS) -lboost_regex_debug $(LIBS) + diff --git a/demo/timer/makefile.in b/example/timer/makefile.in similarity index 66% rename from demo/timer/makefile.in rename to example/timer/makefile.in index 31c3ceb1..8aa03268 100644 --- a/demo/timer/makefile.in +++ b/example/timer/makefile.in @@ -7,10 +7,10 @@ LIBS=@LIBS@ EXE=@ac_exe_ext@ OBJ=@ac_obj_ext@ -LIBDEP=../../lib/libboost_regex.a ../../../../boost/re_detail/regex_options.hpp ../../../../boost/re_detail/regex_config.hpp +LIBDEP=../../build/libboost_regex.a ../../../../boost/re_detail/regex_options.hpp ../../../../boost/re_detail/regex_config.hpp regex_timer$(EXE) : regex_timer$(OBJ) - $(CXX) -o timer$(EXE) regex_timer$(OBJ) -L../../lib -lboost_regex $(LIBS) + $(CXX) -o timer$(EXE) regex_timer$(OBJ) -L../../build -lboost_regex $(LIBS) regex_timer$(OBJ) : regex_timer.cpp $(LIBDEP) $(CXX) -c $(CXXFLAGS) -DSTRICT -I../../../../ -I./ regex_timer.cpp @@ -36,3 +36,4 @@ timer$(OBJ) : ../../../timer/timer.cpp $(LIBDEP) + diff --git a/demo/timer/regex_timer.cpp b/example/timer/regex_timer.cpp similarity index 100% rename from demo/timer/regex_timer.cpp rename to example/timer/regex_timer.cpp diff --git a/demo/timer/vc6-stlport.mak b/example/timer/vc6-stlport.mak similarity index 87% rename from demo/timer/vc6-stlport.mak rename to example/timer/vc6-stlport.mak index 81381f51..24076f0f 100644 --- a/demo/timer/vc6-stlport.mak +++ b/example/timer/vc6-stlport.mak @@ -3,7 +3,7 @@ # CXX=cl CXXFLAGS=/Oityb1 /GF /Gy -MT -GX -DSTRICT -I../../../../ -I./ -LIBS=/link /LIBPATH:..\..\lib\vc6-stlport kernel32.lib user32.lib +LIBS=/link /LIBPATH:..\..\build\vc6-stlport kernel32.lib user32.lib EXE=.exe OBJ=.obj @@ -30,3 +30,4 @@ timer$(OBJ) : ../../../timer/timer.cpp $(LIBDEP) + diff --git a/demo/timer/vc6.mak b/example/timer/vc6.mak similarity index 89% rename from demo/timer/vc6.mak rename to example/timer/vc6.mak index 2b08d547..919d7128 100644 --- a/demo/timer/vc6.mak +++ b/example/timer/vc6.mak @@ -3,7 +3,7 @@ # CXX=cl CXXFLAGS=/Oityb1 /GF /Gy -GX -DSTRICT -I../../../../ -I./ -LIBS=/link /LIBPATH:..\..\lib\vc6 kernel32.lib user32.lib +LIBS=/link /LIBPATH:..\..\build\vc6 kernel32.lib user32.lib EXE=.exe OBJ=.obj @@ -29,3 +29,4 @@ timer$(OBJ) : ../../../timer/timer.cpp $(LIBDEP) + diff --git a/index.htm b/index.htm index 37839938..0c20249b 100644 --- a/index.htm +++ b/index.htm @@ -90,35 +90,35 @@ It is provided "as is" without express or implied warranty. notes
  • Thread safety
  • Localization
  • -
  • Demo Applications +
  • Example Applications diff --git a/introduction.htm b/introduction.htm index 8f06799f..410c76f9 100644 --- a/introduction.htm +++ b/introduction.htm @@ -370,7 +370,7 @@ single-thread static builds).

    GCC(2.95)

    There is a conservative makefile for the g++ compiler. From -the command prompt change to the <boost>/libs/regex/lib +the command prompt change to the <boost>/libs/regex/build directory and type:

    make -fgcc.mak

    @@ -379,7 +379,7 @@ directory and type:

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

    There is also a makefile to build the library as a shared @@ -426,7 +426,7 @@ make

    Note that the configure generated makefiles produce only a static library, if you would prefer to build a shared library, -then there is a generic.mak makefile in the <boost>/libs/regex/lib +then there is a generic.mak makefile in the <boost>/libs/regex/build directory. To use this you will need to set up a number of environment variables first (see the makefile for more details). Finally if you use one of the following compilers: Kai C++, SGI diff --git a/makefile.in b/makefile.in index ba1ae513..e9f3bc53 100644 --- a/makefile.in +++ b/makefile.in @@ -1,23 +1,23 @@ ALL_DEP=@ac_all_dep@ -base: ./lib/libboost_regex.a +base: ./build/libboost_regex.a -./lib/libboost_regex.a: $(ALL_DEP) +./build/libboost_regex.a: $(ALL_DEP) sh dmi.sh lib jgrep : base - sh dmi.sh demo/jgrep + sh dmi.sh example/jgrep test : base - sh dmi.sh demo/regress + sh dmi.sh test/regress regress : test timer : base - sh dmi.sh demo/timer + sh dmi.sh example/timer install : base echo no install option available diff --git a/makefile_gen b/makefile_gen index 7a24f02b..cfc21bbf 100644 --- a/makefile_gen +++ b/makefile_gen @@ -302,7 +302,7 @@ EOF function gcc_gen() { - out="lib/gcc.mak" + out="build/gcc.mak" tout="temp" iout="temp_install" subdir="gcc" @@ -371,7 +371,7 @@ EOF function gcc_gen_shared() { - out="lib/gcc-shared.mak" + out="build/gcc-shared.mak" tout="temp" iout="temp_install" subdir="gcc" @@ -696,7 +696,7 @@ EOF function gen_gen() { - out="lib/generic.mak" + out="build/generic.mak" tout="temp" iout="temp_install" subdir="\$(DIRNAME)" @@ -969,13 +969,13 @@ done # # generate vc6 makefile: -out="lib/vc6.mak" +out="build/vc6.mak" subdir="vc6" vc6_gen # # generate vc6-stlport makefile: is_stlport="yes" -out="lib/vc6-stlport.mak" +out="build/vc6-stlport.mak" no_single="yes" subdir="vc6-stlport" vc6_gen @@ -986,18 +986,18 @@ gcc_shared="yes" gcc_gen_shared # # generate C++ Builder 4 files: -out="lib/bcb4.mak" +out="build/bcb4.mak" subdir="bcb4" bcb_gen # # generate C++ Builder 5 files: -out="lib/bcb5.mak" +out="build/bcb5.mak" subdir="bcb5" bcb_gen # # generate C++ Builder 5 command line tools files: use_vcl="no" -out="lib/bc55.mak" +out="build/bc55.mak" subdir="bcb5" bcb_gen # @@ -1005,7 +1005,7 @@ bcb_gen gen_gen # # generate Sun 6.1 makefile: -out="lib/sunpro.mak" +out="build/sunpro.mak" subdir="sunpro" sun_gen diff --git a/template_class_ref.htm b/template_class_ref.htm index 8ab5dbb2..5fc033ef 100644 --- a/template_class_ref.htm +++ b/template_class_ref.htm @@ -1064,7 +1064,7 @@ template <class charT> class regex_traits : public base_type { /*detailts* -

    regex_match returns false if no match occurs or true if it does. A match only occurs if it starts at first and finishes at last. Example: the following example processes an ftp response:

    +

    regex_match returns false if no match occurs or true if it does. A match only occurs if it starts at first and finishes at last. Example: the following example processes an ftp response:

    #include <stdlib.h> 
     #include <boost/regex.hpp> 
     #include <string> 
    @@ -1299,7 +1299,7 @@ regex expression("([0-9]+)(\\-| |$)(.*)");
     
     


     

    -

    Example: the following example, takes the contents of a file in the form of a string, and searches for all the C++ class declarations in the file. The code will work regardless of the way that std::string is implemented, for example it could easily be modified to work with the SGI rope class, which uses a non-contiguous storage strategy.

    +

    Example: the following example, takes the contents of a file in the form of a string, and searches for all the C++ class declarations in the file. The code will work regardless of the way that std::string is implemented, for example it could easily be modified to work with the SGI rope class, which uses a non-contiguous storage strategy.

    #include <string> 
     #include <map> 
     #include <boost/regex.hpp> 
    @@ -1415,7 +1415,7 @@ void IndexClasses(map_type& m, const std::string& file)
     };

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

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

    -

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

    +

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

    #include <string> 
     #include <map> 
     #include <boost/regex.hpp> 
    @@ -1456,7 +1456,7 @@ void IndexClasses(map_type& m, const std::string& file)
        end = file.end(); 
        regex_grep(IndexClassesPred(m, start), start, end, expression); 
     } 
    -

    Example: Use regex_grep to call a global callback function:

    +

    Example: Use regex_grep to call a global callback function:

    #include <string> 
     #include <map> 
     #include <boost/regex.hpp> 
    @@ -1493,7 +1493,7 @@ void IndexClasses(const std::string& file)
        regex_grep(grep_callback, start, end, expression, match_default); 
     }
       
    -

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

    +

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

    #include <string> 
     #include <map> 
     #include <boost/regex.hpp> 
    @@ -1546,7 +1546,7 @@ bool class_index::grep_callback(boost::match_results<std::string::const_i
                   expression); 
     } 
       
    -

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

    +

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

    #include <string> 
     #include <map> 
     #include <boost/regex.hpp> 
    @@ -1802,7 +1802,7 @@ std::basic_string<charT> regex_merge(const std::basic_string<cha
     
     
     
    -

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

    +

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

     #include <fstream>
     #include <sstream>
    @@ -1924,12 +1924,12 @@ std::size_t regex_split(OutputIterator out, 
     std::size_t regex_split(OutputIterator out, 
                             std::basic_string<charT, Traits1, Alloc1>& s);

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

    -

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

    +

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

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

    Example: the following short program will extract all of the URL's from a html file, and print them out to cout:

    +

    Example: the following short program will extract all of the URL's from a html file, and print them out to cout:

    #include <list>
     #include <fstream>
     #include <iostream>
    @@ -2028,7 +2028,7 @@ boost::regex e("<\\s*A\\s+[^>]*href\\s*=\\s*\"([^\"]
     
     
     
    -

    The following example tests to see whether the text could be a valid credit card number, as the user presses a key, the character entered would be added to the string being built up, and passed to is_possible_card_number. If this returns true then the text could be a valid card number, so the user interface's OK button would be enabled. If it returns false, then this is not yet a valid card number, but could be with more input, so the user interface would disable the OK button. Finally, if the procedure throws an exception the input could never become a valid number, and the inputted character must be discarded, and a suitable error indication displayed to the user.

    +

    The following example tests to see whether the text could be a valid credit card number, as the user presses a key, the character entered would be added to the string being built up, and passed to is_possible_card_number. If this returns true then the text could be a valid card number, so the user interface's OK button would be enabled. If it returns false, then this is not yet a valid card number, but could be with more input, so the user interface would disable the OK button. Finally, if the procedure throws an exception the input could never become a valid number, and the inputted character must be discarded, and a suitable error indication displayed to the user.

    #include <string>
     #include <iostream>
     #include <boost/regex.hpp>
    @@ -2055,7 +2055,7 @@ bool is_possible_card_number(const std::string& input)
        // what we have so far is only a partial match...
        return false;
     }
    -

    In the following example, text input is taken from a stream containing an unknown amount of text; this example simply counts the number of html tags encountered in the stream. The text is loaded into a buffer and searched a part at a time, if a partial match was encountered, then the partial match gets searched a second time as the start of the next batch of text:

    +

    In the following example, text input is taken from a stream containing an unknown amount of text; this example simply counts the number of html tags encountered in the stream. The text is loaded into a buffer and searched a part at a time, if a partial match was encountered, then the partial match gets searched a second time as the start of the next batch of text:

    #include <iostream>
     #include <fstream>
     #include <sstream>
    diff --git a/demo/c_compiler_checks/posix_api_check.c b/test/c_compiler_checks/posix_api_check.c
    similarity index 100%
    rename from demo/c_compiler_checks/posix_api_check.c
    rename to test/c_compiler_checks/posix_api_check.c
    diff --git a/demo/c_compiler_checks/posix_api_check.cpp b/test/c_compiler_checks/posix_api_check.cpp
    similarity index 100%
    rename from demo/c_compiler_checks/posix_api_check.cpp
    rename to test/c_compiler_checks/posix_api_check.cpp
    diff --git a/demo/c_compiler_checks/wide_posix_api_check.c b/test/c_compiler_checks/wide_posix_api_check.c
    similarity index 100%
    rename from demo/c_compiler_checks/wide_posix_api_check.c
    rename to test/c_compiler_checks/wide_posix_api_check.c
    diff --git a/demo/c_compiler_checks/wide_posix_api_check.cpp b/test/c_compiler_checks/wide_posix_api_check.cpp
    similarity index 100%
    rename from demo/c_compiler_checks/wide_posix_api_check.cpp
    rename to test/c_compiler_checks/wide_posix_api_check.cpp
    diff --git a/demo/regress/bc55.mak b/test/regress/bc55.mak
    similarity index 98%
    rename from demo/regress/bc55.mak
    rename to test/regress/bc55.mak
    index 7a9da4dc..3dbd4c51 100644
    --- a/demo/regress/bc55.mak
    +++ b/test/regress/bc55.mak
    @@ -14,7 +14,7 @@ TLINK32 = $(BCROOT)\bin\ILink32.exe
     
     IDE_LinkFLAGS32 =  -L$(BCROOT)\LIB
     LINKOPTS= -ap -Tpe -x
    -CFLAGS= -O2 -tWC -DSTRICT; -w-inl -w-aus -w-csu -w-eff -w-rch -I$(BCROOT)\include;..\..\..\..\; -L..\..\lib\bcb5
    +CFLAGS= -O2 -tWC -DSTRICT; -w-inl -w-aus -w-csu -w-eff -w-rch -I$(BCROOT)\include;..\..\..\..\; -L..\..\build\bcb5
     
     all :: r1.exe r2.exe r3.exe r4.exe r5.exe r6.exe r1m.exe r2m.exe r3m.exe r4m.exe r5m.exe r6m.exe r1l.exe r2l.exe r3l.exe r4l.exe r5l.exe r6l.exe r1lm.exe r2lm.exe r3lm.exe r4lm.exe r5lm.exe r6lm.exe
     	echo testing static single threaded version....
    @@ -132,3 +132,4 @@ r6lm.exe : tests.cpp parse.cpp regress.cpp
     
     
     
    +
    diff --git a/demo/regress/bcb4.mak b/test/regress/bcb4.mak
    similarity index 99%
    rename from demo/regress/bcb4.mak
    rename to test/regress/bcb4.mak
    index 14832619..a6e64aa6 100644
    --- a/demo/regress/bcb4.mak
    +++ b/test/regress/bcb4.mak
    @@ -14,7 +14,7 @@ TLINK32 = $(BCROOT)\bin\ILink32.exe
     
     IDE_LinkFLAGS32 =  -L$(BCROOT)\LIB
     LINKOPTS= -ap -Tpe -x
    -CFLAGS= -O2 -tWC -DSTRICT; -w-inl -w-aus -w-csu -w-eff -w-rch -I$(BCROOT)\include;..\..\..\..\; -L..\..\lib\bcb4
    +CFLAGS= -O2 -tWC -DSTRICT; -w-inl -w-aus -w-csu -w-eff -w-rch -I$(BCROOT)\include;..\..\..\..\; -L..\..\build\bcb4
     
     all :: r1.exe r2.exe r3.exe r4.exe r5.exe r6.exe r1m.exe r2m.exe r3m.exe r4m.exe r5m.exe r6m.exe r1v.exe r2v.exe r3v.exe r4v.exe r5v.exe r6v.exe r1l.exe r2l.exe r3l.exe r4l.exe r5l.exe r6l.exe r1lm.exe r2lm.exe r3lm.exe r4lm.exe r5lm.exe r6lm.exe r1lv.exe r2lv.exe r3lv.exe r4lv.exe r5lv.exe r6lv.exe
     	echo testing static single threaded version....
    @@ -184,3 +184,4 @@ r6lv.exe : tests.cpp parse.cpp regress.cpp
     
     
     
    +
    diff --git a/demo/regress/bcb5.mak b/test/regress/bcb5.mak
    similarity index 99%
    rename from demo/regress/bcb5.mak
    rename to test/regress/bcb5.mak
    index bb913dcb..5b98b060 100644
    --- a/demo/regress/bcb5.mak
    +++ b/test/regress/bcb5.mak
    @@ -14,7 +14,7 @@ TLINK32 = $(BCROOT)\bin\ILink32.exe
     
     IDE_LinkFLAGS32 =  -L$(BCROOT)\LIB
     LINKOPTS= -ap -Tpe -x
    -CFLAGS= -O2 -tWC -DSTRICT; -w-inl -w-aus -w-csu -w-eff -w-rch -I$(BCROOT)\include;..\..\..\..\; -L..\..\lib\bcb5
    +CFLAGS= -O2 -tWC -DSTRICT; -w-inl -w-aus -w-csu -w-eff -w-rch -I$(BCROOT)\include;..\..\..\..\; -L..\..\build\bcb5
     
     all :: r1.exe r2.exe r3.exe r4.exe r5.exe r6.exe r1m.exe r2m.exe r3m.exe r4m.exe r5m.exe r6m.exe r1v.exe r2v.exe r3v.exe r4v.exe r5v.exe r6v.exe r1l.exe r2l.exe r3l.exe r4l.exe r5l.exe r6l.exe r1lm.exe r2lm.exe r3lm.exe r4lm.exe r5lm.exe r6lm.exe r1lv.exe r2lv.exe r3lv.exe r4lv.exe r5lv.exe r6lv.exe
     	echo testing static single threaded version....
    @@ -184,3 +184,4 @@ r6lv.exe : tests.cpp parse.cpp regress.cpp
     
     
     
    +
    diff --git a/demo/regress/gcc.mak b/test/regress/gcc.mak
    similarity index 92%
    rename from demo/regress/gcc.mak
    rename to test/regress/gcc.mak
    index 6cc8bb56..ceb85814 100644
    --- a/demo/regress/gcc.mak
    +++ b/test/regress/gcc.mak
    @@ -3,7 +3,7 @@
     #
     # g++ 2.95 and greater
     #
    -CXX= g++ $(INCLUDES) -pedantic -Wall -I../../../../ -I./ $(CXXFLAGS) -L../../lib/gcc $(LDFLAGS)
    +CXX= g++ $(INCLUDES) -pedantic -Wall -I../../../../ -I./ $(CXXFLAGS) -L../../build/gcc $(LDFLAGS)
     
     total : r2
     	./r2 tests.txt
    @@ -51,5 +51,6 @@ debug : tests.cpp parse.cpp regress.cpp
     
     
     
    +
     
     
    diff --git a/demo/regress/makefile.in b/test/regress/makefile.in
    similarity index 73%
    rename from demo/regress/makefile.in
    rename to test/regress/makefile.in
    index 33977b76..9658d2f3 100644
    --- a/demo/regress/makefile.in
    +++ b/test/regress/makefile.in
    @@ -3,13 +3,13 @@
     #
     CXX=@CXX@
     CXXFLAGS=@CXXFLAGS@ -I../../../../
    -LIBS=@LIBS@ -L../../lib -lboost_regex
    +LIBS=@LIBS@ -L../../build -lboost_regex
     EXE=@ac_exe_ext@
     OBJ=@ac_obj_ext@
     
     total : @ac_regress@
     
    -LIBDEP=../../lib/libboost_regex.a ../../../../boost/re_detail/regex_options.hpp ../../../../boost/re_detail/regex_config.hpp
    +LIBDEP=../../build/libboost_regex.a ../../../../boost/re_detail/regex_options.hpp ../../../../boost/re_detail/regex_config.hpp
     
     r1$(EXE) :: tests.cpp parse.cpp regress.cpp
     	$(CXX) -o r1$(EXE) $(CXXFLAGS) tests.cpp parse.cpp regress.cpp $(LIBS)
    @@ -42,5 +42,6 @@ r2$(EXE) ::  tests.cpp parse.cpp regress.cpp
     
     
     
    +
     
     
    diff --git a/demo/regress/parse.cpp b/test/regress/parse.cpp
    similarity index 100%
    rename from demo/regress/parse.cpp
    rename to test/regress/parse.cpp
    diff --git a/demo/regress/regex_test.cpp b/test/regress/regex_test.cpp
    similarity index 100%
    rename from demo/regress/regex_test.cpp
    rename to test/regress/regex_test.cpp
    diff --git a/demo/regress/regress.cpp b/test/regress/regress.cpp
    similarity index 100%
    rename from demo/regress/regress.cpp
    rename to test/regress/regress.cpp
    diff --git a/demo/regress/regress.h b/test/regress/regress.h
    similarity index 100%
    rename from demo/regress/regress.h
    rename to test/regress/regress.h
    diff --git a/demo/regress/sunpro.mak b/test/regress/sunpro.mak
    similarity index 96%
    rename from demo/regress/sunpro.mak
    rename to test/regress/sunpro.mak
    index c2f8b8fe..6982f470 100644
    --- a/demo/regress/sunpro.mak
    +++ b/test/regress/sunpro.mak
    @@ -4,7 +4,7 @@
     #
     # Sun Workshop 6 and greater:
     #
    -CXX= CC $(INCLUDES) -I../../../../ -I./ $(CXXFLAGS) -L../../lib/sunpro $(LDFLAGS)
    +CXX= CC $(INCLUDES) -I../../../../ -I./ $(CXXFLAGS) -L../../build/sunpro $(LDFLAGS)
     
     total : r rm r/regress rm/regress rs rms rs/regress rms/regress rw rmw rw/regress rmw/regress rsw rmsw rsw/regress rmsw/regress
     	echo testsing narrow character versions:
    @@ -126,5 +126,6 @@ clean:
     
     
     
    +
     
     
    diff --git a/demo/regress/test1252.txt b/test/regress/test1252.txt
    similarity index 100%
    rename from demo/regress/test1252.txt
    rename to test/regress/test1252.txt
    diff --git a/demo/regress/tests.cpp b/test/regress/tests.cpp
    similarity index 100%
    rename from demo/regress/tests.cpp
    rename to test/regress/tests.cpp
    diff --git a/demo/regress/tests.txt b/test/regress/tests.txt
    similarity index 100%
    rename from demo/regress/tests.txt
    rename to test/regress/tests.txt
    diff --git a/demo/regress/vc6-stlport.mak b/test/regress/vc6-stlport.mak
    similarity index 99%
    rename from demo/regress/vc6-stlport.mak
    rename to test/regress/vc6-stlport.mak
    index 270d7b38..0d34abcf 100644
    --- a/demo/regress/vc6-stlport.mak
    +++ b/test/regress/vc6-stlport.mak
    @@ -20,7 +20,7 @@ XLFLAGS=
     
     CFLAGS= $(INCLUDES) /Oityb1 /GF /Gy -GX -GR -I..\..\..\..\ $(CXXFLAGS)
     
    -LFLAGS= -link /LIBPATH:..\..\lib\vc6-stlport user32.lib $(XLFLAGS)
    +LFLAGS= -link /LIBPATH:..\..\build\vc6-stlport user32.lib $(XLFLAGS)
     
     all :: r1m.exe r2m.exe r3m.exe r4m.exe r5m.exe r6m.exe r1l.exe r2l.exe r3l.exe r4l.exe r5l.exe r6l.exe r1ls.exe r2ls.exe r3ls.exe r4ls.exe r5ls.exe r6ls.exe r1md.exe r2md.exe r3md.exe r4md.exe r5md.exe r6md.exe r1lmd.exe r2lmd.exe r3lmd.exe r4lmd.exe r5lmd.exe r6lmd.exe r1mdd.exe r2mdd.exe r3mdd.exe r4mdd.exe r5mdd.exe r6mdd.exe r1lmdd.exe r2lmdd.exe r3lmdd.exe
     	echo testing static multi-threaded version....
    @@ -204,3 +204,4 @@ r6mdd.exe : tests.cpp parse.cpp regress.cpp
     
     
     
    +
    diff --git a/demo/regress/vc6.mak b/test/regress/vc6.mak
    similarity index 99%
    rename from demo/regress/vc6.mak
    rename to test/regress/vc6.mak
    index 1fb4ba12..905b8424 100644
    --- a/demo/regress/vc6.mak
    +++ b/test/regress/vc6.mak
    @@ -18,7 +18,7 @@ XLFLAGS=
     
     CFLAGS= $(INCLUDES) /Oityb1 /GF /Gy -GX -GR -I..\..\..\..\ $(CXXFLAGS)
     
    -LFLAGS= -link /LIBPATH:..\..\lib\vc6 user32.lib $(XLFLAGS)
    +LFLAGS= -link /LIBPATH:..\..\build\vc6 user32.lib $(XLFLAGS)
     
     all :: r1.exe r2.exe r3.exe r4.exe r5.exe r6.exe r1m.exe r2m.exe r3m.exe r4m.exe r5m.exe r6m.exe r1l.exe r2l.exe r3l.exe r4l.exe r5l.exe r6l.exe r1ls.exe r2ls.exe r3ls.exe r4ls.exe r5ls.exe r6ls.exe r1d.exe r2d.exe r3d.exe r4d.exe r5d.exe r6d.exe r1md.exe r2md.exe r3md.exe r4md.exe r5md.exe r6md.exe r1lmd.exe r2lmd.exe r3lmd.exe r4lmd.exe r5lmd.exe r6lmd.exe
     	echo testing static single threaded version....
    @@ -219,3 +219,4 @@ r6lmd.exe : tests.cpp parse.cpp regress.cpp
     
     
     
    +
    diff --git a/demo/regress/wregex_test.cpp b/test/regress/wregex_test.cpp
    similarity index 100%
    rename from demo/regress/wregex_test.cpp
    rename to test/regress/wregex_test.cpp