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
/
dlist2.cpp
< prev
next >
Wrap
C/C++ Source or Header
|
1996-05-11
|
4KB
|
108 lines
/***************************************************************************\
** **
** WW WW IIIIIIII NNN NN DDDDDDD BBBBBBB AA SSSSSS EEEEEEEE **
** WW W WW II NNNN NN DD DD BB BB AA AA SS EE **
** WW W WW II NN NN NN DD DD BBBBBBB AAAAAAAA SSSSSS EEEEEE **
** WW W WW II NN NNNN DD DD BB BB AA AA SS EE **
** WWWWW IIIIIIII NN NNN DDDDDDD BBBBBBB AA AA SSSSSS EEEEEEEE **
** **
** SSSSSS OOOOOO FFFFFFFF TTTTTTTT WW WW AA RRRRRRR EEEEEEEE **
** SS OO OO FF TT WW W WW AA AA RR RR EE **
** SSSSS OO OO FFFFF TT WW W WW AAAAAAAA RRRRRRR EEEEEE **
** SS OO OO FF TT WW W WW AA AA RR RR EE **
** SSSSSS OOOOOO FF TT WWWWW AA AA RR RR EEEEEEEE **
** **
********** NOTICE ***********************************************************
** This file contains valuable trade secrets and proprietary **
** assets of Windbase Software Inc. Embodying substantial **
** creative efforts and confidential information. Unauthorized **
** use, copying, decompiling, translating, disclosure or **
** transfer, of any kind, is strictly prohibited. **
** **
** COPYRIGHT (C) 1992, 1993, 1994, 1995. Windbase Software Inc. **
** ALL RIGHTS RESERVED. **
\***************************************************************************/
/*
** Double Linked List - Non Templates Version
*/
void WBExecuteFunct(void *nullitem, char *item)
{
nullitem = nullitem;
cout << "Execute: " << item << "\n";
}
int WBCompareFunct(void *nullitem, char *item1, char *item2)
{
nullitem = nullitem;
return(strcmp(item1,item2));
}
char *WBCopyFunct(void *nullitem, char *item)
{
nullitem = nullitem;
return(item);
}
main()
{
WBDList dlist, ptr1, ptr2, cutlist, copylist, pastelist;
dlist.SetCompare(NULL,(int (*)(void *, void *, void *))WBCompareFunct);
dlist.SetExecute(NULL,(void (*)(void *, void *))WBExecuteFunct);
cutlist.SetExecute(NULL,(void (*)(void *, void *))WBExecuteFunct);
copylist.SetExecute(NULL,(void (*)(void *, void *))WBExecuteFunct);
pastelist.SetCompare(NULL,(int (*)(void *, void *, void *))WBCompareFunct);
pastelist.SetExecute(NULL,(void (*)(void *, void *))WBExecuteFunct);
cout << "IsEmpty(): " << dlist.IsEmpty() << "\n";
dlist.AddSorted("Item5");
dlist.AddSorted("Item6");
dlist.AddSorted("Item7");
dlist.AddSorted("Item3");
dlist.AddSorted("Item4");
dlist.AddSorted("Item8");
dlist.AddSorted("Item9");
dlist.AddSorted("Item0");
dlist.AddSorted("Item1");
dlist.AddSorted("Item2");
cout << "=============================================\n";
dlist.Execute();
cout << "=================== Cut List ================\n";
dlist.GetFirst();
dlist++;
dlist++;
ptr1 = dlist;
dlist++;
dlist++;
ptr2 = dlist;
cutlist.Cut(ptr1,ptr2);
cutlist.Execute();
cout << "=================== Copy List ================\n";
dlist.GetFirst();
dlist++;
dlist++;
ptr1 = dlist;
dlist++;
dlist++;
ptr2 = dlist;
copylist.Copy(ptr1,ptr2);
copylist.Execute();
cout << "=================== Paste List ================\n";
pastelist.PasteFirst(dlist,0);
pastelist.Execute();
cout << "GetCurrent(): " << (char *) pastelist.GetCurrent() << "\n";
cout << "=================== Paste List ================\n";
pastelist++;
pastelist.PasteSorted(cutlist,0);
pastelist.Execute();
cout << "GetCurrent(): " << (char *) pastelist.GetCurrent() << "\n";
return(0);
}