aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Keresztes Schmidt <carbenium@outlook.com>2020-08-17 00:15:53 +0200
committerShauren <shauren.trinity@gmail.com>2022-02-02 20:32:24 +0100
commit477618bd1f630798e6046f349f9dc79870723eed (patch)
tree1c6ca71ad03d010e97bcca269c076feb46b1589f /src
parented6c5c922bd9797fee4747fa7420d26853e40cd7 (diff)
Core/ChatCommands: Add support for std::array-type arguments (#25261)
(cherry picked from commit 30a825e2ac4d903329e3285e36b032c5533132d4)
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*>
{