A strict one-to-one mapping from objects of type T1 to type T2 (which must be different types).
Definition: Bijection.h:48
forwardType m_forwardMap
Map of object-to-object in the forward direction.
Definition: Bijection.h:160
void emplace(T1 a, T2 b)
Adds a new entry to the bijection.
Definition: Bijection.h:73
reverseType m_reverseMap
Map of object-to-object in the reverse direction.
Definition: Bijection.h:163
Bidirectional table mapping integer IDs in scopesession files to object pointers.
Definition: IDTable.h:49
void ReserveID(uintptr_t id)
Marks an ID as unavailable for use, without assigning an pointer to it.
Definition: IDTable.h:105
uintptr_t emplace(void *p)
Store a new object in the table.
Definition: IDTable.h:64
void clear()
Deletes all entries from the table.
Definition: IDTable.h:111
bool HasID(void *p)
Checks if we have an object at a specific pointer.
Definition: IDTable.h:91
bool HasID(uintptr_t id)
Checks if we have an object with a specific ID.
Definition: IDTable.h:99
uintptr_t m_nextID
Index of the next ID to be assigned.
Definition: IDTable.h:121
void emplace(uintptr_t id, void *p)
Store a new object in the table using a specific ID.
Definition: IDTable.h:80