aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Keresztes Schmidt <carbenium@outlook.com>2020-08-17 00:15:53 +0200
committerGitHub <noreply@github.com>2020-08-17 00:15:53 +0200
commit30a825e2ac4d903329e3285e36b032c5533132d4 (patch)
treea61f3f958ac6703641c84b9cdacd2e6ec1852077 /src
parent68557e9ca38cd18c160e6192cb6188cbf12c5fd9 (diff)
Core/ChatCommands: Add support for std::array-type arguments (#25261)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Chat/ChatCommands/ChatCommand.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/server/game/Chat/ChatCommands/ChatCommand.h b/src/server/game/Chat/ChatCommands/ChatCommand.h
index 840915b4d2f..c54f7f52cb5 100644
--- a/src/server/game/Chat/ChatCommands/ChatCommand.h
+++ b/src/server/game/Chat/ChatCommands/ChatCommand.h
@@ -86,6 +86,23 @@ struct CommandArgsConsumerSingle<std::vector<T>>
}
};
+template <typename T, std::size_t C>
+struct CommandArgsConsumerSingle<std::array<T, C>>
+{
+ static char const* TryConsumeTo(std::array<T, C>& val, char const* args)
+ {
+ for (T& t : val)
+ {
+ args = CommandArgsConsumerSingle<T>::TryConsumeTo(t, args);
+
+ if (!args)
+ return nullptr;
+ }
+
+ return args;
+ }
+};
+
template <>
struct CommandArgsConsumerSingle<CommandArgs*>
{