proxygen
folly::SparseByteSet Class Reference

#include <SparseByteSet.h>

Public Member Functions

 SparseByteSet ()
 
bool add (uint8_t i)
 
bool contains (uint8_t i) const
 

Static Public Attributes

static constexpr uint16_t kCapacity = 256
 

Private Attributes

uint16_t size_
 
uint8_t sparse_ [kCapacity]
 
uint8_t dense_ [kCapacity]
 

Detailed Description

Definition at line 48 of file SparseByteSet.h.

Constructor & Destructor Documentation

folly::SparseByteSet::SparseByteSet ( )
inline

Definition at line 54 of file SparseByteSet.h.

54 : size_(0) {}

Member Function Documentation

bool folly::SparseByteSet::add ( uint8_t  i)
inline

Definition at line 61 of file SparseByteSet.h.

References contains(), dense_, i, size_, sparse_, and uint8_t.

Referenced by folly::detail::qfind_first_byte_of_byteset().

61  {
62  bool r = !contains(i);
63  if (r) {
64  DCHECK_LT(size_, kCapacity);
65  dense_[size_] = i;
66  sparse_[i] = uint8_t(size_);
67  size_++;
68  }
69  return r;
70  }
uint8_t sparse_[kCapacity]
Definition: SparseByteSet.h:84
bool contains(uint8_t i) const
Definition: SparseByteSet.h:77
static constexpr uint16_t kCapacity
Definition: SparseByteSet.h:51
uint8_t dense_[kCapacity]
Definition: SparseByteSet.h:85
bool folly::SparseByteSet::contains ( uint8_t  i) const
inline

Definition at line 77 of file SparseByteSet.h.

References dense_, i, size_, and sparse_.

Referenced by add(), and folly::detail::qfind_first_byte_of_byteset().

77  {
78  return sparse_[i] < size_ && dense_[sparse_[i]] == i;
79  }
uint8_t sparse_[kCapacity]
Definition: SparseByteSet.h:84
uint8_t dense_[kCapacity]
Definition: SparseByteSet.h:85

Member Data Documentation

uint8_t folly::SparseByteSet::dense_[kCapacity]
private

Definition at line 85 of file SparseByteSet.h.

Referenced by add(), and contains().

constexpr uint16_t folly::SparseByteSet::kCapacity = 256
static

Definition at line 51 of file SparseByteSet.h.

uint16_t folly::SparseByteSet::size_
private

Definition at line 82 of file SparseByteSet.h.

Referenced by add(), and contains().

uint8_t folly::SparseByteSet::sparse_[kCapacity]
private

Definition at line 84 of file SparseByteSet.h.

Referenced by add(), and contains().


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