Go to the documentation of this file.
36 #ifndef ABSL_CONTAINER_NODE_HASH_MAP_H_
37 #define ABSL_CONTAINER_NODE_HASH_MAP_H_
40 #include <type_traits>
43 #include "absl/algorithm/container.h"
44 #include "absl/base/macros.h"
45 #include "absl/container/internal/container_memory.h"
46 #include "absl/container/internal/hash_function_defaults.h"
48 #include "absl/container/internal/raw_hash_map.h"
49 #include "absl/memory/memory.h"
53 namespace container_internal {
54 template <
class Key,
class Value>
106 class Alloc = std::allocator<std::pair<const Key, Value>>>
109 absl::container_internal::NodeHashMapPolicy<Key, Value>, Hash, Eq,
111 using Base =
typename node_hash_map::raw_hash_map;
197 using Base::max_size;
307 using Base::insert_or_assign;
336 using Base::emplace_hint;
365 using Base::try_emplace;
458 using Base::equal_range;
482 using Base::operator[];
487 using Base::bucket_count;
493 using Base::load_factor;
511 using Base::max_load_factor;
516 using Base::get_allocator;
522 using Base::hash_function;
534 template <
typename K,
typename V,
typename H,
typename E,
typename A,
541 namespace container_internal {
543 template <
class Key,
class Value>
544 class NodeHashMapPolicy
546 std::pair<const Key, Value>&, NodeHashMapPolicy<Key, Value>> {
554 template <
class Allocator,
class...
Args>
557 Allocator>
::template rebind_alloc<value_type>;
558 PairAlloc pair_alloc(*
alloc);
562 std::forward<Args>(
args)...);
566 template <
class Allocator>
569 Allocator>
::template rebind_alloc<value_type>;
570 PairAlloc pair_alloc(*
alloc);
575 template <
class F,
class...
Args>
577 std::declval<F>(), std::declval<Args>()...))
580 std::forward<Args>(
args)...);
592 namespace container_algorithm_internal {
595 template <
class Key,
class T,
class Hash,
class KeyEqual,
class Allocator>
604 #endif // ABSL_CONTAINER_NODE_HASH_MAP_H_
static void ** find(grpc_chttp2_stream_map *map, uint32_t key)
static bool reserve(upb_pb_encoder *e, size_t bytes)
static Value & value(value_type *elem)
integral_constant< bool, true > true_type
auto DecomposePair(F &&f, Args &&... args) -> decltype(memory_internal::DecomposePairImpl(std::forward< F >(f), PairArgs(std::forward< Args >(args)...)))
#define ABSL_NAMESPACE_END
static void construct(Alloc &a, T *p, Args &&... args)
hash_default_eq< T > key_eq
#define ABSL_NAMESPACE_BEGIN
std::pair< const Key, Value > value_type
internal::EqMatcher< T > Eq(T x)
static value_type * new_element(Allocator *alloc, Args &&... args)
int extract(FILE *in, struct access *index, off_t offset, unsigned char *buf, int len)
btree_map< K, V, C, A >::size_type erase_if(btree_map< K, V, C, A > &map, Pred pred)
static void delete_element(Allocator *alloc, value_type *pair)
raw_hash_set< P, H, E, A >::size_type EraseIf(Predicate &pred, raw_hash_set< P, H, E, A > *c)
typename container_internal::HashEq< T >::Hash hash_default_hash
static pointer allocate(Alloc &a, size_type n)
static void insert(upb_table *t, lookupkey_t key, upb_tabkey tabkey, upb_value val, uint32_t hash, hashfunc_t *hashfunc, eqlfunc_t *eql)
typename container_internal::HashEq< T >::Eq hash_default_eq
static size_t element_space_used(const value_type *)
internal::KeyMatcher< M > Key(M inner_matcher)
std::pair< key_type, mapped_type > init_type
static int contains(grpc_timer_heap *pq, grpc_timer *el)
static const Value & value(const value_type *elem)
static void deallocate(Alloc &a, pointer p, size_type n)
def merge(callgrind_files, srcs)
static void destroy(Alloc &a, T *p)
auto apply(Functor &&functor, Tuple &&t) -> decltype(utility_internal::apply_helper(absl::forward< Functor >(functor), absl::forward< Tuple >(t), absl::make_index_sequence< std::tuple_size< typename std::remove_reference< Tuple >::type >::value >
std::pair< std::string, std::string > pair
std::allocator< int > alloc
absl::hash_internal::Hash< T > Hash
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:32