18class CommandParameterData {
21 using CustomStorageGetFn =
void* (*)(
::Command*,
int);
23 using CustomStorageIsSetFn =
bool* (*)(
::Command*,
int);
31 ::std::vector<::std::string>&
40 char const* mEnumNameOrPostfix;
42 char const* mChainedSubcommand;
44 ::CommandParameterDataType mParamType;
48 ::CommandParameterOption mOptions;
49 ::ll::TypedStorage<8, 8,
void* (*)(
::Command*,
int)> mValueGetFn{};
50 ::ll::TypedStorage<8, 8,
bool* (*)(
::Command*,
int)> mValueIsSetFn{};
54 void addOptions(::CommandParameterOption option) {
55 using T = std::underlying_type_t<::CommandParameterOption>;
56 mOptions =
static_cast<::CommandParameterOption
>((T)option | (T)mOptions);
59 CommandParameterData() =
default;
61 LLNDAPI CommandParameterData(
65 ::CommandParameterDataType type,
66 char const* enumNameOrPostfix,
71 CommandParameterOption options
74 LLNDAPI
bool operator==(CommandParameterData
const& other)
const;
76 CommandParameterData(CommandParameterData
const&) =
default;
77 CommandParameterData& operator=(CommandParameterData
const&) =
default;