brintos

brintos / llvm-project-archived public Read only

0
0
Text · 994 B · 81a3290 Raw
41 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// <utility>10 11// template <class T1, class T2> struct pair12 13// pair(const pair&) = default;14 15#include <utility>16#include <cassert>17 18#include "test_macros.h"19 20int main(int, char**)21{22    {23        typedef std::pair<int, short> P1;24        P1 p1(3, static_cast<short>(4));25        P1 p2 = p1;26        assert(p2.first == 3);27        assert(p2.second == 4);28    }29#if TEST_STD_VER > 1130    {31        typedef std::pair<int, short> P1;32        constexpr P1 p1(3, static_cast<short>(4));33        constexpr P1 p2 = p1;34        static_assert(p2.first == 3, "");35        static_assert(p2.second == 4, "");36    }37#endif38 39  return 0;40}41