webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Types | Public Member Functions | List of all members
WTF::Expected< T, E > Class Template Reference

#include <Expected.h>

Inheritance diagram for WTF::Expected< T, E >:

Public Types

typedef base::ValueType ValueType
 
typedef base::ErrorType ErrorType
 
typedef base::ValueType ValueType
 
typedef base::ErrorType ErrorType
 
typedef base::ValueType ValueType
 
typedef base::ErrorType ErrorType
 

Public Member Functions

constexpr Expected ()
 
 Expected (const Expected &)=default
 
 Expected (Expected &&)=default
 
constexpr Expected (const ValueType &e)
 
constexpr Expected (ValueType &&e)
 
constexpr Expected (UnexpectedType< ErrorType > const &u)
 
constexpr Expected (UnexpectedType< ErrorType > &&u)
 
template<class Err >
constexpr Expected (UnexpectedType< Err > const &u)
 
 ~Expected ()=default
 
Expectedoperator= (const Expected &e)
 
Expectedoperator= (Expected &&e)
 
template<class U >
Expectedoperator= (U &&u)
 
Expectedoperator= (const UnexpectedType< ErrorType > &u)
 
Expectedoperator= (UnexpectedType< ErrorType > &&u)
 
void swap (Expected &o)
 
constexpr const ValueTypeoperator-> () const
 
ValueTypeoperator-> ()
 
constexpr const ValueTypeoperator* () const &
 
ValueTypeoperator* () &
 
constexpr const ValueType && operator* () const &&
 
RELAXED_CONSTEXPR ValueType && operator* () &&
 
constexpr operator bool () const
 
constexpr bool hasValue () const
 
constexpr const ValueTypevalue () const &
 
RELAXED_CONSTEXPR ValueTypevalue () &
 
constexpr const ValueType && value () const &&
 
RELAXED_CONSTEXPR ValueType && value () &&
 
constexpr const ErrorTypeerror () const &
 
ErrorTypeerror () &
 
RELAXED_CONSTEXPR ErrorType && error () &&
 
constexpr const ErrorType && error () const &&
 
constexpr UnexpectedType< ErrorTypegetUnexpected () const
 
template<class U >
constexpr ValueType valueOr (U &&u) const &
 
template<class U >
ValueType valueOr (U &&u) &&
 
constexpr Expected ()
 
 Expected (const Expected &)=default
 
 Expected (Expected &&)=default
 
constexpr Expected (const ValueType &e)
 
constexpr Expected (ValueType &&e)
 
constexpr Expected (UnexpectedType< ErrorType > const &u)
 
constexpr Expected (UnexpectedType< ErrorType > &&u)
 
template<class Err >
constexpr Expected (UnexpectedType< Err > const &u)
 
 ~Expected ()=default
 
Expectedoperator= (const Expected &e)
 
Expectedoperator= (Expected &&e)
 
template<class U >
Expectedoperator= (U &&u)
 
Expectedoperator= (const UnexpectedType< ErrorType > &u)
 
Expectedoperator= (UnexpectedType< ErrorType > &&u)
 
void swap (Expected &o)
 
constexpr const ValueTypeoperator-> () const
 
ValueTypeoperator-> ()
 
constexpr const ValueTypeoperator* () const &
 
ValueTypeoperator* () &
 
constexpr const ValueType && operator* () const &&
 
RELAXED_CONSTEXPR ValueType && operator* () &&
 
constexpr operator bool () const
 
constexpr bool hasValue () const
 
constexpr const ValueTypevalue () const &
 
RELAXED_CONSTEXPR ValueTypevalue () &
 
constexpr const ValueType && value () const &&
 
RELAXED_CONSTEXPR ValueType && value () &&
 
constexpr const ErrorTypeerror () const &
 
ErrorTypeerror () &
 
RELAXED_CONSTEXPR ErrorType && error () &&
 
constexpr const ErrorType && error () const &&
 
constexpr UnexpectedType< ErrorTypegetUnexpected () const
 
template<class U >
constexpr ValueType valueOr (U &&u) const &
 
template<class U >
ValueType valueOr (U &&u) &&
 
constexpr Expected ()
 
 Expected (const Expected &)=default
 
 Expected (Expected &&)=default
 
constexpr Expected (const ValueType &e)
 
constexpr Expected (ValueType &&e)
 
constexpr Expected (UnexpectedType< ErrorType > const &u)
 
