LIEF: Library to Instrument Executable Formats Version 1.0.0
Loading...
Searching...
No Matches
tl Namespace Reference

Namespaces

namespace  detail

Classes

class  expected
 An expected<T, E> object is an object that contains the storage for another object and manages the lifetime of this contained object T. Alternatively it could contain the storage for another unexpected object E. The contained object may not be initialized after the expected object has been initialized, and may not be destroyed before the expected object has been destroyed. The initialization state of the contained object is tracked by the expected object. More...
class  monostate
struct  in_place_t
class  unexpected
struct  unexpect_t
class  bad_expected_access

Functions

template<class E>
constexpr bool operator== (const unexpected< E > &lhs, const unexpected< E > &rhs)
template<class E>
constexpr bool operator!= (const unexpected< E > &lhs, const unexpected< E > &rhs)
template<class E>
constexpr bool operator< (const unexpected< E > &lhs, const unexpected< E > &rhs)
template<class E>
constexpr bool operator<= (const unexpected< E > &lhs, const unexpected< E > &rhs)
template<class E>
constexpr bool operator> (const unexpected< E > &lhs, const unexpected< E > &rhs)
template<class E>
constexpr bool operator>= (const unexpected< E > &lhs, const unexpected< E > &rhs)
template<class E>
unexpected< typename std::decay< E >::type > make_unexpected (E &&e)
template<class T, class E, class U, class F>
constexpr bool operator== (const expected< T, E > &lhs, const expected< U, F > &rhs)
template<class T, class E, class U, class F>
constexpr bool operator!= (const expected< T, E > &lhs, const expected< U, F > &rhs)
template<class E, class F>
constexpr bool operator== (const expected< void, E > &lhs, const expected< void, F > &rhs)
template<class E, class F>
constexpr bool operator!= (const expected< void, E > &lhs, const expected< void, F > &rhs)
template<class T, class E, class U>
constexpr bool operator== (const expected< T, E > &x, const U &v)
template<class T, class E, class U>
constexpr bool operator== (const U &v, const expected< T, E > &x)
template<class T, class E, class U>
constexpr bool operator!= (const expected< T, E > &x, const U &v)
template<class T, class E, class U>
constexpr bool operator!= (const U &v, const expected< T, E > &x)
template<class T, class E>
constexpr bool operator== (const expected< T, E > &x, const unexpected< E > &e)
template<class T, class E>
constexpr bool operator== (const unexpected< E > &e, const expected< T, E > &x)
template<class T, class E>
constexpr bool operator!= (const expected< T, E > &x, const unexpected< E > &e)
template<class T, class E>
constexpr bool operator!= (const unexpected< E > &e, const expected< T, E > &x)
template<class T, class E, detail::enable_if_t<(std::is_void< T >::value||std::is_move_constructible< T >::value) &&detail::is_swappable< T >::value &&std::is_move_constructible< E >::value &&detail::is_swappable< E >::value > * = nullptr>
void swap (expected< T, E > &lhs, expected< T, E > &rhs) noexcept(noexcept(lhs.swap(rhs)))

Function Documentation

◆ make_unexpected()

template<class E>
unexpected< typename std::decay< E >::type > tl::make_unexpected ( E && e)

Referenced by make_error_code().

◆ operator!=() [1/7]

template<class T, class E, class U, class F>
bool tl::operator!= ( const expected< T, E > & lhs,
const expected< U, F > & rhs )
constexpr

◆ operator!=() [2/7]

template<class T, class E, class U>
bool tl::operator!= ( const expected< T, E > & x,
const U & v )
constexpr

◆ operator!=() [3/7]

template<class T, class E>
bool tl::operator!= ( const expected< T, E > & x,
const unexpected< E > & e )
constexpr

◆ operator!=() [4/7]

template<class E, class F>
bool tl::operator!= ( const expected< void, E > & lhs,
const expected< void, F > & rhs )
constexpr

◆ operator!=() [5/7]

template<class T, class E, class U>
bool tl::operator!= ( const U & v,
const expected< T, E > & x )
constexpr

◆ operator!=() [6/7]

template<class T, class E>
bool tl::operator!= ( const unexpected< E > & e,
const expected< T, E > & x )
constexpr

◆ operator!=() [7/7]

template<class E>
bool tl::operator!= ( const unexpected< E > & lhs,
const unexpected< E > & rhs )
constexpr

◆ operator<()

template<class E>
bool tl::operator< ( const unexpected< E > & lhs,
const unexpected< E > & rhs )
constexpr

◆ operator<=()

template<class E>
bool tl::operator<= ( const unexpected< E > & lhs,
const unexpected< E > & rhs )
constexpr

◆ operator==() [1/7]

template<class T, class E, class U, class F>
bool tl::operator== ( const expected< T, E > & lhs,
const expected< U, F > & rhs )
constexpr

◆ operator==() [2/7]

template<class T, class E, class U>
bool tl::operator== ( const expected< T, E > & x,
const U & v )
constexpr

◆ operator==() [3/7]

template<class T, class E>
bool tl::operator== ( const expected< T, E > & x,
const unexpected< E > & e )
constexpr

◆ operator==() [4/7]

template<class E, class F>
bool tl::operator== ( const expected< void, E > & lhs,
const expected< void, F > & rhs )
constexpr

◆ operator==() [5/7]

template<class T, class E, class U>
bool tl::operator== ( const U & v,
const expected< T, E > & x )
constexpr

◆ operator==() [6/7]

template<class T, class E>
bool tl::operator== ( const unexpected< E > & e,
const expected< T, E > & x )
constexpr

◆ operator==() [7/7]

template<class E>
bool tl::operator== ( const unexpected< E > & lhs,
const unexpected< E > & rhs )
constexpr

◆ operator>()

template<class E>
bool tl::operator> ( const unexpected< E > & lhs,
const unexpected< E > & rhs )
constexpr

◆ operator>=()

template<class E>
bool tl::operator>= ( const unexpected< E > & lhs,
const unexpected< E > & rhs )
constexpr

◆ swap()

template<class T, class E, detail::enable_if_t<(std::is_void< T >::value||std::is_move_constructible< T >::value) &&detail::is_swappable< T >::value &&std::is_move_constructible< E >::value &&detail::is_swappable< E >::value > * = nullptr>
void tl::swap ( expected< T, E > & lhs,
expected< T, E > & rhs )
noexcept

References tl::expected< T, E >::swap(), and swap().

Referenced by swap().