#include <inline_fed.h>
Public Types | |
enum | { HASHED_BIT = (1 << 31), HASH_MASK = ~(HASHED_BIT | dbm_t::MAX_DIM), DIM_MASK = dbm_t::MAX_DIM } |
Maximal dimension == 2^15-1 because (2^15)^2 == 2^30 constraints == 2^32 bytes and we are in big big trouble then. More... | |
Public Member Functions | |
cindex_t | getDimension () const |
uint32_t | hash (uint32_t seed=0) const |
bool | isHashed () const |
bool | isMutable () const |
bool | tryMutable () |
Check if this dimPtr is mutable and try to make it so cheaply. | |
void | unhash () |
Unhash itself. | |
uint32_t | updateHash (uint32_t seed=0) |
void | markHashed () |
Mark 'this' as hashed. | |
void | unmarkHashed () |
Unmark 'this' as hashed. | |
void | incRef () |
Increment reference counter. | |
void | decRef () |
Decrement reference counter. | |
void | decRefImmutable () |
Simple decRef without remove(). | |
void | removeMutable () |
Simple remove for mutable idbm_t. | |
void | remove () |
Deallocate this idbm_t. | |
raw_t * | dbm () |
const raw_t * | const_dbm () const |
raw_t * | getMatrix () |
idbm_t (cindex_t dim) | |
Constructor: use placement constructor to instantiate. | |
idbm_t (const idbm_t &original) | |
Constructor by copy: useful to get a mutable copy of this DBM. | |
Static Public Member Functions | |
static idbm_t * | create (cindex_t dim) |
static idbm_t * | create (const idbm_t &arg) |
Private Member Functions | |
~idbm_t () | |
Must never be called. | |
Private Attributes | |
uint32_t | refCounter |
raw_t | matrix [] |
|
Maximal dimension == 2^15-1 because (2^15)^2 == 2^30 constraints == 2^32 bytes and we are in big big trouble then. MAX_DIM is the maximum dimension *and* the access mask. HASH_MASK contains the remaining bits for the hash value HASHED_BIT mark if this DBM is in a hash tabled (hashed). |
|
Constructor: use placement constructor to instantiate.
|
|
Constructor by copy: useful to get a mutable copy of this DBM.
|
|
Must never be called.
|
|
|
|
|
|
|
|
|
|
Decrement reference counter.
|
|
Simple decRef without remove().
|
|
|
|
|
|
|
|
Increment reference counter.
|
|
|
|
|
|
Mark 'this' as hashed.
|
|
Deallocate this idbm_t.
|
|
Simple remove for mutable idbm_t.
|
|
Check if this dimPtr is mutable and try to make it so cheaply.
|
|
Unhash itself.
|
|
Unmark 'this' as hashed.
|
|
|
|
|
|
|