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

#include <optional.hpp>

Public Member Functions

 optional () BOOST_NOEXCEPT
 
 optional (none_t) BOOST_NOEXCEPT
 
 optional (optional &&other) BOOST_NOEXCEPT
 
 optional (optional const &other)
 
 optional (T &&value) BOOST_NOEXCEPT
 
 optional (T const &value)
 
template<class... Args>
 optional (some_t, Args &&...args)
 
 ~optional () BOOST_NOEXCEPT
 
optionaloperator= (optional &&other) BOOST_NOEXCEPT
 
optionaloperator= (optional const &other)
 
optionaloperator= (T const &value)
 
optionaloperator= (T &&value) BOOST_NOEXCEPT
 
optionaloperator= (none_t const &) BOOST_NOEXCEPT
 
 operator bool () const BOOST_NOEXCEPT
 
SILICIUM_USE_RESULT bool operator! () const BOOST_NOEXCEPT
 
SILICIUM_USE_RESULT T & operator* () BOOST_NOEXCEPT
 
SILICIUM_USE_RESULT T const & operator* () const BOOST_NOEXCEPT
 
T * operator-> () BOOST_NOEXCEPT
 
T const * operator-> () const BOOST_NOEXCEPT
 
template<class... Args>
void emplace (Args &&...args)
 

Constructor & Destructor Documentation

template<class T>
Si::optional< T >::optional ( )
inline
template<class T>
Si::optional< T >::optional ( none_t  )
inline
template<class T>
Si::optional< T >::optional ( optional< T > &&  other)
inline
template<class T>
Si::optional< T >::optional ( optional< T > const &  other)
inline
template<class T>
Si::optional< T >::optional ( T &&  value)
inline
template<class T>
Si::optional< T >::optional ( T const &  value)
inline
template<class T>
template<class... Args>
Si::optional< T >::optional ( some_t  ,
Args &&...  args 
)
inlineexplicit
template<class T>
Si::optional< T >::~optional ( )
inline

Member Function Documentation

template<class T>
template<class... Args>
void Si::optional< T >::emplace ( Args &&...  args)
inline
template<class T>
Si::optional< T >::operator bool ( ) const
inlineexplicit
template<class T>
SILICIUM_USE_RESULT bool Si::optional< T >::operator! ( ) const
inline
template<class T>
SILICIUM_USE_RESULT T& Si::optional< T >::operator* ( )
inline
template<class T>
SILICIUM_USE_RESULT T const& Si::optional< T >::operator* ( ) const
inline
template<class T>
T* Si::optional< T >::operator-> ( )
inline
template<class T>
T const* Si::optional< T >::operator-> ( ) const
inline
template<class T>
optional& Si::optional< T >::operator= ( optional< T > &&  other)
inline
template<class T>
optional& Si::optional< T >::operator= ( optional< T > const &  other)
inline
template<class T>
optional& Si::optional< T >::operator= ( T const &  value)
inline
template<class T>
optional& Si::optional< T >::operator= ( T &&  value)
inline
template<class T>
optional& Si::optional< T >::operator= ( none_t const &  )
inline

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