Go to the documentation of this file.
15 #ifndef ABSL_CONTAINER_INTERNAL_RAW_HASH_MAP_H_
16 #define ABSL_CONTAINER_INTERNAL_RAW_HASH_MAP_H_
19 #include <type_traits>
22 #include "absl/base/internal/throw_delegate.h"
23 #include "absl/container/internal/container_memory.h"
24 #include "absl/container/internal/raw_hash_set.h"
28 namespace container_internal {
30 template <
class Policy,
class Hash,
class Eq,
class Alloc>
37 std::addressof(std::declval<typename raw_hash_map::reference>())));
42 std::addressof(std::declval<typename raw_hash_map::const_reference>())));
63 using raw_hash_map::raw_hash_set::raw_hash_set;
78 template <
class K = key_type,
class V = mapped_type, K* =
nullptr>
83 template <
class K = key_type,
class V = mapped_type, V* =
nullptr>
88 template <
class K = key_type,
class V = mapped_type>
99 template <
class K = key_type,
class V = mapped_type, K* =
nullptr>
104 template <
class K = key_type,
class V = mapped_type, V* =
nullptr>
109 template <
class K = key_type,
class V = mapped_type>
118 typename std::enable_if<
126 typename std::enable_if<
132 template <
class K =
key_type,
class...
Args, K* =
nullptr>
142 template <
class K = key_type,
class P = Policy>
144 auto it = this->
find(key);
145 if (
it == this->
end()) {
147 "absl::container_internal::raw_hash_map<>::at");
152 template <
class K = key_type,
class P = Policy>
154 auto it = this->
find(key);
155 if (
it == this->
end()) {
157 "absl::container_internal::raw_hash_map<>::at");
162 template <
class K = key_type,
class P = Policy, K* =
nullptr>
167 template <
class K = key_type,
class P = Policy>
173 template <
class K,
class V>
177 this->
emplace_at(res.first, std::forward<K>(
k), std::forward<V>(
v));
187 this->
emplace_at(res.first, std::piecewise_construct,
188 std::forward_as_tuple(std::forward<K>(
k)),
189 std::forward_as_tuple(std::forward<Args>(
args)...));
198 #endif // ABSL_CONTAINER_INTERNAL_RAW_HASH_MAP_H_
MappedReference< P > at(const key_arg< K > &key)
iterator iterator_at(size_t i)
MappedReference< P > operator[](const key_arg< K > &key)
iterator find(const key_arg< K > &key, size_t hash)
std::pair< size_t, bool > find_or_prepare_insert(const K &key)
MappedConstReference< P > at(const key_arg< K > &key) const
std::pair< iterator, bool > try_emplace(const key_arg< K > &k, Args &&... args)
typename raw_hash_map::raw_hash_set::const_iterator const_iterator
#define ABSL_NAMESPACE_END
const typedef MCPhysReg * iterator
iterator try_emplace(const_iterator, key_arg< K > &&k, Args &&... args)
iterator insert_or_assign(const_iterator, const key_arg< K > &k, V &&v)
void ThrowStdOutOfRange(const std::string &what_arg)
#define ABSL_NAMESPACE_BEGIN
std::pair< iterator, bool > try_emplace_impl(K &&k, Args &&... args)
std::pair< iterator, bool > insert_or_assign_impl(K &&k, V &&v)
std::pair< iterator, bool > try_emplace(key_arg< K > &&k, Args &&... args)
iterator insert_or_assign(const_iterator, key_arg< K > &&k, const V &v)
decltype(P::value(std::addressof(std::declval< typename raw_hash_map::const_reference >()))) MappedConstReference
typename Policy::key_type key_type
iterator insert_or_assign(const_iterator, key_arg< K > &&k, V &&v)
iterator try_emplace(const_iterator, const key_arg< K > &k, Args &&... args)
decltype(P::value(std::addressof(std::declval< typename raw_hash_map::reference >()))) MappedReference
std::pair< iterator, bool > insert_or_assign(key_arg< K > &&k, const V &v)
std::pair< iterator, bool > insert_or_assign(key_arg< K > &&k, V &&v)
MappedReference< P > operator[](key_arg< K > &&key)
typename Policy::mapped_type mapped_type
iterator insert_or_assign(const_iterator, const key_arg< K > &k, const V &v)
typename raw_hash_map::raw_hash_set::iterator iterator
std::pair< iterator, bool > insert_or_assign(const key_arg< K > &k, V &&v)
void emplace_at(size_t i, Args &&... args)
typename KeyArgImpl::template type< K, key_type > key_arg
std::pair< iterator, bool > insert_or_assign(const key_arg< K > &k, const V &v)
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:51