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 |