1
//===----------------------------------------------------------------------===//
3
// The LLVM Compiler Infrastructure
5
// This file is dual licensed under the MIT and the University of Illinois Open
6
// Source Licenses. See LICENSE.TXT for details.
8
//===----------------------------------------------------------------------===//
12
// template <class T1, class T2> pair<V1, V2> make_pair(T1&&, T2&&);
21
typedef std::pair<int, short> P1;
22
P1 p1 = std::make_pair(3, 4);
23
assert(p1.first == 3);
24
assert(p1.second == 4);
26
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
28
typedef std::pair<std::unique_ptr<int>, short> P1;
29
P1 p1 = std::make_pair(std::unique_ptr<int>(new int(3)), 4);
30
assert(*p1.first == 3);
31
assert(p1.second == 4);
34
typedef std::pair<std::unique_ptr<int>, short> P1;
35
P1 p1 = std::make_pair(nullptr, 4);
36
assert(p1.first == nullptr);
37
assert(p1.second == 4);
39
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES