template <HashtableCapacityStorageMode StorageMode>
class HashtableInlineDataImpl
Defined at line 630 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
Capacity, size and also has additionally
1) one bit that stores whether we have infoz.
2) kBlockedElementsBitCount bits that stores number of blocked elements in
the table.
3) PerTableSeed::kBitCount bits for the seed. (For SOO tables, the lowest
bit of the seed is repurposed to track if sampling has been tried).
Public Members
static HashtableCapacityStorageMode kStorageMode
static const size_t kBlockedElementBitCount
static const size_t kMaxBlockedElementCount
static const size_t kSizeBitCount
Public Methods
void HashtableInlineDataImpl<StorageMode> (uninitialized_tag_t )
Defined at line 644 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void HashtableInlineDataImpl<StorageMode> (HashtableCapacity capacity, no_seed_empty_tag_t )
Defined at line 645 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void HashtableInlineDataImpl<StorageMode> (HashtableCapacitycapacity,full_soo_tag_t,boolhas_tried_sampling)
Defined at line 648 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
HashtableCapacity capacity ()
Defined at line 654 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool is_small ()
Defined at line 657 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_capacity (HashtableCapacity c)
Defined at line 659 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_capacity (size_t c)
Defined at line 660 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
size_t size ()
Returns actual size of the table.
Defined at line 663 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void increment_size ()
Defined at line 664 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void increment_size (size_t size)
Defined at line 665 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void decrement_size ()
Defined at line 668 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool empty ()
Returns true if the table is empty.
Defined at line 670 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool soo_has_tried_sampling ()
Returns true if an empty SOO table has already queried should_sample_soo().
Defined at line 673 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_soo_has_tried_sampling ()
Records that an empty SOO table has tried sampling.
Defined at line 678 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_size (size_t size)
Sets the size, but keeps all the metadata bits.
Defined at line 681 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
PerTableSeed seed ()
Defined at line 686 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void generate_new_seed ()
Defined at line 688 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_sampled_seed ()
We need to use a constant seed when the table is sampled so that sampled
hashes use the same seed and can e.g. identify stuck bits accurately.
Defined at line 694 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool is_sampled_seed ()
Defined at line 696 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
bool has_infoz ()
Returns true if the table has infoz.
Defined at line 701 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_has_infoz ()
Sets the has_infoz bit.
Defined at line 706 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.
Defined at line 709 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void init_blocked_element_count (uint64_t count)
Initializes the number of blocked elements in the table.
Requires:
1. `blocked_element_count() == 0`.
2. `count
<
= kMaxBlockedElementCount`.
Defined at line 716 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_blocked_element_count_to_zero ()
Defined at line 721 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h
void set_no_seed_for_testing ()
Defined at line 723 of file ../../third_party/abseil-cpp/src/absl/container/internal/raw_hash_set.h