|
aws-crt-cpp
C++ wrapper around the aws-c-* libraries. Provides Cross-Platform Transport Protocols and SSL/TLS implementations for C++.
|
#include <Variant.h>
Public Types | |
| using | FirstAlternative = typename ThisVariantAlternative< 0 >::type |
| using | IndexT = VariantDetail::Index::VariantIndex |
| template<std::size_t Index> | |
| using | RawAlternativePointerT = typename std::add_pointer< typename ThisVariantAlternative< Index >::type >::type |
| template<std::size_t Index> | |
| using | ConstRawAlternativePointerT = typename std::add_pointer< typename std::add_const< typename ThisVariantAlternative< Index >::type >::type >::type |
Public Member Functions | |
| VariantImpl () noexcept(isFirstAlternativeNothrowDefaultConstructible) | |
| VariantImpl (const VariantImpl &other) | |
| VariantImpl (VariantImpl &&other) | |
| template<typename T , EnableIfOtherIsThisVariantAlternative< T > = 1> | |
| VariantImpl (const T &val) noexcept(std::is_nothrow_constructible< typename std::decay< T >::type, decltype(val)>::value) | |
| template<typename T , EnableIfOtherIsThisVariantAlternative< T > = 1> | |
| VariantImpl (T &&val) noexcept(std::is_nothrow_constructible< typename std::decay< T >::type, decltype(val)>::value) | |
| template<typename T , typename... Args> | |
| VariantImpl (Aws::Crt::InPlaceTypeT< T >, Args &&...args) | |
| VariantImpl & | operator= (const VariantImpl &other) |
| VariantImpl & | operator= (VariantImpl &&other) |
| 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 |
| ~VariantImpl () | |
| template<typename VisitorT > | |
| void | Visit (VisitorT &&visitor) |
Static Public Attributes | |
| static constexpr bool | isFirstAlternativeNothrowDefaultConstructible |
| static constexpr bool | isFirstAlternativeDefaultConstructible |
| static constexpr std::size_t | AlternativeCount = sizeof...(Ts) |
| using Aws::Crt::VariantDetail::VariantImpl< Ts >::ConstRawAlternativePointerT = typename std::add_pointer< typename std::add_const<typename ThisVariantAlternative<Index>::type>::type>::type |
| using Aws::Crt::VariantDetail::VariantImpl< Ts >::FirstAlternative = typename ThisVariantAlternative<0>::type |
| using Aws::Crt::VariantDetail::VariantImpl< Ts >::IndexT = VariantDetail::Index::VariantIndex |
| using Aws::Crt::VariantDetail::VariantImpl< Ts >::RawAlternativePointerT = typename std::add_pointer<typename ThisVariantAlternative<Index>::type>::type |
|
inlinenoexcept |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |