r161410 - in /trunk/libstdc++-v3: ChangeLog inc...

smw@gcc.gnu.org smw@gcc.gnu.org
Fri Jun 25 19:27:00 GMT 2010


Author: smw
Date: Fri Jun 25 19:27:16 2010
New Revision: 161410

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=161410
Log:
2010-06-25  Stephen M. Webb  <stephen.webb@bregmasoft.ca>

  Initial regex implementation.

  * include/std/regex: Modified to use bits/regex_* headers.
  * include/bits/regex_compiler.h: New file.
  * include/bits/regex_constants.h: New file.
  * include/bits/regex_cursor.h: New file.
  * include/bits/regex_error.h: New file.
  * include/bits/regex_grep_matcher.h: New file.
  * include/bits/regex_grep_matcher.tcc: New file.
  * include/bits/regex.h: New file.
  * include/bits/regex_nfa.h: New file.
  * include/bits/regex_nfa.tcc: New file.
  * include/Makefile.am: Added above new files.
  * include/Makefile.in: Regenerated.
  * testsuite/28_regex/02_definitions: New file.
  * testsuite/28_regex/03_requirements: New file.
  * testsuite/28_regex/03_requirements/typedefs.cc: New file.
  * testsuite/28_regex/04_header: New file.
  * testsuite/28_regex/04_header/regex: New file.
  * testsuite/28_regex/04_header/regex/std_c++0x_neg.cc: New file.
  * testsuite/28_regex/05_constants: New file.
  * testsuite/28_regex/05_constants/error_type.cc: New file.
  * testsuite/28_regex/05_constants/match_flag_type.cc: New file.
  * testsuite/28_regex/05_constants/syntax_option_type.cc: New file.
  * testsuite/28_regex/06_exception_type: New file.
  * testsuite/28_regex/06_exception_type/regex_error.cc: New file.
  * testsuite/28_regex/07_traits: New file.
  * testsuite/28_regex/07_traits/char: New file.
  * testsuite/28_regex/07_traits/char/ctor.cc: New file.
  * testsuite/28_regex/07_traits/char/isctype.cc: New file.
  * testsuite/28_regex/07_traits/char/length.cc: New file.
  * testsuite/28_regex/07_traits/char/lookup_classname.cc: New file.
  * testsuite/28_regex/07_traits/char/lookup_collatename.cc: New file.
  * testsuite/28_regex/07_traits/char/transform.cc: New file.
  * testsuite/28_regex/07_traits/char/transform_primary.cc: New file.
  * testsuite/28_regex/07_traits/char/translate.cc: New file.
  * testsuite/28_regex/07_traits/char/translate_nocase.cc: New file.
  * testsuite/28_regex/07_traits/char/value.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t: New file.
  * testsuite/28_regex/07_traits/wchar_t/ctor.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/length.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/transform.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/translate.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/translate_nocase.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/value.cc: New file.
  * testsuite/28_regex/08_basic_regex: New file.
  * testsuite/28_regex/08_basic_regex/assign: New file.
  * testsuite/28_regex/08_basic_regex/assign/char: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/cstring_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/moveable.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/pstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/string.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/string_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/pstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/string.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/string_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/pstring_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/pstring_wchar_t.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/string_range_01_02_03.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_awk.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_ecma.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_egrep.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_grep.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/default.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/copy_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/extended: New file.
  * testsuite/28_regex/08_basic_regex/ctors/extended/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/extended/string_range_01_02_03.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/move_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/string_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/string_wchar_t.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/regex.cc: New file.
  * testsuite/28_regex/09_sub_match: New file.
  * testsuite/28_regex/09_sub_match/cast_char.cc: New file.
  * testsuite/28_regex/09_sub_match/cast_wchar_t.cc: New file.
  * testsuite/28_regex/09_sub_match/length.cc: New file.
  * testsuite/28_regex/09_sub_match/typedefs.cc: New file.
  * testsuite/28_regex/10_match_results: New file.
  * testsuite/28_regex/10_match_results/ctors: New file.
  * testsuite/28_regex/10_match_results/ctors/char: New file.
  * testsuite/28_regex/10_match_results/ctors/char/default.cc: New file.
  * testsuite/28_regex/10_match_results/ctors/wchar_t: New file.
  * testsuite/28_regex/10_match_results/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/10_match_results/typedefs.cc: New file.
  * testsuite/28_regex/11_algorithms: New file.
  * testsuite/28_regex/11_algorithms/02_match: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_01.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_range_00_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_range_01_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_range_02_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/cstring_plus.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/cstring_questionmark.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_any.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_range_00_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_range_01_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_range_02_03.cc: New file.
  * testsuite/28_regex/12_iterators: New file.
  * testsuite/28_regex/12_iterators/regex_iterator: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/char: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/char/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/typedefs.cc: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/typedefs.cc: New file.
  * testsuite/28_regex/13_ecmascript: New file.

