diff options
| author | Treeston <treeston.mmoc@gmail.com> | 2020-09-03 22:16:57 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-03 22:16:57 +0200 |
| commit | 35b3ba90b03143f2dc700cc4baeb88a58089c102 (patch) | |
| tree | 5efbe03d815353dbda2249352a27b70d9ebb8ddf /src/server/game/Chat/ChatCommands | |
| parent | f45aa5cac1579e87cbc599ffb58e10e662066792 (diff) | |
Scripts/Commands: Convert argument parsing of gameobject commands
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 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 <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 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 <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; } |
