| 587 | typename = typename std::enable_if<std::is_default_constructible<U1>::value && |
| 588 | std::is_default_constructible<U2>::value>::type> |
| 589 | constexpr pair() noexcept(noexcept(U1()) && noexcept(U2())) |
| 590 | : first() |
| 591 | , second() {} |
| 592 | |
| 593 | // pair constructors are explicit so we don't accidentally call this ctor when we don't have to. |
| 594 | explicit constexpr pair(std::pair<T1, T2> const& o) noexcept( |