home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / CTECHAPP.ZIP / CONTAINR.ZIP / CONTAINR.HPP < prev    next >
C/C++ Source or Header  |  1990-02-19  |  1KB  |  59 lines

  1. //  Header:     Containr (Abstract Base Class for Containers)
  2. //  Version:    3.20
  3. //
  4. //  Language:   C++ 2.0
  5. //  Environ:    Any
  6. //
  7. //  Purpose:    Provides an abstract base class for container classes.
  8. //
  9. //  Written by: Scott Robert Ladd
  10.  
  11. #if !defined(__CONTAINR_HPP)
  12. #define __CONTAINR_HPP 1
  13.  
  14. class Container
  15.     {
  16.     protected:
  17.         // number of items in this list
  18.         unsigned long Count;
  19.  
  20.         // pointer to exception handler
  21.         void (* ErrorHandler)();
  22.  
  23.     public:
  24.         // constructor
  25.         Container();
  26.  
  27.         // copy constructor
  28.         Container(const Container & c);
  29.  
  30.         // assignment opeartor
  31.         void operator = (const Container & c);
  32.  
  33.         // store an item
  34.         virtual int Store(void * item) = 0;
  35.  
  36.         // examine an item
  37.         virtual void * Examine() = 0;
  38.  
  39.         // retrieve an item
  40.         virtual void * Retrieve() = 0;
  41.  
  42.         // eliminate contents
  43.         virtual void Empty() = 0;
  44.  
  45.         // return number of items in a container
  46.         unsigned long GetCount()
  47.             {
  48.             return Count;
  49.             }
  50.  
  51.         // set function for exception handler
  52.         void AssignHandler(void (* userHandler)())
  53.             {
  54.             ErrorHandler = userHandler;
  55.             }
  56.     };
  57.  
  58. #endif
  59.