LeviLamina
Loading...
Searching...
No Matches
CommandParameterData.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/typeid_t.h"
7#include "mc/server/commands/CommandParameterDataType.h"
8#include "mc/server/commands/CommandParameterOption.h"
9#include "mc/server/commands/CommandRegistry.h"
10
11// auto generated forward declare list
12// clang-format off
13class CommandOrigin;
14class CommandRegistry;
15// clang-format on
16
18public:
19 // CommandParameterData inner types define
20 using ParseFunction =
21 bool (::CommandRegistry::*)(void*, ::CommandRegistry::ParseToken const&, ::CommandOrigin const&, int, ::std::string&, ::std::vector<::std::string>&)
22 const;
23
24public:
25 // member variables
26 // NOLINTBEGIN
28 ParseFunction mParse;
29 ::std::string mName;
30 char const* mEnumNameOrPostfix;
31 CommandRegistry::Symbol mEnumOrPostfixSymbol;
32 char const* mChainedSubcommand;
33 CommandRegistry::Symbol mChainedSubcommandSymbol;
34 ::CommandParameterDataType mParamType;
35 int mOffset;
36 int mSetOffset;
37 bool mIsOptional;
38 ::CommandParameterOption mOptions;
39 // NOLINTEND
40
41
42public:
43 void addOptions(::CommandParameterOption option) {
44 using T = std::underlying_type_t<::CommandParameterOption>;
45 mOptions = static_cast<::CommandParameterOption>((T)option | (T)mOptions);
46 }
47
48 CommandParameterData() = default;
49
52 ParseFunction parser,
53 std::string name,
54 ::CommandParameterDataType type,
55 char const* enumNameOrPostfix,
56 char const* subChain,
57 int offset,
58 bool optional,
59 int flagOffset,
60 CommandParameterOption options
61 );
62
63 LLNDAPI bool operator==(CommandParameterData const& other) const;
64
66 CommandParameterData& operator=(CommandParameterData const&) = default;
67
68public:
69 // destructor thunk
70 // NOLINTBEGIN
71 MCFOLD void $dtor();
72 // NOLINTEND
73};
Definition typeid_t.h:25
Definition CommandOrigin.h:32
Definition CommandParameterData.h:17
Definition CommandRegistry.h:240
Definition CommandRegistry.h:44
Definition CommandRegistry.h:373