iceberg-cpp
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
iceberg::expected_detail::storage_base< T, E, bool > Struct Template Reference
Inheritance diagram for iceberg::expected_detail::storage_base< T, E, bool >:
iceberg::expected_detail::operations_base< void, E > iceberg::expected_detail::operations_base< T, E > iceberg::expected_detail::copy_ctor_base< void, E > iceberg::expected_detail::copy_ctor_base< T, E, Enabled, Trivially > iceberg::expected_detail::copy_ctor_base< T, E, false, false > iceberg::expected_detail::copy_ctor_base< T, E, true, false > iceberg::expected_detail::move_ctor_base< void, E > iceberg::expected_detail::move_ctor_base< T, E, Enabled, Trivially > iceberg::expected_detail::move_ctor_base< T, E, false, false > iceberg::expected_detail::move_ctor_base< T, E, true, false > iceberg::expected_detail::copy_assign_base< void, E, true, false > iceberg::expected_detail::copy_assign_base< void, E > iceberg::expected_detail::copy_assign_base< T, E, Enabled, Trivially > iceberg::expected_detail::copy_assign_base< T, E, false, false > iceberg::expected_detail::copy_assign_base< T, E, true, false > iceberg::expected_detail::move_assign_base< void, E, true, false > iceberg::expected_detail::move_assign_base< void, E > iceberg::expected_detail::move_assign_base< T, E, Enabled, Trivially > iceberg::expected_detail::move_assign_base< T, E, false, false > iceberg::expected_detail::move_assign_base< T, E, true, false > iceberg::expected< void, E > iceberg::expected< T > iceberg::expected< T, E >

Public Member Functions

 storage_base (storage_base const &)=default
 
 storage_base (storage_base &&)=default
 
storage_base & operator= (storage_base const &)=default
 
storage_base & operator= (storage_base &&)=default
 
template<class Rhs >
constexpr storage_base (construct_from_expected_t, Rhs &&rhs) noexcept(std::is_nothrow_constructible_v< T, decltype(expected_detail::expected_source_value(std::declval< Rhs >()))> &&std::is_nothrow_constructible_v< E, decltype(expected_detail::expected_source_error(std::declval< Rhs >()))>)
 
template<class... Args, std::enable_if_t< std::is_constructible_v< T, Args &&... > > * = nullptr>
constexpr storage_base (std::in_place_t, Args &&... args) noexcept(noexcept(T(std::forward< Args >(args)...)))
 
template<class U , class... Args, std::enable_if_t< std::is_constructible_v< T, std::initializer_list< U > &, Args &&... > > * = nullptr>
constexpr storage_base (std::in_place_t, std::initializer_list< U > il, Args &&... args) noexcept(noexcept(T(il, std::forward< Args >(args)...)))
 
template<class... Args, std::enable_if_t< std::is_constructible_v< E, Args &&... > > * = nullptr>
constexpr storage_base (unexpect_t, Args &&... args) noexcept(noexcept(E(std::forward< Args >(args)...)))
 
template<class U , class... Args, std::enable_if_t< std::is_constructible_v< E, std::initializer_list< U > &, Args &&... > > * = nullptr>
constexpr storage_base (unexpect_t, std::initializer_list< U > il, Args &&... args) noexcept(noexcept(E(il, std::forward< Args >(args)...)))
 
template<class Fn , class... Args>
constexpr storage_base (construct_with_invoke_result_t, Fn &&func, Args &&... args) noexcept(noexcept(static_cast< T >(std::invoke(std::forward< Fn >(func), std::forward< Args >(args)...))))
 
template<class Fn , class... Args>
constexpr storage_base (construct_with_invoke_result_t, unexpect_t, Fn &&func, Args &&... args) noexcept(noexcept(static_cast< E >(std::invoke(std::forward< Fn >(func), std::forward< Args >(args)...))))
 

Public Attributes

union { 
 
   T   m_val 
 
   E   m_unexpect 
 
   char   m_dummy 
 
};  
 
bool m_has_val
 

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