aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2020-03-19 17:01:35 +0100
committerTreeston <treeston.mmoc@gmail.com>2020-03-19 17:01:35 +0100
commitac9004a2f9fa7af7c7735168e7bc5c08d6cacca7 (patch)
treeaae4467480ec46103dcab06b124602c59ef6c8ef
parent7ac6ccb36ba6ffba542f3e9a60bca4d9e6a6b84d (diff)
Core/Misc: C++17 cleanups, commit 1
-rw-r--r--src/server/game/Chat/ChatCommands/ChatCommand.h17
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;
}