mirror of
https://github.com/boostorg/unordered.git
synced 2025-07-30 03:17:15 +02:00
Missing rvalue overload of at
This commit is contained in:
@ -729,6 +729,7 @@ template <class K, class T, class H, class P, class A> class unordered_map
|
|||||||
const key_type&) const;
|
const key_type&) const;
|
||||||
|
|
||||||
mapped_type& operator[](const key_type&);
|
mapped_type& operator[](const key_type&);
|
||||||
|
mapped_type& operator[](BOOST_RV_REF(key_type));
|
||||||
mapped_type& at(const key_type&);
|
mapped_type& at(const key_type&);
|
||||||
mapped_type const& at(const key_type&) const;
|
mapped_type const& at(const key_type&) const;
|
||||||
|
|
||||||
@ -1627,6 +1628,13 @@ typename unordered_map<K, T, H, P, A>::mapped_type&
|
|||||||
return table_.try_emplace_impl(k).first->second;
|
return table_.try_emplace_impl(k).first->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <class K, class T, class H, class P, class A>
|
||||||
|
typename unordered_map<K, T, H, P, A>::mapped_type&
|
||||||
|
unordered_map<K, T, H, P, A>::operator[](BOOST_RV_REF(key_type) k)
|
||||||
|
{
|
||||||
|
return table_.try_emplace_impl(boost::move(k)).first->second;
|
||||||
|
}
|
||||||
|
|
||||||
template <class K, class T, class H, class P, class A>
|
template <class K, class T, class H, class P, class A>
|
||||||
typename unordered_map<K, T, H, P, A>::mapped_type&
|
typename unordered_map<K, T, H, P, A>::mapped_type&
|
||||||
unordered_map<K, T, H, P, A>::at(const key_type& k)
|
unordered_map<K, T, H, P, A>::at(const key_type& k)
|
||||||
|
@ -422,6 +422,7 @@ void unordered_map_functions(X&, Key const& k, T const& v)
|
|||||||
|
|
||||||
X a;
|
X a;
|
||||||
test::check_return_type<mapped_type>::equals_ref(a[k]);
|
test::check_return_type<mapped_type>::equals_ref(a[k]);
|
||||||
|
test::check_return_type<mapped_type>::equals_ref(a[rvalue(k)]);
|
||||||
test::check_return_type<mapped_type>::equals_ref(a.at(k));
|
test::check_return_type<mapped_type>::equals_ref(a.at(k));
|
||||||
test::check_return_type<std::pair<iterator, bool> >::equals(
|
test::check_return_type<std::pair<iterator, bool> >::equals(
|
||||||
a.try_emplace(k, v));
|
a.try_emplace(k, v));
|
||||||
|
Reference in New Issue
Block a user