Apache Mesos
Public Member Functions | Friends | List of all members
Variant< T, Ts > Class Template Reference

#include <variant.hpp>

Public Member Functions

template<typename U , typename Decayed = typename std::decay<U>::type, typename = typename std::enable_if< !std::is_same<Decayed, Variant>::value>::type, typename = typename std::enable_if< !std::is_same<Decayed, boost::variant<T, Ts...>>::value>::type>
 Variant (U &&u)
 
template<typename... Fs>
auto visit (Fs &&...fs) const -> decltype(boost::apply_visitor(overload(std::forward< Fs >(fs)...), std::declval< boost::variant< T, Ts... > & >()))
 
template<typename... Fs>
auto visit (Fs &&...fs) -> decltype(boost::apply_visitor(overload(std::forward< Fs >(fs)...), std::declval< boost::variant< T, Ts... > & >()))
 
bool operator== (const Variant &that) const
 
bool operator!= (const Variant &that) const
 

Friends

template<typename U , typename... Us>
std::ostream & operator<< (std::ostream &, const Variant< U, Us... > &)
 

Constructor & Destructor Documentation

template<typename T, typename... Ts>
template<typename U , typename Decayed = typename std::decay<U>::type, typename = typename std::enable_if< !std::is_same<Decayed, Variant>::value>::type, typename = typename std::enable_if< !std::is_same<Decayed, boost::variant<T, Ts...>>::value>::type>
Variant< T, Ts >::Variant ( U &&  u)
inline

Member Function Documentation

template<typename T, typename... Ts>
bool Variant< T, Ts >::operator!= ( const Variant< T, Ts > &  that) const
inline
template<typename T, typename... Ts>
bool Variant< T, Ts >::operator== ( const Variant< T, Ts > &  that) const
inline
template<typename T, typename... Ts>
template<typename... Fs>
auto Variant< T, Ts >::visit ( Fs &&...  fs) const -> decltype( boost::apply_visitor( overload(std::forward<Fs>(fs)...), std::declval<boost::variant<T, Ts...>&>()))
inline
template<typename T, typename... Ts>
template<typename... Fs>
auto Variant< T, Ts >::visit ( Fs &&...  fs) -> decltype( boost::apply_visitor( overload(std::forward<Fs>(fs)...), std::declval<boost::variant<T, Ts...>&>()))
inline

Friends And Related Function Documentation

template<typename T, typename... Ts>
template<typename U , typename... Us>
std::ostream& operator<< ( std::ostream &  ,
const Variant< U, Us... > &   
)
friend

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