template <HashtableCapacityStorageMode StorageMode>
class HashtableCapacityImpl
Defined at line 497 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
The number of slots in the backing array. This is always 2^N-1 for an
integer N.
NOTE: this class exists to simplify experiments with different ways to store
capacity within size.
NOTE: we tried experimenting with compressing the capacity and storing it
together with size_: (a) using 6 bits to store the corresponding power (N in
2^N-1), and (b) storing 2^N as the most significant bit of size_ and storing
size in the low bits. Both of these experiments were regressions, presumably
because we need capacity to do find operations.
Public Methods
HashtableCapacityImpl<StorageMode> CreateDestroyed ()
Defined at line 502 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
HashtableCapacityImpl<StorageMode> CreateReentrance ()
Defined at line 505 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
HashtableCapacityImpl<StorageMode> CreateMovedFrom ()
Defined at line 508 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
HashtableCapacityImpl<StorageMode> CreateSelfMovedFrom ()
Defined at line 511 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void HashtableCapacityImpl<StorageMode> (uninitialized_tag_t )
Defined at line 515 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void HashtableCapacityImpl<StorageMode> (size_t capacity)
Defined at line 516 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
HashtableCapacityImpl<StorageMode> FromRawData (uint64_t capacity)
Creates capacity from the value that was returned by `ToRawData()`.
This is needed to use bitfield for capacity.
At least on Windows combination uint8_t and uint64_t bitfield in one struct
is not optimized by compiler.
Defined at line 527 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
IntType ToRawData ()
Defined at line 532 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool IsValid ()
Defined at line 534 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool IsDestroyed ()
Defined at line 538 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool IsReentrance ()
Defined at line 539 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool IsMovedFrom ()
Returns true if the table is moved-from including self moved-from.
Defined at line 541 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool IsSelfMovedFrom ()
Defined at line 542 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
size_t capacity ()
Defined at line 546 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool is_small ()
Defined at line 552 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h