gcc/libstdc++-v3/include/debug
François Dumont 5f40d34b6d libstdc++: [_GLIBCXX_DEBUG] Reduce performance impact on std::erase_if
Bypass the _GLIBCXX_DEBUG additional checks in std::__detail::__erase_node_if used
by all implementations of std::erase_if for node based containers.

libstdc++-v3/ChangeLog:

	* include/bits/erase_if.h (__erase_nodes_if): Add _UnsafeContainer template
	parameter. Use it to get iterators to work with.
	* include/debug/macros.h (__glibcxx_check_erase2): New.
	* include/debug/map.h (map<>::erase(_Base_const_iterator)): New.
	(map<>::erase(const_iterator)): Use latter.
	* include/debug/multimap.h (multimap<>::erase(_Base_const_iterator)): New.
	(multimap<>::erase(const_iterator)): Use latter.
	* include/debug/multiset.h (multiset<>::erase(_Base_const_iterator)): New.
	(multiset<>::erase(const_iterator)): Use latter.
	* include/debug/set.h (set<>::erase(_Base_const_iterator)): New.
	(set<>::erase(const_iterator)): Use latter.
	* include/debug/unordered_map (unordered_map<>::erase(_Base_const_iterator)): New.
	(unordered_multimap<>::erase(const_iterator)): New.
	* include/debug/unordered_set (unordered_set<>::erase(_Base_const_iterator)): New.
	(unordered_multiset<>::erase(const_iterator)): New.
	* include/experimental/map (erase_if): Adapt.
	* include/experimental/set (erase_if): Adapt.
	* include/experimental/unordered_map (erase_if): Adapt.
	* include/experimental/unordered_set (erase_if): Adapt.
	* include/std/map (erase_if): Adapt.
	* include/std/set (erase_if): Adapt.
	* include/std/unordered_map (erase_if): Adapt.
	* include/std/unordered_set (erase_if): Adapt.
2021-11-20 16:11:22 +01:00
..
array
assertions.h
bitset
debug.h
deque libstdc++: [_GLIBCXX_DEBUG] Remove _Safe_container<>::_M_safe() 2021-11-14 21:55:01 +01:00
formatter.h
forward_list libstdc++: [_GLIBCXX_DEBUG] Remove _Safe_container<>::_M_safe() 2021-11-14 21:55:01 +01:00
functions.h
helper_functions.h
list libstdc++: [_GLIBCXX_DEBUG] Remove _Safe_container<>::_M_safe() 2021-11-14 21:55:01 +01:00
macros.h libstdc++: [_GLIBCXX_DEBUG] Reduce performance impact on std::erase_if 2021-11-20 16:11:22 +01:00
map
map.h libstdc++: [_GLIBCXX_DEBUG] Reduce performance impact on std::erase_if 2021-11-20 16:11:22 +01:00
multimap.h libstdc++: [_GLIBCXX_DEBUG] Reduce performance impact on std::erase_if 2021-11-20 16:11:22 +01:00
multiset.h libstdc++: [_GLIBCXX_DEBUG] Reduce performance impact on std::erase_if 2021-11-20 16:11:22 +01:00
safe_base.h
safe_container.h libstdc++: [_GLIBCXX_DEBUG] Remove _Safe_container<>::_M_safe() 2021-11-14 21:55:01 +01:00
safe_iterator.h
safe_iterator.tcc
safe_local_iterator.h
safe_local_iterator.tcc
safe_sequence.h
safe_sequence.tcc
safe_unordered_base.h
safe_unordered_container.h libstdc++: [_GLIBCXX_DEBUG] Implement unordered container merge 2021-11-09 21:50:17 +01:00
safe_unordered_container.tcc
set
set.h libstdc++: [_GLIBCXX_DEBUG] Reduce performance impact on std::erase_if 2021-11-20 16:11:22 +01:00
stl_iterator.h libstdc++: Missing constexpr for __gnu_debug::__valid_range etc 2021-11-01 21:01:31 +00:00
string libstdc++: [_GLIBCXX_DEBUG] Remove _Safe_container<>::_M_safe() 2021-11-14 21:55:01 +01:00
unordered_map libstdc++: [_GLIBCXX_DEBUG] Reduce performance impact on std::erase_if 2021-11-20 16:11:22 +01:00
unordered_set libstdc++: [_GLIBCXX_DEBUG] Reduce performance impact on std::erase_if 2021-11-20 16:11:22 +01:00
vector libstdc++: [_GLIBCXX_DEBUG] Remove _Safe_container<>::_M_safe() 2021-11-14 21:55:01 +01:00