#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>
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... > & >()))
Friends
template<typename U , typename... 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>
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 &
,
)
friend
The documentation for this class was generated from the following file: