home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / OTL-MC7.DMS / in.adf / classes.lha / Classes / DataStructures / buffer.h next >
Encoding:
C/C++ Source or Header  |  1995-01-31  |  826 b   |  37 lines

  1. #ifndef CPP_DATASTRUCTURES_BUFFER_H
  2. #define CPP_DATASTRUCTURES_BUFFER_H
  3.  
  4. // Ein dynamischer Datenpuffer
  5. //
  6. // Autor: Jochen Becher
  7. //
  8. // Historie:
  9. // Version 1.0 am 25. Juni 94
  10.  
  11. #ifndef EXEC_TYPES_H
  12. #include <exec/types.h>
  13. #endif
  14.  
  15. #ifndef CPP_EXCEPTIONS_EXCEPTIONS_H
  16. #include <classes/exceptions/exceptions.h>
  17. #endif
  18.  
  19. class BufferC {
  20. public:
  21.     BufferC(ULONG initsize = 256) throw (MemoryX);
  22.     BufferC(APTR buffer, ULONG bufsize) throw (MemoryX);
  23.     BufferC(const BufferC &) throw (MemoryX);
  24.     ~BufferC();
  25.     BufferC &operator= (const BufferC &) throw (MemoryX);
  26.     APTR buffer() const { return databuffer; };
  27.     ULONG size() const { return databuffer ? buffersize : 0; };
  28.     VOID doubleBuffer() throw (MemoryX);
  29.     VOID setBufferSize(ULONG newsize) throw (MemoryX);
  30. private:
  31.     APTR databuffer;
  32.     ULONG buffersize;
  33.     BOOL privBuffer;
  34. };
  35.  
  36. #endif
  37.