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;
35 MolangVariableMap(MolangVariableMap
const& rhs) {
36 mMapFromVariableIndexToVariableArrayOffset = rhs.mMapFromVariableIndexToVariableArrayOffset;
38 for (
auto& ptr : *rhs.mVariables) {
39 mVariables->push_back(std::make_unique<MolangVariable>(*ptr));
41 mHasPublicVariables = rhs.mHasPublicVariables;
47 setMolangVariable(variableName.getHash(), variableName.c_str(), value);
53 MCAPI MolangVariableMap();
56 MCAPI MolangVariableMap(::MolangVariableMap&&);
58 MCAPI MolangVariableMap(::MolangVariableMap
const& rhs);
61 MCAPI ::MolangVariable* _getOrAddMolangVariable(::MolangVariableIndex molangVariableIndex);
63 MCAPI ::MolangVariableMap& clear();
65 MCAPI ::MolangScriptArg
const& getMolangVariable(uint64 variableNameHash,
char const*)
const;
67 MCAPI ::MolangVariableMap& operator=(::MolangVariableMap&&);
69 MCAPI ::MolangVariableMap& operator=(::MolangVariableMap
const& rhs);
71 MCAPI
bool operator==(::MolangVariableMap
const& rhs)
const;
73 MCAPI
void setMolangStructMember(
74 ::MolangVariableIndex molangVariableIndex,
79 MCAPI
void setMolangVariable(::MolangVariableIndex molangVariableIndex,
::MolangScriptArg const& value);
81 MCAPI
void setMolangVariable(uint64 variableNameHash,
char const* variableName,
::MolangScriptArg const& value);
84 MCAPI
void updatePublicVariables();
87 MCAPI ~MolangVariableMap();
96 MCAPI
void* $ctor(::MolangVariableMap&&);
98 MCAPI
void* $ctor(::MolangVariableMap
const& rhs);