home *** CD-ROM | disk | FTP | other *** search
/ ftptest.leeds.ac.uk / 2015.02.ftptest.leeds.ac.uk.tar / ftptest.leeds.ac.uk / bionet / CAE-GROUP / SCL-WIN3x / SCL.EXE / LIST_INL.CPP < prev    next >
C/C++ Source or Header  |  1994-08-06  |  1KB  |  73 lines

  1.  
  2. /*
  3. * NIST STEP Core Class Library
  4. * clstepcore/SingleLinkList.inline.cc
  5. * February, 1994
  6. * David Sauder
  7. * KC Morris
  8.  
  9. * Development of this software was funded by the United States Government,
  10. * and is not subject to copyright.
  11. */
  12.  
  13. /* $Id: SingleLinkList.inline.cc,v 2.0.1.1 1994/04/05 16:40:02 sauderd Exp $ */
  14.  
  15. #include <List.h>
  16. #include <iostream.h>
  17.  
  18. SingleLinkNode *     
  19. SingleLinkNode::NextNode ()  const
  20. {
  21.     return next;
  22. }
  23.  
  24. SingleLinkList::SingleLinkList ()  
  25.   : head (0), tail (0)
  26. {
  27. }
  28.  
  29. SingleLinkList::~SingleLinkList ()  
  30. {
  31.     Empty ();
  32. }
  33.  
  34. void
  35. SingleLinkList::Empty ()  
  36. {
  37.     SingleLinkNode * tmp = head;
  38.     while (tmp)  
  39.       {
  40.       tmp = head -> NextNode ();
  41.       delete head;
  42.       head = tmp;
  43.       }
  44. }
  45.  
  46. SingleLinkNode *
  47. SingleLinkList::NewNode () 
  48. {
  49.     //  defined in subtypes
  50.     cerr << "\n\n******BUG****** a virtually defined function should \n"
  51.      << "be called for SingleLinkList::NewNode()\n\n";
  52.     return new SingleLinkNode();
  53. }
  54.  
  55. SingleLinkNode *
  56. SingleLinkList::GetHead () const
  57. {
  58.     return (head);
  59. }
  60.  
  61. int SingleLinkList::EntryCount() const
  62. {
  63.     int entryCount = 0;
  64.     SingleLinkNode *entryPtr = head;
  65.  
  66.     while( entryPtr != 0 )
  67.     {
  68.     entryPtr = entryPtr->NextNode();
  69.     entryCount++;
  70.     }
  71.     return entryCount;
  72. }
  73.