MySQL 26.7.0
Source Code Documentation
ut::Expected< T, E > Class Template Reference

C++23 std::expected. More...

#include <ut0expected.h>

Inheritance diagram for ut::Expected< T, E >:
[legend]

Public Types

using value_type = T
 
using error_type = E
 

Public Member Functions

constexpr Expected (Expected &&other) noexcept
 
template<typename U = std::remove_cv_t<T>>
constexpr explicit (!std::is_convertible_v< U, T >) Expected(U &&u) noexcept
 
template<class U >
constexpr Expected (Unexpected< U > &&u)
 
constexpr const Toperator-> () const noexcept
 
constexpr Toperator-> () noexcept
 
constexpr const Toperator* () const &noexcept
 
constexpr Toperator* () &noexcept
 
constexpr const T && operator* () const &&noexcept
 
constexpr T && operator* () &&noexcept
 
constexpr operator bool () const noexcept
 
constexpr bool has_value () const noexcept
 
constexpr const Tvalue () const &
 
constexpr Tvalue () &
 
constexpr const T && value () const &&
 
constexpr T && value () &&
 
constexpr const E & error () const &noexcept
 
constexpr E & error () &noexcept
 
constexpr const E && error () const &&noexcept
 
constexpr E && error () &&noexcept
 

Detailed Description

template<class T, class E = dberr_t>
class ut::Expected< T, E >

C++23 std::expected.

Member Typedef Documentation

◆ error_type

template<class T , class E = dberr_t>
using ut::Expected< T, E >::error_type = E

◆ value_type

template<class T , class E = dberr_t>
using ut::Expected< T, E >::value_type = T

Constructor & Destructor Documentation

◆ Expected() [1/2]

template<class T , class E = dberr_t>
constexpr ut::Expected< T, E >::Expected ( Expected< T, E > &&  other)
inlineconstexprnoexcept

◆ Expected() [2/2]

template<class T , class E = dberr_t>
template<class U >
constexpr ut::Expected< T, E >::Expected ( Unexpected< U > &&  u)
inlineconstexpr

Member Function Documentation

◆ error() [1/4]

template<class T , class E = dberr_t>
constexpr E && ut::Expected< T, E >::error ( ) &&
inlineconstexprnoexcept

◆ error() [2/4]

template<class T , class E = dberr_t>
constexpr E & ut::Expected< T, E >::error ( ) &
inlineconstexprnoexcept

◆ error() [3/4]

template<class T , class E = dberr_t>
constexpr const E && ut::Expected< T, E >::error ( ) const &&
inlineconstexprnoexcept

◆ error() [4/4]

template<class T , class E = dberr_t>
constexpr const E & ut::Expected< T, E >::error ( ) const &
inlineconstexprnoexcept

◆ explicit()

template<class T , class E = dberr_t>
template<typename U = std::remove_cv_t<T>>
constexpr ut::Expected< T, E >::explicit ( !std::is_convertible_v< U, T ) &&
inlineconstexprnoexcept

◆ has_value()

template<class T , class E = dberr_t>
constexpr bool ut::Expected< T, E >::has_value ( ) const
inlineconstexprnoexcept

◆ operator bool()

template<class T , class E = dberr_t>
constexpr ut::Expected< T, E >::operator bool ( ) const
inlineexplicitconstexprnoexcept

◆ operator*() [1/4]

template<class T , class E = dberr_t>
constexpr T && ut::Expected< T, E >::operator* ( ) &&
inlineconstexprnoexcept

◆ operator*() [2/4]

template<class T , class E = dberr_t>
constexpr T & ut::Expected< T, E >::operator* ( ) &
inlineconstexprnoexcept

◆ operator*() [3/4]

template<class T , class E = dberr_t>
constexpr const T && ut::Expected< T, E >::operator* ( ) const &&
inlineconstexprnoexcept

◆ operator*() [4/4]

template<class T , class E = dberr_t>
constexpr const T & ut::Expected< T, E >::operator* ( ) const &
inlineconstexprnoexcept

◆ operator->() [1/2]

template<class T , class E = dberr_t>
constexpr const T * ut::Expected< T, E >::operator-> ( ) const
inlineconstexprnoexcept

◆ operator->() [2/2]

template<class T , class E = dberr_t>
constexpr T * ut::Expected< T, E >::operator-> ( )
inlineconstexprnoexcept

◆ value() [1/4]

template<class T , class E = dberr_t>
constexpr T & ut::Expected< T, E >::value ( ) &
inlineconstexpr

◆ value() [2/4]

template<class T , class E = dberr_t>
constexpr T && ut::Expected< T, E >::value ( ) &&
inlineconstexpr

◆ value() [3/4]

template<class T , class E = dberr_t>
constexpr const T & ut::Expected< T, E >::value ( ) const &
inlineconstexpr

◆ value() [4/4]

template<class T , class E = dberr_t>
constexpr const T && ut::Expected< T, E >::value ( ) const &&
inlineconstexpr

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