di 0.1.0
Loading...
Searching...
No Matches
di::vocab::Optional< void > Class Reference

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

Inheritance diagram for di::vocab::Optional< void >:
di::function::monad::MonadInterface< Optional< void > >

Public Types

using Value = void
 

Public Member Functions

constexpr Optional ()=default
 
constexpr Optional (NullOpt)
 
constexpr Optional (Optional const &)=default
 
constexpr Optional (Optional &&)=default
 
constexpr Optional (InPlace)
 
constexpr Optional (bool value)
 
constexpr ~Optional ()=default
 
constexpr auto operator= (Optional const &) -> Optional &=default
 
constexpr auto operator= (Optional &&) -> Optional &=default
 
constexpr auto operator= (NullOpt) -> Optional &
 
constexpr auto operator= (bool value) -> Optional &
 
constexpr auto has_value () const -> bool
 
constexpr operator bool () const
 
constexpr void operator* () const
 
constexpr void value () const &
 
constexpr void value () &&
 
constexpr void reset ()
 
constexpr void emplace ()
 
- Public Member Functions inherited from di::function::monad::MonadInterface< Optional< void > >
constexpr auto transform (F &&function) &-> decltype(auto)
 
constexpr auto transform (F &&function) const &-> decltype(auto)
 
constexpr auto transform (F &&function) &&-> decltype(auto)
 
constexpr auto transform (F &&function) const &&-> decltype(auto)
 
constexpr auto and_then (F &&function) &-> decltype(auto)
 
constexpr auto and_then (F &&function) const &-> decltype(auto)
 
constexpr auto and_then (F &&function) &&-> decltype(auto)
 
constexpr auto and_then (F &&function) const &&-> decltype(auto)
 
constexpr auto or_else (F &&function) &-> decltype(auto)
 
constexpr auto or_else (F &&function) const &-> decltype(auto)
 
constexpr auto or_else (F &&function) &&-> decltype(auto)
 
constexpr auto or_else (F &&function) const &&-> decltype(auto)
 
constexpr auto transform_error (F &&function) &-> decltype(auto)
 
constexpr auto transform_error (F &&function) const &-> decltype(auto)
 
constexpr auto transform_error (F &&function) &&-> decltype(auto)
 
constexpr auto transform_error (F &&function) const &&-> decltype(auto)
 

Friends

constexpr friend auto operator== (Optional const &a, Optional const &b) -> bool
 
constexpr friend auto operator== (Optional const &a, bool b) -> bool
 
constexpr friend auto operator== (Optional const &a, NullOpt) -> bool
 
constexpr friend auto operator<=> (Optional const &a, Optional const &b) -> strong_ordering
 
constexpr friend auto operator<=> (Optional const &a, bool b) -> strong_ordering
 
constexpr friend auto operator<=> (Optional const &a, NullOpt) -> strong_ordering
 
template<concepts::DecaySameAs< Optional > Self, typename F, typename R = meta::InvokeResult<F>>
requires (concepts::Optional<R>)
constexpr friend auto tag_invoke (types::Tag< function::monad::bind >, Self &&self, F &&f) -> R
 
template<concepts::DecaySameAs< Optional > Self, typename F, typename U = meta::UnwrapRefDecay<meta::InvokeResult<F>>>
constexpr friend auto tag_invoke (types::Tag< function::monad::fmap >, Self &&self, F &&f) -> Optional< U >
 
template<concepts::DecaySameAs< Optional > Self, concepts::InvocableTo< Optional > F>
constexpr friend auto tag_invoke (types::Tag< function::monad::fail >, Self &&self, F &&f) -> Optional
 

Member Typedef Documentation

◆ Value

using di::vocab::Optional< void >::Value = void

Constructor & Destructor Documentation

◆ Optional() [1/6]

di::vocab::Optional< void >::Optional ( )
constexprdefault

◆ Optional() [2/6]

di::vocab::Optional< void >::Optional ( NullOpt )
inlineconstexpr

◆ Optional() [3/6]

di::vocab::Optional< void >::Optional ( Optional< void > const & )
constexprdefault

◆ Optional() [4/6]

di::vocab::Optional< void >::Optional ( Optional< void > && )
constexprdefault

◆ Optional() [5/6]

di::vocab::Optional< void >::Optional ( InPlace )
inlineexplicitconstexpr

◆ Optional() [6/6]

di::vocab::Optional< void >::Optional ( bool value)
inlineexplicitconstexpr

◆ ~Optional()

di::vocab::Optional< void >::~Optional ( )
constexprdefault

Member Function Documentation

◆ emplace()

void di::vocab::Optional< void >::emplace ( )
inlineconstexpr

◆ has_value()

auto di::vocab::Optional< void >::has_value ( ) const -> bool
inlineconstexpr

◆ operator bool()

di::vocab::Optional< void >::operator bool ( ) const
inlineexplicitconstexpr

◆ operator*()

void di::vocab::Optional< void >::operator* ( ) const
inlineconstexpr

◆ operator=() [1/4]

auto di::vocab::Optional< void >::operator= ( bool value) -> Optional&
inlineconstexpr

◆ operator=() [2/4]

auto di::vocab::Optional< void >::operator= ( NullOpt ) -> Optional&
inlineconstexpr

◆ operator=() [3/4]

auto di::vocab::Optional< void >::operator= ( Optional< void > && ) -> Optional &=default
constexprdefault

◆ operator=() [4/4]

auto di::vocab::Optional< void >::operator= ( Optional< void > const & ) -> Optional &=default
constexprdefault

◆ reset()

void di::vocab::Optional< void >::reset ( )
inlineconstexpr

◆ value() [1/2]

void di::vocab::Optional< void >::value ( ) &&
inlineconstexpr

◆ value() [2/2]

void di::vocab::Optional< void >::value ( ) const &
inlineconstexpr

Friends And Related Symbol Documentation

◆ operator<=> [1/3]

friend auto operator<=> ( Optional< void > const & a,
bool b ) -> strong_ordering
friend

◆ operator<=> [2/3]

friend auto operator<=> ( Optional< void > const & a,
NullOpt  ) -> strong_ordering
friend

◆ operator<=> [3/3]

friend auto operator<=> ( Optional< void > const & a,
Optional< void > const & b ) -> strong_ordering
friend

◆ operator== [1/3]

friend auto operator== ( Optional< void > const & a,
bool b ) -> bool
friend

◆ operator== [2/3]

friend auto operator== ( Optional< void > const & a,
NullOpt  ) -> bool
friend

◆ operator== [3/3]

friend auto operator== ( Optional< void > const & a,
Optional< void > const & b ) -> bool
friend

◆ tag_invoke [1/3]

template<concepts::DecaySameAs< Optional > Self, typename F, typename R = meta::InvokeResult<F>>
requires (concepts::Optional<R>)
friend auto tag_invoke ( types::Tag< function::monad::bind > ,
Self && self,
F && f ) -> R
friend

◆ tag_invoke [2/3]

template<concepts::DecaySameAs< Optional > Self, concepts::InvocableTo< Optional > F>
friend auto tag_invoke ( types::Tag< function::monad::fail > ,
Self && self,
F && f ) -> Optional
friend

◆ tag_invoke [3/3]

template<concepts::DecaySameAs< Optional > Self, typename F, typename U = meta::UnwrapRefDecay<meta::InvokeResult<F>>>
friend auto tag_invoke ( types::Tag< function::monad::fmap > ,
Self && self,
F && f ) -> Optional<U>
friend

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