aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Keresztes Schmidt <carbenium@outlook.com>2020-08-17 14:45:32 +0200
committerGitHub <noreply@github.com>2020-08-17 14:45:32 +0200
commitdfeaa2e81f777fb40066d8a330e6ce6da4a6a66f (patch)
tree2ed9cf58f224c2d1231bf1aeda75ec47aed68470 /src
parent66491dbfb35bf0a18a277767c011bd5f8c4a7e0c (diff)
Core/ChatCommands: Add Variant.get<typename> overload (PR #25267)
Co-authored-by: Treeston <treeston.mmoc@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Chat/ChatCommands/ChatCommandTags.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/server/game/Chat/ChatCommands/ChatCommandTags.h b/src/server/game/Chat/ChatCommands/ChatCommandTags.h
index 51171d29b2c..213a80c507e 100644
--- a/src/server/game/Chat/ChatCommands/ChatCommandTags.h
+++ b/src/server/game/Chat/ChatCommands/ChatCommandTags.h
@@ -156,11 +156,17 @@ namespace Trinity::ChatCommands
Variant& operator=(T&& arg) { base::operator=(std::forward<T>(arg)); return *this; }
template <size_t index>
- constexpr decltype(auto) get() { return std::get<index>(static_cast<base const&>(*this)); }
+ constexpr decltype(auto) get() { return std::get<index>(static_cast<base&>(*this)); }
template <size_t index>
constexpr decltype(auto) get() const { return std::get<index>(static_cast<base const&>(*this)); }
+ template <typename type>
+ constexpr decltype(auto) get() { return std::get<type>(static_cast<base&>(*this)); }
+ template <typename type>
+ constexpr decltype(auto) get() const { return std::get<type>(static_cast<base const&>(*this)); }
template <typename T>
+ constexpr decltype(auto) visit(T&& arg) { return std::visit(std::forward<T>(arg), static_cast<base&>(*this)); }
+ template <typename T>
constexpr decltype(auto) visit(T&& arg) const { return std::visit(std::forward<T>(arg), static_cast<base const&>(*this)); }
template <typename T>