diff options
author | Peter Keresztes Schmidt <carbenium@outlook.com> | 2020-08-17 14:45:32 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-02-02 20:50:36 +0100 |
commit | fed56790ca6d04efc68a3c92064ff51e134c9989 (patch) | |
tree | a119c0dc595987ce8d9963a64d06d79b8765ec36 /src | |
parent | a519671765755c83f24042262b1f91c2661f1414 (diff) |
Core/ChatCommands: Add Variant.get<typename> overload (PR #25267)
Co-authored-by: Treeston <treeston.mmoc@gmail.com>
(cherry picked from commit dfeaa2e81f777fb40066d8a330e6ce6da4a6a66f)
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> |