From 6fded37e86bc77cd54be63139fb434708223da98 Mon Sep 17 00:00:00 2001 From: Treeston Date: Thu, 3 Sep 2020 22:16:57 +0200 Subject: Scripts/Commands: Convert argument parsing of gameobject commands (cherry picked from commit 35b3ba90b03143f2dc700cc4baeb88a58089c102) --- src/server/game/Chat/ChatCommands/ChatCommand.h | 2 +- src/server/game/Chat/ChatCommands/ChatCommandArgs.h | 2 +- src/server/game/Chat/ChatCommands/ChatCommandTags.h | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src/server/game/Chat') 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 next = ArgInfo>::TryConsume(val.template emplace(), args)) + if (Optional next = SingleConsumer>::TryConsumeTo(val.template emplace(), args)) return next; else return TryAtIndex(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 -struct ArgInfo { static_assert(!std::is_same_v, "Invalid command parameter type - see ChatCommandArgs.h for possible types"); }; +struct ArgInfo { static_assert(Trinity::dependant_false_v, "Invalid command parameter type - see ChatCommandArgs.h for possible types"); }; // catch-all for number types template 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 + std::enable_if_t operator!() const { return !**this; } + template Variant& operator=(T&& arg) { base::operator=(std::forward(arg)); return *this; } -- cgit v1.2.3