Allocates and deallocates storage in a disk file, much like a "freestore" manager.
More...
|
| RWFileManager (const char *filename, const char *mode=rwnil) |
|
| ~RWFileManager () |
|
RWoffset | allocate (RWspace s) |
|
void | deallocate (RWoffset t) |
|
RWoffset | endData () const |
|
RWoffset | start () const |
|
| RWFile (const char *filename, const char *mode=0, bool large_file=false) |
|
| ~RWFile () |
|
const char * | Access () const |
|
void | ClearErr () |
|
RWoffset | CurOffset () const |
|
RWoffset64 | CurOffset64 () const |
|
bool | Eof () const |
|
bool | eof () const |
|
bool | Erase () |
|
bool | Error () const |
|
bool | Exists () const |
|
bool | Flush () |
|
const char * | GetName () const |
|
FILE * | GetStream () const |
|
bool | good () const |
|
bool | IsEmpty () const |
|
bool | isValid () const |
|
bool | Read (bool &i) |
|
bool | Read (bool *i, size_t n, size_t *count=0) |
|
bool | Read (char &c) |
|
bool | Read (char *i, size_t n, int delim, size_t *count=0) |
|
bool | Read (char *i, size_t n, size_t *count=0) |
|
bool | Read (char *string) |
|
bool | Read (double &s) |
|
bool | Read (double *i, size_t n, size_t *count=0) |
|
bool | Read (float &f) |
|
bool | Read (float *i, size_t n, size_t *count=0) |
|
bool | Read (int &i) |
|
bool | Read (int *i, size_t n, size_t *count=0) |
|
bool | Read (long &i) |
|
bool | Read (long *i, size_t n, size_t *count=0) |
|
bool | Read (long double &d) |
|
bool | Read (long double *i, size_t n, size_t *count=0) |
|
bool | Read (long long &i) |
|
bool | Read (long long *i, size_t n, size_t *count=0) |
|
bool | Read (short &i) |
|
bool | Read (short *i, size_t n, size_t *count=0) |
|
bool | Read (unsigned char &c) |
|
bool | Read (unsigned char *c, size_t n, size_t *count=0) |
|
bool | Read (unsigned int &i) |
|
bool | Read (unsigned int *i, size_t n, size_t *count=0) |
|
bool | Read (unsigned long &i) |
|
bool | Read (unsigned long *i, size_t n, size_t *count=0) |
|
bool | Read (unsigned long long &i) |
|
bool | Read (unsigned long long *i, size_t n, size_t *count=0) |
|
bool | Read (unsigned short &i) |
|
bool | Read (unsigned short *i, size_t n, size_t *count=0) |
|
bool | Read (wchar_t &w) |
|
bool | Read (wchar_t *i, size_t n, size_t *count=0) |
|
bool | SeekTo (RWoffset offset) |
|
bool | SeekTo64 (RWoffset64 offset) |
|
bool | SeekToBegin () |
|
bool | SeekToEnd () |
|
bool | Write (bool i) |
|
bool | Write (char i) |
|
bool | Write (const bool *i, size_t count) |
|
bool | Write (const char *string) |
|
bool | Write (const char *string, size_t) |
|
bool | Write (const double *i, size_t count) |
|
bool | Write (const float *i, size_t count) |
|
bool | Write (const int *i, size_t count) |
|
bool | Write (const long *i, size_t count) |
|
bool | Write (const long double *i, size_t count) |
|
bool | Write (const long long *i, size_t count) |
|
bool | Write (const short *i, size_t count) |
|
bool | Write (const unsigned char *c, size_t N) |
|
bool | Write (const unsigned int *i, size_t N) |
|
bool | Write (const unsigned long *i, size_t N) |
|
bool | Write (const unsigned long long *i, size_t count) |
|
bool | Write (const unsigned short *i, size_t N) |
|
bool | Write (const wchar_t *i, size_t count) |
|
bool | Write (double d) |
|
bool | Write (float f) |
|
bool | Write (int i) |
|
bool | Write (long double d) |
|
bool | Write (long i) |
|
bool | Write (long long i) |
|
bool | Write (short i) |
|
bool | Write (unsigned char i) |
|
bool | Write (unsigned int i) |
|
bool | Write (unsigned long i) |
|
bool | Write (unsigned long long i) |
|
bool | Write (unsigned short i) |
|
bool | Write (wchar_t i) |
|
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 has 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().
- Synopsis
typedef unsigned long RWspace;
#include <rw/filemgr.h>
Allocates and deallocates storage in a disk file, much like a "freestore" manager.
Definition filemgr.h:66
- Persistence
- None