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