1 // { dg-options "-std=gnu++17" }
2 // { dg-do compile { target c++17 } }
5 #include <testsuite_allocator.h>
7 using __gnu_test::SimpleAllocator
;
9 static_assert(std::is_same_v
<
10 decltype(std::multiset
{1, 2, 3}),
13 static_assert(std::is_same_v
<
14 decltype(std::multiset
{1, 2, 3}),
17 static_assert(std::is_same_v
<
18 decltype(std::multiset
{{1, 2, 3},
19 std::less
<int>{}, {}}),
22 static_assert(std::is_same_v
<
23 decltype(std::multiset
{{1, 2, 3},
27 static_assert(std::is_same_v
<
28 decltype(std::multiset
{{1, 2, 3},
29 {}, SimpleAllocator
<int>{}}),
30 std::multiset
<int, std::less
<int>,
31 SimpleAllocator
<int>>>);
37 static_assert(std::is_same_v
<
38 decltype(std::multiset(x
.begin(), x
.end())),
41 static_assert(std::is_same_v
<
42 decltype(std::multiset
{x
.begin(), x
.end(),
44 std::allocator
<int>{}}),
47 static_assert(std::is_same_v
<
48 decltype(std::multiset
{x
.begin(), x
.end(),
49 std::less
<int>{}, {}}),
52 static_assert(std::is_same_v
<
53 decltype(std::multiset(x
.begin(), x
.end(),
57 static_assert(std::is_same_v
<
58 decltype(std::multiset
{x
.begin(), x
.end(),
60 std::allocator
<int>{}}),
63 static_assert(std::is_same_v
<
64 decltype(std::multiset
{x
.begin(), x
.end(),
66 SimpleAllocator
<int>{}}),
67 std::multiset
<int, std::less
<int>, SimpleAllocator
<int>>>);