WPILibC++ 2024.3.2
wpi::detail::expected_storage_base< T, E, bool, bool > Struct Template Reference
Inheritance diagram for wpi::detail::expected_storage_base< T, E, bool, bool >:
wpi::detail::expected_operations_base< T, E > wpi::detail::expected_copy_base< T, E, bool > wpi::detail::expected_copy_base< T, E, false > wpi::detail::expected_move_base< T, E, bool > wpi::detail::expected_move_base< T, E, false > wpi::detail::expected_copy_assign_base< T, E, bool > wpi::detail::expected_copy_assign_base< T, E, false > wpi::detail::expected_move_assign_base< T, E, bool > wpi::detail::expected_move_assign_base< T, E, false > wpi::expected< T, E >

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
 

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>
constexpr wpi::detail::expected_storage_base< T, E, bool, bool >::expected_storage_base ( )
inlineconstexpr

◆ expected_storage_base() [2/6]

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

◆ 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>
constexpr wpi::detail::expected_storage_base< T, E, bool, bool >::expected_storage_base ( in_place_t  ,
Args &&...  args 
)
inlineconstexpr

◆ 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>
constexpr wpi::detail::expected_storage_base< T, E, bool, bool >::expected_storage_base ( in_place_t  ,
std::initializer_list< U >  il,
Args &&...  args 
)
inlineconstexpr

◆ 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>
constexpr wpi::detail::expected_storage_base< T, E, bool, bool >::expected_storage_base ( unexpect_t  ,
Args &&...  args 
)
inlineexplicitconstexpr

◆ 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>
constexpr wpi::detail::expected_storage_base< T, E, bool, bool >::expected_storage_base ( unexpect_t  ,
std::initializer_list< U >  il,
Args &&...  args 
)
inlineexplicitconstexpr

◆ ~expected_storage_base()

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

Member Data Documentation

◆ 

union { ... } wpi::detail::expected_storage_base< T, E, bool, bool >::@25

◆ m_has_val

template<class T , class E , bool = std::is_trivially_destructible<T>::value, bool = std::is_trivially_destructible<E>::value>
bool wpi::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 wpi::detail::expected_storage_base< T, E, bool, bool >::m_no_init

◆ m_unexpect

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

◆ m_val

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

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