1// 2005-10-08 Paolo Carlini <pcarlini@suse.de> 2// 3// Copyright (C) 2005, 2009 Free Software Foundation, Inc. 4// 5// This file is part of the GNU ISO C++ Library. This library is free 6// software; you can redistribute it and/or modify it under the 7// terms of the GNU General Public License as published by the 8// Free Software Foundation; either version 3, or (at your option) 9// any later version. 10// 11// This library is distributed in the hope that it will be useful, 12// but WITHOUT ANY WARRANTY; without even the implied warranty of 13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14// GNU General Public License for more details. 15// 16// You should have received a copy of the GNU General Public License along 17// with this library; see the file COPYING3. If not see 18// <http://www.gnu.org/licenses/>. 19 20// 6.3.4.6 Class template unordered_multimap 21 22#include <tr1/unordered_map> 23#include <string> 24#include <testsuite_hooks.h> 25 26// libstdc++/24061 27void test01() 28{ 29 bool test __attribute__((unused)) = true; 30 31 typedef std::tr1::unordered_multimap<std::string, int> Mmap; 32 typedef Mmap::iterator iterator; 33 typedef Mmap::const_iterator const_iterator; 34 typedef Mmap::value_type value_type; 35 36 Mmap mm1; 37 38 iterator it1 = mm1.insert(mm1.begin(), 39 value_type("all the love in the world", 1)); 40 VERIFY( mm1.size() == 1 ); 41 VERIFY( *it1 == value_type("all the love in the world", 1) ); 42 43 const_iterator cit1(it1); 44 const_iterator cit2 = mm1.insert(cit1, 45 value_type("you know what you are?", 2)); 46 VERIFY( mm1.size() == 2 ); 47 VERIFY( cit2 != cit1 ); 48 VERIFY( *cit2 == value_type("you know what you are?", 2) ); 49 50 iterator it2 = mm1.insert(it1, value_type("all the love in the world", 3)); 51 VERIFY( mm1.size() == 3 ); 52 VERIFY( it2 != it1 ); 53 VERIFY( *it2 == value_type("all the love in the world", 3) ); 54} 55 56int main() 57{ 58 test01(); 59 return 0; 60} 61