Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FX::FXIOBuffer Class Reference

IOBuffer provides a file-interface to a memory-buffer of a given size. More...

#include <FXIOBuffer.h>

Inheritance diagram for FX::FXIOBuffer:
FX::FXIO

Public Member Functions

 FXIOBuffer ()
 Construct.
 
 FXIOBuffer (FXuchar *ptr, FXuval sz)
 Construct and open.
 
virtual FXbool open (FXuchar *ptr, FXuval sz)
 Open buffer.
 
FXuchar * data () const
 Obtain pointer to buffer.
 
virtual FXbool isOpen () const
 Return true if open.
 
virtual FXbool isSerial () const
 Return true if serial access only.
 
virtual FXlong position () const
 Get current buffer position.
 
virtual FXlong position (FXlong offset, FXuint from=FXIO::Begin)
 Change buffer position, returning new position from start.
 
virtual FXival readBlock (void *ptr, FXival count)
 Read block of bytes, returning number of bytes read.
 
virtual FXival writeBlock (const void *ptr, FXival count)
 Write block of bytes, returning number of bytes written.
 
virtual FXlong truncate (FXlong sz)
 Truncate size of the buffer.
 
virtual FXbool flush ()
 Flush to disk.
 
virtual FXint eof ()
 Test if we're at the end; -1 if error.
 
virtual FXlong size ()
 Return size of the buffer.
 
virtual FXbool close ()
 Close handle.
 
virtual ~FXIOBuffer ()
 Destroy and close.
 
- Public Member Functions inherited from FX::FXIO
virtual FXuint mode () const
 Return access mode.
 
virtual FXbool mode (FXuint m)
 Change access mode of open device.
 
virtual FXuint perms () const
 Return permissions.
 
virtual FXbool perms (FXuint p)
 Set permissions.
 
FXbool readChar (FXchar &ch)
 Read character.
 
FXbool writeChar (FXchar ch)
 Write character.
 
virtual ~FXIO ()
 Destroy and close.
 

Protected Attributes

FXuchar * buffer
 
FXuval pointer
 
FXuval space
 

Additional Inherited Members

- Public Types inherited from FX::FXIO
enum  {
  NoAccess = 0, ReadOnly = 1, WriteOnly = 2, ReadWrite = ReadOnly|WriteOnly,
  Append = 4, Truncate = 8, Create = 16, Exclusive = 32,
  NonBlocking = 64, Executable = 128, OwnHandle = 256, NoAccessTime = 512,
  Inheritable = 1024, Reading = ReadOnly, Writing = ReadWrite|Create|Truncate
}
 Access modes. More...
 
enum  { Begin = 0, Current = 1, End = 2 }
 Positioning modes. More...
 
enum  {
  OtherExec = 0x00001, OtherWrite = 0x00002, OtherRead = 0x00004, OtherReadWrite = OtherRead|OtherWrite,
  OtherFull = OtherReadWrite|OtherExec, GroupExec = 0x00008, GroupWrite = 0x00010, GroupRead = 0x00020,
  GroupReadWrite = GroupRead|GroupWrite, GroupFull = GroupReadWrite|GroupExec, OwnerExec = 0x00040, OwnerWrite = 0x00080,
  OwnerRead = 0x00100, OwnerReadWrite = OwnerRead|OwnerWrite, OwnerFull = OwnerReadWrite|OwnerExec, AllRead = OtherRead|GroupRead|OwnerRead,
  AllWrite = OtherWrite|GroupWrite|OwnerWrite, AllExec = OtherExec|GroupExec|OwnerExec, AllReadWrite = AllRead|AllWrite, AllFull = AllReadWrite|AllExec,
  Hidden = 0x00200, Directory = 0x00400, File = 0x00800, SymLink = 0x01000,
  SetUser = 0x02000, SetGroup = 0x04000, Sticky = 0x08000, Character = 0x10000,
  Block = 0x20000, Socket = 0x40000, Fifo = 0x80000
}
 Permissions. More...
 
enum  { Error = -1, Again = -2, Broken = -3 }
 Error return codes for readBlock() and writeBlock() More...
 

Detailed Description

IOBuffer provides a file-interface to a memory-buffer of a given size.


The documentation for this class was generated from the following file:

Copyright © 1997-2022 Jeroen van der Zijp