constexpr Expected (UnexpectedType< ErrorType > &&u)
 
template<class Err >
constexpr Expected (UnexpectedType< Err > const &u)
 
 ~Expected ()=default
 
Expectedoperator= (const Expected &e)
 
Expectedoperator= (Expected &&e)
 
template<class U >
Expectedoperator= (U &&u)
 
Expectedoperator= (const UnexpectedType< ErrorType > &u)
 
Expectedoperator= (UnexpectedType< ErrorType > &&u)
 
void swap (Expected &o)
 
constexpr const ValueTypeoperator-> () const
 
ValueTypeoperator-> ()
 
constexpr const ValueTypeoperator* () const &
 
ValueTypeoperator* () &
 
constexpr const ValueType && operator* () const &&
 
RELAXED_CONSTEXPR ValueType && operator* () &&
 
constexpr operator bool () const
 
constexpr bool hasValue () const
 
constexpr const ValueTypevalue () const &
 
RELAXED_CONSTEXPR ValueTypevalue () &
 
constexpr const ValueType && value () const &&
 
RELAXED_CONSTEXPR ValueType && value () &&
 
constexpr const ErrorTypeerror () const &
 
ErrorTypeerror () &
 
RELAXED_CONSTEXPR ErrorType && error () &&
 
constexpr const ErrorType && error () const &&
 
constexpr UnexpectedType< ErrorTypegetUnexpected () const
 
template<class U >
constexpr ValueType valueOr (U &&u) const &
 
template<class U >
ValueType valueOr (U &&u) &&
 

Member Typedef Documentation

◆ ErrorType [1/3]

template<class T, class E>
typedef base::ErrorType WTF::Expected< T, E >::ErrorType

◆ ErrorType [2/3]

template<class T, class E>
typedef base::ErrorType WTF::Expected< T, E >::ErrorType

◆ ErrorType [3/3]

template<class T, class E>
typedef base::ErrorType WTF::Expected< T, E >::ErrorType

◆ ValueType [1/3]

template<class T, class E>
typedef base::ValueType WTF::Expected< T, E >::ValueType

◆ ValueType [2/3]

template<class T, class E>
typedef base::ValueType WTF::Expected< T, E >::ValueType

◆ ValueType [3/3]

template<class T, class E>
typedef base::ValueType WTF::Expected< T, E >::ValueType

Constructor & Destructor Documentation

◆ Expected() [1/24]

template<class T, class E>
constexpr WTF::Expected< T, E >::Expected ( )
inline

◆ Expected() [2/24]

template<class T, class E>
WTF::Expected< T, E >::Expected ( const Expected< T, E > &  )
default

◆ Expected() [3/24]

template<class T, class E>
WTF::Expected< T, E >::Expected ( Expected< T, E > &&  )
default

◆ Expected() [4/24]

template<class T, class E>
constexpr WTF::Expected< T, E >::Expected ( const ValueType e)
inline

◆ Expected() [5/24]

template<class T, class E>
constexpr WTF::Expected< T, E >::Expected ( ValueType &&  e)
inline

◆ Expected() [6/24]

template<class T, class E>
constexpr WTF::Expected< T, E >::Expected ( UnexpectedType< ErrorType > const &  u)
inline

◆ Expected() [7/24]

template<class T, class E>
constexpr WTF::Expected< T, E >::Expected ( UnexpectedType< ErrorType > &&  u)
inline

◆ Expected() [8/24]

template<class T, class E>
template<class Err >
constexpr WTF::Expected< T, E >::Expected ( UnexpectedType< Err > const &  u)
inline

◆ ~Expected() [1/3]

template<class T, class E>
WTF::Expected< T, E >::~Expected ( )
default

◆ Expected() [9/24]

template<class T, class E>
constexpr WTF::Expected< T, E >::Expected ( )
inline

◆ Expected() [10/24]

template<class T, class E>
WTF::Expected< T, E >::Expected ( const Expected< T, E > &  )
default

◆ Expected() [11/24]

template<class T, class E>
WTF::Expected< T, E >::Expected ( Expected< T, E > &&  )
default

◆ Expected() [12/24]

template<class T, class E>
constexpr WTF::Expected< T, E >::Expected ( const ValueType e)
inline

◆ Expected() [13/24]

template<class T, class E>
constexpr WTF::Expected< T, E >::Expected ( ValueType &&  e)
inline

◆ Expected() [14/24]

