102#if TGUI_COMPILED_WITH_CPP_VER >= 17
116 template <
typename T>
118#if TGUI_COMPILED_WITH_CPP_VER >= 17
119 m_variant{std::forward<T>(value)}
121 m_any{std::forward<T>(value)}
132 template <
typename T>
135#if TGUI_COMPILED_WITH_CPP_VER >= 17
136 return std::get<T>(m_variant);
138 return m_any.as<T>();
148 template <
typename T>
149 TGUI_NODISCARD
const T&
get()
const
151#if TGUI_COMPILED_WITH_CPP_VER >= 17
152 return std::get<T>(m_variant);
154 return m_any.as<T>();
164 template <std::size_t Index>
167#if TGUI_COMPILED_WITH_CPP_VER >= 17
168 return std::get<Index>(m_variant);
170 return priv::IndexInEmulatedVariantHelper<FirstType, OtherTypes...>::getByIndex(m_any, Index, 0);
180 template <std::size_t Index>
181 const auto& get() const
183#if TGUI_COMPILED_WITH_CPP_VER >= 17
184 return std::get<Index>(m_variant);
186 return priv::IndexInEmulatedVariantHelper<FirstType, OtherTypes...>::getByIndex(m_any, Index, 0);
194 std::size_t index() const
196#if TGUI_COMPILED_WITH_CPP_VER >= 17
197 return m_variant.index();
199 return priv::IndexInEmulatedVariantHelper<FirstType, OtherTypes...>::findIndex(m_any, 0);
207#if TGUI_COMPILED_WITH_CPP_VER >= 17
208 std::variant<Types...> m_variant;
TGUI_NODISCARD const T & get() const
Retrieve the value in the variant.
Definition Variant.hpp:149