|
|
@@ -18,8 +18,7 @@ struct compressed_pair_element {
|
|
|
using reference = Type &;
|
|
|
using const_reference = const Type &;
|
|
|
|
|
|
- template<bool Dummy = true, typename = std::enable_if_t<Dummy && std::is_default_constructible_v<Type>>>
|
|
|
- constexpr compressed_pair_element() noexcept(std::is_nothrow_default_constructible_v<Type>) {}
|
|
|
+ constexpr compressed_pair_element() noexcept(std::is_nothrow_default_constructible_v<Type>) = default;
|
|
|
|
|
|
template<typename Arg, typename = std::enable_if_t<!std::is_same_v<std::remove_cv_t<std::remove_reference_t<Arg>>, compressed_pair_element>>>
|
|
|
constexpr compressed_pair_element(Arg &&arg) noexcept(std::is_nothrow_constructible_v<Type, Arg>)
|
|
|
@@ -47,9 +46,7 @@ struct compressed_pair_element<Type, Tag, std::enable_if_t<is_ebco_eligible_v<Ty
|
|
|
using const_reference = const Type &;
|
|
|
using base_type = Type;
|
|
|
|
|
|
- template<bool Dummy = true, typename = std::enable_if_t<Dummy && std::is_default_constructible_v<base_type>>>
|
|
|
- constexpr compressed_pair_element() noexcept(std::is_nothrow_default_constructible_v<base_type>)
|
|
|
- : base_type{} {}
|
|
|
+ constexpr compressed_pair_element() noexcept(std::is_nothrow_default_constructible_v<base_type>) = default;
|
|
|
|
|
|
template<typename Arg, typename = std::enable_if_t<!std::is_same_v<std::remove_cv_t<std::remove_reference_t<Arg>>, compressed_pair_element>>>
|
|
|
constexpr compressed_pair_element(Arg &&arg) noexcept(std::is_nothrow_constructible_v<base_type, Arg>)
|