template<class T, class E>
constexpr WTF::Expected< T, E >::Expected ( UnexpectedType< ErrorType > const &  u)
inline

◆ Expected() [15/24]

template<class T, class E>
constexpr WTF::Expected< T, E >::Expected ( UnexpectedType< ErrorType > &&  u)
inline

◆ Expected() [16/24]

template<class T, class E>
template<class Err >
constexpr WTF::Expected< T, E >::Expected ( UnexpectedType< Err > const &  u)
inline

◆ ~Expected() [2/3]

template<class T, class E>
WTF::Expected< T, E >::~Expected ( )
default

◆ Expected() [17/24]

template<class T, class E>
constexpr WTF::Expected< T, E >::Expected ( )
inline

◆ Expected() [18/24]

template<class T, class E>
WTF::Expected< T, E >::Expected ( const Expected< T, E > &  )
default

◆ Expected() [19/24]

template<class T, class E>
WTF::Expected< T, E >::Expected ( Expected< T, E > &&  )
default

◆ Expected() [20/24]

template<class T, class E>
constexpr WTF::Expected< T, E >::Expected ( const ValueType e)
inline

◆ Expected() [21/24]

template<class T, class E>
constexpr WTF::Expected< T, E >::Expected ( ValueType &&  e)
inline

◆ Expected() [22/24]

template<class T, class E>
constexpr WTF::Expected< T, E >::Expected ( UnexpectedType< ErrorType > const &  u)
inline

◆ Expected() [23/24]

template<class T, class E>
constexpr WTF::Expected< T, E >::Expected ( UnexpectedType< ErrorType > &&  u)
inline

◆ Expected() [24/24]

template<class T, class E>
template<class Err >
constexpr WTF::Expected< T, E >::Expected ( UnexpectedType< Err > const &  u)
inline

◆ ~Expected() [3/3]

template<class T, class E>
WTF::Expected< T, E >::~Expected ( )
default

Member Function Documentation

◆ error() [1/12]

template<class T, class E>
constexpr const ErrorType& WTF::Expected< T, E >::error ( ) const &
inline

◆ error() [2/12]

template<class T, class E>
constexpr const ErrorType& WTF::Expected< T, E >::error ( ) const &
inline

◆ error() [3/12]

template<class T, class E>
constexpr const ErrorType& WTF::Expected< T, E >::error ( ) const &
inline

◆ error() [4/12]

template<class T, class E>
ErrorType& WTF::Expected< T, E >::error ( ) &
inline

◆ error() [5/12]

template<class T, class E>
ErrorType& WTF::Expected< T, E >::error ( ) &
inline

◆ error() [6/12]

template<class T, class E>
ErrorType& WTF::Expected< T, E >::error ( ) &
inline

◆ error() [7/12]

template<class T, class E>
RELAXED_CONSTEXPR ErrorType&& WTF::Expected< T, E >::error ( ) &&
inline

◆ error() [8/12]

template<class T, class E>
RELAXED_CONSTEXPR ErrorType&& WTF::Expected< T, E >::error ( ) &&
inline

◆ error() [9/12]

template<class T, class E>
RELAXED_CONSTEXPR ErrorType&& WTF::Expected< T, E >::error ( ) &&
inline

◆ error() [10/12]

template<class T, class E>
constexpr const ErrorType&& WTF::Expected< T, E >::error ( ) const &&
inline

◆ error() [11/12]

template<class T, class E>
constexpr const ErrorType&& WTF::Expected< T, E >::error ( ) const &&
inline

◆ error() [12/12]

template<class T, class E>
constexpr const ErrorType&& WTF::Expected< T, E >::error ( ) const &&
inline

◆ getUnexpected() [1/3]

template<class T, class E>
constexpr UnexpectedType<ErrorType> WTF::Expected< T, E >::getUnexpected ( ) const
inline

◆ getUnexpected() [2/3]

template<class T, class E>
constexpr UnexpectedType<ErrorType> WTF::Expected< T, E >::getUnexpected ( ) const
inline

◆ getUnexpected() [3/3]

template<class T, class E>
constexpr UnexpectedType<ErrorType> WTF::Expected< T, E >::getUnexpected ( ) const
inline

◆ hasValue() [1/3]

template<class T, class E>
constexpr bool WTF::Expected< T, E >::hasValue ( ) const
inline

◆ hasValue() [2/3]

template<class T, class E>
constexpr bool WTF::Expected< T, E >::hasValue ( ) const
inline

