class CommonFields
Defined at line 912 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
CommonFields hold the fields in raw_hash_set that do not depend
on template parameters. This allows us to conveniently pass all
of this state to helper functions as a single argument.
Public Methods
void CommonFields (soo_tag_t )
Defined at line 914 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void CommonFields (full_soo_tag_t )
Defined at line 916 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void CommonFields (non_soo_tag_t )
Defined at line 918 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void CommonFields (uninitialized_tag_t )
For use in swapping.
Defined at line 921 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void CommonFields (const CommonFields & )
Not copyable
Defined at line 924 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
CommonFields & operator= (const CommonFields & )
Defined at line 925 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void CommonFields (non_soo_tag_t , const CommonFields & that)
Copy with guarantee that it is not SOO.
Defined at line 928 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void CommonFields (CommonFields && that)
Movable
Defined at line 935 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
CommonFields & operator= (CommonFields && )
Defined at line 936 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
template <bool kSooEnabled>
CommonFields CreateDefault ()
Defined at line 939 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
const void * soo_data ()
The inline data for SOO is written on top of control_/slots_.
Defined at line 945 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void * soo_data ()
Defined at line 946 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
ctrl_t * control ()
Defined at line 948 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_control (ctrl_t * c)
Defined at line 960 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void * slot_array ()
Note: we can't use slots() because Qt defines "slots" as a macro.
Defined at line 963 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
MaybeInitializedPtr<void> slots_union ()
Defined at line 964 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_slots (void * s)
Defined at line 967 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
size_t size ()
The number of filled slots.
Defined at line 970 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_size_to_zero ()
Sets the size to zero, but keeps hashinfoz bit and seed.
Defined at line 972 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_empty_soo ()
Defined at line 973 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_full_soo ()
Defined at line 977 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void increment_size ()
Defined at line 981 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void increment_size (size_t n)
Defined at line 985 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void decrement_size ()
Defined at line 989 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool empty ()
Defined at line 993 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
PerTableSeed seed ()
The seed used for the hash function.
Defined at line 996 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void generate_new_seed (bool has_infoz)
Generates a new seed the hash function.
The table will be invalidated if `!empty()` because hash is being changed.
In such cases, we will need to rehash the table.
Defined at line 1000 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_no_seed_for_testing ()
Defined at line 1009 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
size_t capacity ()
The total number of available slots.
Defined at line 1012 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_capacity (size_t c)
Defined at line 1013 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool is_small ()
Defined at line 1019 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
size_t growth_left ()
The number of slots we can still fill without needing to rehash.
This is stored in the heap allocation before the control bytes.
TODO(b/289225379): experiment with moving growth_info back inline to
increase room for SOO.
Defined at line 1025 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
GrowthInfo & growth_info ()
Defined at line 1027 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
GrowthInfo growth_info ()
Defined at line 1031 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool has_infoz ()
Defined at line 1035 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_has_infoz ()
Defined at line 1036 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
HashtablezInfoHandle * infoz_ptr ()
Defined at line 1041 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
HashtablezInfoHandle infoz ()
Defined at line 1050 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_infoz (HashtablezInfoHandle infoz)
Defined at line 1053 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool should_rehash_for_bug_detection_on_insert ()
Defined at line 1058 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool should_rehash_for_bug_detection_on_move ()
Defined at line 1068 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void reset_reserved_growth (size_t reservation)
Defined at line 1072 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
size_t alloc_size (size_t slot_size, size_t slot_align)
The size of the backing array allocation.
Defined at line 1077 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void move_non_heap_or_soo_fields (CommonFields & that)
Move fields other than heap_or_soo_.
Defined at line 1083 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
size_t TombstonesCount ()
Returns the number of control bytes set to kDeleted. For testing only.
Defined at line 1091 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
template <typename F>
void RunWithReentrancyGuard (F f)
Helper to enable sanitizer mode validation to protect against reentrant
calls during element constructor/destructor.
Defined at line 1099 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h