From 35b3ba90b03143f2dc700cc4baeb88a58089c102 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 --- 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/ChatCommands') 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 9f10013989c..a62512e8578 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 6e150b62e8e..4e62aa35a9c 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommandTags.h +++ b/src/server/game/Chat/ChatCommands/ChatCommandTags.h @@ -192,6 +192,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