template <class T, int SignificantBits, int Shift = 0>
class NonIterableBitMask
Defined at line 390 of file ../../third_party/abseil-cpp/absl/container/internal/raw_hash_set.h
An abstract bitmask, such as that emitted by a SIMD instruction.
Specifically, this type implements a simple bitset whose representation is
controlled by `SignificantBits` and `Shift`. `SignificantBits` is the number
of abstract bits in the bitset, while `Shift` is the log-base-two of the
width of an abstract bit in the representation.
This mask provides operations for any number of real bits set in an abstract
bit. To add iteration on top of that, implementation must guarantee no more
than the most significant real bit is set in a set abstract bit.
Public Members
T mask_
Public Methods
void NonIterableBitMask<T, SignificantBits, Shift> (T mask)
Defined at line 392 of file ../../third_party/abseil-cpp/absl/container/internal/raw_hash_set.h
bool operator bool ()
Defined at line 394 of file ../../third_party/abseil-cpp/absl/container/internal/raw_hash_set.h
uint32_t LowestBitSet ()
Returns the index of the lowest *abstract* bit set in `self`.
Defined at line 397 of file ../../third_party/abseil-cpp/absl/container/internal/raw_hash_set.h
uint32_t HighestBitSet ()
Returns the index of the highest *abstract* bit set in `self`.
Defined at line 402 of file ../../third_party/abseil-cpp/absl/container/internal/raw_hash_set.h
uint32_t TrailingZeros ()
Returns the number of trailing zero *abstract* bits.
Defined at line 407 of file ../../third_party/abseil-cpp/absl/container/internal/raw_hash_set.h
uint32_t LeadingZeros ()
Returns the number of leading zero *abstract* bits.
Defined at line 412 of file ../../third_party/abseil-cpp/absl/container/internal/raw_hash_set.h