18class MolangVariableMap {
21 enum class MissingVariableHandling :
int {
29 ::ll::TypedStorage<8, 24, ::std::vector<short>> mMapFromVariableIndexToVariableArrayOffset;
30 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::MolangVariable>>> mVariables;
31 ::ll::TypedStorage<1, 1, bool> mHasPublicVariables;
36 MolangVariableMap(MolangVariableMap
const& rhs) {
37 mMapFromVariableIndexToVariableArrayOffset = rhs.mMapFromVariableIndexToVariableArrayOffset;
39 for (
auto& ptr : *rhs.mVariables) {
40 mVariables->push_back(std::make_unique<MolangVariable>(*ptr));
42 mHasPublicVariables = rhs.mHasPublicVariables;
48 setMolangVariable(variableName.getHash(), variableName.c_str(), value);
54 MCAPI MolangVariableMap();
56 MCAPI MolangVariableMap(::MolangVariableMap&& rhs);
58 MCAPI ::MolangVariable* _getMolangVariable(
59 ::MolangVariableIndex molangVariableIndex,
60 ::MolangVariableMap::MissingVariableHandling errorHandling
63 MCAPI ::MolangVariable* _getOrAddMolangVariable(::MolangVariableIndex molangVariableIndex);
65 MCAPI ::MolangVariableMap& clear();
67 MCAPI ::MolangScriptArg
const& getMolangVariable(uint64 variableNameHash,
char const*)
const;
70 MCAPI ::MolangScriptArg
const&
71 getOrAddMolangVariable(
::HashedString const& variableName,
bool allowSpecialCharacters);
74 MCAPI ::MolangVariableMap& operator=(::MolangVariableMap&& rhs);
76 MCAPI ::MolangVariableMap& operator=(::MolangVariableMap
const& rhs);
78 MCAPI
bool operator==(::MolangVariableMap
const& rhs)
const;
80 MCAPI
void setMolangStructMember(
81 ::MolangVariableIndex molangVariableIndex,
86 MCAPI
void setMolangVariable(::MolangVariableIndex molangVariableIndex,
::MolangScriptArg const& value);
88 MCAPI
void setMolangVariable(uint64 variableNameHash,
char const* variableName,
::MolangScriptArg const& value);
91 MCAPI
void setMolangVariable(
92 uint64 variableNameHash,
93 char const* variableName,
95 bool allowSpecialCharacters
102 MCAPI ::MolangScriptArg
const* tryGetMolangVariable(uint64 variableNameHash)
const;
104 MCAPI
void updatePublicVariables();
107 MCAPI ~MolangVariableMap();
115 MCAPI
void* $ctor(::MolangVariableMap&& rhs);
117 MCAPI
void* $ctor(::MolangVariableMap
const& rhs);