Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::optional< T > Singleton Reference

#include <optional_fwd.hpp>

Inheritance diagram for boost::optional< T >:
Collaboration diagram for boost::optional< T >:

Public Types

typedef optional< Tthis_type
 
typedef BOOST_DEDUCED_TYPENAME
base::value_type 
value_type
 
typedef BOOST_DEDUCED_TYPENAME
base::reference_type 
reference_type
 
typedef BOOST_DEDUCED_TYPENAME
base::reference_const_type 
reference_const_type
 
typedef BOOST_DEDUCED_TYPENAME
base::rval_reference_type 
rval_reference_type
 
typedef BOOST_DEDUCED_TYPENAME
base::reference_type_of_temporary_wrapper 
reference_type_of_temporary_wrapper
 
typedef BOOST_DEDUCED_TYPENAME
base::pointer_type 
pointer_type
 
typedef BOOST_DEDUCED_TYPENAME
base::pointer_const_type 
pointer_const_type
 
typedef BOOST_DEDUCED_TYPENAME
base::argument_type 
argument_type
 
typedef BOOST_DEDUCED_TYPENAME
mpl::if_
< is_reference_predicate,
types_when_ref,
types_when_not_ref >::type 
types
 

Public Member Functions

 optional () BOOST_NOEXCEPT
 
 optional (none_t none_) BOOST_NOEXCEPT
 
 optional (argument_type val)
 
 optional (rval_reference_type val)
 
 optional (bool cond, argument_type val)
 
template<class U >
 optional (optional< U > const &rhs)
 
template<class U >
 optional (optional< U > &&rhs)
 
