MySQL 9.3.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
helper::Optional< ValueType > Class Template Reference

Lightweight implementation of optional. More...

#include <optional.h>

Public Member Functions

 Optional ()=default
 
 Optional (const ValueType value)
 
 Optional (const Optional &other)
 
ValueType & operator* ()
 
ValueType operator* () const
 
ValueType * operator-> ()
 
const ValueType * operator-> () const
 
Optionaloperator= (const Optional &value)
 
Optionaloperator= (const ValueType value)
 
void reset ()
 
bool has_value () const
 
ValueType value () const
 
 operator bool () const
 

Private Attributes

bool is_set_ {false}
 
ValueType v_ {}
 

Detailed Description

template<typename ValueType>
class helper::Optional< ValueType >

Lightweight implementation of optional.

This class was especially created for POD types.

Constructor & Destructor Documentation

◆ Optional() [1/3]

template<typename ValueType >
helper::Optional< ValueType >::Optional ( )
default

◆ Optional() [2/3]

template<typename ValueType >
helper::Optional< ValueType >::Optional ( const ValueType  value)
inline

◆ Optional() [3/3]

template<typename ValueType >
helper::Optional< ValueType >::Optional ( const Optional< ValueType > &  other)
inline

Member Function Documentation

◆ has_value()

template<typename ValueType >
bool helper::Optional< ValueType >::has_value ( ) const
inline

◆ operator bool()

template<typename ValueType >
helper::Optional< ValueType >::operator bool ( ) const
inline

◆ operator*() [1/2]

template<typename ValueType >
ValueType & helper::Optional< ValueType >::operator* ( )
inline

◆ operator*() [2/2]

template<typename ValueType >
ValueType helper::Optional< ValueType >::operator* ( ) const
inline

◆ operator->() [1/2]

template<typename ValueType >
ValueType * helper::Optional< ValueType >::operator-> ( )
inline

◆ operator->() [2/2]

template<typename ValueType >
const ValueType * helper::Optional< ValueType >::operator-> ( ) const
inline

◆ operator=() [1/2]

template<typename ValueType >
Optional & helper::Optional< ValueType >::operator= ( const Optional< ValueType > &  value)
inline

◆ operator=() [2/2]

template<typename ValueType >
Optional & helper::Optional< ValueType >::operator= ( const ValueType  value)
inline

◆ reset()

template<typename ValueType >
void helper::Optional< ValueType >::reset ( )
inline

◆ value()

template<typename ValueType >
ValueType helper::Optional< ValueType >::value ( ) const
inline

Member Data Documentation

◆ is_set_

template<typename ValueType >
bool helper::Optional< ValueType >::is_set_ {false}
private

◆ v_

template<typename ValueType >
ValueType helper::Optional< ValueType >::v_ {}
private

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