nonstd::optional_lite::detail::storage_t< T > Union Template Reference

C++03 constructed union to hold value. More...

#include <ndn-cxx/util/nonstd/optional.hpp>

+ Inheritance diagram for nonstd::optional_lite::detail::storage_t< T >:
+ Collaboration diagram for nonstd::optional_lite::detail::storage_t< T >:

Classes

struct  aligned_storage_t
 

Public Types

typedef type_of_size< alignment_types, alignment_of< value_type >::value >::type align_as_type
 
typedef T value_type
 

Public Member Functions

 storage_t ()
 
 storage_t (value_type const &v)
 
template<typename U >
U * as ()
 
template<typename U >
U const * as () const
 
void construct_value (value_type const &v)
 
void destruct_value ()
 
void * ptr ()
 
void const * ptr () const
 
value_type const & value () const
 
value_typevalue ()
 
value_type const * value_ptr () const
 
value_typevalue_ptr ()
 

Public Attributes

aligned_storage_t data
 

Detailed Description

template<typename T>
union nonstd::optional_lite::detail::storage_t< T >

C++03 constructed union to hold value.

Definition at line 676 of file optional.hpp.

Member Typedef Documentation

◆ align_as_type

Definition at line 773 of file optional.hpp.

◆ value_type

template<typename T>
typedef T nonstd::optional_lite::detail::storage_t< T >::value_type

Definition at line 681 of file optional.hpp.

Constructor & Destructor Documentation

◆ storage_t() [1/2]

template<typename T>
nonstd::optional_lite::detail::storage_t< T >::storage_t ( )
inline

Definition at line 683 of file optional.hpp.

◆ storage_t() [2/2]

template<typename T>
nonstd::optional_lite::detail::storage_t< T >::storage_t ( value_type const &  v)
inlineexplicit

Definition at line 685 of file optional.hpp.

Member Function Documentation

◆ as() [1/2]

template<typename T>
template<typename U >
U* nonstd::optional_lite::detail::storage_t< T >::as ( )
inline

Definition at line 793 of file optional.hpp.

◆ as() [2/2]

template<typename T>
template<typename U >
U const* nonstd::optional_lite::detail::storage_t< T >::as ( ) const
inline

Definition at line 799 of file optional.hpp.

◆ construct_value()

template<typename T>
void nonstd::optional_lite::detail::storage_t< T >::construct_value ( value_type const &  v)
inline

Definition at line 690 of file optional.hpp.

◆ destruct_value()

template<typename T>
void nonstd::optional_lite::detail::storage_t< T >::destruct_value ( )
inline

Definition at line 721 of file optional.hpp.

◆ ptr() [1/2]

template<typename T>
void* nonstd::optional_lite::detail::storage_t< T >::ptr ( )
inline

Definition at line 782 of file optional.hpp.

◆ ptr() [2/2]

template<typename T>
void const* nonstd::optional_lite::detail::storage_t< T >::ptr ( ) const
inline

Definition at line 787 of file optional.hpp.

◆ value() [1/2]

template<typename T>
value_type const& nonstd::optional_lite::detail::storage_t< T >::value ( ) const
inline

Definition at line 736 of file optional.hpp.

◆ value() [2/2]

template<typename T>
value_type& nonstd::optional_lite::detail::storage_t< T >::value ( )
inline

Definition at line 741 of file optional.hpp.

◆ value_ptr() [1/2]

template<typename T>
value_type const* nonstd::optional_lite::detail::storage_t< T >::value_ptr ( ) const
inline

Definition at line 726 of file optional.hpp.

◆ value_ptr() [2/2]

template<typename T>
value_type* nonstd::optional_lite::detail::storage_t< T >::value_ptr ( )
inline

Definition at line 731 of file optional.hpp.

Member Data Documentation

◆ data

Definition at line 776 of file optional.hpp.