Template Struct expected_storage_base

Inheritance Relationships

Derived Type

Struct Documentation

template<class T, class E, bool = std::is_trivially_destructible<T>::value, bool = std::is_trivially_destructible<E>::value>
struct expected_storage_base

Subclassed by tl::detail::expected_operations_base< T, E >

Public Functions

inline constexpr expected_storage_base()
inline constexpr expected_storage_base(no_init_t)
template<class ...Args, detail::enable_if_t<std::is_constructible<T, Args&&...>::value>* = nullptr>
inline constexpr expected_storage_base(in_place_t, Args&&... args)
template<class U, class ...Args, detail::enable_if_t<std::is_constructible<T, std::initializer_list<U>&, Args&&...>::value>* = nullptr>
inline constexpr expected_storage_base(in_place_t, std::initializer_list<U> il, Args&&... args)
template<class ...Args, detail::enable_if_t<std::is_constructible<E, Args&&...>::value>* = nullptr>
inline explicit constexpr expected_storage_base(unexpect_t, Args&&... args)
template<class U, class ...Args, detail::enable_if_t<std::is_constructible<E, std::initializer_list<U>&, Args&&...>::value>* = nullptr>
inline explicit constexpr expected_storage_base(unexpect_t, std::initializer_list<U> il, Args&&... args)
inline ~expected_storage_base()

Public Members

T m_val
unexpected<E> m_unexpect
char m_no_init
union tl::detail::expected_storage_base::[anonymous] [anonymous]
bool m_has_val