1//===----------------------------------------------------------------------===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10// <set>
11
12// class multiset
13
14// multiset();
15
16#include <set>
17#include <cassert>
18
19#include "min_allocator.h"
20
21int main()
22{
23    {
24    std::multiset<int> m;
25    assert(m.empty());
26    assert(m.begin() == m.end());
27    }
28#if TEST_STD_VER >= 11
29    {
30    std::multiset<int, std::less<int>, min_allocator<int>> m;
31    assert(m.empty());
32    assert(m.begin() == m.end());
33    }
34    {
35    typedef explicit_allocator<int> A;
36        {
37        std::multiset<int, std::less<int>, A> m;
38        assert(m.empty());
39        assert(m.begin() == m.end());
40        }
41        {
42        A a;
43        std::multiset<int, std::less<int>, A> m(a);
44        assert(m.empty());
45        assert(m.begin() == m.end());
46        }
47    }
48    {
49    std::multiset<int> m = {};
50    assert(m.empty());
51    assert(m.begin() == m.end());
52    }
53#endif
54}
55