gcc/libstdc++-v3/include/bits
Jonathan Wakely 097f0bcf65 regex_compiler.h (__detail::_BracketMatcher): Reorder members to avoid wasted space when not using a cache.
* include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
	members to avoid wasted space when not using a cache.
	(__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
	* include/bits/regex_compiler.tcc
	(__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
	search on set.
	* include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
	New enumeration type to indicate match mode.
	(__detail::_Executor::_State_info): New type holding members only
	needed in BFS-mode. Replace unique_ptr<vector<bool>> with
	unique_ptr<bool[]>.
	(__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
	Replace template parameter with run-time function parameter.
	(__detail::_Executor::_M_main): Likewise. Dispatch to ...
	(__detail::_Executor::_M_main_dispatch): New overloaded functions to
	implement DFS and BFS mode.
	* include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
	Split implementation into ...
	(__detail::_Executor::_M_main_dispatch): New overloaded functions.
	(__detail::_Executor::_M_lookahead): Create nested executor on stack.
	(__detail::_Executor::_M_rep_once_more): Pass match mode as function
	argument instead of template argument.
	(__detail::_Executor::_M_dfs): Likewise.
	* include/bits/regex_scanner.tcc: Fix typos in comments.
	* testsuite/performance/28_regex/range.cc: New.

From-SVN: r211143
2014-06-02 20:36:14 +01:00
..
algorithmfwd.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
alloc_traits.h alloc_traits.h (allocator_traits::_S_allocate): Do not use varargs when argument could be non-POD. 2014-01-29 14:57:35 +00:00
allocator.h allocator.h (operator==, operator!=): Add exception specifications. 2014-04-14 16:13:02 +01:00
atomic_base.h atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add const to constexpr member functions. 2014-04-15 19:28:41 +01:00
basic_ios.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
basic_ios.tcc Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
basic_string.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
basic_string.tcc Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
boost_concept_check.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
c++0x_warning.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
c++14_warning.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
c++config Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
char_traits.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
codecvt.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
concept_check.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
cpp_type_traits.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
deque.tcc Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
enable_special_members.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
forward_list.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
forward_list.tcc Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
fstream.tcc Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
functexcept.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
functional_hash.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
gslice.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
gslice_array.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
hashtable.h re PR libstdc++/61143 (Arithmetic exception on emplacing into unordered_map moved out) 2014-05-21 19:51:05 +00:00
hashtable_policy.h re PR libstdc++/56267 (unordered containers require Assignable hash function) 2014-01-20 15:49:39 +00:00
indirect_array.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
ios_base.h re PR libstdc++/57394 ([C++11] basic_streambuf incorrect copy constructor / copy assignment access specifier) 2014-05-08 18:17:06 +01:00
istream.tcc Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
list.tcc Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
locale_classes.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
locale_classes.tcc Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
locale_facets.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
locale_facets.tcc Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
locale_facets_nonio.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
locale_facets_nonio.tcc Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
localefwd.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
mask_array.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
memoryfwd.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
move.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
ostream.tcc Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
ostream_insert.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
parse_numbers.h parse_numbers.h (__parse_int::_Number_help): Check for overflow. 2014-05-16 12:08:49 +01:00
postypes.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
predefined_ops.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
ptr_traits.h alloc_traits.h (allocator_traits::_S_allocate): Do not use varargs when argument could be non-POD. 2014-01-29 14:57:35 +00:00
random.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
random.tcc Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
range_access.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
regex.h regex.h: Add/modify comments. 2014-03-15 18:16:22 +00:00
regex.tcc regex_compiler.h (__detail::_BracketMatcher): Reorder members to avoid wasted space when not using a cache. 2014-06-02 20:36:14 +01:00
regex_automaton.h regex_automaton.h (_NFA<>::_M_insert_repeat): Add _S_opcode_repeat support to distingush a loop from _S_opcode_alternative. 2014-04-27 23:48:47 +00:00
regex_automaton.tcc re PR libstdc++/61329 (#include <regex> and _GLIBCXX_DEBUG causes multiple symbol definition.) 2014-05-27 12:14:17 +01:00
regex_compiler.h regex_compiler.h (__detail::_BracketMatcher): Reorder members to avoid wasted space when not using a cache. 2014-06-02 20:36:14 +01:00
regex_compiler.tcc regex_compiler.h (__detail::_BracketMatcher): Reorder members to avoid wasted space when not using a cache. 2014-06-02 20:36:14 +01:00
regex_constants.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
regex_error.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
regex_executor.h regex_compiler.h (__detail::_BracketMatcher): Reorder members to avoid wasted space when not using a cache. 2014-06-02 20:36:14 +01:00
regex_executor.tcc regex_compiler.h (__detail::_BracketMatcher): Reorder members to avoid wasted space when not using a cache. 2014-06-02 20:36:14 +01:00
regex_scanner.h regex.h: Add/modify comments. 2014-03-15 18:16:22 +00:00
regex_scanner.tcc regex_compiler.h (__detail::_BracketMatcher): Reorder members to avoid wasted space when not using a cache. 2014-06-02 20:36:14 +01:00
shared_ptr.h shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Remove name of unused parameter. 2014-04-15 21:15:38 +01:00
shared_ptr_base.h re PR libstdc++/61036 (shared_ptr<void>(new T) rejected) 2014-05-02 19:29:48 +01:00
slice_array.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
sstream.tcc Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
stl_algo.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
stl_algobase.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
stl_bvector.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
stl_construct.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
stl_deque.h re PR libstdc++/60308 (std::deque leaks memory) 2014-02-22 10:24:11 +00:00
stl_function.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
stl_heap.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
stl_iterator.h re PR libstdc++/61086 (ubsan detects undefined behaviour in the standard library) 2014-05-07 15:43:22 +01:00
stl_iterator_base_funcs.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
stl_iterator_base_types.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
stl_list.h PR libstdc++/58764 (again) 2014-01-22 23:50:58 +00:00
stl_map.h stl_map.h: Remove anachronistic comment. 2014-01-26 11:22:58 +00:00
stl_multimap.h stl_map.h: Remove anachronistic comment. 2014-01-26 11:22:58 +00:00
stl_multiset.h re PR libstdc++/59872 (Cannot move std::map with move-only mapped_type) 2014-01-23 17:17:04 +00:00
stl_numeric.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
stl_pair.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
stl_queue.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
stl_raw_storage_iter.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
stl_relops.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
stl_set.h re PR libstdc++/59872 (Cannot move std::map with move-only mapped_type) 2014-01-23 17:17:04 +00:00
stl_stack.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
stl_tempbuf.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
stl_tree.h re PR libstdc++/61023 (set/map move assignment doesn't move (or copy) the comparator) 2014-05-07 15:12:37 +01:00
stl_uninitialized.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
stl_vector.h re PR libstdc++/61086 (ubsan detects undefined behaviour in the standard library) 2014-05-07 15:43:22 +01:00
stream_iterator.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
streambuf.tcc Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
streambuf_iterator.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
stringfwd.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
unique_ptr.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
unordered_map.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
unordered_set.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
uses_allocator.h uses_allocator.h (__uses_allocator_helper): Simplify. 2014-06-01 23:35:42 +01:00
valarray_after.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
valarray_array.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
valarray_array.tcc Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
valarray_before.h Update copyright years in libstdc++-v3/ 2014-01-02 22:30:10 +00:00
vector.tcc re PR libstdc++/61086 (ubsan detects undefined behaviour in the standard library) 2014-05-07 15:43:22 +01:00