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 / dlist1.cpp < prev    next >
C/C++ Source or Header  |  1996-05-11  |  4KB  |  103 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. ** Double Linked List - Templates Version
  28. */
  29.  
  30. void WBExecuteFunct(void *nullitem, char *item)
  31.   {
  32.     nullitem = nullitem;
  33.     cout << "Execute: " << item << "\n";
  34.   }
  35.  
  36. int WBCompareFunct(void *nullitem, char *item1, char *item2)
  37.   {
  38.     nullitem = nullitem;
  39.     return(strcmp(item1,item2));
  40.   }
  41.  
  42. main()
  43.   {
  44.     WBDList<char *> dlist, ptr1, ptr2, cutlist, copylist, pastelist;
  45.  
  46.     cout << "IsEmpty(): " << dlist.IsEmpty() << "\n";
  47.  
  48.     dlist.SetCompare(NULL,WBCompareFunct);
  49.     dlist.SetExecute(NULL,WBExecuteFunct);
  50.     cutlist.SetExecute(NULL,WBExecuteFunct);
  51.     copylist.SetExecute(NULL,WBExecuteFunct);
  52.     pastelist.SetCompare(NULL,WBCompareFunct);
  53.     pastelist.SetExecute(NULL,WBExecuteFunct);
  54.  
  55.     dlist.AddSorted("Item5");
  56.     dlist.AddSorted("Item6");
  57.     dlist.AddSorted("Item7");
  58.     dlist.AddSorted("Item3");
  59.     dlist.AddSorted("Item4");
  60.     dlist.AddSorted("Item8");
  61.     dlist.AddSorted("Item9");
  62.     dlist.AddSorted("Item0");
  63.     dlist.AddSorted("Item1");
  64.     dlist.AddSorted("Item2");
  65.     cout << "=============================================\n";
  66.     dlist.Execute();
  67.  
  68.     cout << "=================== Cut List ================\n";
  69.     dlist.GetFirst();
  70.     dlist++;
  71.     dlist++;
  72.     ptr1 = dlist;
  73.     dlist++;
  74.     dlist++;
  75.     ptr2 = dlist;
  76.     cutlist.Cut(ptr1,ptr2);
  77.     cutlist.Execute();
  78.  
  79.     cout << "=================== Copy List ================\n";
  80.     dlist.GetFirst();
  81.     dlist++;
  82.     dlist++;
  83.     ptr1 = dlist;
  84.     dlist++;
  85.     dlist++;
  86.     ptr2 = dlist;
  87.     copylist.Copy(ptr1,ptr2);
  88.     copylist.Execute();
  89.  
  90.     cout << "=================== Paste List ================\n";
  91.     pastelist.PasteFirst(dlist,0);
  92.     pastelist.Execute();
  93.     cout << "GetCurrent(): " << pastelist.GetCurrent() << "\n";
  94.  
  95.     cout << "=================== Paste List ================\n";
  96.     pastelist++;
  97.     pastelist.PasteSorted(cutlist,0);
  98.     pastelist.Execute();
  99.     cout << "GetCurrent(): " << pastelist.GetCurrent() << "\n";
  100.  
  101.     return(0);
  102.   }
  103.