diff options
| author | Treeston <treeston.mmoc@gmail.com> | 2020-09-03 22:16:57 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-02-05 00:24:39 +0100 |
| commit | 6fded37e86bc77cd54be63139fb434708223da98 (patch) | |
| tree | a5885743bf8996f9d6adff4882cbbd95afc62270 /src/server/game/Chat/ChatCommands | |
| parent | da8a66a05e86189511393110be29b5c09fae9b30 (diff) | |
Scripts/Commands: Convert argument parsing of gameobject commands
(cherry picked from commit 35b3ba90b03143f2dc700cc4baeb88a58089c102)
Diffstat (limited to 'src/server/game/Chat/ChatCommands')
| -rw-r--r-- | src/server/game/Chat/ChatCommands/ChatCommand.h | 2 | ||||
| -rw-r--r-- | src/server/game/Chat/ChatCommands/ChatCommandArgs.h | 2 | ||||
| -rw-r--r-- | src/server/game/Chat/ChatCommands/ChatCommandTags.h | 3 |
3 files changed, 5 insertions, 2 deletions
diff --git a/src/server/game/Chat/ChatCommands/ChatCommand.h b/src/server/game/Chat/ChatCommands/ChatCommand.h index dac914485d0..616b4984460 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommand.h +++ b/src/server/game/Chat/ChatCommands/ChatCommand.h @@ -55,7 +55,7 @@ namespace Trinity::Impl::ChatCommands { if constexpr (I < N) { - if (Optional<std::string_view> next = ArgInfo<std::variant_alternative_t<I, V>>::TryConsume(val.template emplace<I>(), args)) + if (Optional<std::string_view> next = SingleConsumer<std::variant_alternative_t<I, V>>::TryConsumeTo(val.template emplace<I>(), args)) return next; else return TryAtIndex<I+1>(val, args); diff --git a/src/server/game/Chat/ChatCommands/ChatCommandArgs.h b/src/server/game/Chat/ChatCommands/ChatCommandArgs.h index aba41baddda..bdd0be0aace 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommandArgs.h +++ b/src/server/game/Chat/ChatCommands/ChatCommandArgs.h @@ -43,7 +43,7 @@ namespace Trinity::Impl::ChatCommands |* *| \****************************************************************************************/ template <typename T, typename = void> -struct ArgInfo { static_assert(!std::is_same_v<T,T>, "Invalid command parameter type - see ChatCommandArgs.h for possible types"); }; +struct ArgInfo { static_assert(Trinity::dependant_false_v<T>, "Invalid command parameter type - see ChatCommandArgs.h for possible types"); }; // catch-all for number types template <typename T> diff --git a/src/server/game/Chat/ChatCommands/ChatCommandTags.h b/src/server/game/Chat/ChatCommands/ChatCommandTags.h index 9255ef18fd3..3c8c778d5ea 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommandTags.h +++ b/src/server/game/Chat/ChatCommands/ChatCommandTags.h @@ -193,6 +193,9 @@ namespace Trinity::ChatCommands return operator*(); } + template <bool C = have_operators> + std::enable_if_t<C, bool> operator!() const { return !**this; } + template <typename T> Variant& operator=(T&& arg) { base::operator=(std::forward<T>(arg)); return *this; } |
