class CommonFields
Defined at line 1237 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 1239 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void CommonFields (full_soo_tag_t , bool has_tried_sampling)
Defined at line 1241 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void CommonFields (non_soo_tag_t )
Defined at line 1244 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 1247 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void CommonFields (const CommonFields & )
Not copyable
Defined at line 1251 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
CommonFields & operator= (const CommonFields & )
Defined at line 1252 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 1255 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void CommonFields (CommonFields && that)
Movable
Defined at line 1259 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
CommonFields & operator= (CommonFields && )
Defined at line 1260 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
template <bool kSooEnabled>
CommonFields CreateDefault ()
Defined at line 1263 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 1269 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void * soo_data ()
Defined at line 1270 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
ctrl_t * control ()
Defined at line 1272 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_control (ctrl_t * c)
Defined at line 1284 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void * slot_array (size_t capacity)
Note: we can't use slots() because Qt defines "slots" as a macro.
Returns pointer to the slots of a table with explicit capacity that must be
equal to the actual capacity of the table.
Capacity is often known at compile time or already in register with some
ABSL_ASSUME conditions. We require passing it explicitly to eliminate
branches inside of NumControlBytes in majority of cases.
Defined at line 1292 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 1299 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 1301 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_empty_soo ()
Defined at line 1302 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_full_soo ()
Defined at line 1306 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void increment_size ()
Defined at line 1310 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void increment_size (size_t n)
Defined at line 1314 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void decrement_size ()
Defined at line 1318 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool empty ()
Defined at line 1322 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_soo_has_tried_sampling ()
Defined at line 1323 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool soo_has_tried_sampling ()
Defined at line 1326 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 1331 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 1335 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_no_seed_for_testing ()
Defined at line 1344 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
HashtableCapacity capacity_impl ()
Defined at line 1346 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
size_t capacity ()
Defined at line 1351 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
HashtableCapacity maybe_invalid_capacity ()
We have a separate alias for callsites in which the capacity may be
invalid.
Defined at line 1354 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_capacity (HashtableCapacity c)
Defined at line 1357 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_capacity (size_t c)
Defined at line 1358 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool is_small ()
Defined at line 1361 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
GrowthInfoAccessor growth_info ()
Defined at line 1363 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool has_infoz ()
Defined at line 1368 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
HashtablezInfoHandle infoz ()
Defined at line 1376 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
HashtablezInfoHandle infoz_ptr ()
void set_has_infoz ()
Defined at line 1369 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void init_blocked_element_count (size_t count)
Initializes the number of blocked elements in the table.
Requires:
1. `blocked_element_count() == 0`.
2. `count
<
= kMaxBlockedElementCount`.
Defined at line 1407 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_blocked_element_count_to_zero ()
Defined at line 1410 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 1415 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 1422 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 1429 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 1437 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void AssertNotDebugCapacity ()
Asserts that the capacity is not a sentinel invalid value.
Defined at line 1449 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_infoz (HashtablezInfoHandle infoz)
bool should_rehash_for_bug_detection_on_insert ()
Defined at line 1381 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 1388 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void reset_reserved_growth (size_t reservation)
Defined at line 1392 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
size_t blocked_element_count ()
Returns the number of blocked elements in the table.
Blocked elements are located at the end of the table and do not have
corresponding slots.
Control bytes are set to kSentinel for blocked elements.
Defined at line 1400 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h