Home | History | Annotate | Download | only in multimap.cons
      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 // explicit multimap(const allocator_type& a);
     15 
     16 #include <map>
     17 #include <cassert>
     18 
     19 #include "test_allocator.h"
     20 #include "min_allocator.h"
     21 
     22 int main()
     23 {
     24     {
     25     typedef std::less<int> C;
     26     typedef test_allocator<std::pair<const int, double> > A;
     27     std::multimap<int, double, C, A> m(A(5));
     28     assert(m.empty());
     29     assert(m.begin() == m.end());
     30     assert(m.get_allocator() == A(5));
     31     }
     32 #if TEST_STD_VER >= 11
     33     {
     34     typedef std::less<int> C;
     35     typedef min_allocator<std::pair<const int, double> > A;
     36     std::multimap<int, double, C, A> m(A{});
     37     assert(m.empty());
     38     assert(m.begin() == m.end());
     39     assert(m.get_allocator() == A());
     40     }
     41     {
     42     typedef std::less<int> C;
     43     typedef explicit_allocator<std::pair<const int, double> > A;
     44     std::multimap<int, double, C, A> m(A{});
     45     assert(m.empty());
     46     assert(m.begin() == m.end());
     47     assert(m.get_allocator() == A{});
     48     }
     49 #endif
     50 }
     51