home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ctdemo.zip / classes / @CLSLIB1.ZIP / cls / tutorial / lst_test.cpp next >
C/C++ Source or Header  |  1994-12-14  |  3KB  |  154 lines

  1. #ifndef INC_LIST_TEST
  2. #define INC_LIST_TEST
  3.  
  4. #ifndef __FIRST__
  5. #define __FIRST__
  6. #define __IMPL__LIST_TEST
  7. #endif
  8.  
  9. /////V List_test PCM f:\cls_ibm\cls\tutorial 5  PM 14.12.94 15:32:04
  10. /*
  11. /////H
  12. 20.10.94 19:37 PM 0 copied from: List_test TOS f:\cls_ibm\cls\tutorial 0 PM 19.10.94 00:26:00
  13. 30.03.95 10:34 PM 5 archived: List_test PCM f:\cls_ibm\cls\tutorial 5  PM 14.12.94 15:32:04
  14. /////
  15. */
  16.  
  17. /////1
  18. #undef inline
  19.  
  20. #include <bsa.h>
  21.  
  22. /////I iostream.h @ @ @ @ pre 
  23. #include <iostream.h>
  24.  
  25. /////I Slist @ @ @ <int> <String> @ template pre class 
  26. #ifndef INCL_SLIST
  27. #include <slist.cpp>
  28. #endif
  29.  
  30. /////I Slist_iter @ @ @ <int> <String> <void*> @ template class pre 
  31. #ifndef INCL_SLIST_ITER
  32. #include <slst_ter.cpp>
  33. #endif
  34.  
  35. /////I String @ @ @ @ class pre 
  36. #ifndef INCL_STRING
  37. #include <string.cpp>
  38. #endif
  39.  
  40. /////I Splist @ @ @ <String> @ template class pre 
  41. #ifndef INCL_SPLIST
  42. #include <splist.cpp>
  43. #endif
  44.  
  45.  
  46. #ifndef __INLINE__
  47. #define inline
  48. #endif
  49.  
  50. /////C List_test @ @ app test 
  51. class List_test
  52.  
  53. {
  54.  
  55. };
  56.  
  57.     void   main ();
  58.  
  59. /////2
  60. #undef inline
  61.  
  62.  
  63. #if (defined __INLINE__) || (defined __IMPL__LIST_TEST)
  64.  
  65. #ifndef __INLINE__
  66. #define inline
  67. #endif
  68.  
  69. /////
  70. #endif
  71.  
  72. /////3
  73. #undef inline
  74.  
  75. #ifdef __IMPL__LIST_TEST
  76. /////F main @ @ global 
  77. void main()
  78. {
  79. //    REGISTER_XCPT;
  80.  
  81. //############################
  82. //##### Slist<int> stuff #####
  83. //############################
  84.     cout << "Testing Slist with int ..." << endl;
  85.  
  86.     int*                i;
  87.     Slist<int>             lst1;
  88.     Slist_iter<int>     iter1(lst1);
  89.     
  90.     lst1.insert(1);
  91.     lst1.insert(2);
  92.     lst1.insert(3);
  93.     lst1.insert(4);
  94.     lst1.insert(5);
  95.  
  96.     iter1.reset();
  97.  
  98.     while ( i= iter1() ) {
  99.         cout << "found " << *i << endl;
  100.     }
  101.  
  102. //    UNREGISTER_XCPT;
  103.  
  104. //###############################
  105. //##### Slist<String> stuff #####
  106. //###############################
  107.     cout << "Testing Slist with String ..." << endl;
  108.  
  109.     String*             pStr;
  110.     Slist<String>         lst2;
  111.     Slist_iter<String>     iter2(lst2);
  112.  
  113.     lst2.insert("abc");
  114.     lst2.insert("def");
  115.     lst2.insert("ghi");
  116.     lst2.insert("jkl");
  117.     lst2.insert("mno");
  118.  
  119.     iter2.reset();
  120.  
  121.     while ( pStr= iter2() ) {
  122.         cout << "found " << *pStr << endl;
  123.     }
  124. //################################
  125. //##### Splist<String> stuff #####
  126. //################################
  127.     cout << "Testing Splist with String* ..." << endl;
  128.  
  129.     Splist<String>         lst3;
  130.     Slist_iter<void*>     iter3(lst3);
  131.  
  132.     pStr = new String("one");
  133.     lst3.insert( pStr );
  134.     pStr = new String("two");
  135.     lst3.insert( pStr );
  136.     pStr = new String("three");
  137.     lst3.insert( pStr );
  138.  
  139.     iter3.reset();
  140.  
  141.     String    **ppStr;
  142.  
  143.     while ( ppStr= (String**)iter3() ) {
  144.         cout << "found " << **ppStr << endl;
  145.     }
  146.  
  147.     cout << "That's it, folks !\n";
  148. }
  149.  
  150. /////
  151. #endif
  152.  
  153. #endif
  154.