vg
tools for working with variation graphs
|
#include <small_bitset.hpp>
Public Types | |
typedef std::uint64_t | value_type |
Public Member Functions | |
SmallBitset () | |
SmallBitset (size_t n) | |
~SmallBitset () | |
SmallBitset (const SmallBitset &another) | |
SmallBitset (SmallBitset &&another) | |
SmallBitset & | operator= (const SmallBitset &another) |
SmallBitset & | operator= (SmallBitset &&another) |
size_t | size () const |
bool | small () const |
size_t | data_size () const |
size_t | count () const |
void | insert (size_t i) |
bool | contains (size_t i) const |
void | operator|= (const SmallBitset &another) |
void | operator&= (const SmallBitset &another) |
Private Member Functions | |
void | clear () |
void | copy (const SmallBitset &another) |
void | move (SmallBitset &another) |
Private Attributes | |
size_t | universe_size |
union { | |
value_type value | |
value_type * pointer | |
} | data |
Static Private Attributes | |
constexpr static size_t | VALUE_SHIFT = 6 |
constexpr static size_t | VALUE_BITS = static_cast<size_t>(1) << VALUE_SHIFT |
constexpr static size_t | VALUE_MASK = VALUE_BITS - 1 |
A small bitset. We expect that the universe size is usually at most 64.
typedef std::uint64_t vg::SmallBitset::value_type |
|
inline |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inlineprivate |
|
inline |
|
inlineprivate |
|
inline |
|
inline |
|
inline |
|
inlineprivate |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
union { ... } vg::SmallBitset::data |
value_type* vg::SmallBitset::pointer |
|
private |
value_type vg::SmallBitset::value |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |