diff options
author | Peter Keresztes Schmidt <carbenium@outlook.com> | 2020-08-17 14:45:32 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-17 14:45:32 +0200 |
commit | dfeaa2e81f777fb40066d8a330e6ce6da4a6a66f (patch) | |
tree | 2ed9cf58f224c2d1231bf1aeda75ec47aed68470 /src | |
parent | 66491dbfb35bf0a18a277767c011bd5f8c4a7e0c (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.h | 8 |
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> |