//===----------------------------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // UNSUPPORTED: c++98, c++03 // // template struct pair // template // pair(piecewise_construct_t, tuple first_args, // tuple second_args); #include #include #include #include "test_macros.h" int main(int, char**) { { typedef std::pair P1; typedef std::pair P2; typedef std::pair P3; P3 p3(std::piecewise_construct, std::tuple(3, nullptr), std::tuple(nullptr, 4)); assert(p3.first == P1(3, nullptr)); assert(p3.second == P2(nullptr, 4)); } return 0; }