19f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson//===----------------------------------------------------------------------===// 29f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson// 39f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson// The LLVM Compiler Infrastructure 49f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson// 59f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson// This file is dual licensed under the MIT and the University of Illinois Open 69f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson// Source Licenses. See LICENSE.TXT for details. 79f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson// 89f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson//===----------------------------------------------------------------------===// 99f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 109f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson// <map> 119f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 129f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson// class multimap 139f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 149f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson// size_type size() const; 159f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 169f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson#include <map> 179f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson#include <cassert> 189f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 199f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson#include "min_allocator.h" 209f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 219f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonint main() 229f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson{ 239f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson { 249f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson typedef std::multimap<int, double> M; 259f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson M m; 269f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson assert(m.size() == 0); 279f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson m.insert(M::value_type(2, 1.5)); 289f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson assert(m.size() == 1); 299f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson m.insert(M::value_type(1, 1.5)); 309f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson assert(m.size() == 2); 319f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson m.insert(M::value_type(3, 1.5)); 329f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson assert(m.size() == 3); 339f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson m.erase(m.begin()); 349f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson assert(m.size() == 2); 359f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson m.erase(m.begin()); 369f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson assert(m.size() == 1); 379f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson m.erase(m.begin()); 389f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson assert(m.size() == 0); 399f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson } 409f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson#if __cplusplus >= 201103L 419f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson { 429f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson typedef std::multimap<int, double, std::less<int>, min_allocator<std::pair<const int, double>>> M; 439f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson M m; 449f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson assert(m.size() == 0); 459f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson m.insert(M::value_type(2, 1.5)); 469f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson assert(m.size() == 1); 479f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson m.insert(M::value_type(1, 1.5)); 489f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson assert(m.size() == 2); 499f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson m.insert(M::value_type(3, 1.5)); 509f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson assert(m.size() == 3); 519f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson m.erase(m.begin()); 529f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson assert(m.size() == 2); 539f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson m.erase(m.begin()); 549f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson assert(m.size() == 1); 559f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson m.erase(m.begin()); 569f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson assert(m.size() == 0); 579f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson } 589f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson#endif 599f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson} 609f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson