Go to the documentation of this file.
29 #ifndef ABSL_CONTAINER_FLAT_HASH_SET_H_
30 #define ABSL_CONTAINER_FLAT_HASH_SET_H_
32 #include <type_traits>
35 #include "absl/algorithm/container.h"
36 #include "absl/base/macros.h"
37 #include "absl/container/internal/container_memory.h"
38 #include "absl/container/internal/hash_function_defaults.h"
39 #include "absl/container/internal/raw_hash_set.h"
40 #include "absl/memory/memory.h"
44 namespace container_internal {
102 template <
class T,
class Hash = absl::container_
internal::hash_default_hash<T>,
103 class Eq = absl::container_
internal::hash_default_eq<T>,
104 class Allocator = std::allocator<T>>
107 absl::container_internal::FlatHashSetPolicy<T>, Hash, Eq, Allocator> {
194 using Base::max_size;
309 using Base::emplace_hint;
392 using Base::equal_range;
404 using Base::bucket_count;
410 using Base::load_factor;
428 using Base::max_load_factor;
433 using Base::get_allocator;
439 using Base::hash_function;
451 template <
typename T,
typename H,
typename E,
typename A,
typename Predicate>
457 namespace container_internal {
460 struct FlatHashSetPolicy {
466 template <
class Allocator,
class...
Args>
469 std::forward<Args>(
args)...);
472 template <
class Allocator>
477 template <
class Allocator>
486 template <
class F,
class...
Args>
488 std::declval<F>(), std::declval<Args>()...))
491 std::forward<F>(f), std::forward<Args>(
args)...);
498 namespace container_algorithm_internal {
501 template <
class Key,
class Hash,
class KeyEqual,
class Allocator>
510 #endif // ABSL_CONTAINER_FLAT_HASH_SET_H_
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)
static void construct(Allocator *alloc, slot_type *slot, Args &&... args)
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
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
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)
std::true_type constant_iterators
raw_hash_set< P, H, E, A >::size_type EraseIf(Predicate &pred, raw_hash_set< P, H, E, A > *c)
static T & element(slot_type *slot)
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 destroy(Allocator *alloc, slot_type *slot)
static void transfer(Allocator *alloc, slot_type *new_slot, slot_type *old_slot)
def merge(callgrind_files, srcs)
static void destroy(Alloc &a, T *p)
static size_t space_used(const T *)
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::allocator< int > alloc
grpc
Author(s):
autogenerated on Fri May 16 2025 02:58:24