diff options
| author | Treeston <treeston.mmoc@gmail.com> | 2020-03-19 17:01:35 +0100 |
|---|---|---|
| committer | Treeston <treeston.mmoc@gmail.com> | 2020-03-19 17:01:35 +0100 |
| commit | ac9004a2f9fa7af7c7735168e7bc5c08d6cacca7 (patch) | |
| tree | aae4467480ec46103dcab06b124602c59ef6c8ef | |
| parent | 7ac6ccb36ba6ffba542f3e9a60bca4d9e6a6b84d (diff) | |
Core/Misc: C++17 cleanups, commit 1
| -rw-r--r-- | src/server/game/Chat/ChatCommands/ChatCommand.h | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/src/server/game/Chat/ChatCommands/ChatCommand.h b/src/server/game/Chat/ChatCommands/ChatCommand.h index 0af9e0ba0ae..e29a5f75c9d 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommand.h +++ b/src/server/game/Chat/ChatCommands/ChatCommand.h @@ -45,20 +45,7 @@ struct CommandArgsConsumerSingle struct CommandArgsVariantConsumer { - template <typename V, typename T1, typename T2, typename... Ts> - static char const* TryConsumeTo(V& val, char const* args) - { - T1 v; - if (char const* next = CommandArgsConsumerSingle<T1>::TryConsumeTo(v, args)) - { - val = std::move(v); - return next; - } - else - return TryConsumeTo<V, T2, Ts...>(val, args); - } - - template <typename V, typename T1> + template <typename V, typename T1, typename... Ts> static char const* TryConsumeTo(V& val, char const* args) { T1 v; @@ -67,6 +54,8 @@ struct CommandArgsVariantConsumer val = std::move(v); return next; } + else if constexpr (sizeof...(Ts) > 0) + return TryConsumeTo<V, Ts...>(val, args); else return nullptr; } |
