From ea365e01ef7e74cdbdf7e21b589126285028a69a Mon Sep 17 00:00:00 2001 From: Edward Smith-Rowland <3dw4rd@verizon.net> Date: Fri, 1 May 2015 15:00:46 +0000 Subject: [PATCH] Inline one-line erasure dispatch functions. 2015-05-01 Edward Smith-Rowland <3dw4rd@verizon.net> Inline one-line erasure dispatch functions. * include/experimental/forward_list (erase_if(), erase()): Inline. * include/experimental/list (erase_if(), erase()): Inline. * include/experimental/map (erase_if(*)): Inline. * include/experimental/set (erase_if(*)): Inline. * include/experimental/string (erase_if(), erase()): Inline. * include/experimental/unordered_map (erase_if(*)): Inline. * include/experimental/unordered_set (erase_if(*)): Inline. From-SVN: r222684 --- libstdc++-v3/ChangeLog | 11 +++++++++++ libstdc++-v3/include/experimental/forward_list | 5 +++-- libstdc++-v3/include/experimental/list | 4 ++-- libstdc++-v3/include/experimental/map | 4 ++-- libstdc++-v3/include/experimental/set | 4 ++-- libstdc++-v3/include/experimental/string | 4 ++-- libstdc++-v3/include/experimental/unordered_map | 4 ++-- libstdc++-v3/include/experimental/unordered_set | 4 ++-- libstdc++-v3/include/experimental/vector | 4 ++-- 9 files changed, 28 insertions(+), 16 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 012e3fec31c..200e091c786 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,14 @@ +2015-05-01 Edward Smith-Rowland <3dw4rd@verizon.net> + + Inline one-line erasure dispatch functions. + * include/experimental/forward_list (erase_if(), erase()): Inline. + * include/experimental/list (erase_if(), erase()): Inline. + * include/experimental/map (erase_if(*)): Inline. + * include/experimental/set (erase_if(*)): Inline. + * include/experimental/string (erase_if(), erase()): Inline. + * include/experimental/unordered_map (erase_if(*)): Inline. + * include/experimental/unordered_set (erase_if(*)): Inline. + 2015-05-01 Jonathan Wakely * doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file. diff --git a/libstdc++-v3/include/experimental/forward_list b/libstdc++-v3/include/experimental/forward_list index 482ac126c8b..e7e6b33bd00 100644 --- a/libstdc++-v3/include/experimental/forward_list +++ b/libstdc++-v3/include/experimental/forward_list @@ -46,12 +46,13 @@ inline namespace fundamentals_v2 _GLIBCXX_BEGIN_NAMESPACE_VERSION template - void + inline void erase_if(forward_list<_Tp, _Alloc>& __cont, _Predicate __pred) { __cont.remove_if(__pred); } template - void erase(forward_list<_Tp, _Alloc>& __cont, const _Up& __value) + inline void + erase(forward_list<_Tp, _Alloc>& __cont, const _Up& __value) { using __elem_type = typename forward_list<_Tp, _Alloc>::value_type; erase_if(__cont, [&](__elem_type& __elem) { return __elem == __value; }); diff --git a/libstdc++-v3/include/experimental/list b/libstdc++-v3/include/experimental/list index 9bdf8d5ed16..41d6e1dcbdc 100644 --- a/libstdc++-v3/include/experimental/list +++ b/libstdc++-v3/include/experimental/list @@ -46,12 +46,12 @@ inline namespace fundamentals_v2 _GLIBCXX_BEGIN_NAMESPACE_VERSION template - void + inline void erase_if(list<_Tp, _Alloc>& __cont, _Predicate __pred) { __cont.remove_if(__pred); } template - void + inline void erase(list<_Tp, _Alloc>& __cont, const _Up& __value) { using __elem_type = typename list<_Tp, _Alloc>::value_type; diff --git a/libstdc++-v3/include/experimental/map b/libstdc++-v3/include/experimental/map index c2b5a09e873..e4b3620e671 100644 --- a/libstdc++-v3/include/experimental/map +++ b/libstdc++-v3/include/experimental/map @@ -48,13 +48,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template - void + inline void erase_if(map<_Key, _Tp, _Compare, _Alloc>& __cont, _Predicate __pred) { __detail::__erase_nodes_if(__cont, __pred); } template - void + inline void erase_if(multimap<_Key, _Tp, _Compare, _Alloc>& __cont, _Predicate __pred) { __detail::__erase_nodes_if(__cont, __pred); } diff --git a/libstdc++-v3/include/experimental/set b/libstdc++-v3/include/experimental/set index 7b87848fca9..c742d9187f5 100644 --- a/libstdc++-v3/include/experimental/set +++ b/libstdc++-v3/include/experimental/set @@ -48,13 +48,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template - void + inline void erase_if(set<_Key, _Compare, _Alloc>& __cont, _Predicate __pred) { __detail::__erase_nodes_if(__cont, __pred); } template - void + inline void erase_if(multiset<_Key, _Compare, _Alloc>& __cont, _Predicate __pred) { __detail::__erase_nodes_if(__cont, __pred); } diff --git a/libstdc++-v3/include/experimental/string b/libstdc++-v3/include/experimental/string index 70212fbd8b0..2a04ce0d72d 100644 --- a/libstdc++-v3/include/experimental/string +++ b/libstdc++-v3/include/experimental/string @@ -48,7 +48,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template - void + inline void erase_if(basic_string<_CharT, _Traits, _Alloc>& __cont, _Predicate __pred) { __cont.erase(std::remove_if(__cont.begin(), __cont.end(), __pred), @@ -56,7 +56,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } template - void + inline void erase(basic_string<_CharT, _Traits, _Alloc>& __cont, const _Up& __value) { __cont.erase(std::remove(__cont.begin(), __cont.end(), __value), diff --git a/libstdc++-v3/include/experimental/unordered_map b/libstdc++-v3/include/experimental/unordered_map index 438f886d6c8..d3a578efe3a 100644 --- a/libstdc++-v3/include/experimental/unordered_map +++ b/libstdc++-v3/include/experimental/unordered_map @@ -48,14 +48,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template - void + inline void erase_if(unordered_map<_Key, _Tp, _Hash, _CPred, _Alloc>& __cont, _Predicate __pred) { __detail::__erase_nodes_if(__cont, __pred); } template - void + inline void erase_if(unordered_multimap<_Key, _Tp, _Hash, _CPred, _Alloc>& __cont, _Predicate __pred) { __detail::__erase_nodes_if(__cont, __pred); } diff --git a/libstdc++-v3/include/experimental/unordered_set b/libstdc++-v3/include/experimental/unordered_set index 44610475e55..2e5e08a9609 100644 --- a/libstdc++-v3/include/experimental/unordered_set +++ b/libstdc++-v3/include/experimental/unordered_set @@ -48,14 +48,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template - void + inline void erase_if(unordered_set<_Key, _Hash, _CPred, _Alloc>& __cont, _Predicate __pred) { __detail::__erase_nodes_if(__cont, __pred); } template - void + inline void erase_if(unordered_multiset<_Key, _Hash, _CPred, _Alloc>& __cont, _Predicate __pred) { __detail::__erase_nodes_if(__cont, __pred); } diff --git a/libstdc++-v3/include/experimental/vector b/libstdc++-v3/include/experimental/vector index 2d4c1f75cdb..245e0340fd8 100644 --- a/libstdc++-v3/include/experimental/vector +++ b/libstdc++-v3/include/experimental/vector @@ -47,7 +47,7 @@ inline namespace fundamentals_v2 _GLIBCXX_BEGIN_NAMESPACE_VERSION template - void + inline void erase_if(vector<_Tp, _Alloc>& __cont, _Predicate __pred) { __cont.erase(std::remove_if(__cont.begin(), __cont.end(), __pred), @@ -55,7 +55,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } template - void + inline void erase(vector<_Tp, _Alloc>& __cont, const _Up& __value) { __cont.erase(std::remove(__cont.begin(), __cont.end(), __value), -- 2.30.2