home *** CD-ROM | disk | FTP | other *** search
/ Carousel Volume 2 #1 / carousel.iso / mactosh / code / tcopuls_.sit / link.h < prev    next >
Encoding:
C/C++ Source or Header  |  1989-09-17  |  1.2 KB  |  64 lines  |  [TEXT/MPS ]

  1. /* -*- Emacs Mode: C++ -*- */
  2.  
  3. /*    link.h - Link Class header
  4.  
  5.     Copyright (C) 1989, Integrity Software
  6.     Author: Isaac J. Salzman (salzman@rand.org)
  7.  
  8.     This software may be freely used/modified/distributed
  9.     as desired so long as this copyright notice remains
  10.     in tact.
  11. */
  12.  
  13. /*
  14.  *------------------------------------------------------------------
  15.  * $Header: /tmp_mnt/amnt/lh/salzman/src/class/RCS/link.h,v 1.1 89/09/17 15:01:33 salzman Exp Locker: salzman $
  16.  *------------------------------------------------------------------
  17.  * $Log:    link.h,v $
  18.  * Revision 1.1  89/09/17  15:01:33  salzman
  19.  * Initial revision
  20.  * 
  21. */
  22.  
  23. /*  linked list class for C++/THINK Object C */
  24.  
  25. #ifndef _H_link
  26. #define _H_link
  27.  
  28. #include "class.h"
  29. #include "defs.h"
  30.  
  31. PREDEC_CLASS(Link);
  32.  
  33. class Link ROOT        /* this is a root class! */
  34. {
  35.   PRIVATE
  36.     class Link *nextp;
  37.     class Link *prevp;
  38.     class Link *tailp;
  39.  
  40.   PUBLIC
  41.     DECL_INIT(Link)();
  42.     DECL_DEST(Link)(void);
  43.     
  44.     int append(Link *);
  45.     int prepend(Link *);
  46.     int insert(Link *);
  47.  
  48.     class Link *next(void);
  49.     class Link *prev(void);
  50.  
  51.     void showlist(void);
  52.     void rshowlist(void);
  53.  
  54.     class Link *find(char *);
  55.  
  56.     virtual void showval(void);
  57.  
  58.     virtual int compare(char *);
  59.  
  60.     
  61. };
  62.  
  63. #endif /* _H_link */
  64.