Declaration of SerializableObject.
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:51
void ReserveID(uintptr_t id)
Marks an ID as unavailable for use, without assigning an pointer to it.
Definition: IDTable.h:107
uintptr_t emplace(SerializableObject *p)
Store a new object in the table.
Definition: IDTable.h:66
virtual void clear()
Deletes all entries from the table.
Definition: IDTable.h:129
SerializableObject * operator[](uintptr_t key)
Legacy object lookup.
Definition: IDTable.h:119
bool HasID(uintptr_t id)
Checks if we have an object with a specific ID.
Definition: IDTable.h:101
uintptr_t m_nextID
Index of the next ID to be assigned.
Definition: IDTable.h:139
T Lookup(uintptr_t id)
Type-safe object lookup.
Definition: IDTable.h:114
void emplace(uintptr_t id, SerializableObject *p)
Store a new object in the table using a specific ID.
Definition: IDTable.h:82
bool HasID(SerializableObject *p)
Checks if we have an object at a specific pointer.
Definition: IDTable.h:93
uintptr_t operator[](SerializableObject *key)
Forward lookup.
Definition: IDTable.h:123
Definition: SerializableObject.h:40