diff -r e20de85af2ee -r ce057bb09d0b stdcpp/tsrc/Stdcpp_test/stlport/auto/stlport_hmap/src/hmap1.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/stdcpp/tsrc/Stdcpp_test/stlport/auto/stlport_hmap/src/hmap1.cpp Fri Jun 04 16:20:51 2010 +0100 @@ -0,0 +1,78 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +// STLport regression testsuite component. +// To compile as a separate example, please #define MAIN. + +#include +#include +#include + +#if !defined (STLPORT) || defined(__STL_USE_NAMESPACES) +using namespace std; +#endif +#ifdef MAIN +#define hmap1_test main +#endif + +int hmap1_test(int, char**) +{ + cout<<"Results of hmap1_test:"<, equal_to > maptype; + maptype m; + + int failures = 0; + // Store mappings between roman numerals and decimals. + m['l'] = "50"; + m['x'] = "20"; // Deliberate mistake. + m['v'] = "5"; + m['i'] = "1"; + cout << "m['x'] = " << m['x'] << endl; + + m['x'] = "10"; // Correct mistake. + cout << "m['x'] = " << m['x'] << endl; + + cout << "m['z'] = " << m['z'] << endl; // Note default value is added. + cout << "m.count('z') = " << m.count('z') << endl; + + pair p = + m.insert(pair('c', crope("100"))); + if(p.second) + { + cout << "First insertion successful" << endl; + } + else + { + failures++; + } + p = m.insert(pair('c', crope("100"))); + if(p.second) + { + cout << "Second insertion successful" << endl; + failures++; + } + else + { + cout << "Existing pair " <<(*(p.first)).first + << " -> " <<(*(p.first)).second << endl; + } + + if (!failures) + return 0; + else + return 1; +}