IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
ice::Expected< Value, ErrorType > Class Template Reference

#include <ice/expected.hxx>

Public Member Functions

 Expected () noexcept
 Expected (ErrorType error) noexcept
template<typename OtherValue>
requires (std::is_convertible_v<OtherValue, Value>)
 Expected (OtherValue &&value) noexcept
 Expected (Expected &&other) noexcept
template<typename OtherValue>
requires (std::is_convertible_v<OtherValue, Value>) (std::is_nothrow_move_assignable_v<Value>)
auto operator= (OtherValue &&value) noexcept -> Expected &
auto operator= (ErrorType error) noexcept -> Expected &
auto operator= (Expected &&other) noexcept -> Expected &
 ~Expected () noexcept
bool valid () const noexcept
bool succeeded () const noexcept
bool failed () const noexcept
template<typename Self>
auto value (this Self &&self) noexcept -> auto &&
auto error () const noexcept -> ErrorType
bool operator== (ErrorType error) const noexcept
 operator bool () const noexcept
 operator Value & () &noexcept
 operator Value && () &&noexcept

Constructor & Destructor Documentation

◆ Expected() [1/4]

template<typename Value, typename ErrorType = ice::ErrorCode>
ice::Expected< Value, ErrorType >::Expected ( )
inlinenoexcept

◆ Expected() [2/4]

template<typename Value, typename ErrorType = ice::ErrorCode>
ice::Expected< Value, ErrorType >::Expected ( ErrorType error)
inlinenoexcept

◆ Expected() [3/4]

template<typename Value, typename ErrorType = ice::ErrorCode>
template<typename OtherValue>
requires (std::is_convertible_v<OtherValue, Value>)
ice::Expected< Value, ErrorType >::Expected ( OtherValue && value)
inlinenoexcept

◆ Expected() [4/4]

template<typename Value, typename ErrorType = ice::ErrorCode>
ice::Expected< Value, ErrorType >::Expected ( Expected< Value, ErrorType > && other)
inlinenoexcept

◆ ~Expected()

template<typename Value, typename ErrorType = ice::ErrorCode>
ice::Expected< Value, ErrorType >::~Expected ( )
inlinenoexcept

Member Function Documentation

◆ error()

template<typename Value, typename ErrorType = ice::ErrorCode>
auto ice::Expected< Value, ErrorType >::error ( ) const -> ErrorType
inlinenoexcept

◆ failed()

template<typename Value, typename ErrorType = ice::ErrorCode>
bool ice::Expected< Value, ErrorType >::failed ( ) const
inlinenoexcept

◆ operator bool()

template<typename Value, typename ErrorType = ice::ErrorCode>
ice::Expected< Value, ErrorType >::operator bool ( ) const
inlineexplicitnoexcept

◆ operator Value &()

template<typename Value, typename ErrorType = ice::ErrorCode>
ice::Expected< Value, ErrorType >::operator Value & ( ) &
inlinenoexcept

◆ operator Value &&()

template<typename Value, typename ErrorType = ice::ErrorCode>
ice::Expected< Value, ErrorType >::operator Value && ( ) &&
inlinenoexcept

◆ operator=() [1/3]

template<typename Value, typename ErrorType = ice::ErrorCode>
auto ice::Expected< Value, ErrorType >::operator= ( ErrorType error) -> Expected &
inlinenoexcept

◆ operator=() [2/3]

template<typename Value, typename ErrorType = ice::ErrorCode>
auto ice::Expected< Value, ErrorType >::operator= ( Expected< Value, ErrorType > && other) -> Expected &
inlinenoexcept

◆ operator=() [3/3]

template<typename Value, typename ErrorType = ice::ErrorCode>
template<typename OtherValue>
requires (std::is_convertible_v<OtherValue, Value>) (std::is_nothrow_move_assignable_v<Value>)
auto ice::Expected< Value, ErrorType >::operator= ( OtherValue && value) -> Expected &
inlinenoexcept

◆ operator==()

template<typename Value, typename ErrorType = ice::ErrorCode>
bool ice::Expected< Value, ErrorType >::operator== ( ErrorType error) const
inlinenoexcept

◆ succeeded()

template<typename Value, typename ErrorType = ice::ErrorCode>
bool ice::Expected< Value, ErrorType >::succeeded ( ) const
inlinenoexcept

◆ valid()

template<typename Value, typename ErrorType = ice::ErrorCode>
bool ice::Expected< Value, ErrorType >::valid ( ) const
inlinenoexcept

◆ value()

template<typename Value, typename ErrorType = ice::ErrorCode>
template<typename Self>
auto ice::Expected< Value, ErrorType >::value ( this Self && self) -> auto &&
inlinenoexcept

Member Data Documentation

◆ _error

template<typename Value, typename ErrorType = ice::ErrorCode>
ErrorType ice::Expected< Value, ErrorType >::_error

◆ _value

template<typename Value, typename ErrorType = ice::ErrorCode>
Value ice::Expected< Value, ErrorType >::_value

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