webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Public Member Functions | Friends | List of all members
WTF::Variant< _Types > Class Template Reference

#include <Forward.h>

Inheritance diagram for WTF::Variant< _Types >:
WTF::__variant_base< Variant< _Types... >, __all_trivially_destructible< _Types... >::__value > WTF::__variant_base< Variant< _Types... >, __all_trivially_destructible< _Types... >::__value > WTF::__variant_base< Variant< _Types... >, __all_trivially_destructible< _Types... >::__value >

Public Member Functions

constexpr Variant () __NOEXCEPT_(noexcept(typename __indexed_type< 0, _Types... >::__type()))
 
constexpr Variant (typename std::conditional< __all_move_constructible< _Types... >::value, Variant, __private_type >::type &&__other) __NOEXCEPT_(__noexcept_variant_move_construct< _Types... >
 
constexpr Variant (typename std::conditional<!__all_move_constructible< _Types... >::value, Variant, __private_type >::type &&__other)=delete
 
constexpr Variant (typename std::conditional< __all_copy_constructible< _Types... >::value, Variant, __private_type >::type &__other) __NOEXCEPT_(__noexcept_variant_non_const_copy_construct< _Types... >
 
constexpr Variant (typename std::conditional<!__all_copy_constructible< _Types... >::value, Variant, __private_type >::type &__other)=delete
 
constexpr Variant (typename std::conditional< __all_copy_constructible< _Types... >::value, Variant, __private_type >::type const &__other) __NOEXCEPT_(__noexcept_variant_const_copy_construct< _Types... >
 
constexpr Variant (typename std::conditional<!__all_copy_constructible< _Types... >::value, Variant, __private_type >::type const &__other)=delete
 
template<typename _Type , typename ... _Args>
constexpr Variant (in_place_type_t< _Type >, _Args &&... __args)
 
template<size_t _Index, typename ... _Args>
constexpr Variant (in_place_index_t< _Index >, _Args &&... __args)
 
template<typename _Type >
constexpr Variant (_Type &&__x)
 
template<typename _Type , typename _Enable = typename std::enable_if< (__constructible_matches<std::initializer_list<_Type>,_Types...>::__type::__length>0>
constexpr Variant (std::initializer_list< _Type > __x)
 
template<typename _Type >
Variantoperator= (_Type &&__x)
 
Variantoperator= (typename std::conditional< !(__all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value), Variant, __private_type >::type const &__other)=delete
 
Variantoperator= (typename std::conditional< __all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value, Variant, __private_type >::type const &__other)
 
Variantoperator= (typename std::conditional< !(__all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value), Variant, __private_type >::type &__other)=delete
 
Variantoperator= (typename std::conditional< __all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value, Variant, __private_type >::type &__other)
 
Variantoperator= (typename std::conditional< !(__all_move_constructible< _Types... >::value &&__all_move_assignable< _Types... >::value), Variant, __private_type >::type &&__other)=delete
 
Variantoperator= (typename std::conditional< __all_move_constructible< _Types... >::value &&__all_move_assignable< _Types... >::value, Variant, __private_type >::type &&__other) __NOEXCEPT_(__noexcept_variant_move_assign< _Types... >
 
template<typename _Type , typename ... _Args>
void emplace (_Args &&... __args)
 
template<size_t _Index, typename ... _Args>
void emplace (_Args &&... __args)
 
constexpr bool valueless_by_exception () const __NOEXCEPT
 
constexpr ptrdiff_t index () const __NOEXCEPT
 
void swap (typename std::conditional< __all_swappable< _Types... >::value &&__all_move_constructible< _Types... >::value, Variant, __private_type >::type &__other) __NOEXCEPT_(__noexcept_variant_swap< _Types... >
 
constexpr Variant () __NOEXCEPT_(noexcept(typename __indexed_type< 0, _Types... >::__type()))
 
constexpr Variant (typename std::conditional< __all_move_constructible< _Types... >::value, Variant, __private_type >::type &&__other) __NOEXCEPT_(__noexcept_variant_move_construct< _Types... >
 
constexpr Variant (typename std::conditional<!__all_move_constructible< _Types... >::value, Variant, __private_type >::type &&__other)=delete
 
constexpr Variant (typename std::conditional< __all_copy_constructible< _Types... >::value, Variant, __private_type >::type &__other) __NOEXCEPT_(__noexcept_variant_non_const_copy_construct< _Types... >
 
constexpr Variant (typename std::conditional<!__all_copy_constructible< _Types... >::value, Variant, __private_type >::type &__other)=delete
 
constexpr Variant (typename std::conditional< __all_copy_constructible< _Types... >::value, Variant, __private_type >::type const &__other) __NOEXCEPT_(__noexcept_variant_const_copy_construct< _Types... >
 
constexpr Variant (typename std::conditional<!__all_copy_constructible< _Types... >::value, Variant, __private_type >::type const &__other)=delete
 
template<typename _Type , typename ... _Args>
constexpr Variant (in_place_type_t< _Type >, _Args &&... __args)
 
template<size_t _Index, typename ... _Args>
constexpr Variant (in_place_index_t< _Index >, _Args &&... __args)
 
template<typename _Type >
constexpr Variant (_Type &&__x)
 
template<typename _Type , typename _Enable = typename std::enable_if< (__constructible_matches<std::initializer_list<_Type>,_Types...>::__type::__length>0>
constexpr Variant (std::initializer_list< _Type > __x)
 
template<typename _Type >
Variantoperator= (_Type &&__x)
 
Variantoperator= (typename std::conditional< !(__all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value), Variant, __private_type >::type const &__other)=delete
 
Variantoperator= (typename std::conditional< __all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value, Variant, __private_type >::type const &__other)
 
Variantoperator= (typename std::conditional< !(__all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value), Variant, __private_type >::type &__other)=delete
 
Variantoperator= (typename std::conditional< __all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value, Variant, __private_type >::type &__other)
 
Variantoperator= (typename std::conditional< !(__all_move_constructible< _Types... >::value &&__all_move_assignable< _Types... >::value), Variant, __private_type >::type &&__other)=delete
 
Variantoperator= (typename std::conditional< __all_move_constructible< _Types... >::value &&__all_move_assignable< _Types... >::value, Variant, __private_type >::type &&__other) __NOEXCEPT_(__noexcept_variant_move_assign< _Types... >
 
template<typename _Type , typename ... _Args>
void emplace (_Args &&... __args)
 
template<size_t _Index, typename ... _Args>
void emplace (_Args &&... __args)
 
constexpr bool valueless_by_exception () const __NOEXCEPT
 
constexpr ptrdiff_t index () const __NOEXCEPT
 
void swap (typename std::conditional< __all_swappable< _Types... >::value &&__all_move_constructible< _Types... >::value, Variant, __private_type >::type &__other) __NOEXCEPT_(__noexcept_variant_swap< _Types... >
 
constexpr Variant () __NOEXCEPT_(noexcept(typename __indexed_type< 0, _Types... >::__type()))
 
constexpr Variant (typename std::conditional< __all_move_constructible< _Types... >::value, Variant, __private_type >::type &&__other) __NOEXCEPT_(__noexcept_variant_move_construct< _Types... >
 
constexpr Variant (typename std::conditional<!__all_move_constructible< _Types... >::value, Variant, __private_type >::type &&__other)=delete
 
constexpr Variant (typename std::conditional< __all_copy_constructible< _Types... >::value, Variant, __private_type >::type &__other) __NOEXCEPT_(__noexcept_variant_non_const_copy_construct< _Types... >
 
constexpr Variant (typename std::conditional<!__all_copy_constructible< _Types... >::value, Variant, __private_type >::type &__other)=delete
 
constexpr Variant (typename std::conditional< __all_copy_constructible< _Types... >::value, Variant, __private_type >::type const &__other) __NOEXCEPT_(__noexcept_variant_const_copy_construct< _Types... >
 
constexpr Variant (typename std::conditional<!__all_copy_constructible< _Types... >::value, Variant, __private_type >::type const &__other)=delete
 
template<typename _Type , typename ... _Args>
constexpr Variant (in_place_type_t< _Type >, _Args &&... __args)
 
template<size_t _Index, typename ... _Args>
constexpr Variant (in_place_index_t< _Index >, _Args &&... __args)
 
template<typename _Type >
constexpr Variant (_Type &&__x)
 
template<typename _Type , typename _Enable = typename std::enable_if< (__constructible_matches<std::initializer_list<_Type>,_Types...>::__type::__length>0>
constexpr Variant (std::initializer_list< _Type > __x)
 
template<typename _Type >
Variantoperator= (_Type &&__x)
 
Variantoperator= (typename std::conditional< !(__all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value), Variant, __private_type >::type const &__other)=delete
 
Variantoperator= (typename std::conditional< __all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value, Variant, __private_type >::type const &__other)
 
Variantoperator= (typename std::conditional< !(__all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value), Variant, __private_type >::type &__other)=delete
 
Variantoperator= (typename std::conditional< __all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value, Variant, __private_type >::type &__other)
 
Variantoperator= (typename std::conditional< !(__all_move_constructible< _Types... >::value &&__all_move_assignable< _Types... >::value), Variant, __private_type >::type &&__other)=delete
 
Variantoperator= (typename std::conditional< __all_move_constructible< _Types... >::value &&__all_move_assignable< _Types... >::value, Variant, __private_type >::type &&__other) __NOEXCEPT_(__noexcept_variant_move_assign< _Types... >
 
template<typename _Type , typename ... _Args>
void emplace (_Args &&... __args)
 
template<size_t _Index, typename ... _Args>
void emplace (_Args &&... __args)
 
constexpr bool valueless_by_exception () const __NOEXCEPT
 
constexpr ptrdiff_t index () const __NOEXCEPT
 
void swap (typename std::conditional< __all_swappable< _Types... >::value &&__all_move_constructible< _Types... >::value, Variant, __private_type >::type &__other) __NOEXCEPT_(__noexcept_variant_swap< _Types... >
 

Friends

struct __copy_construct_op_table< Variant >
 
struct __copy_assign_op_table< Variant >
 
struct __move_construct_op_table< Variant >
 
struct __move_assign_op_table< Variant >
 
struct __destroy_op_table< Variant >
 
template<ptrdiff_t _Index, typename ... _Types2>
struct __variant_accessor
 
struct __replace_construct_helper
 
template<ptrdiff_t _Index, typename ... _Types2>
struct __variant_accessor
 
template<ptrdiff_t _Index, typename ... _Types2>
struct __variant_accessor
 

Constructor & Destructor Documentation

◆ Variant() [1/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( )
inlinenoexcept

◆ Variant() [2/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( typename std::conditional< __all_move_constructible< _Types... >::value, Variant< _Types >, __private_type >::type &&  __other)
inline

◆ Variant() [3/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( typename std::conditional<!__all_move_constructible< _Types... >::value, Variant< _Types >, __private_type >::type &&  __other)
delete

◆ Variant() [4/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( typename std::conditional< __all_copy_constructible< _Types... >::value, Variant< _Types >, __private_type >::type __other)
inline

◆ Variant() [5/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( typename std::conditional<!__all_copy_constructible< _Types... >::value, Variant< _Types >, __private_type >::type __other)
delete

◆ Variant() [6/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( typename std::conditional< __all_copy_constructible< _Types... >::value, Variant< _Types >, __private_type >::type const &  __other)
inline

◆ Variant() [7/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( typename std::conditional<!__all_copy_constructible< _Types... >::value, Variant< _Types >, __private_type >::type const &  __other)
delete

◆ Variant() [8/33]

template<typename ... _Types>
template<typename _Type , typename ... _Args>
constexpr WTF::Variant< _Types >::Variant ( in_place_type_t< _Type >  ,
_Args &&...  __args 
)
inlineexplicit

◆ Variant() [9/33]

template<typename ... _Types>
template<size_t _Index, typename ... _Args>
constexpr WTF::Variant< _Types >::Variant ( in_place_index_t< _Index >  ,
_Args &&...  __args 
)
inlineexplicit

◆ Variant() [10/33]

template<typename ... _Types>
template<typename _Type >
constexpr WTF::Variant< _Types >::Variant ( _Type &&  __x)
inline

◆ Variant() [11/33]

template<typename ... _Types>
template<typename _Type , typename _Enable = typename std::enable_if< (__constructible_matches<std::initializer_list<_Type>,_Types...>::__type::__length>0>
constexpr WTF::Variant< _Types >::Variant ( std::initializer_list< _Type >  __x)
inline

◆ Variant() [12/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( )
inlinenoexcept

◆ Variant() [13/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( typename std::conditional< __all_move_constructible< _Types... >::value, Variant< _Types >, __private_type >::type &&  __other)
inline

◆ Variant() [14/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( typename std::conditional<!__all_move_constructible< _Types... >::value, Variant< _Types >, __private_type >::type &&  __other)
delete

◆ Variant() [15/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( typename std::conditional< __all_copy_constructible< _Types... >::value, Variant< _Types >, __private_type >::type __other)
inline

◆ Variant() [16/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( typename std::conditional<!__all_copy_constructible< _Types... >::value, Variant< _Types >, __private_type >::type __other)
delete

◆ Variant() [17/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( typename std::conditional< __all_copy_constructible< _Types... >::value, Variant< _Types >, __private_type >::type const &  __other)
inline

◆ Variant() [18/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( typename std::conditional<!__all_copy_constructible< _Types... >::value, Variant< _Types >, __private_type >::type const &  __other)
delete

◆ Variant() [19/33]

template<typename ... _Types>
template<typename _Type , typename ... _Args>
constexpr WTF::Variant< _Types >::Variant ( in_place_type_t< _Type >  ,
_Args &&...  __args 
)
inlineexplicit

◆ Variant() [20/33]

template<typename ... _Types>
template<size_t _Index, typename ... _Args>
constexpr WTF::Variant< _Types >::Variant ( in_place_index_t< _Index >  ,
_Args &&...  __args 
)
inlineexplicit

◆ Variant() [21/33]

template<typename ... _Types>
template<typename _Type >
constexpr WTF::Variant< _Types >::Variant ( _Type &&  __x)
inline

◆ Variant() [22/33]

template<typename ... _Types>
template<typename _Type , typename _Enable = typename std::enable_if< (__constructible_matches<std::initializer_list<_Type>,_Types...>::__type::__length>0>
constexpr WTF::Variant< _Types >::Variant ( std::initializer_list< _Type >  __x)
inline

◆ Variant() [23/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( )
inlinenoexcept

◆ Variant() [24/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( typename std::conditional< __all_move_constructible< _Types... >::value, Variant< _Types >, __private_type >::type &&  __other)
inline

◆ Variant() [25/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( typename std::conditional<!__all_move_constructible< _Types... >::value, Variant< _Types >, __private_type >::type &&  __other)
delete

◆ Variant() [26/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( typename std::conditional< __all_copy_constructible< _Types... >::value, Variant< _Types >, __private_type >::type __other)
inline

◆ Variant() [27/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( typename std::conditional<!__all_copy_constructible< _Types... >::value, Variant< _Types >, __private_type >::type __other)
delete

◆ Variant() [28/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( typename std::conditional< __all_copy_constructible< _Types... >::value, Variant< _Types >, __private_type >::type const &  __other)
inline

◆ Variant() [29/33]

template<typename ... _Types>
constexpr WTF::Variant< _Types >::Variant ( typename std::conditional<!__all_copy_constructible< _Types... >::value, Variant< _Types >, __private_type >::type const &  __other)
delete

◆ Variant() [30/33]

template<typename ... _Types>
template<typename _Type , typename ... _Args>
constexpr WTF::Variant< _Types >::Variant ( in_place_type_t< _Type >  ,
_Args &&...  __args 
)
inlineexplicit

◆ Variant() [31/33]

template<typename ... _Types>
template<size_t _Index, typename ... _Args>
constexpr WTF::Variant< _Types >::Variant ( in_place_index_t< _Index >  ,
_Args &&...  __args 
)
inlineexplicit

◆ Variant() [32/33]

template<typename ... _Types>
template<typename _Type >
constexpr WTF::Variant< _Types >::Variant ( _Type &&  __x)
inline

◆ Variant() [33/33]

template<typename ... _Types>
template<typename _Type , typename _Enable = typename std::enable_if< (__constructible_matches<std::initializer_list<_Type>,_Types...>::__type::__length>0>
constexpr WTF::Variant< _Types >::Variant ( std::initializer_list< _Type >  __x)
inline

Member Function Documentation

◆ emplace() [1/6]

template<typename ... _Types>
template<typename _Type , typename ... _Args>
void WTF::Variant< _Types >::emplace ( _Args &&...  __args)
inline

◆ emplace() [2/6]

template<typename ... _Types>
template<typename _Type , typename ... _Args>
void WTF::Variant< _Types >::emplace ( _Args &&...  __args)
inline

◆ emplace() [3/6]

template<typename ... _Types>
template<typename _Type , typename ... _Args>
void WTF::Variant< _Types >::emplace ( _Args &&...  __args)
inline

◆ emplace() [4/6]

template<typename ... _Types>
template<size_t _Index, typename ... _Args>
void WTF::Variant< _Types >::emplace ( _Args &&...  __args)
inline

◆ emplace() [5/6]

template<typename ... _Types>
template<size_t _Index, typename ... _Args>
void WTF::Variant< _Types >::emplace ( _Args &&...  __args)
inline

◆ emplace() [6/6]

template<typename ... _Types>
template<size_t _Index, typename ... _Args>
void WTF::Variant< _Types >::emplace ( _Args &&...  __args)
inline

◆ index() [1/3]

template<typename ... _Types>
constexpr ptrdiff_t WTF::Variant< _Types >::index ( ) const
inline

◆ index() [2/3]

template<typename ... _Types>
constexpr ptrdiff_t WTF::Variant< _Types >::index ( ) const
inline

◆ index() [3/3]

template<typename ... _Types>
constexpr ptrdiff_t WTF::Variant< _Types >::index ( ) const
inline

◆ operator=() [1/21]

template<typename ... _Types>
template<typename _Type >
Variant& WTF::Variant< _Types >::operator= ( _Type &&  __x)
inline

◆ operator=() [2/21]

template<typename ... _Types>
template<typename _Type >
Variant& WTF::Variant< _Types >::operator= ( _Type &&  __x)
inline

◆ operator=() [3/21]

template<typename ... _Types>
template<typename _Type >
Variant& WTF::Variant< _Types >::operator= ( _Type &&  __x)
inline

◆ operator=() [4/21]

template<typename ... _Types>
Variant& WTF::Variant< _Types >::operator= ( typename std::conditional< !(__all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value), Variant< _Types >, __private_type >::type const &  __other)
delete

◆ operator=() [5/21]

template<typename ... _Types>
Variant& WTF::Variant< _Types >::operator= ( typename std::conditional< !(__all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value), Variant< _Types >, __private_type >::type const &  __other)
delete

◆ operator=() [6/21]

template<typename ... _Types>
Variant& WTF::Variant< _Types >::operator= ( typename std::conditional< !(__all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value), Variant< _Types >, __private_type >::type const &  __other)
delete

◆ operator=() [7/21]

template<typename ... _Types>
Variant& WTF::Variant< _Types >::operator= ( typename std::conditional< __all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value, Variant< _Types >, __private_type >::type const &  __other)
inline

◆ operator=() [8/21]

template<typename ... _Types>
Variant& WTF::Variant< _Types >::operator= ( typename std::conditional< __all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value, Variant< _Types >, __private_type >::type const &  __other)
inline

◆ operator=() [9/21]

template<typename ... _Types>
Variant& WTF::Variant< _Types >::operator= ( typename std::conditional< __all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value, Variant< _Types >, __private_type >::type const &  __other)
inline

◆ operator=() [10/21]

template<typename ... _Types>
Variant& WTF::Variant< _Types >::operator= ( typename std::conditional< !(__all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value), Variant< _Types >, __private_type >::type __other)
delete

◆ operator=() [11/21]

template<typename ... _Types>
Variant& WTF::Variant< _Types >::operator= ( typename std::conditional< !(__all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value), Variant< _Types >, __private_type >::type __other)
delete

◆ operator=() [12/21]

template<typename ... _Types>
Variant& WTF::Variant< _Types >::operator= ( typename std::conditional< !(__all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value), Variant< _Types >, __private_type >::type __other)
delete

◆ operator=() [13/21]

template<typename ... _Types>
Variant& WTF::Variant< _Types >::operator= ( typename std::conditional< __all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value, Variant< _Types >, __private_type >::type __other)
inline

◆ operator=() [14/21]

template<typename ... _Types>
Variant& WTF::Variant< _Types >::operator= ( typename std::conditional< __all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value, Variant< _Types >, __private_type >::type __other)
inline

◆ operator=() [15/21]

template<typename ... _Types>
Variant& WTF::Variant< _Types >::operator= ( typename std::conditional< __all_copy_constructible< _Types... >::value &&__all_move_constructible< _Types... >::value &&__all_copy_assignable< _Types... >::value, Variant< _Types >, __private_type >::type __other)
inline

◆ operator=() [16/21]

template<typename ... _Types>
Variant& WTF::Variant< _Types >::operator= ( typename std::conditional< !(__all_move_constructible< _Types... >::value &&__all_move_assignable< _Types... >::value), Variant< _Types >, __private_type >::type &&  __other)
delete

◆ operator=() [17/21]

template<typename ... _Types>
Variant& WTF::Variant< _Types >::operator= ( typename std::conditional< !(__all_move_constructible< _Types... >::value &&__all_move_assignable< _Types... >::value), Variant< _Types >, __private_type >::type &&  __other)
delete

◆ operator=() [18/21]

template<typename ... _Types>
Variant& WTF::Variant< _Types >::operator= ( typename std::conditional< !(__all_move_constructible< _Types... >::value &&__all_move_assignable< _Types... >::value), Variant< _Types >, __private_type >::type &&  __other)
delete

◆ operator=() [19/21]

template<typename ... _Types>
Variant& WTF::Variant< _Types >::operator= ( typename std::conditional< __all_move_constructible< _Types... >::value &&__all_move_assignable< _Types... >::value, Variant< _Types >, __private_type >::type &&  __other)
inline

◆ operator=() [20/21]

template<typename ... _Types>
Variant& WTF::Variant< _Types >::operator= ( typename std::conditional< __all_move_constructible< _Types... >::value &&__all_move_assignable< _Types... >::value, Variant< _Types >, __private_type >::type &&  __other)
inline

◆ operator=() [21/21]

template<typename ... _Types>
Variant& WTF::Variant< _Types >::operator= ( typename std::conditional< __all_move_constructible< _Types... >::value &&__all_move_assignable< _Types... >::value, Variant< _Types >, __private_type >::type &&  __other)
inline

◆ swap() [1/3]

template<typename ... _Types>
void WTF::Variant< _Types >::swap ( typename std::conditional< __all_swappable< _Types... >::value &&__all_move_constructible< _Types... >::value, Variant< _Types >, __private_type >::type __other)
inline

◆ swap() [2/3]

template<typename ... _Types>
void WTF::Variant< _Types >::swap ( typename std::conditional< __all_swappable< _Types... >::value &&__all_move_constructible< _Types... >::value, Variant< _Types >, __private_type >::type __other)
inline

◆ swap() [3/3]

template<typename ... _Types>
void WTF::Variant< _Types >::swap ( typename std::conditional< __all_swappable< _Types... >::value &&__all_move_constructible< _Types... >::value, Variant< _Types >, __private_type >::type __other)
inline

◆ valueless_by_exception() [1/3]

template<typename ... _Types>
constexpr bool WTF::Variant< _Types >::valueless_by_exception ( ) const
inline

◆ valueless_by_exception() [2/3]

template<typename ... _Types>
constexpr bool WTF::Variant< _Types >::valueless_by_exception ( ) const
inline

◆ valueless_by_exception() [3/3]

template<typename ... _Types>
constexpr bool WTF::Variant< _Types >::valueless_by_exception ( ) const
inline

Friends And Related Function Documentation

◆ __copy_assign_op_table< Variant >

template<typename ... _Types>
friend struct __copy_assign_op_table< Variant >
friend

◆ __copy_construct_op_table< Variant >

template<typename ... _Types>
friend struct __copy_construct_op_table< Variant >
friend

◆ __destroy_op_table< Variant >

template<typename ... _Types>
friend struct __destroy_op_table< Variant >
friend

◆ __move_assign_op_table< Variant >

template<typename ... _Types>
friend struct __move_assign_op_table< Variant >
friend

◆ __move_construct_op_table< Variant >

template<typename ... _Types>
friend struct __move_construct_op_table< Variant >
friend

◆ __replace_construct_helper

template<typename ... _Types>
__replace_construct_helper
friend

◆ __variant_accessor [1/3]

template<typename ... _Types>
template<ptrdiff_t _Index, typename ... _Types2>
struct __variant_accessor ( )
friend

◆ __variant_accessor [2/3]

template<typename ... _Types>
template<ptrdiff_t _Index, typename ... _Types2>
friend struct __variant_accessor
friend

◆ __variant_accessor [3/3]

template<typename ... _Types>
template<ptrdiff_t _Index, typename ... _Types2>
struct __variant_accessor ( )
friend

The documentation for this class was generated from the following files: