Union storage_t

Union Documentation

union storage_t
#include <optional.hpp>

C++03 constructed union to hold value.

Public Types

typedef T value_type

Public Functions

inline  storage_t () optional_is_default explicit storage_t(value_type const &v)
inline void construct_value(value_type const &v)
inline void destruct_value()
inline optional_nodiscard value_type const * value_ptr () const
inline value_type *value_ptr()
inline optional_nodiscard value_type const & value () const optional_ref_qual
inline value_type & value () optional_ref_qual
typedef optional_ALIGN_AS (value_type) align_as_type
inline optional_nodiscard void * ptr () optional_noexcept
inline optional_nodiscard void const * ptr () const optional_noexcept
template<typename U> inline optional_nodiscard U * as ()
template<typename U> inline optional_nodiscard U const * as () const

Public Members

aligned_storage_t data
struct aligned_storage_t
#include <optional.hpp>

Public Members

align_as_type data[1 + (sizeof(value_type) - 1) / sizeof(align_as_type)]