|
| template<typename T = typename VariantDetail::VariantImpl<Ts...>::FirstAlternative, typename std::enable_if< std::is_default_constructible< T >::value, bool >::type = true> |
| | Variant () noexcept(isFirstAlternativeNothrowDefaultConstructible) |
| |
| template<typename T = typename VariantDetail::VariantImpl<Ts...>::FirstAlternative, typename std::enable_if<!std::is_default_constructible< T >::value, bool >::type = true> |
| | Variant ()=delete |
| |
| template<typename T , EnableIfOtherIsThisVariantAlternative< T > = 1> |
| | Variant (const T &val) noexcept(std::is_nothrow_constructible< typename std::decay< T >::type, decltype(val)>::value) |
| |
| template<typename T , EnableIfOtherIsThisVariantAlternative< T > = 1> |
| | Variant (T &&val) noexcept(std::is_nothrow_constructible< typename std::decay< T >::type, decltype(val)>::value) |
| |
| template<typename T , typename... Args> |
| | Variant (Aws::Crt::InPlaceTypeT< T > ipt, Args &&...args) |
| |
| template<typename T , typename... Args, EnableIfOtherIsThisVariantAlternative< T > = 1> |
| T & | emplace (Args &&...args) |
| |
| template<std::size_t Index, typename... Args> |
| auto | emplace (Args &&...args) -> typename ThisVariantAlternative< Index >::type & |
| |
| template<typename T , EnableIfOtherIsThisVariantAlternative< T > = 1> |
| bool | holds_alternative () const |
| |
| template<typename T , EnableIfOtherIsThisVariantAlternative< T > = 1> |
| T & | get () |
| |
| template<typename T , EnableIfOtherIsThisVariantAlternative< T > = 1> |
| T * | get_if () |
| |
| template<std::size_t Index> |
| auto | get () -> typename ThisVariantAlternative< Index >::type & |
| |
| template<typename T , EnableIfOtherIsThisVariantAlternative< T > = 1> |
| const T & | get () const |
| |
| template<typename T , EnableIfOtherIsThisVariantAlternative< T > = 1> |
| const T * | get_if () const |
| |
| template<std::size_t Index> |
| auto | get () const -> const typename ThisVariantAlternative< Index >::type & |
| |
| template<std::size_t Index> |
| auto | get_if () -> RawAlternativePointerT< Index > |
| |
| template<std::size_t Index> |
| auto | get_if () const -> ConstRawAlternativePointerT< Index > |
| |
| std::size_t | index () const |
| |
| template<typename VisitorT > |
| void | Visit (VisitorT &&visitor) |
| |
template<typename... Ts>
class Aws::Crt::Variant< Ts >
Custom implementation of a Variant type. std::variant requires C++17.
- Template Parameters
-
| Ts | Types of the variant value. |