regex_automaton.h: Rearrange _NFA's layout.
commite35096918493d92c03f4d6483bfd07f5ec6a998e
authorTim Shen <timshen91@gmail.com>
Mon, 2 Sep 2013 22:20:56 +0000 (2 22:20 +0000)
committerTim Shen <timshen@gcc.gnu.org>
Mon, 2 Sep 2013 22:20:56 +0000 (2 22:20 +0000)
tree35679ea7831ed6df022d4a35fa92b9b36166cb35
parentce96d372535446c64e2434f5eafddf78331f2808
regex_automaton.h: Rearrange _NFA's layout.

2013-09-02  Tim Shen  <timshen91@gmail.com>

* regex_automaton.h: Rearrange _NFA's layout.
* include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher.
  Rearrange _BracketMatcher's layout.
  (_BracketMatcher<>::_M_add_char): Use set instead of vector for
  _M_char_set.
  (_BracketMatcher<>::_M_add_collating_element): Likewise.
  (_BracketMatcher<>::_M_make_range): Likewise.
* include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use
  apropriate constructors of matchers above.
* testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
  New.
* testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New.
* testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
  New.
* testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
  New.
* testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
  New.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New.

From-SVN: r202189
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/regex_automaton.h
libstdc++-v3/include/bits/regex_compiler.h
libstdc++-v3/include/bits/regex_compiler.tcc
libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc [copied from libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc with 79% similarity]
libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc [moved from libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/string_backref.cc with 97% similarity]
libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc [copied from libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc with 96% similarity]
libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc [moved from libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc with 96% similarity]
libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc [copied from libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc with 92% similarity]
libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc [moved from libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc with 79% similarity]
libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc [moved from libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc with 84% similarity]