RESTinio
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
nonstd::optional_lite::optional< T > Class Template Reference

class optional More...

#include <optional.hpp>

Public Types

typedef T value_type
 

Public Member Functions

optional_constexpr optional () optional_noexcept
 
optional_constexpr optional (nullopt_t) optional_noexcept
 
 optional (optional const &rhs)
 
optional_constexpr optional (value_type const &value)
 
 ~optional ()
 
optionaloperator= (nullopt_t) optional_noexcept
 
optionaloperator= (optional const &rhs)
 
void swap (optional &rhs)
 
optional_constexpr value_type constoperator-> () const
 
optional_constexpr14 value_typeoperator-> ()
 
optional_constexpr value_type constoperator* () const optional_ref_qual
 
optional_constexpr14 value_typeoperator* () optional_ref_qual
 
optional_constexpr operator safe_bool () const optional_noexcept
 
optional_constexpr bool has_value () const optional_noexcept
 
optional_constexpr14 value_type constvalue () const optional_ref_qual
 
optional_constexpr14 value_typevalue () optional_ref_qual
 
template<class U >
optional_constexpr value_type value_or (U const &v) const
 
void reset () optional_noexcept
 

Private Types

typedef void(optional::* safe_bool) () const
 

Private Member Functions

void this_type_does_not_support_comparisons () const
 
template<typename V >
void initialize (V const &value)
 

Private Attributes

bool has_value_
 
detail::storage_t< value_typecontained
 

Detailed Description

template<typename T>
class nonstd::optional_lite::optional< T >

class optional

optional

Definition at line 345 of file optional.hpp.

Member Typedef Documentation

◆ safe_bool

template<typename T>
typedef void(optional::* nonstd::optional_lite::optional< T >::safe_bool) () const
private

Definition at line 669 of file optional.hpp.

◆ value_type

template<typename T>
typedef T nonstd::optional_lite::optional< T >::value_type

Definition at line 672 of file optional.hpp.

Constructor & Destructor Documentation

◆ optional() [1/4]

template<typename T>
optional_constexpr nonstd::optional_lite::optional< T >::optional ( )
inline

Definition at line 674 of file optional.hpp.

◆ optional() [2/4]

template<typename T>
optional_constexpr nonstd::optional_lite::optional< T >::optional ( nullopt_t  )
inline

Definition at line 679 of file optional.hpp.

◆ optional() [3/4]

template<typename T>
nonstd::optional_lite::optional< T >::optional ( optional< T > const rhs)
inline

Definition at line 684 of file optional.hpp.

◆ optional() [4/4]

template<typename T>
optional_constexpr nonstd::optional_lite::optional< T >::optional ( value_type const value)
inline

Definition at line 700 of file optional.hpp.

◆ ~optional()

template<typename T>
nonstd::optional_lite::optional< T >::~optional ( )
inline

Definition at line 726 of file optional.hpp.

Member Function Documentation

◆ has_value()

template<typename T>
optional_constexpr bool nonstd::optional_lite::optional< T >::has_value ( ) const
inline

Definition at line 854 of file optional.hpp.

◆ initialize()

template<typename T>
template<typename V >
void nonstd::optional_lite::optional< T >::initialize ( V const value)
inlineprivate

Definition at line 927 of file optional.hpp.

◆ operator safe_bool()

template<typename T>
optional_constexpr nonstd::optional_lite::optional< T >::operator safe_bool ( ) const
inline

Definition at line 848 of file optional.hpp.

◆ operator*() [1/2]

template<typename T>
optional_constexpr value_type const& nonstd::optional_lite::optional< T >::operator* ( ) const
inline

Definition at line 816 of file optional.hpp.

◆ operator*() [2/2]

template<typename T>
optional_constexpr14 value_type& nonstd::optional_lite::optional< T >::operator* ( )
inline

Definition at line 822 of file optional.hpp.

◆ operator->() [1/2]

template<typename T>
optional_constexpr value_type const* nonstd::optional_lite::optional< T >::operator-> ( ) const
inline

Definition at line 804 of file optional.hpp.

◆ operator->() [2/2]

template<typename T>
optional_constexpr14 value_type* nonstd::optional_lite::optional< T >::operator-> ( )
inline

Definition at line 810 of file optional.hpp.

◆ operator=() [1/2]

template<typename T>
optional& nonstd::optional_lite::optional< T >::operator= ( nullopt_t  )
inline

Definition at line 734 of file optional.hpp.

◆ operator=() [2/2]

template<typename T>
optional& nonstd::optional_lite::optional< T >::operator= ( optional< T > const rhs)
inline

Definition at line 740 of file optional.hpp.

◆ reset()

template<typename T>
void nonstd::optional_lite::optional< T >::reset ( )
inline

Definition at line 915 of file optional.hpp.

◆ swap()

template<typename T>
void nonstd::optional_lite::optional< T >::swap ( optional< T > &  rhs)
inline

Definition at line 791 of file optional.hpp.

◆ this_type_does_not_support_comparisons()

template<typename T>
void nonstd::optional_lite::optional< T >::this_type_does_not_support_comparisons ( ) const
inlineprivate

Definition at line 924 of file optional.hpp.

◆ value() [1/2]

template<typename T>
optional_constexpr14 value_type const& nonstd::optional_lite::optional< T >::value ( ) const
inline

Definition at line 859 of file optional.hpp.

◆ value() [2/2]

template<typename T>
optional_constexpr14 value_type& nonstd::optional_lite::optional< T >::value ( )
inline

Definition at line 867 of file optional.hpp.

◆ value_or()

template<typename T>
template<class U >
optional_constexpr value_type nonstd::optional_lite::optional< T >::value_or ( U const v) const
inline

Definition at line 906 of file optional.hpp.

Member Data Documentation

◆ contained

template<typename T>
detail::storage_t< value_type > nonstd::optional_lite::optional< T >::contained
private

Definition at line 947 of file optional.hpp.

◆ has_value_

template<typename T>
bool nonstd::optional_lite::optional< T >::has_value_
private

Definition at line 946 of file optional.hpp.


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