RWFileManager man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



RWFileManager(3C++)					   RWFileManager(3C++)

Name
     RWFileManager - Rogue Wave library class

Synopsis
	      typedef long     RWoffset ;

	      typedef unsigned long   RWspace;	// (typically)
	  #include <rw/filemgr.h>
	  RWFileManager f("file.dat");

Description
     Class RWFileManager allocates and deallocates storage in a disk file,
     much like a "freestore" manager.  It does this by maintaining a linked
     list of free space within the file.  Note:	 Class RWFileManager inherits
     class RWFile as a public base class; hence all the public member
     functions of RWFile are visible to RWFileManager.	They are not listed
     here.  If a file is managed by an RWFileManager then reading or writing
     to unallocated space in the file will have undefined results.  In
     particular, overwriting the end of allocated space is a common problem
     which usually results in corrupted data.  One way to encounter this
     problem is to use binaryStoreSize() to discover the amount of space
     needed to store an RWCollection.  For most purposes, the storage size of
     an RWCollection is found using the RWCollectable method
     recursiveStoreSize().

Persistence
     None

Public Constructor
	      RWFileManager(const char* filename, const char* mode = 0);

     Constructs an RWFileManager for the file with path name filename using
     mode mode.	 The mode is as given by the Standard C library function
     fopen().  If mode is zero (the default) then the constructor will attempt
     to open an existing file with the given filename for update (mode "rb+").
     If this is not possible, then it will attempt to create a new file with
     the given filename (mode "wb+").  If the file exists and is not empty,
     then the constructor assumes it contains an existing file manager; other
     contents will cause an exception of type RWExternalErr to be thrown.  If
     no file exists or if an existing file is empty, then the constructor will
     attempt to create the file (if necessary) and initialize it with a new
     file manager. The resultant object should be checked for validity using

									Page 1

RWFileManager(3C++)					   RWFileManager(3C++)

     function isValid().  A possible exception that could occur is RWFileErr.

Public Member Functions
	      RWoffset
	  allocate(RWspace s);

     Allocates s bytes of storage in the file.	Returns the offset to the
     start of the storage location.  The very first allocation for the file is
     considered "special" and can be returned at any later time by the
     function start().	A possible exception that could occur is RWFileErr.

	      void
	  deallocate(RWoffset t);

     Deallocates (frees) the storage space starting at offset t.  This space
     must have been previously allocated by a call to allocate().  The very
     first allocation ever made in the file is considered "special" and cannot
     be deallocated.  A possible exception that could occur is RWFileErr.

	      RWoffset
	  endData();

     Returns an offset just past the end of the file.

	      RWoffset
	  start();

     Returns the offset of the first space ever allocated for data in this
     file.  If no space has ever been allocated, returns RWNIL.	 This is
     typically used to "get started" and find the rest of the data in the
     file.

									Page 2

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net