17class MolangVariableMap {
19 LLAPI
void setMolangVariable(::MolangVariableIndex molangVariableIndex,
::MolangScriptArg const& value);
22 LLAPI
void setMolangVariable(uint64 variableNameHash,
char const* variableName,
::MolangScriptArg const& value);
27 LLAPI
void setMolangVariable(
28 uint64 variableNameHash,
29 char const* variableName,
31 bool allowSpecialCharacters
36 enum class MissingVariableHandling :
int {
44 ::ll::TypedStorage<8, 24, ::std::vector<short>> mMapFromVariableIndexToVariableArrayOffset;
45 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::MolangVariable>>> mVariables;
46 ::ll::TypedStorage<1, 1, bool> mHasPublicVariables;
51 MolangVariableMap(MolangVariableMap
const& rhs) {
52 mMapFromVariableIndexToVariableArrayOffset = rhs.mMapFromVariableIndexToVariableArrayOffset;
54 for (
auto& ptr : *rhs.mVariables) {
55 mVariables->push_back(std::make_unique<MolangVariable>(*ptr));
57 mHasPublicVariables = rhs.mHasPublicVariables;
64 MCAPI ::MolangVariable* _getMolangVariable(
65 ::MolangVariableIndex molangVariableIndex,
66 ::MolangVariableMap::MissingVariableHandling errorHandling
69 MCAPI ::MolangVariable* _getOrAddMolangVariable(::MolangVariableIndex molangVariableIndex);
71 MCAPI ::MolangVariableMap& clear();
74 MCAPI ::MolangScriptArg
const& getMolangVariable(uint64 variableNameHash,
char const*)
const;
77 MCAPI ::MolangVariableMap& operator=(::MolangVariableMap&& rhs);
79 MCAPI ::MolangVariableMap& operator=(::MolangVariableMap
const& rhs);
81 MCAPI
bool operator==(::MolangVariableMap
const& rhs)
const;
83 MCAPI
void setMolangStructMember(
84 ::MolangVariableIndex molangVariableIndex,
92 MCAPI
void setMolangVariable(uint64 variableNameHash,
char const* variableName,
::MolangScriptArg const& value);
95 MCAPI ~MolangVariableMap();