initializer_list_compare.pass.cpp revision bc8d3f97eb5c958007f2713238472e0c1c8fe02c
1//===----------------------------------------------------------------------===// 2// 3// ��������������������The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10// <map> 11 12// class multimap 13 14// multimap(initializer_list<value_type> il, const key_compare& comp = key_compare()); 15 16#include <map> 17#include <cassert> 18#include "../../../test_compare.h" 19 20int main() 21{ 22#ifdef _LIBCPP_MOVE 23 typedef test_compare<std::less<int> > Cmp; 24 typedef std::multimap<int, double, Cmp> C; 25 typedef C::value_type V; 26 C m( 27 { 28 {1, 1}, 29 {1, 1.5}, 30 {1, 2}, 31 {2, 1}, 32 {2, 1.5}, 33 {2, 2}, 34 {3, 1}, 35 {3, 1.5}, 36 {3, 2} 37 }, 38 Cmp(4) 39 ); 40 assert(m.size() == 9); 41 assert(distance(m.begin(), m.end()) == 9); 42 C::const_iterator i = m.cbegin(); 43 assert(*i == V(1, 1)); 44 assert(*++i == V(1, 1.5)); 45 assert(*++i == V(1, 2)); 46 assert(*++i == V(2, 1)); 47 assert(*++i == V(2, 1.5)); 48 assert(*++i == V(2, 2)); 49 assert(*++i == V(3, 1)); 50 assert(*++i == V(3, 1.5)); 51 assert(*++i == V(3, 2)); 52 assert(m.key_comp() == Cmp(4)); 53#endif 54} 55