home *** CD-ROM | disk | FTP | other *** search
/ C/C++ User's Journal & Wi…eveloper's Journal Tools / C-C__Users_Journal_and_Windows_Developers_Journal_Tools_1997.iso / windbase / memslcpp.3 / bag2.cpp < prev    next >
C/C++ Source or Header  |  1996-05-11  |  4KB  |  97 lines

  1. /***************************************************************************\
  2. **                                                                         **
  3. ** WW     WW IIIIIIII NNN   NN DDDDDDD  BBBBBBB     AA     SSSSSS EEEEEEEE **
  4. ** WW  W  WW    II    NNNN  NN DD    DD BB    BB  AA  AA  SS      EE       **
  5. ** WW  W  WW    II    NN NN NN DD    DD BBBBBBB  AAAAAAAA  SSSSSS EEEEEE   **
  6. **  WW W WW     II    NN  NNNN DD    DD BB    BB AA    AA      SS EE       **
  7. **   WWWWW   IIIIIIII NN   NNN DDDDDDD  BBBBBBB  AA    AA SSSSSS  EEEEEEEE **
  8. **                                                                         **
  9. **  SSSSSS  OOOOOO  FFFFFFFF TTTTTTTT WW     WW    AA    RRRRRRR  EEEEEEEE **
  10. ** SS      OO    OO FF          TT    WW  W  WW  AA  AA  RR    RR EE       **
  11. **  SSSSS  OO    OO FFFFF       TT    WW  W  WW AAAAAAAA RRRRRRR  EEEEEE   **
  12. **      SS OO    OO FF          TT     WW W WW  AA    AA RR   RR  EE       **
  13. ** SSSSSS   OOOOOO  FF          TT      WWWWW   AA    AA RR    RR EEEEEEEE **
  14. **                                                                         **
  15. ********** NOTICE ***********************************************************
  16. **       This file contains valuable trade secrets and proprietary         **
  17. **       assets of Windbase Software Inc.  Embodying substantial           **
  18. **       creative efforts and confidential information.  Unauthorized      **
  19. **       use, copying, decompiling, translating, disclosure or             **
  20. **       transfer, of any kind, is strictly prohibited.                    **
  21. **                                                                         **
  22. **       COPYRIGHT (C) 1992, 1993, 1994, 1995.  Windbase Software Inc.     **
  23. **       ALL RIGHTS RESERVED.                                              **
  24. \***************************************************************************/
  25.  
  26. /*
  27. ** Bag - Non Templates Version
  28. */
  29.  
  30. class MyBag : public WBBag
  31.   {
  32.     int WBCompareFunct(void *nullitem, void *item1, void *item2)
  33.       {
  34.     nullitem = nullitem;
  35.     return(strcmp((char *)item1, (char *)item2));
  36.       }
  37.  
  38.     void WBExecuteFunct(void *nullitem, void *item)
  39.       {
  40.     nullitem = nullitem;
  41.     cout << "Execute: " << (char *) item << "\n";
  42.       }
  43.  
  44.     void WBDeleteFunct(void *nullitem, void *item)
  45.       {
  46.     nullitem = nullitem;
  47.     cout << "Delete: " << (char *) item << "\n";
  48.       }
  49.   };
  50.  
  51. main()
  52.   {
  53.     MyBag bag;
  54.  
  55.     bag += "Item0";
  56.     bag += "Item1";
  57.     bag += "Item2";
  58.     bag += "Item3";
  59.     bag += "Item4";
  60.     bag += "Item5";
  61.     bag += "Item6";
  62.     bag += "Item7";
  63.     bag += "Item8";
  64.     bag += "Item9";
  65.  
  66.     cout << "NumItems(): " << bag.NumItems() << "\n";
  67.  
  68.     bag.Execute();
  69.          
  70.     cout << "IsMember: " << (char *) bag.IsMember("Item0") << "\n";
  71.     cout << "IsMember: " << (char *) bag.IsMember("Item1") << "\n";
  72.     cout << "IsMember: " << (char *) bag.IsMember("Item2") << "\n";
  73.     cout << "IsMember: " << (char *) bag.IsMember("Item3") << "\n";
  74.     cout << "IsMember: " << (char *) bag.IsMember("Item4") << "\n";
  75.     cout << "IsMember: " << (char *) bag.IsMember("Item5") << "\n";
  76.     cout << "IsMember: " << (char *) bag.IsMember("Item6") << "\n";
  77.     cout << "IsMember: " << (char *) bag.IsMember("Item7") << "\n";
  78.     cout << "IsMember: " << (char *) bag.IsMember("Item8") << "\n";
  79.     cout << "IsMember: " << (char *) bag.IsMember("Item9") << "\n";
  80.  
  81.     bag -= "Item0";
  82.     bag -= "Item1";
  83.     bag -= "Item2";
  84.     bag -= "Item3";
  85.     bag -= "Item4";
  86.  
  87.     cout << "NumItems(): " << bag.NumItems() << "\n";
  88.     bag.Execute();
  89.  
  90.     bag.Clear();
  91.     cout << "NumItems(): " << bag.NumItems() << "\n";
  92.  
  93.     bag.Execute();
  94.  
  95.     return(0);
  96.   }
  97.