home *** CD-ROM | disk | FTP | other *** search
/ The Devil's Doorknob BBS Capture (1996-2003) / devilsdoorknobbbscapture1996-2003.iso / Dloads / OTHERUTI / TCPP30-1.ZIP / CLASSINC.ZIP / QUEUE.H < prev    next >
C/C++ Source or Header  |  1992-02-18  |  2KB  |  88 lines

  1. /*------------------------------------------------------------------------*/
  2. /*                                                                        */
  3. /*  QUEUE.H                                                               */
  4. /*                                                                        */
  5. /*  Copyright Borland International 1991                                  */
  6. /*  All Rights Reserved                                                   */
  7. /*                                                                        */
  8. /*------------------------------------------------------------------------*/
  9.  
  10. #if !defined( __QUEUE_H )
  11. #define __QUEUE_H
  12.  
  13. #if defined( TEMPLATES )
  14.  
  15.     #if !defined( __QUEUES_H )
  16.     #include <Queues.h>
  17.     #endif  // __QUEUES_H
  18.  
  19.     #define Queue   BI_TCQueueAsDoubleList
  20.     #define PQueue  PBI_TCQueueAsDoubleList
  21.     #define RQueue  RBI_TCQueueAsDoubleList
  22.     #define RPQueue RPBI_TCQueueAsDoubleList
  23.     #define PCQueue PCBI_TCQueueAsDoubleList
  24.     #define RCQueue RCBI_TCQueueAsDoubleList
  25.  
  26.     _CLASSDEF( BI_TCQueueAsDoubleList )
  27.  
  28.     #define QueueIterator   BI_TCQueueAsDoubleListIterator
  29.     #define PQueueIterator  PBI_TCQueueAsDoubleListIterator
  30.     #define RQueueIterator  RBI_TCQueueAsDoubleListIterator
  31.     #define RPQueueIterator RPBI_TCQueueAsDoubleListIterator
  32.     #define PCQueueIterator PCBI_TCQueueAsDoubleListIterator
  33.     #define RCQueueIterator RCBI_TCQueueAsDoubleListIterator
  34.  
  35.     _CLASSDEF( BI_TCQueueAsDoubleListIterator )
  36.  
  37. #else   // TEMPLATES
  38.  
  39.     #if !defined( __CLSTYPES_H )
  40.     #include <ClsTypes.h>
  41.     #endif  // __CLSTYPES_H
  42.  
  43.     #if !defined( __DEQUE_H )
  44.     #include <Deque.h>
  45.     #endif  // __DEQUE_H
  46.  
  47.     _CLASSDEF(Queue)
  48.  
  49.     class _CLASSTYPE Queue : public Deque
  50.     {
  51.  
  52.     public:
  53.  
  54.         Object _FAR & get()
  55.             {
  56.             return Deque::getRight();
  57.             }
  58.  
  59.         void put( Object _FAR & o )
  60.             {
  61.             Deque::putLeft( o );
  62.             }
  63.  
  64.         virtual classType isA() const
  65.             {
  66.             return queueClass;
  67.             }
  68.  
  69.         virtual char _FAR *nameOf() const
  70.             {
  71.             return "Queue";
  72.             }
  73.  
  74.     private:
  75.  
  76.         Object _FAR & getLeft();
  77.         Object _FAR & getRight();
  78.  
  79.         void putLeft( Object _FAR & );
  80.         void putRight( Object _FAR & );
  81.  
  82.     };
  83.  
  84. #endif  // TEMPLATES
  85.  
  86. #endif  // __QUEUE_H
  87.  
  88.