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 //===----------------------------------------------------------------------===//
14 // set(initializer_list<value_type> il, const key_compare& comp, const allocator_type& a);
15 // set(initializer_list<value_type> il, const allocator_type& a);
19 #include "test_macros.h"
20 #include "../../../test_compare.h"
21 #include "test_allocator.h"
25 #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
27 typedef test_compare<std::less<int> > Cmp;
28 typedef test_allocator<int> A;
29 typedef std::set<int, Cmp, A> C;
30 typedef C::value_type V;
31 C m({1, 2, 3, 4, 5, 6}, Cmp(10), A(4));
32 assert(m.size() == 6);
33 assert(distance(m.begin(), m.end()) == 6);
34 C::const_iterator i = m.cbegin();
41 assert(m.key_comp() == Cmp(10));
42 assert(m.get_allocator() == A(4));
46 typedef test_compare<std::less<int> > Cmp;
47 typedef test_allocator<int> A;
48 typedef std::set<int, Cmp, A> C;
49 typedef C::value_type V;
50 C m({1, 2, 3, 4, 5, 6}, A(4));
51 assert(m.size() == 6);
52 assert(distance(m.begin(), m.end()) == 6);
53 C::const_iterator i = m.cbegin();
60 assert(m.get_allocator() == A(4));
63 #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS