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 static void _resetToLowWaterMark();
44
45 MCAPI static void _updateLowWaterMark();
46
47#ifdef LL_PLAT_C
48 MCAPI static ::MolangVariableIndex getVariableIndex(::HashedString const& name);
49#endif
50
51 MCAPI static ::MolangVariableIndex getVariableIndex(uint64 nameHash);
52
53 MCAPI static ::MolangVariableIndex getVariableIndex(::HashedString const& name, bool allowSpecialCharacters);
54
55 MCAPI static ::MolangVariableIndex getVariableIndex(uint64 nameHash, char const* name, bool allowSpecialCharacters);
56
57 MCAPI static void initVariableMaps();
58
59 MCAPI static void processWaterMark();
60 // NOLINTEND
61
62public:
63 // static variables
64 // NOLINTBEGIN
65 MCAPI static bool& mHasSetWatermark();
66
67 MCAPI static ::std::unordered_map<::MolangVariableIndex, ::HashedString>& mIndexToVariableNameMap();
68
69 MCAPI static ::std::unordered_map<::MolangVariableIndex, ::HashedString>& mIndexToVariableNameMap_LowWaterMark();
70
71 MCAPI static ::std::unordered_map<uint64, ::MolangVariableIndex>& mVariableNameToIndexMap();
72
73 MCAPI static ::std::unordered_map<uint64, ::MolangVariableIndex>& mVariableNameToIndexMap_LowWaterMark();
74 // NOLINTEND
75
76public:
77 // constructor thunks
78 // NOLINTBEGIN
79 MCAPI void* $ctor(::MolangVariable const& rhs);
80 // NOLINTEND
81};
Definition HashedString.h:5