Isle
Loading...
Searching...
No Matches
mxvariabletable.h
Go to the documentation of this file.
1#ifndef MXVARIABLETABLE_H
2#define MXVARIABLETABLE_H
3
4#include "mxhashtable.h"
5#include "mxtypes.h"
6#include "mxvariable.h"
7
8// VTABLE: LEGO1 0x100dc1c8
9// VTABLE: BETA10 0x101c1c78
10// SIZE 0x28
11
20class MxVariableTable : public MxHashTable<MxVariable*> {
21public:
26
33 void SetVariable(const char* p_key, const char* p_value);
34
40 void SetVariable(MxVariable* p_var);
41
48 const char* GetVariable(const char* p_key);
49
56 static void Destroy(MxVariable* p_obj) { p_obj->Destroy(); }
57
66 MxS8 Compare(MxVariable*, MxVariable*) override; // vtable+0x14
67
74 MxU32 Hash(MxVariable*) override; // vtable+0x18
75
76 // SYNTHETIC: destructor and other template methods managed by base class
77};
78
79// VTABLE: LEGO1 0x100dc1b0
80// VTABLE: BETA10 0x101c1cd0
81// class MxCollection<MxVariable *>
82
83// VTABLE: LEGO1 0x100dc1e8
84// VTABLE: BETA10 0x101c1cb0
85// class MxHashTable<MxVariable *>
86
87// VTABLE: LEGO1 0x100dc680
88// VTABLE: BETA10 0x101c1b48
89// class MxHashTableCursor<MxVariable *>
90
91// TEMPLATE: LEGO1 0x100afcd0
92// TEMPLATE: BETA10 0x10132950
93// MxCollection<MxVariable *>::Compare
94
95// TEMPLATE: LEGO1 0x100afce0
96// TEMPLATE: BETA10 0x10132a00
97// MxCollection<MxVariable *>::~MxCollection<MxVariable *>
98
99// TEMPLATE: LEGO1 0x100afd30
100// TEMPLATE: BETA10 0x10132a70
101// MxCollection<MxVariable *>::Destroy
102
103// SYNTHETIC: LEGO1 0x100afd40
104// SYNTHETIC: BETA10 0x10132a80
105// MxCollection<MxVariable *>::`scalar deleting destructor'
106
107// TEMPLATE: LEGO1 0x100afdc0
108// TEMPLATE: BETA10 0x10132ac0
109// MxHashTable<MxVariable *>::Hash
110
111// TEMPLATE: LEGO1 0x100b0bd0
112// TEMPLATE: BETA10 0x10132ae0
113// MxHashTable<MxVariable *>::~MxHashTable<MxVariable *>
114
115// SYNTHETIC: LEGO1 0x100b0ca0
116// SYNTHETIC: BETA10 0x10132b70
117// MxHashTable<MxVariable *>::`scalar deleting destructor'
118
119// TEMPLATE: LEGO1 0x100b7680
120// TEMPLATE: BETA10 0x1012a990
121// MxHashTableCursor<MxVariable *>::~MxHashTableCursor<MxVariable *>
122
123// SYNTHETIC: LEGO1 0x100b76d0
124// SYNTHETIC: BETA10 0x1012a9f0
125// MxHashTableCursor<MxVariable *>::`scalar deleting destructor'
126
127// TEMPLATE: LEGO1 0x100b7ab0
128// TEMPLATE: BETA10 0x1012adc0
129// MxHashTable<MxVariable *>::Resize
130
131// TEMPLATE: LEGO1 0x100b7b80
132// TEMPLATE: BETA10 0x1012af10
133// MxHashTable<MxVariable *>::NodeInsert
134
135// TEMPLATE: BETA10 0x1012a900
136// MxHashTableCursor<MxVariable *>::MxHashTableCursor<MxVariable *>
137
138// TEMPLATE: BETA10 0x1012aae0
139// MxHashTable<MxVariable *>::Add
140
141// TEMPLATE: BETA10 0x1012abd0
142// MxHashTableCursor<MxVariable *>::Current
143
144// TEMPLATE: BETA10 0x1012ac20
145// MxHashTableCursor<MxVariable *>::DeleteMatch
146
147// TEMPLATE: BETA10 0x1012ad00
148// MxHashTableCursor<MxVariable *>::Find
149
150// TEMPLATE: BETA10 0x1012af90
151// MxHashTableNode<MxVariable *>::MxHashTableNode<MxVariable *>
152
153// TEMPLATE: BETA10 0x10132890
154// MxHashTable<MxVariable *>::MxHashTable<MxVariable *>
155
156// TEMPLATE: BETA10 0x10130ed0
157// MxCollection<MxVariable *>::SetDestroy
158
159// SYNTHETIC: BETA10 0x10130f60
160// MxVariableTable::~MxVariableTable
161
162// SYNTHETIC: BETA10 0x10132970
163// MxCollection<MxVariable *>::MxCollection<MxVariable *>
164
165// TEMPLATE: BETA10 0x10132bb0
166// MxHashTable<MxVariable *>::DeleteAll
167
168#endif // MXVARIABLETABLE_H
void SetDestroy(void(*p_customDestructor)(T))
[AI] Assigns a custom destructor function to be used for elements of this collection.
Definition: mxcollection.h:34
[AI] Generic hash table collection implementing chained (bucketed) hashing, used for efficient lookup...
Definition: mxhashtable.h:57
MxVariableTable is a specialized hash table for storing key/value string variables used by the LEGO I...
const char * GetVariable(const char *p_key)
Returns the value for the variable with a given key, or an empty string if not found.
MxS8 Compare(MxVariable *, MxVariable *) override
Implements the virtual table comparison for two MxVariable pointers.
MxU32 Hash(MxVariable *) override
Hashes the key of the given variable for use in the table.
static void Destroy(MxVariable *p_obj)
Destroys an instance of MxVariable, calling its Destroy method.
void SetVariable(const char *p_key, const char *p_value)
Sets a variable by key and value, replacing or updating if it exists.
MxVariableTable()
Constructs an MxVariableTable and sets up the element destroy function.
[AI] Represents a key-value variable as used in the variable table for the LEGO Island engine.
Definition: mxvariable.h:16
virtual void Destroy()
[AI] Destroys the variable, deleting the object.
Definition: mxvariable.h:65
unsigned int MxU32
[AI]
Definition: mxtypes.h:32
signed char MxS8
[AI]
Definition: mxtypes.h:14