Silicium
Public Types | Public Member Functions | List of all members
Si::variant< T > Struct Template Reference

#include <variant.hpp>

Inheritance diagram for Si::variant< T >:
Si::detail::variant_base< IsCopyable, T >

Public Types

typedef detail::select_variant_base< T... >::type base
 

Public Member Functions

 variant () BOOST_NOEXCEPT
 
template<class First , class... Initializer, class = typename boost::disable_if<boost::is_same<boost::decay<First>::type, variant>, void>::type>
 variant (First &&first, Initializer &&...init)
 
 variant (variant &&other) BOOST_NOEXCEPT
 
 variant (variant const &other)
 
template<class Content , class = typename boost::disable_if<boost::is_same<boost::decay<Content>::type, variant>, void>::type>
variantoperator= (Content &&other)
 
variantoperator= (variant &&other) BOOST_NOEXCEPT
 
variantoperator= (variant const &other)
 
template<class Other >
void assign (Other &&other)
 

Member Typedef Documentation

template<class... T>
typedef detail::select_variant_base<T...>::type Si::variant< T >::base

Constructor & Destructor Documentation

template<class... T>
Si::variant< T >::variant ( )
inline
template<class... T>
template<class First , class... Initializer, class = typename boost::disable_if<boost::is_same<boost::decay<First>::type, variant>, void>::type>
Si::variant< T >::variant ( First &&  first,
Initializer &&...  init 
)
inline
template<class... T>
Si::variant< T >::variant ( variant< T > &&  other)
inline
template<class... T>
Si::variant< T >::variant ( variant< T > const &  other)
inline

Member Function Documentation

template<class... T>
template<class Other >
void Si::variant< T >::assign ( Other &&  other)
inline
template<class... T>
template<class Content , class = typename boost::disable_if<boost::is_same<boost::decay<Content>::type, variant>, void>::type>
variant& Si::variant< T >::operator= ( Content &&  other)
inline
template<class... T>
variant& Si::variant< T >::operator= ( variant< T > &&  other)
inline
template<class... T>
variant& Si::variant< T >::operator= ( variant< T > const &  other)
inline

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