|
Public Types |
typedef INT64 | offset_type |
typedef FILE_OFFSET | library_offset_type |
Public Member Functions |
| File () |
| ~File () |
void | open (const std::string &fileName, int mode) |
void | close () |
void | read (void *buffer, offset_type count) |
void | write (const void *buffer, offset_type count) |
void | seekg (offset_type relativePosition, std::fstream::seekdir direction) |
void | seekp (offset_type relativePosition, std::fstream::seekdir direction) |
offset_type | tellg () |
offset_type | tellp () |
offset_type | gcount () |
int | rdstate () |
offset_type | size () const |
void | unlink () |
Static Public Member Functions |
void | unlink (const std::string &fileName) |
void | rename (const std::string &oldName, const std::string &newName) |
Private Member Functions |
void | _appendSegment () |
offset_type | _absolutePosition (offset_type relativePosition, offset_type currentPosition, std::fstream::seekdir direction) const |
FileSegment * | _segmentForPosition (offset_type absolutePosition, FileSegment *guess) |
void | _validateReadPointer () |
void | _validateWritePointer () |
Static Private Member Functions |
std::string | segmentName (const std::string &fileName, int segment) |
Private Attributes |
std::string | _fileName |
std::vector< FileSegment * > | _segments |
FileSegment * | _readSegment |
FileSegment * | _writeSegment |
offset_type | _readPosition |
offset_type | _writePosition |
offset_type | _readCount |
bool | _readPointerValid |
bool | _writePointerValid |
int | _mode |
int | _state |