mirror of
https://github.com/boostorg/container.git
synced 2026-01-19 04:02:17 +00:00
Fix transparent erase signature to "K&&"
This commit is contained in:
@@ -1175,8 +1175,9 @@ class flat_tree
|
||||
!dtl::is_convertible<K, iterator>::value && //not convertible to iterator
|
||||
!dtl::is_convertible<K, const_iterator>::value //not convertible to const_iterator
|
||||
, size_type>::type
|
||||
erase(const K& k)
|
||||
erase(BOOST_FWD_REF(K) key)
|
||||
{
|
||||
const typename remove_cvref<K>::type & k = key; //Support emulated rvalue references
|
||||
std::pair<iterator, iterator > itp = this->equal_range(k);
|
||||
size_type ret = static_cast<size_type>(itp.second - itp.first);
|
||||
if (ret) {
|
||||
|
||||
@@ -1152,8 +1152,11 @@ class tree
|
||||
!dtl::is_convertible<K, iterator>::value && //not convertible to iterator
|
||||
!dtl::is_convertible<K, const_iterator>::value //not convertible to const_iterator
|
||||
, size_type>::type
|
||||
erase(const K& k)
|
||||
{ return AllocHolder::erase_key(k, KeyNodeCompare(key_comp()), alloc_version()); }
|
||||
erase(BOOST_FWD_REF(K) key)
|
||||
{
|
||||
const typename remove_cvref<K>::type & k = key; //Support emulated rvalue references
|
||||
return AllocHolder::erase_key(k, KeyNodeCompare(key_comp()), alloc_version());
|
||||
}
|
||||
|
||||
template <class K>
|
||||
inline typename dtl::enable_if_c<
|
||||
|
||||
@@ -1333,7 +1333,7 @@ class flat_map
|
||||
!dtl::is_convertible<K BOOST_MOVE_I iterator>::value && //not convertible to iterator
|
||||
!dtl::is_convertible<K BOOST_MOVE_I const_iterator>::value //not convertible to const_iterator
|
||||
BOOST_MOVE_I size_type>::type)
|
||||
erase(const K& x)
|
||||
erase(BOOST_FWD_REF(K) x)
|
||||
{ return m_flat_tree.erase_unique(x); }
|
||||
|
||||
//! <b>Effects</b>: Erases all the elements in the range [first, last).
|
||||
|
||||
@@ -1032,7 +1032,7 @@ class map
|
||||
!dtl::is_convertible<K BOOST_MOVE_I iterator>::value && //not convertible to iterator
|
||||
!dtl::is_convertible<K BOOST_MOVE_I const_iterator>::value //not convertible to const_iterator
|
||||
BOOST_MOVE_I size_type>::type)
|
||||
erase(const K& x)
|
||||
erase(BOOST_FWD_REF(K) x)
|
||||
{ return this->base_t::erase_unique(x); }
|
||||
|
||||
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
||||
|
||||
Reference in New Issue
Block a user