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// <map>
11
12// class multimap
13
14// multimap(const key_compare& comp, const allocator_type& a);
15
16#include <map>
17#include <cassert>
18
19#include "../../../test_compare.h"
20#include "test_allocator.h"
21#include "min_allocator.h"
22
23int main()
24{
25    {
26    typedef test_compare<std::less<int> > C;
27    typedef test_allocator<std::pair<const int, double> > A;
28    std::multimap<int, double, C, A> m(C(4), A(5));
29    assert(m.empty());
30    assert(m.begin() == m.end());
31    assert(m.key_comp() == C(4));
32    assert(m.get_allocator() == A(5));
33    }
34#if __cplusplus >= 201103L
35    {
36    typedef test_compare<std::less<int> > C;
37    typedef min_allocator<std::pair<const int, double> > A;
38    std::multimap<int, double, C, A> m(C(4), A());
39    assert(m.empty());
40    assert(m.begin() == m.end());
41    assert(m.key_comp() == C(4));
42    assert(m.get_allocator() == A());
43    }
44#endif
45}
46