Iros
 
Loading...
Searching...
No Matches
di::vocab::BasicOptionalStorage< T > Class Template Reference

#include <di/vocab/optional/basic_optional_storage.h>

Public Member Functions

constexpr BasicOptionalStorage (NullOpt)
 
 BasicOptionalStorage (BasicOptionalStorage const &)=default
 
 BasicOptionalStorage (BasicOptionalStorage &&)=default
 
auto operator= (BasicOptionalStorage const &) -> BasicOptionalStorage &=default
 
auto operator= (BasicOptionalStorage &&) -> BasicOptionalStorage &=default
 
 ~BasicOptionalStorage ()=default
 
constexpr ~BasicOptionalStorage ()
 

Friends

constexpr friend auto tag_invoke (types::Tag< is_nullopt >, BasicOptionalStorage const &self) -> bool
 
template<typename Self>
requires (concepts::SameAs<meta::Decay<Self>, BasicOptionalStorage>)
constexpr friend auto tag_invoke (types::Tag< get_value >, Self &&self) -> decltype(auto)
 
constexpr friend void tag_invoke (types::Tag< set_nullopt >, BasicOptionalStorage &self)
 
template<typename... Args>
requires (concepts::ConstructibleFrom<T, Args...>)
constexpr friend void tag_invoke (types::Tag< set_value >, BasicOptionalStorage &self, Args &&... args)
 

Constructor & Destructor Documentation

◆ BasicOptionalStorage() [1/3]

template<typename T>
di::vocab::BasicOptionalStorage< T >::BasicOptionalStorage ( NullOpt )
inlineexplicitconstexpr

◆ BasicOptionalStorage() [2/3]

template<typename T>
di::vocab::BasicOptionalStorage< T >::BasicOptionalStorage ( BasicOptionalStorage< T > const & )
default

◆ BasicOptionalStorage() [3/3]

template<typename T>
di::vocab::BasicOptionalStorage< T >::BasicOptionalStorage ( BasicOptionalStorage< T > && )
default

◆ ~BasicOptionalStorage() [1/2]

template<typename T>
di::vocab::BasicOptionalStorage< T >::~BasicOptionalStorage ( )
default

◆ ~BasicOptionalStorage() [2/2]

template<typename T>
di::vocab::BasicOptionalStorage< T >::~BasicOptionalStorage ( )
inlineconstexpr

Member Function Documentation

◆ operator=() [1/2]

template<typename T>
auto di::vocab::BasicOptionalStorage< T >::operator= ( BasicOptionalStorage< T > && ) -> BasicOptionalStorage &=default
default

◆ operator=() [2/2]

template<typename T>
auto di::vocab::BasicOptionalStorage< T >::operator= ( BasicOptionalStorage< T > const & ) -> BasicOptionalStorage &=default
default

Friends And Related Symbol Documentation

◆ tag_invoke [1/4]

template<typename T>
template<typename Self>
requires (concepts::SameAs<meta::Decay<Self>, BasicOptionalStorage>)
friend auto tag_invoke ( types::Tag< get_value > ,
Self && self ) -> decltype(auto)
friend

◆ tag_invoke [2/4]

template<typename T>
friend auto tag_invoke ( types::Tag< is_nullopt > ,
BasicOptionalStorage< T > const & self ) -> bool
friend

◆ tag_invoke [3/4]

template<typename T>
friend void tag_invoke ( types::Tag< set_nullopt > ,
BasicOptionalStorage< T > & self )
friend

◆ tag_invoke [4/4]

template<typename T>
template<typename... Args>
requires (concepts::ConstructibleFrom<T, Args...>)
friend void tag_invoke ( types::Tag< set_value > ,
BasicOptionalStorage< T > & self,
Args &&... args )
friend

Member Data Documentation

◆ m_array

template<typename T>
Byte di::vocab::BasicOptionalStorage< T >::m_array[sizeof(T)]

◆ m_value

template<typename T>
T di::vocab::BasicOptionalStorage< T >::m_value

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