Added:
    trunk/libstdc++-v3/include/bits/regex.h
    trunk/libstdc++-v3/include/bits/regex_compiler.h
    trunk/libstdc++-v3/include/bits/regex_constants.h
    trunk/libstdc++-v3/include/bits/regex_cursor.h
    trunk/libstdc++-v3/include/bits/regex_error.h
    trunk/libstdc++-v3/include/bits/regex_grep_matcher.h
    trunk/libstdc++-v3/include/bits/regex_grep_matcher.tcc
    trunk/libstdc++-v3/include/bits/regex_nfa.h
    trunk/libstdc++-v3/include/bits/regex_nfa.tcc
    trunk/libstdc++-v3/testsuite/28_regex/02_definitions/
    trunk/libstdc++-v3/testsuite/28_regex/03_requirements/
    trunk/libstdc++-v3/testsuite/28_regex/03_requirements/typedefs.cc
    trunk/libstdc++-v3/testsuite/28_regex/04_header/
    trunk/libstdc++-v3/testsuite/28_regex/04_header/regex/
    trunk/libstdc++-v3/testsuite/28_regex/04_header/regex/std_c++0x_neg.cc
    trunk/libstdc++-v3/testsuite/28_regex/05_constants/
    trunk/libstdc++-v3/testsuite/28_regex/05_constants/error_type.cc
    trunk/libstdc++-v3/testsuite/28_regex/05_constants/match_flag_type.cc
    trunk/libstdc++-v3/testsuite/28_regex/05_constants/syntax_option_type.cc
    trunk/libstdc++-v3/testsuite/28_regex/06_exception_type/
    trunk/libstdc++-v3/testsuite/28_regex/06_exception_type/regex_error.cc
    trunk/libstdc++-v3/testsuite/28_regex/07_traits/
    trunk/libstdc++-v3/testsuite/28_regex/07_traits/char/
    trunk/libstdc++-v3/testsuite/28_regex/07_traits/char/ctor.cc
    trunk/libstdc++-v3/testsuite/28_regex/07_traits/char/isctype.cc
    trunk/libstdc++-v3/testsuite/28_regex/07_traits/char/length.cc
    trunk/libstdc++-v3/testsuite/28_regex/07_traits/char/lookup_classname.cc
    trunk/libstdc++-v3/testsuite/28_regex/07_traits/char/lookup_collatename.cc
    trunk/libstdc++-v3/testsuite/28_regex/07_traits/char/transform.cc
    trunk/libstdc++-v3/testsuite/28_regex/07_traits/char/transform_primary.cc
    trunk/libstdc++-v3/testsuite/28_regex/07_traits/char/translate.cc
    trunk/libstdc++-v3/testsuite/28_regex/07_traits/char/translate_nocase.cc
    trunk/libstdc++-v3/testsuite/28_regex/07_traits/char/value.cc
    trunk/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/
    trunk/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/ctor.cc
    trunk/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/length.cc
    trunk/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/transform.cc
    trunk/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/translate.cc
    trunk/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/translate_nocase.cc
    trunk/libstdc++-v3/testsuite/28_regex/07_traits/wchar_t/value.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring_op.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/moveable.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/pstring.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/range.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string_op.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring_op.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/pstring.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/range.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string_op.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/cstring.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_char.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_wchar_t.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/string_range_01_02_03.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_awk.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_ecma.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_egrep.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_grep.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/default.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/range.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/copy_char.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/cstring.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/string_range_01_02_03.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/move_char.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_char.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_wchar_t.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/cstring.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/default.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/range.cc
    trunk/libstdc++-v3/testsuite/28_regex/08_basic_regex/regex.cc
    trunk/libstdc++-v3/testsuite/28_regex/09_sub_match/
    trunk/libstdc++-v3/testsuite/28_regex/09_sub_match/cast_char.cc
    trunk/libstdc++-v3/testsuite/28_regex/09_sub_match/cast_wchar_t.cc
    trunk/libstdc++-v3/testsuite/28_regex/09_sub_match/length.cc
    trunk/libstdc++-v3/testsuite/28_regex/09_sub_match/typedefs.cc
    trunk/libstdc++-v3/testsuite/28_regex/10_match_results/
    trunk/libstdc++-v3/testsuite/28_regex/10_match_results/ctors/
    trunk/libstdc++-v3/testsuite/28_regex/10_match_results/ctors/char/
    trunk/libstdc++-v3/testsuite/28_regex/10_match_results/ctors/char/default.cc
    trunk/libstdc++-v3/testsuite/28_regex/10_match_results/ctors/wchar_t/
    trunk/libstdc++-v3/testsuite/28_regex/10_match_results/ctors/wchar_t/default.cc
    trunk/libstdc++-v3/testsuite/28_regex/10_match_results/typedefs.cc
    trunk/libstdc++-v3/testsuite/28_regex/11_algorithms/
    trunk/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/
    trunk/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/
    trunk/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_01.cc
    trunk/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_00_03.cc
    trunk/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_01_03.cc
    trunk/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_02_03.cc
    trunk/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/
    trunk/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_plus.cc
    trunk/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_questionmark.cc
    trunk/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_any.cc
    trunk/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_00_03.cc
    trunk/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_01_03.cc
    trunk/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_02_03.cc
    trunk/libstdc++-v3/testsuite/28_regex/12_iterators/
    trunk/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/
    trunk/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/
    trunk/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/char/
    trunk/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/char/default.cc
    trunk/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t/
    trunk/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t/default.cc
    trunk/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/typedefs.cc
    trunk/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/
    trunk/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/
    trunk/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char/
    trunk/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char/default.cc
    trunk/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t/
    trunk/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t/default.cc
    trunk/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/typedefs.cc
    trunk/libstdc++-v3/testsuite/28_regex/13_ecmascript/
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/Makefile.am
    trunk/libstdc++-v3/include/Makefile.in
    trunk/libstdc++-v3/include/std/regex



More information about the Libstdc++-cvs mailing list