template<class Expr >
 optional (Expr &&expr, BOOST_DEDUCED_TYPENAME boost::disable_if_c< (boost::is_base_of< optional_detail::optional_tag, BOOST_DEDUCED_TYPENAME boost::decay< Expr >::type >::value)||boost::is_same< BOOST_DEDUCED_TYPENAME boost::decay< Expr >::type, none_t >::value >::type *=0)
 
 optional (optional const &rhs)
 
 optional (optional &&rhs) BOOST_NOEXCEPT_IF(
 
 ~optional ()
 
template<class Expr >
BOOST_DEDUCED_TYPENAME
boost::disable_if_c
< boost::is_base_of
< optional_detail::optional_tag,
BOOST_DEDUCED_TYPENAME
boost::decay< Expr >::type >
::value||boost::is_same
< BOOST_DEDUCED_TYPENAME
boost::decay< Expr >::type,
none_t >::value, optional & >
::type 
operator= (Expr &&expr)
 
template<class U >
optionaloperator= (optional< U > const &rhs)
 
template<class U >
optionaloperator= (optional< U > &&rhs)
 
optionaloperator= (optional const &rhs)
 
optionaloperator= (optional &&rhs) BOOST_NOEXCEPT_IF(
 
optionaloperator= (argument_type val)
 
optionaloperator= (rval_reference_type val)
 
optionaloperator= (none_t none_) BOOST_NOEXCEPT
 
template<class... Args>
void emplace (Args &&...args)
 
void swap (optional &arg) BOOST_NOEXCEPT_IF(
 
reference_const_type get () const
 
reference_type get ()
 
reference_const_type get_value_or (reference_const_type v) const
 
reference_type get_value_or (reference_type v)
 
pointer_const_type operator-> () const
 
pointer_type operator-> ()
 
reference_const_type operator* () const &
 
reference_type operator* ()&
 
reference_type_of_temporary_wrapper operator* ()&&
 
reference_const_type value () const &
 
reference_type value ()&
 
reference_type_of_temporary_wrapper value ()&&
 
template<class U >
value_type value_or (U &&v) const &
 
template<class U >
value_type value_or (U &&v)&&
 
template<typename F >
value_type value_or_eval (F f) const &
 
template<typename F >
value_type value_or_eval (F f)&&
 
bool operator! () const BOOST_NOEXCEPT
 
void reset () BOOST_NOEXCEPT
 
void reset (argument_type val)
 
pointer_const_type get_ptr () const
 
pointer_type get_ptr ()
 
bool is_initialized () const
 

Protected Types

typedef mpl::true_ is_reference_tag
 
typedef mpl::false_ is_not_reference_tag
 
typedef BOOST_DEDUCED_TYPENAME
is_reference< T >::type 
is_reference_predicate
 

Protected Member Functions

void assign (optional_base const &rhs)
 
void assign (optional_base &&rhs)
 
template<class U >
void assign (optional< U > const &rhs)
 
template<class U >
void assign (optional< U > &&rhs)
 
void assign (argument_type val)
 
void assign (rval_reference_type val)
 
void assign (none_t) BOOST_NOEXCEPT
 
template<class Expr , class ExprPtr >
void assign_expr (Expr &&expr, ExprPtr const *tag)
 
void construct (argument_type val)
 
void construct (rval_reference_type val)
 
template<class Expr >
void construct (Expr &&factory, in_place_factory_base const *)
 
template<class Expr >
void construct (Expr &&factory, typed_in_place_factory_base const *)
 
template<class Expr >
void construct (Expr &&expr, void const *)
 
template<class... Args>
void emplace_assign (Args &&...args)
 
template<class Expr >
void assign_expr_to_initialized (Expr &&factory, in_place_factory_base const *tag)
 
template<class Expr >
void assign_expr_to_initialized (Expr &&factory, typed_in_place_factory_base const *tag)
 
template<class Expr >
void assign_expr_to_initialized (Expr &&expr, void const *)
 
void assign_value (argument_type val, is_not_reference_tag)
 
void assign_value (argument_type val, is_reference_tag)
 
void assign_value (rval_reference_type val, is_not_reference_tag)
 
void assign_value (rval_reference_type val, is_reference_tag)
 
void destroy ()
 
reference_const_type get_impl () const
 
reference_type get_impl ()
 
pointer_const_type get_ptr_impl () const
 
pointer_type get_ptr_impl ()
 

Member Typedef Documentation

template<class T>
typedef mpl::false_ boost::optional_detail::optional_base< T >::is_not_reference_tag
protectedinherited
template<class T>
typedef BOOST_DEDUCED_TYPENAME is_reference<T>::type boost::optional_detail::optional_base< T >::is_reference_predicate
protectedinherited
template<class T>
typedef mpl::true_ boost::optional_detail::optional_base< T >::is_reference_tag
protectedinherited
template<class T>
typedef optional<T> boost::optional< T >::this_type

Constructor & Destructor Documentation

template<class T>
boost::optional< T >::optional ( )
inline
template<class T>
boost::optional< T >::optional ( none_t  none_)
inline
template<class T>
boost::optional< T >::optional ( argument_type  val)
inline
template<class T>
boost::optional< T >::optional ( rval_reference_type  val)
inline
template<class T>
boost::optional< T >::optional ( bool  cond,
argument_type  val 
)
inline
template<class T>
template<class U >
boost::optional< T >::optional ( optional< U > const &  rhs)
inlineexplicit
template<class T>
template<class U >
boost::optional< T >::optional ( optional< U > &&  rhs)
inlineexplicit
template<class T>
template<class Expr >
boost::optional< T >::optional ( Expr &&  expr,
BOOST_DEDUCED_TYPENAME boost::disable_if_c< (boost::is_base_of< optional_detail::optional_tag, BOOST_DEDUCED_TYPENAME boost::decay< Expr >::type >::value)||boost::is_same< BOOST_DEDUCED_TYPENAME boost::decay< Expr >::type, none_t >::value >::type = 0 
)
inlineexplicit
template<class T>
boost::optional< T >::optional ( optional< T > const &  rhs)
inline
template<class T>
boost::optional< T >::optional ( optional< T > &&  rhs)
inline
template<class T>
boost::optional< T >::~optional ( )
inline

Member Function Documentation

template<class T>
void boost::optional_detail::optional_base< T >::assign ( none_t  )
inlineprotectedinherited
template<class T>
template<class Expr , class ExprPtr >
void boost::optional_detail::optional_base< T >::assign_expr ( Expr &&  expr,
ExprPtr const *  tag 
)
inlineprotectedinherited
template<class T>
template<class Expr >
void boost::optional_detail::optional_base< T >::assign_expr_to_initialized ( Expr &&  factory,
in_place_factory_base const *  tag 
)
inlineprotectedinherited
template<class T>
template<class Expr >
void boost::optional_detail::optional_base< T >::assign_expr_to_initialized ( Expr &&  factory,
typed_in_place_factory_base const *  tag 
)
inlineprotectedinherited
template<class T>
template<class Expr >
void boost::optional_detail::optional_base< T >::assign_expr_to_initialized ( Expr &&  expr,
void const *   
)
inlineprotectedinherited
template<class T>
void boost::optional_detail::optional_base< T >::assign_value ( argument_type  val,
is_reference_tag   
)
inlineprotectedinherited
template<class T>
void boost::optional_detail::optional_base< T >::assign_value ( rval_reference_type  val,
is_not_reference_tag   
)
inlineprotectedinherited
template<class T>
void boost::optional_detail::optional_base< T >::assign_value ( rval_reference_type  val,
is_reference_tag   
)
inlineprotectedinherited
template<class T>
void boost::optional_detail::optional_base< T >::construct ( rval_reference_type  val)
inlineprotectedinherited
template<class T>
template<class Expr >
void boost::optional_detail::optional_base< T >::construct ( Expr &&  factory,
in_place_factory_base const *   
)
inlineprotectedinherited
template<class T>
template<class Expr >
void boost::optional_detail::optional_base< T >::construct ( Expr &&  factory,
typed_in_place_factory_base const *   
)
inlineprotectedinherited
template<class T>
template<class Expr >
void boost::optional_detail::optional_base< T >::construct ( Expr &&  expr,
void const *   
)
inlineprotectedinherited
template<class T>
template<class... Args>
void boost::optional< T >::emplace ( Args &&...  args)
inline
template<class T>
template<class... Args>
void boost::optional_detail::optional_base< T >::emplace_assign ( Args &&...  args)
inlineprotectedinherited
template<class T>
reference_type boost::optional< T >::get ( )
inline
template<class T>
reference_type boost::optional_detail::optional_base< T >::get_impl ( )
inlineprotectedinherited
template<class T>
pointer_type boost::optional_detail::optional_base< T >::get_ptr_impl ( )
inlineprotectedinherited
template<class T>
reference_const_type boost::optional< T >::get_value_or ( reference_const_type  v) const
inline
template<class T>
reference_type boost::optional< T >::get_value_or ( reference_type  v)
inline
template<class T>
bool boost::optional< T >::operator! ( ) const
inline
template<class T>
reference_const_type boost::optional< T >::operator* ( ) const
inline
template<class T>
reference_type boost::optional< T >::operator* ( )
inline
template<class T>
reference_type_of_temporary_wrapper boost::optional< T >::operator* ( )
inline
template<class T>
pointer_const_type boost::optional< T >::operator-> ( ) const
inline
template<class T>
pointer_type boost::optional< T >::operator-> ( )
inline
template<class T>
template<class Expr >
BOOST_DEDUCED_TYPENAME boost::disable_if_c< boost::is_base_of<optional_detail::optional_tag, BOOST_DEDUCED_TYPENAME boost::decay<Expr>::type>::value || boost::is_same<BOOST_DEDUCED_TYPENAME boost::decay<Expr>::type, none_t>::value, optional& >::type boost::optional< T >::operator= ( Expr &&  expr)
inline
template<class T>
template<class U >
optional& boost::optional< T >::operator= ( optional< U > const &  rhs)
inline
template<class T>
template<class U >
optional& boost::optional< T >::operator= ( optional< U > &&  rhs)
inline
template<class T>
optional& boost::optional< T >::operator= ( optional< T > const &  rhs)
inline
template<class T>
optional& boost::optional< T >::operator= ( optional< T > &&  rhs)
inline
template<class T>
optional& boost::optional< T >::operator= ( argument_type  val)
inline
template<class T>
optional& boost::optional< T >::operator= ( rval_reference_type  val)
inline
template<class T>
optional& boost::optional< T >::operator= ( none_t  none_)
inline
template<class T>
void boost::optional_detail::optional_base< T >::reset ( argument_type  val)
inlineinherited
template<class T>
void boost::optional< T >::swap ( optional< T > &  arg)
inline
template<class T>
reference_const_type boost::optional< T >::value ( ) const
inline
template<class T>
reference_type boost::optional< T >::value ( )
inline
template<class T>
reference_type_of_temporary_wrapper boost::optional< T >::value ( )
inline
template<class T>
template<class U >
value_type boost::optional< T >::value_or ( U &&  v) const
inline
template<class T>
template<class U >
value_type boost::optional< T >::value_or ( U &&  v)
inline
template<class T>
template<typename F >
value_type boost::optional< T >::value_or_eval ( f) const
inline
template<class T>
template<typename F >
value_type boost::optional< T >::value_or_eval ( f)
inline

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