diff options
author | Peter Keresztes Schmidt <carbenium@outlook.com> | 2020-08-17 00:15:53 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-17 00:15:53 +0200 |
commit | 30a825e2ac4d903329e3285e36b032c5533132d4 (patch) | |
tree | a61f3f958ac6703641c84b9cdacd2e6ec1852077 /src | |
parent | 68557e9ca38cd18c160e6192cb6188cbf12c5fd9 (diff) |
Core/ChatCommands: Add support for std::array-type arguments (#25261)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Chat/ChatCommands/ChatCommand.h | 17 |
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*> { |