home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / yacl-012.zip / basedemo / map / maptest.cxx < prev   
C/C++ Source or Header  |  1994-11-12  |  2KB  |  76 lines

  1.  
  2. #include <iostream.h>
  3.  
  4. #include "base/map.h"
  5. #include "base/memory.h"
  6.  
  7. main ()
  8. {
  9.     CL_MemoryLeakChecker check (cout);
  10.     CL_IntPtrMap aMap;
  11.     CL_String* s = new CL_String ("Some entry");
  12.     aMap.Add (56, s);
  13.     CL_Object* pObj;
  14.     cout << "56: " << *aMap[56] << endl;
  15.     cout << "Nonexistent: " << aMap[10] << endl;
  16.     delete s;
  17.  
  18.     CL_StringIntMap my_map;
  19.     
  20.     my_map.Add (CL_String ("Binary"), 750);
  21.     my_map.Add (CL_String ("k-ary"), 1011);
  22.     my_map.Add (CL_String ("Hash"), 1);
  23.     my_map.Add (CL_String ("AVL"), 2);
  24.     my_map.Add (CL_String ("balanced"), 3);
  25.     my_map.Add (CL_String ("half-balanced"), 4);
  26.     my_map.Add (CL_String ("B-tree"), 5);
  27.     my_map.Add (CL_String ("Self-adjusting"), 6);
  28.     long i = my_map ["balanced"];
  29.     cout << "balanced: " << i << endl;
  30.  
  31.     cout << "\n-----------Iterator test:----------------------------------\n";
  32.     CL_StringIntMapIterator iter (my_map);
  33.     CL_StringIntAssoc assoc;
  34.     for (iter.Reset(); iter.More(); ) {
  35.         assoc = iter.Next();
  36.         cout << assoc.key << " --> " << assoc.value << endl;
  37.     }
  38.  
  39.     cout << "No such entry: " << my_map["No such entry"] << endl;
  40.     
  41.     my_map.Remove ("Binary");
  42.  
  43.     cout << "-------------Iterator test:-----------------------------\n";
  44.     // for (iter.Reset(); iter.More(); ) {
  45.     for (i = 0; i < my_map.Size(); i++) {
  46.         assoc = my_map.ItemWithRank (i);
  47.         cout << assoc.key << " --> " << assoc.value << endl;
  48.     }
  49.  
  50.     cout << "-----------------------------------\n";
  51.     CL_StringIntMap map2;
  52.     map2.Add ("k-ary", 1011);      
  53.     map2.Add ("Hash", 1);          
  54.     map2.Add ("balanced", 3);      
  55.     map2.Add ("half-balanced", 15);
  56.     cout << map2;
  57.     
  58. //     for (iter.Reset(); iter.More(); ) {
  59. //         assoc = iter.Next();
  60. //         printf ("'%s': %ld\n", (const char*) assoc.key.AsPtr(),
  61. //                 assoc.value);
  62. //     }
  63.  
  64.     /*
  65.     for (short k = 0; k < 10000; k++) {
  66.         CL_String s ((long) k);
  67.         my_map.Add (s, k);
  68.         // if (k % 1000 == 0 && k > 0)
  69.             printf ("k = %d\n", k);
  70.     }
  71.     */
  72.         
  73. }
  74.  
  75.  
  76.