◆ hasValue() [3/3]

template<class T, class E>
constexpr bool WTF::Expected< T, E >::hasValue ( ) const
inline

◆ operator bool() [1/3]

template<class T, class E>
constexpr WTF::Expected< T, E >::operator bool ( ) const
inlineexplicit

◆ operator bool() [2/3]

template<class T, class E>
constexpr WTF::Expected< T, E >::operator bool ( ) const
inlineexplicit

◆ operator bool() [3/3]

template<class T, class E>
constexpr WTF::Expected< T, E >::operator bool ( ) const
inlineexplicit

◆ operator*() [1/12]

template<class T, class E>
constexpr const ValueType& WTF::Expected< T, E >::operator* ( ) const &
inline

◆ operator*() [2/12]

template<class T, class E>
constexpr const ValueType& WTF::Expected< T, E >::operator* ( ) const &
inline

◆ operator*() [3/12]

template<class T, class E>
constexpr const ValueType& WTF::Expected< T, E >::operator* ( ) const &
inline

◆ operator*() [4/12]

template<class T, class E>
ValueType& WTF::Expected< T, E >::operator* ( ) &
inline

◆ operator*() [5/12]

template<class T, class E>
ValueType& WTF::Expected< T, E >::operator* ( ) &
inline

◆ operator*() [6/12]

template<class T, class E>
ValueType& WTF::Expected< T, E >::operator* ( ) &
inline

◆ operator*() [7/12]

template<class T, class E>
constexpr const ValueType&& WTF::Expected< T, E >::operator* ( ) const &&
inline

◆ operator*() [8/12]

template<class T, class E>
constexpr const ValueType&& WTF::Expected< T, E >::operator* ( ) const &&
inline

◆ operator*() [9/12]

template<class T, class E>
constexpr const ValueType&& WTF::Expected< T, E >::operator* ( ) const &&
inline

◆ operator*() [10/12]

template<class T, class E>
RELAXED_CONSTEXPR ValueType&& WTF::Expected< T, E >::operator* ( ) &&
inline

◆ operator*() [11/12]

template<class T, class E>
RELAXED_CONSTEXPR ValueType&& WTF::Expected< T, E >::operator* ( ) &&
inline

◆ operator*() [12/12]

template<class T, class E>
RELAXED_CONSTEXPR ValueType&& WTF::Expected< T, E >::operator* ( ) &&
inline

◆ operator->() [1/6]

template<class T, class E>
constexpr const ValueType* WTF::Expected< T, E >::operator-> ( ) const
inline

◆ operator->() [2/6]

template<class T, class E>
constexpr const ValueType* WTF::Expected< T, E >::operator-> ( ) const
inline

◆ operator->() [3/6]

template<class T, class E>
constexpr const ValueType* WTF::Expected< T, E >::operator-> ( ) const
inline

◆ operator->() [4/6]

template<class T, class E>
ValueType* WTF::Expected< T, E >::operator-> ( )
inline

◆ operator->() [5/6]

template<class T, class E>
ValueType* WTF::Expected< T, E >::operator-> ( )
inline

◆ operator->() [6/6]

template<class T, class E>
ValueType* WTF::Expected< T, E >::operator-> ( )
inline

◆ operator=() [1/15]

template<class T, class E>
Expected& WTF::Expected< T, E >::operator= ( const Expected< T, E > &  e)
inline

◆ operator=() [2/15]

template<class T, class E>
Expected& WTF::Expected< T, E >::operator= ( const Expected< T, E > &  e)
inline

◆ operator=() [3/15]

template<class T, class E>
Expected& WTF::Expected< T, E >::operator= ( const Expected< T, E > &  e)
inline

◆ operator=() [4/15]

template<class T, class E>
Expected& WTF::Expected< T, E >::operator= ( Expected< T, E > &&  e)
inline

◆ operator=() [5/15]

template<class T, class E>
Expected& WTF::Expected< T, E >::operator= ( Expected< T, E > &&  e)
inline

◆ operator=() [6/15]

template<class T, class E>
Expected& WTF::Expected< T, E >::operator= ( Expected< T, E > &&  e)
inline

◆ operator=() [7/15]

template<class T, class E>
template<class U >
Expected& WTF::Expected< T, E >::operator= ( U &&  u)
inline

◆ operator=() [8/15]

template<class T, class E>
template<class U >
Expected& WTF::Expected< T, E >::operator= ( U &&  u)
inline

