17class MolangVariableMap {
20 enum class MissingVariableHandling :
int {
28 ::ll::TypedStorage<8, 24, ::std::vector<short>> mMapFromVariableIndexToVariableArrayOffset;
29 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::MolangVariable>>> mVariables;
30 ::ll::TypedStorage<1, 1, bool> mHasPublicVariables;
34 MolangVariableMap(MolangVariableMap
const& rhs) {
35 mMapFromVariableIndexToVariableArrayOffset = rhs.mMapFromVariableIndexToVariableArrayOffset;
37 for (
auto& ptr : *rhs.mVariables) {
38 mVariables->push_back(std::make_unique<MolangVariable>(*ptr));
40 mHasPublicVariables = rhs.mHasPublicVariables;
44 setMolangVariable(variableName.getHash(), variableName.c_str(), value);
50 MCAPI MolangVariableMap();
52 MCAPI ::MolangVariable* _getOrAddMolangVariable(::MolangVariableIndex molangVariableIndex);
54 MCAPI ::MolangVariableMap& clear();
56 MCAPI ::MolangScriptArg
const& getMolangVariable(uint64 variableNameHash,
char const*)
const;
58 MCAPI ::MolangVariableMap& operator=(::MolangVariableMap&&);
60 MCAPI ::MolangVariableMap& operator=(::MolangVariableMap
const& rhs);
62 MCAPI
bool operator==(::MolangVariableMap
const& rhs)
const;
64 MCAPI
void setMolangStructMember(
65 ::MolangVariableIndex molangVariableIndex,
70 MCAPI
void setMolangVariable(::MolangVariableIndex molangVariableIndex,
::MolangScriptArg const& value);
72 MCAPI
void setMolangVariable(uint64 variableNameHash,
char const* variableName,
::MolangScriptArg const& value);
74 MCAPI_C
void updatePublicVariables();
76 MCAPI ~MolangVariableMap();
84 MCAPI_C
void* $ctor(::MolangVariableMap&&);
86 MCAPI_C
void* $ctor(::MolangVariableMap
const& rhs);