From 7675203f977773fa8b86ff450b54ca536e760270 Mon Sep 17 00:00:00 2001 From: Treeston Date: Sat, 8 Sep 2018 23:29:50 +0200 Subject: build fix for pedantic compilers --- src/server/game/Chat/ChatCommands/ChatCommand.h | 6 +++--- src/server/game/Chat/ChatCommands/ChatCommandTags.h | 14 +++++++++----- 2 files changed, 12 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/server/game/Chat/ChatCommands/ChatCommand.h b/src/server/game/Chat/ChatCommands/ChatCommand.h index de156e143b6..7f35f906776 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommand.h +++ b/src/server/game/Chat/ChatCommands/ChatCommand.h @@ -45,8 +45,8 @@ struct CommandArgsConsumerSingle struct CommandArgsVariantConsumer { - template - static std::enable_if_t<0 < sizeof...(Ts), char const*> TryConsumeTo(V& val, char const* args) + template + static char const* TryConsumeTo(V& val, char const* args) { T1 v; if (char const* next = CommandArgsConsumerSingle::TryConsumeTo(v, args)) @@ -55,7 +55,7 @@ struct CommandArgsVariantConsumer return next; } else - return TryConsumeTo(val, args); + return TryConsumeTo(val, args); } template diff --git a/src/server/game/Chat/ChatCommands/ChatCommandTags.h b/src/server/game/Chat/ChatCommands/ChatCommandTags.h index bd21bc7d2d5..c28c4f21a8f 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommandTags.h +++ b/src/server/game/Chat/ChatCommands/ChatCommandTags.h @@ -52,23 +52,27 @@ struct ExactSequence : public ContainerTag { using value_type = void; - template - static typename std::enable_if_t TryConsume(char const* pos) + static constexpr bool isSingleChar = !sizeof...(chars); + + template + static typename std::enable_if_t _TryConsume(char const* pos) { if (*(pos++) == c1) - return ExactSequence::TryConsume(pos); + return ExactSequence::_TryConsume(pos); else return nullptr; } - template - static typename std::enable_if_t TryConsume(char const* pos) + template + static typename std::enable_if_t _TryConsume(char const* pos) { if (*(pos++) != c1) return nullptr; // if more of string is left, tokenize should return 0 (otherwise we didn't reach end of token yet) return *pos && tokenize(pos) ? nullptr : pos; } + + char const* TryConsume(char const* pos) const { return ExactSequence::_TryConsume(pos); } }; /************************** VARIANT TAG LOGIC *********************************\ -- cgit v1.2.3