siplasplas
Classes | Public Types | Public Member Functions | Friends | List of all members
cpp::Variant< Ts > Class Template Reference

Public Types

using tag_t = ctti::unnamed_type_id_t
 

Public Member Functions

const tag_t & tag () const
 
tag_t & tag ()
 
std::string to_string () const
 
bool empty () const
 
 operator bool () const
 
void clear ()
 
template<typename T >
const T & get () const
 
template<typename T >
T & get ()
 
 Variant (const Variant &other)
 
 Variant (Variant &&other)
 
template<typename T , typename = std::enable_if_t<VariantExecutor<Ts...>::template has_type_static<std::decay_t<T>>::value>>
 Variant (T &&value)
 
template<typename T , typename = std::enable_if_t<VariantExecutor<Ts...>::template has_type_static<std::decay_t<T>>::value>>
Variantoperator= (T &&value)
 
Variantoperator= (const Variant &other)
 
Variantoperator= (Variant &&other)
 
template<typename Result , typename... Fs>
Result visit (Fs... fs)
 
template<typename Result , typename... Fs>
Result visit (Fs... fs) const
 
template<typename F >
F::ResultType visit (F f)
 
template<typename F >
F::ResultType visit (F f) const
 

Friends

bool operator!= (const Variant &lhs, const Variant &rhs)
 
std::ostream & operator<< (std::ostream &os, const Variant &variant)
 

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