purify
C++ Purify implementation with native circuit and BPP support
Loading...
Searching...
No Matches
purify::Expected< T, E > Class Template Reference

Purify result carrier that either holds a value or an error. More...

#include <expected.hpp>

Public Types

using value_type = T
 
using error_type = E
 
using unexpected_type = Unexpected< E >
 

Public Member Functions

 Expected ()
 
 Expected (const T &value)
 
 Expected (T &&value)
 
 Expected (const Unexpected< E > &error)
 
 Expected (Unexpected< E > &&error)
 
 Expected (const Expected &other)
 
 Expected (Expected &&other) noexcept(std::is_nothrow_move_constructible_v< T > &&std::is_nothrow_move_constructible_v< E >)
 
Expectedoperator= (const Expected &other)
 
Expectedoperator= (Expected &&other) noexcept(std::is_nothrow_move_assignable_v< T > &&std::is_nothrow_move_assignable_v< E > &&std::is_nothrow_move_constructible_v< T > &&std::is_nothrow_move_constructible_v< E >)
 
 ~Expected ()
 
bool has_value () const noexcept
 
 operator bool () const noexcept
 
T & operator* () &
 
const T & operator* () const &
 
T && operator* () &&
 
const T && operator* () const &&
 
T * operator-> ()
 
const T * operator-> () const
 
T & value () &
 
const T & value () const &
 
T && value () &&
 
const T && value () const &&
 
E & error () &
 
const E & error () const &
 
E && error () &&
 
const E && error () const &&
 

Detailed Description

template<typename T, typename E>
class purify::Expected< T, E >

Definition at line 64 of file expected.hpp.

Member Typedef Documentation

◆ error_type

template<typename T , typename E >
using purify::Expected< T, E >::error_type = E

Definition at line 67 of file expected.hpp.

◆ unexpected_type

template<typename T , typename E >
using purify::Expected< T, E >::unexpected_type = Unexpected<E>

Definition at line 68 of file expected.hpp.

◆ value_type

template<typename T , typename E >
using purify::Expected< T, E >::value_type = T

Definition at line 66 of file expected.hpp.

Constructor & Destructor Documentation

◆ Expected() [1/7]

template<typename T , typename E >
purify::Expected< T, E >::Expected ( )
inline

Definition at line 70 of file expected.hpp.

◆ Expected() [2/7]

template<typename T , typename E >
purify::Expected< T, E >::Expected ( const T &  value)
inline

Definition at line 76 of file expected.hpp.

◆ Expected() [3/7]

template<typename T , typename E >
purify::Expected< T, E >::Expected ( T &&  value)
inline

Definition at line 80 of file expected.hpp.

◆ Expected() [4/7]

template<typename T , typename E >
purify::Expected< T, E >::Expected ( const Unexpected< E > &  error)
inline

Definition at line 84 of file expected.hpp.

References purify::Unexpected< E >::error().

◆ Expected() [5/7]

template<typename T , typename E >
purify::Expected< T, E >::Expected ( Unexpected< E > &&  error)
inline

Definition at line 88 of file expected.hpp.

◆ Expected() [6/7]

template<typename T , typename E >
purify::Expected< T, E >::Expected ( const Expected< T, E > &  other)
inline

Definition at line 93 of file expected.hpp.

References purify::Expected< T, E >::has_value().

◆ Expected() [7/7]

template<typename T , typename E >
purify::Expected< T, E >::Expected ( Expected< T, E > &&  other)
inlinenoexcept

Definition at line 102 of file expected.hpp.

◆ ~Expected()

template<typename T , typename E >
purify::Expected< T, E >::~Expected ( )
inline

Definition at line 165 of file expected.hpp.

Member Function Documentation

◆ error() [1/4]

◆ error() [2/4]

template<typename T , typename E >
E && purify::Expected< T, E >::error ( ) &&
inline

Definition at line 244 of file expected.hpp.

◆ error() [3/4]

template<typename T , typename E >
const E & purify::Expected< T, E >::error ( ) const &
inline

Definition at line 237 of file expected.hpp.

◆ error() [4/4]

template<typename T , typename E >
const E && purify::Expected< T, E >::error ( ) const &&
inline

Definition at line 251 of file expected.hpp.

◆ has_value()

◆ operator bool()

template<typename T , typename E >
purify::Expected< T, E >::operator bool ( ) const
inlineexplicitnoexcept

Definition at line 174 of file expected.hpp.

◆ operator*() [1/4]

template<typename T , typename E >
T & purify::Expected< T, E >::operator* ( ) &
inline

Definition at line 178 of file expected.hpp.

◆ operator*() [2/4]

template<typename T , typename E >
T && purify::Expected< T, E >::operator* ( ) &&
inline

Definition at line 186 of file expected.hpp.

◆ operator*() [3/4]

template<typename T , typename E >
const T & purify::Expected< T, E >::operator* ( ) const &
inline

Definition at line 182 of file expected.hpp.

◆ operator*() [4/4]

template<typename T , typename E >
const T && purify::Expected< T, E >::operator* ( ) const &&
inline

Definition at line 190 of file expected.hpp.

◆ operator->() [1/2]

template<typename T , typename E >
T * purify::Expected< T, E >::operator-> ( )
inline

Definition at line 194 of file expected.hpp.

◆ operator->() [2/2]

template<typename T , typename E >
const T * purify::Expected< T, E >::operator-> ( ) const
inline

Definition at line 198 of file expected.hpp.

◆ operator=() [1/2]

template<typename T , typename E >
Expected & purify::Expected< T, E >::operator= ( const Expected< T, E > &  other)
inline

Definition at line 112 of file expected.hpp.

References purify::Expected< T, E >::has_value().

◆ operator=() [2/2]

template<typename T , typename E >
Expected & purify::Expected< T, E >::operator= ( Expected< T, E > &&  other)
inlinenoexcept

Definition at line 137 of file expected.hpp.

◆ value() [1/4]

template<typename T , typename E >
T & purify::Expected< T, E >::value ( ) &
inline

Definition at line 202 of file expected.hpp.

◆ value() [2/4]

template<typename T , typename E >
T && purify::Expected< T, E >::value ( ) &&
inline

Definition at line 216 of file expected.hpp.

◆ value() [3/4]

template<typename T , typename E >
const T & purify::Expected< T, E >::value ( ) const &
inline

Definition at line 209 of file expected.hpp.

◆ value() [4/4]

template<typename T , typename E >
const T && purify::Expected< T, E >::value ( ) const &&
inline

Definition at line 223 of file expected.hpp.


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