Quick Links:

bal | bbl | bdl | bsl

Public Types | Public Member Functions | Static Public Attributes

bdlc::FlatHashTable_GroupControl Class Reference

#include <bdlc_flathashtable_groupcontrol.h>

List of all members.

Public Types

typedef bsl::uint64_t Storage

Public Member Functions

 FlatHashTable_GroupControl (const bsl::uint8_t *data)
 ~FlatHashTable_GroupControl ()
bsl::uint32_t available () const
bsl::uint32_t inUse () const
bsl::uint32_t match (bsl::uint8_t value) const
bool neverFull () const

Static Public Attributes

static const bsl::uint8_t k_EMPTY = 0x80
static const bsl::uint8_t k_ERASED = 0xC0
static const bsl::size_t k_SIZE = sizeof(Storage)

Member Typedef Documentation


Constructor & Destructor Documentation

bdlc::FlatHashTable_GroupControl::FlatHashTable_GroupControl ( const bsl::uint8_t *  data  )  [explicit]

Create a group control query object using the specified data. The bytes of data have no alignment requirement. The behavior is undefined unless data has at least k_SIZE bytes available.

bdlc::FlatHashTable_GroupControl::~FlatHashTable_GroupControl (  ) 

Destroy this object.


Member Function Documentation

bsl::uint32_t bdlc::FlatHashTable_GroupControl::available (  )  const

Return a bit mask of the k_SIZE entries that are empty or erased. The bit at index i corresponds to the result for data[i].

bsl::uint32_t bdlc::FlatHashTable_GroupControl::inUse (  )  const

Return a bit mask of the k_SIZE entries that are in use (i.e., not empty or erased). The bit at index i corresponds to the result for data[i].

bsl::uint32_t bdlc::FlatHashTable_GroupControl::match ( bsl::uint8_t  value  )  const

Return a bit mask of the k_SIZE entries that have the specified value. The bit at index i corresponds to the result for data[i]. The behavior is undefined unless 0 == (0x80 & value).

bool bdlc::FlatHashTable_GroupControl::neverFull (  )  const

Return true if this group control was never full (i.e., has a value that is empty, but not erased).


Member Data Documentation

const bsl::uint8_t bdlc::FlatHashTable_GroupControl::k_EMPTY = 0x80 [static]

= 0b10000000

const bsl::uint8_t bdlc::FlatHashTable_GroupControl::k_ERASED = 0xC0 [static]

= 0b11000000

const bsl::size_t bdlc::FlatHashTable_GroupControl::k_SIZE = sizeof(Storage) [static]

The documentation for this class was generated from the following file: