RESTinio
Namespaces | Classes | Functions
nonstd::variants Namespace Reference

Namespaces

 detail
 

Classes

class  bad_variant_access
 
class  monostate
 
class  variant
 
struct  variant_alternative
 
struct  variant_alternative< I, variant< T0, T1, T2, T3, T4, T5, T6 > >
 
struct  variant_size
 
struct  variant_size< variant< T0, T1, T2, T3, T4, T5, T6 > >
 

Functions

variant_constexpr bool operator< (monostate, monostate) variant_noexcept
 
variant_constexpr bool operator> (monostate, monostate) variant_noexcept
 
variant_constexpr bool operator<= (monostate, monostate) variant_noexcept
 
variant_constexpr bool operator>= (monostate, monostate) variant_noexcept
 
variant_constexpr bool operator== (monostate, monostate) variant_noexcept
 
variant_constexpr bool operator!= (monostate, monostate) variant_noexcept
 
template<class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
bool holds_alternative (variant< T0, T1, T2, T3, T4, T5, T6 > const &v) variant_noexcept
 
template<class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
R & get (variant< T0, T1, T2, T3, T4, T5, T6 > &v, nonstd_lite_in_place_type_t(R)=in_place< R >)
 
template<class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
R constget (variant< T0, T1, T2, T3, T4, T5, T6 > const &v, nonstd_lite_in_place_type_t(R)=in_place< R >)
 
template<std::size_t I, class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
variant_alternative< I, variant< T0, T1, T2, T3, T4, T5, T6 > >::type & get (variant< T0, T1, T2, T3, T4, T5, T6 > &v, nonstd_lite_in_place_index_t(I)=in_place< I >)
 
template<std::size_t I, class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
variant_alternative< I, variant< T0, T1, T2, T3, T4, T5, T6 > >::type constget (variant< T0, T1, T2, T3, T4, T5, T6 > const &v, nonstd_lite_in_place_index_t(I)=in_place< I >)
 
template<class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
detail::add_pointer< T >::type get_if (variant< T0, T1, T2, T3, T4, T5, T6 > *pv, nonstd_lite_in_place_type_t(T)=in_place< T >)
 
template<class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
detail::add_pointer< const T >::type get_if (variant< T0, T1, T2, T3, T4, T5, T6 > const *pv, nonstd_lite_in_place_type_t(T)=in_place< T >)
 
template<std::size_t I, class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
detail::add_pointer< typename variant_alternative< I, variant< T0, T1, T2, T3, T4, T5, T6 > >::type >::type get_if (variant< T0, T1, T2, T3, T4, T5, T6 > *pv, nonstd_lite_in_place_index_t(I)=in_place< I >)
 
template<std::size_t I, class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
detail::add_pointer< const typename variant_alternative< I, variant< T0, T1, T2, T3, T4, T5, T6 > >::type >::type get_if (variant< T0, T1, T2, T3, T4, T5, T6 > const *pv, nonstd_lite_in_place_index_t(I)=in_place< I >)
 
template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
void swap (variant< T0, T1, T2, T3, T4, T5 > &a, variant< T0, T1, T2, T3, T4, T5 > &b) variant_noexcept
 
template<class Visitor , class Variant >
Variant visit (Visitor const &vis, Variant const &v)
 
template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
bool operator== (variant< T0, T1, T2, T3, T4, T5, T6 > const &v, variant< T0, T1, T2, T3, T4, T5, T6 > const &w)
 
template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
bool operator!= (variant< T0, T1, T2, T3, T4, T5, T6 > const &v, variant< T0, T1, T2, T3, T4, T5, T6 > const &w)
 
template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
bool operator< (variant< T0, T1, T2, T3, T4, T5, T6 > const &v, variant< T0, T1, T2, T3, T4, T5, T6 > const &w)
 
template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
bool operator> (variant< T0, T1, T2, T3, T4, T5, T6 > const &v, variant< T0, T1, T2, T3, T4, T5, T6 > const &w)
 
template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
bool operator<= (variant< T0, T1, T2, T3, T4, T5, T6 > const &v, variant< T0, T1, T2, T3, T4, T5, T6 > const &w)
 
template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
bool operator>= (variant< T0, T1, T2, T3, T4, T5, T6 > const &v, variant< T0, T1, T2, T3, T4, T5, T6 > const &w)
 

Function Documentation

◆ get() [1/4]

template<class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
R& nonstd::variants::get ( variant< T0, T1, T2, T3, T4, T5, T6 > &  v,
nonstd_lite_in_place_type_t(R)  = in_place<R> 
)
inline

Definition at line 1303 of file variant.hpp.

◆ get() [2/4]

template<class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
R const& nonstd::variants::get ( variant< T0, T1, T2, T3, T4, T5, T6 > const v,
nonstd_lite_in_place_type_t(R)  = in_place<R> 
)
inline

Definition at line 1309 of file variant.hpp.

◆ get() [3/4]

template<std::size_t I, class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
variant_alternative< I, variant<T0, T1, T2, T3, T4, T5, T6> >::type& nonstd::variants::get ( variant< T0, T1, T2, T3, T4, T5, T6 > &  v,
nonstd_lite_in_place_index_t(I)  = in_place<I> 
)
inline

Definition at line 1316 of file variant.hpp.

◆ get() [4/4]

