|
| 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, typename>
class entt::compressed_pair< typename, typename >
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 20 of file fwd.hpp.
template<typename , typename >
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 , typename >
template<typename... Args, typename... Other>
| entt::compressed_pair< typename, typename >::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.