|
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. |