PRCYCoin  2.0.0.7rc1
P2P Digital Currency
Public Member Functions | Private Member Functions | Private Attributes | List of all members
zxcvbn::optional::optional< T > Class Template Reference

#include <optional.hpp>

Public Member Functions

constexpr optional ()
 
constexpr optional (nullopt_t)
 
constexpr optional (const T &val)
 
constexpr optional (T &&val)
 
 optional (const optional &val)
 
 optional (optional &&val)
 
template<class U , std::enable_if_t< std::is_same< std::decay_t< U >, T >::value > * = nullptr>
optionaloperator= (U &&val)
 
optionaloperator= (const optional &val)
 
optionaloperator= (optional &&val)
 
 ~optional ()
 
constexpr const T * operator-> () const
 
constexpr T * operator-> ()
 
constexpr const T & operator* () const &
 
constexpr T & operator* () &
 
constexpr T && operator* () const &&
 
constexpr T && operator* () &&
 
constexpr operator bool () const
 

Private Member Functions

template<class Optional >
void _init (Optional &&o)
 
template<class T2 >
optional_assign (T2 &&val)
 

Private Attributes

union {
   char   _null_state
 
   T   _val
 
}; 
 
bool _engaged
 

Detailed Description

template<class T>
class zxcvbn::optional::optional< T >

Definition at line 31 of file optional.hpp.

Constructor & Destructor Documentation

◆ optional() [1/6]

template<class T >
constexpr zxcvbn::optional::optional< T >::optional ( )
inlineconstexpr

Definition at line 58 of file optional.hpp.

Here is the caller graph for this function:

◆ optional() [2/6]

template<class T >
constexpr zxcvbn::optional::optional< T >::optional ( nullopt_t  )
inlineconstexpr

Definition at line 60 of file optional.hpp.

◆ optional() [3/6]

template<class T >
constexpr zxcvbn::optional::optional< T >::optional ( const T &  val)
inlineconstexpr

Definition at line 62 of file optional.hpp.

◆ optional() [4/6]

template<class T >
constexpr zxcvbn::optional::optional< T >::optional ( T &&  val)
inlineconstexpr

Definition at line 63 of file optional.hpp.

◆ optional() [5/6]

template<class T >
zxcvbn::optional::optional< T >::optional ( const optional< T > &  val)
inline

Definition at line 65 of file optional.hpp.

Here is the call graph for this function:

◆ optional() [6/6]

template<class T >
zxcvbn::optional::optional< T >::optional ( optional< T > &&  val)
inline

Definition at line 69 of file optional.hpp.

Here is the call graph for this function:

◆ ~optional()

template<class T >
zxcvbn::optional::optional< T >::~optional ( )
inline

Definition at line 87 of file optional.hpp.

Here is the caller graph for this function:

Member Function Documentation

◆ _assign()

template<class T >
template<class T2 >
optional& zxcvbn::optional::optional< T >::_assign ( T2 &&  val)
inlineprivate

Definition at line 51 of file optional.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _init()

template<class T >
template<class Optional >
void zxcvbn::optional::optional< T >::_init ( Optional &&  o)
inlineprivate

Definition at line 41 of file optional.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator bool()

template<class T >
constexpr zxcvbn::optional::optional< T >::operator bool ( ) const
inlineexplicitconstexpr

Definition at line 117 of file optional.hpp.

◆ operator*() [1/4]

template<class T >
constexpr T& zxcvbn::optional::optional< T >::operator* ( ) &
inlineconstexpr

Definition at line 105 of file optional.hpp.

◆ operator*() [2/4]

template<class T >
constexpr T&& zxcvbn::optional::optional< T >::operator* ( ) &&
inlineconstexpr

Definition at line 113 of file optional.hpp.

◆ operator*() [3/4]

template<class T >
constexpr const T& zxcvbn::optional::optional< T >::operator* ( ) const &
inlineconstexpr

Definition at line 101 of file optional.hpp.

◆ operator*() [4/4]

template<class T >
constexpr T&& zxcvbn::optional::optional< T >::operator* ( ) const &&
inlineconstexpr

Definition at line 109 of file optional.hpp.

◆ operator->() [1/2]

template<class T >
constexpr T* zxcvbn::optional::optional< T >::operator-> ( )
inlineconstexpr

Definition at line 97 of file optional.hpp.

◆ operator->() [2/2]

template<class T >
constexpr const T* zxcvbn::optional::optional< T >::operator-> ( ) const
inlineconstexpr

Definition at line 93 of file optional.hpp.

◆ operator=() [1/3]

template<class T >
optional& zxcvbn::optional::optional< T >::operator= ( const optional< T > &  val)
inline

Definition at line 79 of file optional.hpp.

Here is the call graph for this function:

◆ operator=() [2/3]

template<class T >
optional& zxcvbn::optional::optional< T >::operator= ( optional< T > &&  val)
inline

Definition at line 83 of file optional.hpp.

Here is the call graph for this function:

◆ operator=() [3/3]

template<class T >
template<class U , std::enable_if_t< std::is_same< std::decay_t< U >, T >::value > * = nullptr>
optional& zxcvbn::optional::optional< T >::operator= ( U &&  val)
inline

Definition at line 75 of file optional.hpp.

Here is the call graph for this function:

Member Data Documentation

◆ @31

union { ... }

◆ _engaged

template<class T >
bool zxcvbn::optional::optional< T >::_engaged
private

Definition at line 38 of file optional.hpp.

◆ _null_state

template<class T >
char zxcvbn::optional::optional< T >::_null_state

Definition at line 35 of file optional.hpp.

◆ _val

template<class T >
T zxcvbn::optional::optional< T >::_val

Definition at line 36 of file optional.hpp.


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