LeviLamina
Loading...
Searching...
No Matches
MolangVariable.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/MolangScriptArg.h"
7#include "mc/util/MolangVariableIndex.h"
8#include "mc/util/MolangVariableSettings.h"
9
10// auto generated forward declare list
11// clang-format off
12class HashedString;
13// clang-format on
14
15class MolangVariable {
16public:
17// member variables
18// NOLINTBEGIN
19#ifdef LL_PLAT_S
20 ::ll::TypedStorage<8, 88, ::MolangScriptArg> mValue;
21#else // LL_PLAT_C
22 ::ll::TypedStorage<8, 96, ::MolangScriptArg> mValue;
23#endif
24 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::MolangScriptArg>> mPublicValue;
25 ::ll::TypedStorage<4, 8, ::MolangVariableSettings> mSettings;
26 // NOLINTEND
27
28public:
29 MolangVariable(MolangVariable const& rhs) {
30 mValue = rhs.mValue;
31 if (rhs.mPublicValue) {
32 mPublicValue = std::make_unique<MolangScriptArg>(*rhs.mPublicValue);
33 }
34 mSettings = rhs.mSettings;
35 }
36
37public:
38 // static functions
39 // NOLINTBEGIN
40 MCAPI static ::MolangVariableIndex
41 _findOrAddVariableIndex(uint64 nameHash, char const* name, bool allowSpecialCharacters);
42
43 MCAPI_C static ::MolangVariableIndex getVariableIndex(::HashedString const& name);
44
45 MCAPI static ::MolangVariableIndex getVariableIndex(uint64 nameHash);
46
47 MCAPI static ::HashedString const& getVariableName(::MolangVariableIndex index);
48
49 MCAPI static void processWaterMark();
50 // NOLINTEND
51
52public:
53 // static variables
54 // NOLINTBEGIN
55 MCAPI static bool& mHasSetWatermark();
56
57 MCAPI static ::std::unordered_map<::MolangVariableIndex, ::HashedString>& mIndexToVariableNameMap();
58
59 MCAPI static ::std::unordered_map<::MolangVariableIndex, ::HashedString>& mIndexToVariableNameMap_LowWaterMark();
60
61 MCAPI static ::std::unordered_map<uint64, ::MolangVariableIndex>& mVariableNameToIndexMap();
62
63 MCAPI static ::std::unordered_map<uint64, ::MolangVariableIndex>& mVariableNameToIndexMap_LowWaterMark();
64 // NOLINTEND
65};
Definition HashedString.h:5