gcc/libstdc++-v3/include/experimental
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
..
bits libstdc++: Move C++14 <chrono> components to new <bits/chrono.h> header 2021-10-07 21:12:32 +01:00
algorithm Update copyright years. 2021-01-04 10:26:59 +01:00
any libstdc++: Add std::__conditional_t alias template 2021-10-01 20:34:49 +01:00
array libstdc++: Fix doxygen markup for group close commands 2021-04-06 16:43:24 +01:00
buffer libstdc++: Fix doxygen markup for group close commands 2021-04-06 16:43:24 +01:00
chrono libstdc++: Move C++14 <chrono> components to new <bits/chrono.h> header 2021-10-07 21:12:32 +01:00
deque libstdc++: Restore debug checks in uniform container erasure functions 2021-10-08 12:20:25 +01:00
executor libstdc++: Add std::__conditional_t alias template 2021-10-01 20:34:49 +01:00
filesystem Update copyright years. 2021-01-04 10:26:59 +01:00
forward_list Update copyright years. 2021-01-04 10:26:59 +01:00
functional libstdc++: Add std::__conditional_t alias template 2021-10-01 20:34:49 +01:00
internet libstdc++: Use std::construct_at in net::ip::address 2021-11-17 17:28:52 +00:00
io_context libstdc++: Move C++14 <chrono> components to new <bits/chrono.h> header 2021-10-07 21:12:32 +01:00
iterator Update copyright years. 2021-01-04 10:26:59 +01:00
list Update copyright years. 2021-01-04 10:26:59 +01:00
map libstdc++: [_GLIBCXX_DEBUG] Reduce performance impact on std::erase_if 2021-11-20 16:11:22 +01:00
memory libstdc++: Remove unnecessary uses of <utility> 2021-07-27 12:04:18 +01:00
memory_resource Update copyright years. 2021-01-04 10:26:59 +01:00
net Update copyright years. 2021-01-04 10:26:59 +01:00
netfwd libstdc++: Move C++14 <chrono> components to new <bits/chrono.h> header 2021-10-07 21:12:32 +01:00
numeric Update copyright years. 2021-01-04 10:26:59 +01:00
optional libstdc++: Simplify std::optional::value() 2021-07-27 21:36:01 +01:00
propagate_const libstdc++: Finish implementing LWG 3413 for propagate_const 2021-06-08 15:01:06 +01:00
random libstdc++: Add [[nodiscard]] to experimental::randint 2021-08-12 19:46:16 +01:00
ratio Update copyright years. 2021-01-04 10:26:59 +01:00
regex Update copyright years. 2021-01-04 10:26:59 +01:00
set libstdc++: [_GLIBCXX_DEBUG] Reduce performance impact on std::erase_if 2021-11-20 16:11:22 +01:00
simd libstdc++: Improve Doxygen documentation groups [PR 101258] 2021-07-01 00:25:46 +01:00
socket libstdc++: Make Networking TS headers more portable [PR100285] 2021-08-26 12:41:28 +01:00
source_location Update copyright years. 2021-01-04 10:26:59 +01:00
string Update copyright years. 2021-01-04 10:26:59 +01:00
string_view libstdc++: Always define typedefs and hash functions for wide strings [PR 98725] 2021-10-09 00:57:49 +01:00
system_error Update copyright years. 2021-01-04 10:26:59 +01:00
timer libstdc++: Move C++14 <chrono> components to new <bits/chrono.h> header 2021-10-07 21:12:32 +01:00
tuple Update copyright years. 2021-01-04 10:26:59 +01:00
type_traits libstdc++: Improve Doxygen documentation groups [PR 101258] 2021-07-01 00:25:46 +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
utility Update copyright years. 2021-01-04 10:26:59 +01:00
vector libstdc++: Restore debug checks in uniform container erasure functions 2021-10-08 12:20:25 +01:00