|
template<bool Dummy = true, typename = std::enable_if_t<Dummy && std::is_default_constructible_v<first_type> && std::is_default_constructible_v<second_type>>> |
constexpr | compressed_pair () noexcept(std::is_nothrow_default_constructible_v< first_base > &&std::is_nothrow_default_constructible_v< second_base >) |
| Default constructor, conditionally enabled.
|
|
constexpr | compressed_pair (const compressed_pair &other)=default |
| Copy constructor.
|
|
constexpr | compressed_pair (compressed_pair &&other) noexcept=default |
| Move constructor.
|
|
template<typename Arg, typename Other> |
constexpr | compressed_pair (Arg &&arg, Other &&other) noexcept(std::is_nothrow_constructible_v< first_base, Arg > &&std::is_nothrow_constructible_v< second_base, Other >) |
| Constructs a pair from its values.
|
|
template<typename... Args, typename... Other> |
constexpr | compressed_pair (std::piecewise_construct_t, std::tuple< Args... > args, std::tuple< Other... > other) noexcept(std::is_nothrow_constructible_v< first_base, Args... > &&std::is_nothrow_constructible_v< second_base, Other... >) |
| Constructs a pair by forwarding the arguments to its parts.
|
|
| ~compressed_pair ()=default |
| Default destructor.
|
|
constexpr compressed_pair & | operator= (const compressed_pair &other)=default |
| Copy assignment operator.
|
|
constexpr compressed_pair & | operator= (compressed_pair &&other) noexcept=default |
| Move assignment operator.
|
|
constexpr first_type & | first () noexcept |
| Returns the first element that a pair stores.
|
|
constexpr const first_type & | first () const noexcept |
| Returns the first element that a pair stores.
|
|
constexpr second_type & | second () noexcept |
| Returns the second element that a pair stores.
|
|
constexpr const second_type & | second () const noexcept |
| Returns the second element that a pair stores.
|
|
constexpr void | swap (compressed_pair &other) noexcept |
| Swaps two compressed pair objects.
|
|
template<std::size_t Index> |
constexpr decltype(auto) | get () noexcept |
| Extracts an element from the compressed pair.
|
|
template<std::size_t Index> |
constexpr decltype(auto) | get () const noexcept |
| Extracts an element from the compressed pair.
|
|
template<typename First, typename Second>
class entt::compressed_pair< First, Second >
A compressed pair.
A pair that exploits the Empty Base Class Optimization (or EBCO) to reduce its final size to a minimum.
- Template Parameters
-
First | The type of the first element that the pair stores. |
Second | The type of the second element that the pair stores. |
Definition at line 85 of file compressed_pair.hpp.
template<typename First, typename Second>
template<bool Dummy = true, typename = std::enable_if_t<Dummy && std::is_default_constructible_v<first_type> && std::is_default_constructible_v<second_type>>>
Default constructor, conditionally enabled.
This constructor is only available when the types that the pair stores are both at least default constructible.
- Template Parameters
-
Dummy | Dummy template parameter used for internal purposes. |
Definition at line 106 of file compressed_pair.hpp.
template<typename First, typename Second>
template<typename... Args, typename... Other>
entt::compressed_pair< First, Second >::compressed_pair |
( |
std::piecewise_construct_t | , |
|
|
std::tuple< Args... > | args, |
|
|
std::tuple< Other... > | other ) |
|
inlineconstexprnoexcept |
Constructs a pair by forwarding the arguments to its parts.
- Template Parameters
-
Args | Types of arguments to use to initialize the first element. |
Other | Types of arguments to use to initialize the second element. |
- Parameters
-
args | Arguments to use to initialize the first element. |
other | Arguments to use to initialize the second element. |
Definition at line 142 of file compressed_pair.hpp.