RESTinio
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | 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_constexpr14 optional (optional const &other)
 
template<typename U >
 optional (optional< U > const &other)
 
 optional (value_type const &value)
 
 ~optional ()
 
optionaloperator= (nullopt_t) optional_noexcept
 
optionaloperator= (optional const &other)
 
template<typename U >
optionaloperator= (U const &value)
 
template<typename U >
optionaloperator= (optional< U > const &other)
 
void swap (optional &other)
 
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<typename 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
 

Friends

template<typename >
class optional
 

Detailed Description

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

class optional

optional access error

optional

Definition at line 918 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 923 of file optional.hpp.

◆ value_type

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

Definition at line 926 of file optional.hpp.

Constructor & Destructor Documentation

◆ optional() [1/5]

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

Definition at line 931 of file optional.hpp.

◆ optional() [2/5]

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

Definition at line 938 of file optional.hpp.

◆ optional() [3/5]

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

Definition at line 952 of file optional.hpp.

◆ optional() [4/5]

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

Definition at line 1024 of file optional.hpp.

◆ optional() [5/5]

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

Definition at line 1139 of file optional.hpp.

◆ ~optional()

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

Definition at line 1148 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 1399 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 1486 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 1392 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 1360 of file optional.hpp.

◆ operator*() [2/2]

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

Definition at line 1366 of file optional.hpp.

◆ operator->() [1/2]

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

Definition at line 1354 of file optional.hpp.

◆ operator->() [2/2]

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

Definition at line 1348 of file optional.hpp.

◆ operator=() [1/4]

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

Definition at line 1159 of file optional.hpp.

◆ operator=() [2/4]

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

Definition at line 1180 of file optional.hpp.

◆ operator=() [3/4]

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

Definition at line 1268 of file optional.hpp.

◆ operator=() [4/4]

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

Definition at line 1235 of file optional.hpp.

◆ reset()

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

Definition at line 1472 of file optional.hpp.

◆ swap()

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

Definition at line 1332 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 1483 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 1405 of file optional.hpp.

◆ value() [2/2]

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

Definition at line 1418 of file optional.hpp.

◆ value_or()

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

Definition at line 1463 of file optional.hpp.

Friends And Related Function Documentation

◆ optional

template<typename T >
template<typename >
friend class optional
friend

Definition at line 921 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 1506 of file optional.hpp.

◆ has_value_

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

Definition at line 1505 of file optional.hpp.


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