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

#include <optional.hpp>

Inheritance diagram for boost::optional_detail::optional_base< T >:
Collaboration diagram for boost::optional_detail::optional_base< T >:

Public Types

typedef BOOST_DEDUCED_TYPENAME
mpl::if_
< is_reference_predicate,
types_when_ref,
types_when_not_ref >::type 
types
 

Public Member Functions

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 T value_type
 
typedef mpl::true_ is_reference_tag
 
typedef mpl::false_ is_not_reference_tag
 
typedef BOOST_DEDUCED_TYPENAME
is_reference< T >::type 
is_reference_predicate
 
typedef BOOST_DEDUCED_TYPENAME
types::reference_type 
reference_type
 
typedef BOOST_DEDUCED_TYPENAME
types::reference_const_type 
reference_const_type
 
typedef BOOST_DEDUCED_TYPENAME
types::rval_reference_type 
rval_reference_type
 
typedef BOOST_DEDUCED_TYPENAME
types::reference_type_of_temporary_wrapper 
reference_type_of_temporary_wrapper
 
typedef BOOST_DEDUCED_TYPENAME
types::pointer_type 
pointer_type
 
typedef BOOST_DEDUCED_TYPENAME
types::pointer_const_type 
pointer_const_type
 
typedef BOOST_DEDUCED_TYPENAME
types::argument_type 
argument_type
 

Protected Member Functions

 optional_base ()
 
 optional_base (none_t)
 
 optional_base (argument_type val)
 
 optional_base (rval_reference_type val)
 
 optional_base (bool cond, argument_type val)
 
 optional_base (optional_base const &rhs)
 
 optional_base (optional_base &&rhs)
 
template<class Expr , class PtrExpr >
 optional_base (Expr &&expr, PtrExpr const *tag)
 
 ~optional_base ()
 
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... Args>
void emplace_assign (Args &&...args)
 
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 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 construct (Expr &&expr, void const *)
 
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 BOOST_DEDUCED_TYPENAME types::argument_type boost::optional_detail::optional_base< T >::argument_type
protected
template<class T>
typedef BOOST_DEDUCED_TYPENAME is_reference<T>::type boost::optional_detail::optional_base< T >::is_reference_predicate
protected
template<class T>
typedef mpl::true_ boost::optional_detail::optional_base< T >::is_reference_tag
protected
template<class T>
typedef BOOST_DEDUCED_TYPENAME types::pointer_const_type boost::optional_detail::optional_base< T >::pointer_const_type
protected
template<class T>
typedef BOOST_DEDUCED_TYPENAME types::pointer_type boost::optional_detail::optional_base< T >::pointer_type
protected
template<class T>
typedef BOOST_DEDUCED_TYPENAME types::reference_const_type boost::optional_detail::optional_base< T >::reference_const_type
protected
template<class T>
typedef BOOST_DEDUCED_TYPENAME types::reference_type boost::optional_detail::optional_base< T >::reference_type
protected
template<class T>
typedef BOOST_DEDUCED_TYPENAME types::reference_type_of_temporary_wrapper boost::optional_detail::optional_base< T >::reference_type_of_temporary_wrapper
protected
template<class T>
typedef BOOST_DEDUCED_TYPENAME types::rval_reference_type boost::optional_detail::optional_base< T >::rval_reference_type
protected
template<class T>
typedef T boost::optional_detail::optional_base< T >::value_type
protected

Constructor & Destructor Documentation

template<class T>
boost::optional_detail::optional_base< T >::optional_base ( )
inlineprotected
template<class T>
boost::optional_detail::optional_base< T >::optional_base ( none_t  )
inlineprotected
template<class T>
boost::optional_detail::optional_base< T >::optional_base ( bool  cond,
argument_type  val 
)
inlineprotected
template<class T>
template<class Expr , class PtrExpr >
boost::optional_detail::optional_base< T >::optional_base ( Expr &&  expr,
PtrExpr const *  tag 
)
inlineexplicitprotected

Member Function Documentation

template<class T>
void boost::optional_detail::optional_base< T >::assign ( none_t  )
inlineprotected
template<class T>
template<class Expr , class ExprPtr >
void boost::optional_detail::optional_base< T >::assign_expr ( Expr &&  expr,
ExprPtr const *  tag 
)
inlineprotected
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 
)
inlineprotected
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 
)
inlineprotected
template<class T>
template<class Expr >
void boost::optional_detail::optional_base< T >::assign_expr_to_initialized ( Expr &&  expr,
void const *   
)
inlineprotected
template<class T>
void boost::optional_detail::optional_base< T >::assign_value ( argument_type  val,
is_reference_tag   
)
inlineprotected
template<class T>
void boost::optional_detail::optional_base< T >::assign_value ( rval_reference_type  val,
is_reference_tag   
)
inlineprotected
template<class T>
template<class Expr >
void boost::optional_detail::optional_base< T >::construct ( Expr &&  factory,
in_place_factory_base const *   
)
inlineprotected
template<class T>
template<class Expr >
void boost::optional_detail::optional_base< T >::construct ( Expr &&  factory,
typed_in_place_factory_base const *   
)
inlineprotected
template<class T>
template<class Expr >
void boost::optional_detail::optional_base< T >::construct ( Expr &&  expr,
void const *   
)
inlineprotected
template<class T>
template<class... Args>
void boost::optional_detail::optional_base< T >::emplace_assign ( Args &&...  args)
inlineprotected
template<class T>
reference_type boost::optional_detail::optional_base< T >::get_impl ( )
inlineprotected
template<class T>
pointer_type boost::optional_detail::optional_base< T >::get_ptr_impl ( )
inlineprotected

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