Android-cuttlefish cvd tool
Public Member Functions | Private Attributes | List of all members
gfxstream::expected< T, E > Class Template Reference

#include <expected.h>

Public Member Functions

constexpr expected ()=default
 
constexpr expected (const expected &rhs)=default
 
constexpr expected (expected &&rhs)=default
 
template<typename CopyT = T, ENABLE_IF(!std::is_void< CopyT >::value) >
constexpr expected (T &&v)
 
template<class... Args, ENABLE_IF(std::is_constructible< T, Args &&... >::value) >
constexpr expected (std::in_place_t, Args &&... args)
 
constexpr expected (const unexpected< E > &u)
 
template<class OtherE = E, ENABLE_IF(std::is_constructible< E, const OtherE & >::value) >
constexpr expected (const unexpected< OtherE > &e)
 
constexpr const T * operator-> () const
 
constexpr T * operator-> ()
 
constexpr const T & operator* () const &
 
constexpr T & operator* () &
 
constexpr const T && operator* () const &&
 
constexpr T && operator* () &&
 
constexpr bool has_value () const
 
constexpr bool ok () const
 
template<typename T2 = T, ENABLE_IF(!std::is_void< T >::value) >
constexpr const T & value () const &
 
template<typename T2 = T, ENABLE_IF(!std::is_void< T >::value) >
constexpr T & value () &
 
constexpr const T && value () const &&
 
constexpr T && value () &&
 
constexpr const E & error () const &
 
constexpr E & error () &
 
constexpr const E && error () const &&
 
constexpr E && error () &&
 
template<typename F , typename NewE = std::remove_cv_t<std::invoke_result_t<F, E>>>
constexpr expected< T, NewE > transform_error (F &&function)
 

Private Attributes

std::variant< T, E > mVariant
 

Constructor & Destructor Documentation

◆ expected() [1/7]

template<typename T , typename E >
constexpr gfxstream::expected< T, E >::expected ( )
constexprdefault

◆ expected() [2/7]

template<typename T , typename E >
constexpr gfxstream::expected< T, E >::expected ( const expected< T, E > &  rhs)
constexprdefault

◆ expected() [3/7]

template<typename T , typename E >
constexpr gfxstream::expected< T, E >::expected ( expected< T, E > &&  rhs)
constexprdefault

◆ expected() [4/7]

template<typename T , typename E >
template<typename CopyT = T, ENABLE_IF(!std::is_void< CopyT >::value) >
constexpr gfxstream::expected< T, E >::expected ( T &&  v)
inlineconstexpr

◆ expected() [5/7]

template<typename T , typename E >
template<class... Args, ENABLE_IF(std::is_constructible< T, Args &&... >::value) >
constexpr gfxstream::expected< T, E >::expected ( std::in_place_t  ,
Args &&...  args 
)
inlineconstexpr

◆ expected() [6/7]

template<typename T , typename E >
constexpr gfxstream::expected< T, E >::expected ( const unexpected< E > &  u)
inlineconstexpr

◆ expected() [7/7]

template<typename T , typename E >
template<class OtherE = E, ENABLE_IF(std::is_constructible< E, const OtherE & >::value) >
constexpr gfxstream::expected< T, E >::expected ( const unexpected< OtherE > &  e)
inlineconstexpr

Member Function Documentation

◆ error() [1/4]

template<typename T , typename E >
constexpr E & gfxstream::expected< T, E >::error ( ) &
inlineconstexpr

◆ error() [2/4]

template<typename T , typename E >
constexpr E && gfxstream::expected< T, E >::error ( ) &&
inlineconstexpr

◆ error() [3/4]

template<typename T , typename E >
constexpr const E & gfxstream::expected< T, E >::error ( ) const &
inlineconstexpr

◆ error() [4/4]

template<typename T , typename E >
constexpr const E && gfxstream::expected< T, E >::error ( ) const &&
inlineconstexpr

◆ has_value()

template<typename T , typename E >
constexpr bool gfxstream::expected< T, E >::has_value ( ) const
inlineconstexpr

◆ ok()

template<typename T , typename E >
constexpr bool gfxstream::expected< T, E >::ok ( ) const
inlineconstexpr

◆ operator*() [1/4]

template<typename T , typename E >
constexpr T & gfxstream::expected< T, E >::operator* ( ) &
inlineconstexpr

◆ operator*() [2/4]

template<typename T , typename E >
constexpr T && gfxstream::expected< T, E >::operator* ( ) &&
inlineconstexpr

◆ operator*() [3/4]

template<typename T , typename E >
constexpr const T & gfxstream::expected< T, E >::operator* ( ) const &
inlineconstexpr

◆ operator*() [4/4]

template<typename T , typename E >
constexpr const T && gfxstream::expected< T, E >::operator* ( ) const &&
inlineconstexpr

◆ operator->() [1/2]

template<typename T , typename E >
constexpr T * gfxstream::expected< T, E >::operator-> ( )
inlineconstexpr

◆ operator->() [2/2]

template<typename T , typename E >
constexpr const T * gfxstream::expected< T, E >::operator-> ( ) const
inlineconstexpr

◆ transform_error()

template<typename T , typename E >
template<typename F , typename NewE = std::remove_cv_t<std::invoke_result_t<F, E>>>
constexpr expected< T, NewE > gfxstream::expected< T, E >::transform_error ( F &&  function)
inlineconstexpr

◆ value() [1/4]

template<typename T , typename E >
template<typename T2 = T, ENABLE_IF(!std::is_void< T >::value) >
constexpr T & gfxstream::expected< T, E >::value ( ) &
inlineconstexpr

◆ value() [2/4]

template<typename T , typename E >
constexpr T && gfxstream::expected< T, E >::value ( ) &&
inlineconstexpr

◆ value() [3/4]

template<typename T , typename E >
template<typename T2 = T, ENABLE_IF(!std::is_void< T >::value) >
constexpr const T & gfxstream::expected< T, E >::value ( ) const &
inlineconstexpr

◆ value() [4/4]

template<typename T , typename E >
constexpr const T && gfxstream::expected< T, E >::value ( ) const &&
inlineconstexpr

Member Data Documentation

◆ mVariant

template<typename T , typename E >
std::variant<T, E> gfxstream::expected< T, E >::mVariant
private

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