![]() |
Arene Base
Fundamental Utilities For Safety Critical C++
|
A class to hold an instance of a type that is likely to be empty, such as a comparator or allocator, making use of the empty base class optimization if possible. More...

Public Types | |
| using | value_type = Value |
| The type held by the EBO holder. | |
Public Member Functions | |
| template<class T = Value, constraints< std::enable_if_t< std::is_default_constructible< T >::value > > = nullptr> | |
| constexpr | ebo_holder () noexcept(std::is_nothrow_default_constructible< T >::value) |
| default constructor | |
| template<class... Args, constraints< std::enable_if_t< std::is_constructible< Value, Args &&... >::value >, std::enable_if_t< !std::is_same< type_list< ebo_holder >, type_list< remove_cvref_t< Args >... > >::value > > = nullptr> | |
| constexpr | ebo_holder (Args &&... args) noexcept(std::is_nothrow_constructible< Value, Args &&... >::value) |
| in-place constructor | |
| ARENE_IGNORE_ARMCLANG ("-Wimplicit-int-float-conversion", "This type supports the same conversions as the Value") | |
| ARENE_IGNORE_END () | |
| ARENE_IGNORE_START () | |
| constexpr auto | get_value (Tag) &&noexcept -> value_type && |
| Get the value. | |
| constexpr auto | get_value (Tag) &noexcept -> value_type & |
| Get the value. | |
| constexpr auto | get_value (Tag) const &&noexcept -> value_type const && |
| Get the value. | |
| constexpr auto | get_value (Tag) const &noexcept -> value_type const & |
| Get the value. | |
A class to hold an instance of a type that is likely to be empty, such as a comparator or allocator, making use of the empty base class optimization if possible.
| Tag | A tag type to indicate this instance, for classes that have multiple values to hold |
| Value | The type of the value to hold |
| using arene::base::ebo_holder< Tag, Value, bool >::value_type = Value |
The type held by the EBO holder.
|
inlineconstexprnoexcept |
default constructor
| T | template parameter used to check constraints |
Value initializes the contained value.
|
inlineexplicitconstexprnoexcept |
in-place constructor
| Args | types to construct from |
| args | arguments to construct from |
Constructs value from args.
| arene::base::ebo_holder< Tag, Value, bool >::ARENE_IGNORE_ARMCLANG | ( | "-Wimplicit-int-float-conversion" | , |
| "This type supports the same conversions as the Value" | ) |
| arene::base::ebo_holder< Tag, Value, bool >::ARENE_IGNORE_END | ( | ) |
| arene::base::ebo_holder< Tag, Value, bool >::ARENE_IGNORE_START | ( | ) |
|
inlineconstexprnoexcept |
Get the value.
|
inlineconstexprnoexcept |
Get the value.
|
inlineconstexprnoexcept |
Get the value.
|
inlineconstexprnoexcept |
Get the value.