template<std::size_t I, class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
variant_alternative< I, variant<T0, T1, T2, T3, T4, T5, T6> >::type const& nonstd::variants::get ( variant< T0, T1, T2, T3, T4, T5, T6 > const v,
nonstd_lite_in_place_index_t(I)  = in_place<I> 
)
inline

Definition at line 1328 of file variant.hpp.

◆ get_if() [1/4]

template<class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
detail::add_pointer<T>::type nonstd::variants::get_if ( variant< T0, T1, T2, T3, T4, T5, T6 > *  pv,
nonstd_lite_in_place_type_t(T)  = in_place<T> 
)
inline

Definition at line 1340 of file variant.hpp.

◆ get_if() [2/4]

template<class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
detail::add_pointer<const T>::type nonstd::variants::get_if ( variant< T0, T1, T2, T3, T4, T5, T6 > const pv,
nonstd_lite_in_place_type_t(T)  = in_place<T> 
)
inline

Definition at line 1347 of file variant.hpp.

◆ get_if() [3/4]

template<std::size_t I, class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
detail::add_pointer< typename variant_alternative<I, variant<T0, T1, T2, T3, T4, T5, T6> >::type >::type nonstd::variants::get_if ( variant< T0, T1, T2, T3, T4, T5, T6 > *  pv,
nonstd_lite_in_place_index_t(I)  = in_place<I> 
)
inline

Definition at line 1354 of file variant.hpp.

◆ get_if() [4/4]

template<std::size_t I, class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
detail::add_pointer< const typename variant_alternative<I, variant<T0, T1, T2, T3, T4, T5, T6> >::type >::type nonstd::variants::get_if ( variant< T0, T1, T2, T3, T4, T5, T6 > const pv,
nonstd_lite_in_place_index_t(I)  = in_place<I> 
)
inline

Definition at line 1361 of file variant.hpp.

◆ holds_alternative()

template<class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
bool nonstd::variants::holds_alternative ( variant< T0, T1, T2, T3, T4, T5, T6 > const v)
inline

Definition at line 1297 of file variant.hpp.

◆ operator!=() [1/2]

variant_constexpr bool nonstd::variants::operator!= ( monostate  ,
monostate   
)
inline

Definition at line 822 of file variant.hpp.

◆ operator!=() [2/2]

template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
bool nonstd::variants::operator!= ( variant< T0, T1, T2, T3, T4, T5, T6 > const v,
variant< T0, T1, T2, T3, T4, T5, T6 > const w 
)
inline

Definition at line 1450 of file variant.hpp.

◆ operator<() [1/2]

variant_constexpr bool nonstd::variants::operator< ( monostate  ,
monostate   
)
inline

Definition at line 817 of file variant.hpp.

◆ operator<() [2/2]

template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
bool nonstd::variants::operator< ( variant< T0, T1, T2, T3, T4, T5, T6 > const v,
variant< T0, T1, T2, T3, T4, T5, T6 > const w 
)
inline

Definition at line 1458 of file variant.hpp.

◆ operator<=() [1/2]

variant_constexpr bool nonstd::variants::operator<= ( monostate  ,
monostate   
)
inline

Definition at line 819 of file variant.hpp.

◆ operator<=() [2/2]

template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
bool nonstd::variants::operator<= ( variant< T0, T1, T2, T3, T4, T5, T6 > const v,
variant< T0, T1, T2, T3, T4, T5, T6 > const w 
)
inline

Definition at line 1478 of file variant.hpp.

◆ operator==() [1/2]

variant_constexpr bool nonstd::variants::operator== ( monostate  ,
monostate   
)
inline

Definition at line 821 of file variant.hpp.

◆ operator==() [2/2]

template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
bool nonstd::variants::operator== ( variant< T0, T1, T2, T3, T4, T5, T6 > const v,
variant< T0, T1, T2, T3, T4, T5, T6 > const w 
)
inline

Definition at line 1440 of file variant.hpp.

◆ operator>() [1/2]

variant_constexpr bool nonstd::variants::operator> ( monostate  ,
monostate   
)
inline

Definition at line 818 of file variant.hpp.

◆ operator>() [2/2]

template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
bool nonstd::variants::operator> ( variant< T0, T1, T2, T3, T4, T5, T6 > const v,
variant< T0, T1, T2, T3, T4, T5, T6 > const w 
)
inline

Definition at line 1470 of file variant.hpp.

◆ operator>=() [1/2]

variant_constexpr bool nonstd::variants::operator>= ( monostate  ,
monostate   
)
inline

Definition at line 820 of file variant.hpp.

◆ operator>=() [2/2]

template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
bool nonstd::variants::operator>= ( variant< T0, T1, T2, T3, T4, T5, T6 > const v,
variant< T0, T1, T2, T3, T4, T5, T6 > const w 
)
inline

Definition at line 1486 of file variant.hpp.

◆ swap()

template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
void nonstd::variants::swap ( variant< T0, T1, T2, T3, T4, T5 > &  a,
variant< T0, T1, T2, T3, T4, T5 > &  b 
)
inline

Definition at line 1367 of file variant.hpp.

◆ visit()

template<class Visitor , class Variant >
Variant nonstd::variants::visit ( Visitor const vis,
Variant const v 
)
inline

Definition at line 1381 of file variant.hpp.