◆ operator=() [9/15]

template<class T, class E>
template<class U >
Expected& WTF::Expected< T, E >::operator= ( U &&  u)
inline

◆ operator=() [10/15]

template<class T, class E>
Expected& WTF::Expected< T, E >::operator= ( const UnexpectedType< ErrorType > &  u)
inline

◆ operator=() [11/15]

template<class T, class E>
Expected& WTF::Expected< T, E >::operator= ( const UnexpectedType< ErrorType > &  u)
inline

◆ operator=() [12/15]

template<class T, class E>
Expected& WTF::Expected< T, E >::operator= ( const UnexpectedType< ErrorType > &  u)
inline

◆ operator=() [13/15]

template<class T, class E>
Expected& WTF::Expected< T, E >::operator= ( UnexpectedType< ErrorType > &&  u)
inline

◆ operator=() [14/15]

template<class T, class E>
Expected& WTF::Expected< T, E >::operator= ( UnexpectedType< ErrorType > &&  u)
inline

◆ operator=() [15/15]

template<class T, class E>
Expected& WTF::Expected< T, E >::operator= ( UnexpectedType< ErrorType > &&  u)
inline

◆ swap() [1/3]

template<class T, class E>
void WTF::Expected< T, E >::swap ( Expected< T, E > &  o)
inline

◆ swap() [2/3]

template<class T, class E>
void WTF::Expected< T, E >::swap ( Expected< T, E > &  o)
inline

◆ swap() [3/3]

template<class T, class E>
void WTF::Expected< T, E >::swap ( Expected< T, E > &  o)
inline

◆ value() [1/12]

template<class T, class E>
constexpr const ValueType& WTF::Expected< T, E >::value ( ) const &
inline

◆ value() [2/12]

template<class T, class E>
constexpr const ValueType& WTF::Expected< T, E >::value ( ) const &
inline

◆ value() [3/12]

template<class T, class E>
constexpr const ValueType& WTF::Expected< T, E >::value ( ) const &
inline

◆ value() [4/12]

template<class T, class E>
RELAXED_CONSTEXPR ValueType& WTF::Expected< T, E >::value ( ) &
inline

◆ value() [5/12]

template<class T, class E>
RELAXED_CONSTEXPR ValueType& WTF::Expected< T, E >::value ( ) &
inline

◆ value() [6/12]

template<class T, class E>
RELAXED_CONSTEXPR ValueType& WTF::Expected< T, E >::value ( ) &
inline

◆ value() [7/12]

template<class T, class E>
constexpr const ValueType&& WTF::Expected< T, E >::value ( ) const &&
inline

◆ value() [8/12]

template<class T, class E>
constexpr const ValueType&& WTF::Expected< T, E >::value ( ) const &&
inline

◆ value() [9/12]

template<class T, class E>
constexpr const ValueType&& WTF::Expected< T, E >::value ( ) const &&
inline

◆ value() [10/12]

template<class T, class E>
RELAXED_CONSTEXPR ValueType&& WTF::Expected< T, E >::value ( ) &&
inline

◆ value() [11/12]

template<class T, class E>
RELAXED_CONSTEXPR ValueType&& WTF::Expected< T, E >::value ( ) &&
inline

◆ value() [12/12]

template<class T, class E>
RELAXED_CONSTEXPR ValueType&& WTF::Expected< T, E >::value ( ) &&
inline

◆ valueOr() [1/6]

template<class T, class E>
template<class U >
constexpr ValueType WTF::Expected< T, E >::valueOr ( U &&  u) const &
inline

◆ valueOr() [2/6]

template<class T, class E>
template<class U >
constexpr ValueType WTF::Expected< T, E >::valueOr ( U &&  u) const &
inline

◆ valueOr() [3/6]

template<class T, class E>
template<class U >
constexpr ValueType WTF::Expected< T, E >::valueOr ( U &&  u) const &
inline

◆ valueOr() [4/6]

template<class T, class E>
template<class U >
ValueType WTF::Expected< T, E >::valueOr ( U &&  u) &&
inline

◆ valueOr() [5/6]

template<class T, class E>
template<class U >
ValueType WTF::Expected< T, E >::valueOr ( U &&  u) &&
inline

◆ valueOr() [6/6]

template<class T, class E>
template<class U >
ValueType WTF::Expected< T, E >::valueOr ( U &&  u) &&
inline

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