Go to the documentation of this file.
35 #ifndef ABSL_CONTAINER_NODE_HASH_SET_H_
36 #define ABSL_CONTAINER_NODE_HASH_SET_H_
38 #include <type_traits>
40 #include "absl/algorithm/container.h"
41 #include "absl/base/macros.h"
42 #include "absl/container/internal/hash_function_defaults.h"
44 #include "absl/container/internal/raw_hash_set.h"
45 #include "absl/memory/memory.h"
49 namespace container_internal {
97 template <
class T,
class Hash = absl::container_
internal::hash_default_hash<T>,
98 class Eq = absl::container_
internal::hash_default_eq<T>,
99 class Alloc = std::allocator<T>>
102 absl::container_internal::NodeHashSetPolicy<T>, Hash, Eq, Alloc> {
189 using Base::max_size;
300 using Base::emplace_hint;
383 using Base::equal_range;
395 using Base::bucket_count;
401 using Base::load_factor;
419 using Base::max_load_factor;
424 using Base::get_allocator;
430 using Base::hash_function;
442 template <
typename T,
typename H,
typename E,
typename A,
typename Predicate>
448 namespace container_internal {
451 struct NodeHashSetPolicy
457 template <
class Allocator,
class...
Args>
461 ValueAlloc value_alloc(*
alloc);
464 std::forward<Args>(
args)...);
468 template <
class Allocator>
472 ValueAlloc value_alloc(*
alloc);
477 template <
class F,
class...
Args>
479 std::declval<F>(), std::declval<Args>()...))
482 std::forward<F>(f), std::forward<Args>(
args)...);
489 namespace container_algorithm_internal {
492 template <
class Key,
class Hash,
class KeyEqual,
class Allocator>
500 #endif // ABSL_CONTAINER_NODE_HASH_SET_H_
static size_t element_space_used(const T *)
static void delete_element(Allocator *alloc, T *elem)
static void ** find(grpc_chttp2_stream_map *map, uint32_t key)
static bool reserve(upb_pb_encoder *e, size_t bytes)
decltype(std::declval< F >()(std::declval< const Arg & >(), std::declval< Arg >())) DecomposeValue(F &&f, Arg &&arg)
integral_constant< bool, true > true_type
raw_hash_set() noexcept(std::is_nothrow_default_constructible< hasher >::value &&std::is_nothrow_default_constructible< key_equal >::value &&std::is_nothrow_default_constructible< allocator_type >::value)
#define ABSL_NAMESPACE_END
static void construct(Alloc &a, T *p, Args &&... args)
#define T(upbtypeconst, upbtype, ctype, default_value)
hash_default_eq< T > key_eq
#define ABSL_NAMESPACE_BEGIN
static T * 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)
raw_hash_set< P, H, E, A >::size_type EraseIf(Predicate &pred, raw_hash_set< P, H, E, A > *c)
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)
static int contains(grpc_timer_heap *pq, grpc_timer *el)
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::true_type constant_iterators
std::allocator< int > alloc
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:32