The common base class of Nebula.
Definition refcounted.h:38
Provides a system for creating array friendly id numbers with reuse and generations.
Definition idgenerationpool.h:43
Ids::IdGenerationPool tableIdPool
id pool for table ids
Definition database.h:68
void Copy(Ptr< MemDb::Database > const &dst) const
copy the database into dst
Definition database.cc:227
SizeT numTables
number of tables existing currently
Definition database.h:74
bool IsValid(TableId table) const
check if table is valid
Definition database.cc:84
void Reset()
performs Clean on all tables.
Definition database.cc:121
static constexpr uint32_t MAX_NUM_TABLES
Definition database.h:64
void ForEachTable(std::function< void(TableId)> const &callback)
run a callback for each table in the db
Definition database.cc:289
Table tables[MAX_NUM_TABLES]
all tables within the database
Definition database.h:71
Table & GetTable(TableId tid)
retrieve a table.
Definition database.cc:93
TableId FindTable(TableSignature const &signature) const
find table by signature
Definition database.cc:103
void DeleteTable(TableId table)
delete table
Definition database.cc:72
TableId CreateTable(TableCreateInfo const &info)
create new table
Definition database.cc:40
__DeclareClass(MemDb::Database)
Dataset Query(FilterSet const &filterset)
Query the database for a dataset of tables.
Definition database.cc:133
~Database()
destructor
Definition database.cc:27
Database()
constructor
Definition database.cc:19
SizeT GetNumTables() const
retrieve the number of tables
Definition database.h:81
Definition filterset.h:20
Basically a bitfield with packed ComponentIds.
Definition tablesignature.h:26
Nebula's smart pointer class which manages the life time of RefCounted objects.
Definition ptr.h:38
Nebula's dynamic array class.
Definition array.h:60
Contains declarations for tables.
Attribute.
Definition attribute.h:26
information for creating a table
Definition table.h:31
Table identifier.
Definition tableid.h:14
int SizeT
Definition types.h:49