Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
q23::detail::expected_storage_base< T, E, bool, bool > Struct Template Reference

#include <qexpected_p.h>

Inheritance diagram for q23::detail::expected_storage_base< T, E, bool, bool >:
Collaboration diagram for q23::detail::expected_storage_base< T, E, bool, bool >:

Public Member Functions

constexpr expected_storage_base ()
constexpr expected_storage_base (no_init_t)
template<class... Args, detail::enable_if_t< std::is_constructible< T, Args &&... >::value > * = nullptr>
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>
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>
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>
constexpr expected_storage_base (unexpect_t, std::initializer_list< U > il, Args &&...args)
 ~expected_storage_base ()

Public Attributes

union { 
   T   m_val 
   unexpected< E >   m_unexpect 
   char   m_no_init 
}; 
bool m_has_val

Detailed Description

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

Definition at line 484 of file qexpected_p.h.

Constructor & Destructor Documentation

◆ expected_storage_base() [1/6]

template<class T, class E, bool = std::is_trivially_destructible<T>::value, bool = std::is_trivially_destructible<E>::value>
q23::detail::expected_storage_base< T, E, bool, bool >::expected_storage_base ( )
inlineconstexpr

Definition at line 485 of file qexpected_p.h.

References m_val.

◆ expected_storage_base() [2/6]

template<class T, class E, bool = std::is_trivially_destructible<T>::value, bool = std::is_trivially_destructible<E>::value>
q23::detail::expected_storage_base< T, E, bool, bool >::expected_storage_base ( no_init_t )
inlineconstexpr

Definition at line 486 of file qexpected_p.h.

References m_has_val, and m_no_init.

◆ expected_storage_base() [3/6]

template<class T, class E, bool = std::is_trivially_destructible<T>::value, bool = std::is_trivially_destructible<E>::value>
template<class... Args, detail::enable_if_t< std::is_constructible< T, Args &&... >::value > * = nullptr>
q23::detail::expected_storage_base< T, E, bool, bool >::expected_storage_base ( in_place_t ,
Args &&... args )
inlineconstexpr

Definition at line 491 of file qexpected_p.h.

References m_has_val, and m_val.

◆ expected_storage_base() [4/6]

template<class T, class E, bool = std::is_trivially_destructible<T>::value, bool = std::is_trivially_destructible<E>::value>
template<class U, class... Args, detail::enable_if_t< std::is_constructible< T, std::initializer_list< U > &, Args &&... >::value > * = nullptr>
q23::detail::expected_storage_base< T, E, bool, bool >::expected_storage_base ( in_place_t ,
std::initializer_list< U > il,
Args &&... args )
inlineconstexpr

Definition at line 497 of file qexpected_p.h.

References m_has_val, and m_val.

◆ expected_storage_base() [5/6]

template<class T, class E, bool = std::is_trivially_destructible<T>::value, bool = std::is_trivially_destructible<E>::value>
template<class... Args, detail::enable_if_t< std::is_constructible< E, Args &&... >::value > * = nullptr>
q23::detail::expected_storage_base< T, E, bool, bool >::expected_storage_base ( unexpect_t ,
Args &&... args )
inlineexplicitconstexpr

Definition at line 503 of file qexpected_p.h.

References q23::in_place, m_has_val, and m_unexpect.

◆ expected_storage_base() [6/6]

template<class T, class E, bool = std::is_trivially_destructible<T>::value, bool = std::is_trivially_destructible<E>::value>
template<class U, class... Args, detail::enable_if_t< std::is_constructible< E, std::initializer_list< U > &, Args &&... >::value > * = nullptr>
q23::detail::expected_storage_base< T, E, bool, bool >::expected_storage_base ( unexpect_t ,
std::initializer_list< U > il,
Args &&... args )
inlineexplicitconstexpr

Definition at line 509 of file qexpected_p.h.

References q23::in_place, m_has_val, and m_unexpect.

◆ ~expected_storage_base()

template<class T, class E, bool = std::is_trivially_destructible<T>::value, bool = std::is_trivially_destructible<E>::value>
q23::detail::expected_storage_base< T, E, bool, bool >::~expected_storage_base ( )
inline

Definition at line 514 of file qexpected_p.h.

References m_has_val.

Member Data Documentation

◆ [union]

union { ... } q23::detail::expected_storage_base< T, E, bool, bool >

◆ m_has_val

template<class T, class E, bool = std::is_trivially_destructible<T>::value, bool = std::is_trivially_destructible<E>::value>
bool q23::detail::expected_storage_base< T, E, bool, bool >::m_has_val

◆ m_no_init

template<class T, class E, bool = std::is_trivially_destructible<T>::value, bool = std::is_trivially_destructible<E>::value>
char q23::detail::expected_storage_base< T, E, bool, bool >::m_no_init

Definition at line 524 of file qexpected_p.h.

Referenced by expected_storage_base().

◆ m_unexpect

template<class T, class E, bool = std::is_trivially_destructible<T>::value, bool = std::is_trivially_destructible<E>::value>
unexpected<E> q23::detail::expected_storage_base< T, E, bool, bool >::m_unexpect

Definition at line 523 of file qexpected_p.h.

Referenced by expected_storage_base(), and expected_storage_base().

◆ m_val

template<class T, class E, bool = std::is_trivially_destructible<T>::value, bool = std::is_trivially_destructible<E>::value>
T q23::detail::expected_storage_base< T, E, bool, bool >::m_val

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