22 #ifndef ELM_GENSTRUCT_BOOLTABLE_H
23 #define ELM_GENSTRUCT_BOOLTABLE_H
25 #include <elm/util/BitVector.h>
26 #include <elm/genstruct/Table.h>
27 #include <elm/util/delegate.h>
29 namespace elm {
namespace genstruct {
39 {
for(
int i = 0; i <
count; i++)
if(table[i]) bvec.set(i); }
45 inline int count(
void)
const {
return bvec.size(); }
46 inline bool get(
int index)
const {
return bvec.bit(index); }
48 inline void set(
int index,
bool value) { bvec.set(index, value); }
49 inline bool isEmpty(
void)
const {
return bvec.isEmpty(); }
55 inline bool operator[](
int index)
const {
return get(index); }
58 {
copy(table);
return *
this; }
59 inline operator bool(
void)
const {
return !
isEmpty(); }
78 { bvec.copy(table.
bvec); }
80 {
copy(table);
return *
this; }
AllocatedTable< bool > & operator=(const AllocatedTable< bool > &table)
Definition: BoolTable.h:79
bool operator[](int index) const
Definition: BoolTable.h:55
Definition: BoolTable.h:69
static Table< bool > EMPTY
Definition: BoolTable.h:36
int size(void) const
Definition: Table.h:43
void free(void)
Definition: BoolTable.h:76
Table(const Table< bool > &table)
Definition: BoolTable.h:40
AllocatedTable(const Table< bool > &table)
Definition: BoolTable.h:73
ArrayDelegate< Table< bool >, int, bool > delegate_t
Definition: BoolTable.h:44
Definition: delegate.h:29
Definition: BoolTable.h:34
Definition: BitVector.h:33
value_t value(CString name, int value)
Definition: rtti.h:40
void copy(const Table< T > &table)
Definition: Table.h:53
Table< bool > & operator=(const Table< bool > &table)
Definition: BoolTable.h:57
void copy(const AllocatedTable< bool > &table)
Definition: BoolTable.h:77
void allocate(int count)
Definition: Table.h:107
void set(int index, bool value)
Definition: BoolTable.h:48
void allocate(int count)
Definition: BoolTable.h:75
delegate_t operator[](int index)
Definition: BoolTable.h:56
int count(void) const
Definition: Table.h:71
BitVector bvec
Definition: BoolTable.h:62
bool isEmpty(void) const
Definition: BoolTable.h:49
Table(bool *table, int count)
Definition: BoolTable.h:38
AllocatedTable(int count)
Definition: BoolTable.h:72
bool isEmpty(void) const
Definition: Table.h:50
void copy(const Table< bool > &table)
Definition: BoolTable.h:52
AllocatedTable(void)
Definition: BoolTable.h:71
int count(void) const
Definition: BoolTable.h:45
Table(void)
Definition: BoolTable.h:63