LargeRegularFileIO.h

Classes

LargeRegularFileIO -- Class for IO on a regular large file. (full description)

class LargeRegularFileIO: public LargeFilebufIO

Interface

Public Members
explicit LargeRegularFileIO (const RegularFile& regularFile, RegularFile::OpenOption = RegularFile::Old, uInt filebufSize=0)
~LargeRegularFileIO()
virtual void reopenRW()
virtual String fileName() const
Private Members
LargeRegularFileIO (const LargeRegularFileIO& that)
LargeRegularFileIO& operator= (const LargeRegularFileIO& that)

Description

Review Status

Reviewed By:
Friso Olnon
Date Reviewed:
1996/11/06
Programs:
Tests:

Prerequisite

Synopsis

This class is a specialization of class ByteIO. It uses a regular file as the data store.

The class is derived from FilebufIO, which contains all functions to access the file. The description of this class explains the use of the filebufSize argument in the constructor.

Example

    // Create a file (which should not exist yet).
    LargeRegularFileIO regio (RegularFile("file.name"), ByeIO::NewNoReplace);
    // Use that as the sink of AipsIO.
    AipsIO stream (&regio);
    // Write values.
    stream << (Int)10;
    stream << True;
    // Seek to beginning of file and read data in.
    stream.setpos (0);
    Int vali;
    Bool valb;
    stream >> vali >> valb;

Member Description

explicit LargeRegularFileIO (const RegularFile& regularFile, RegularFile::OpenOption = RegularFile::Old, uInt filebufSize=0)

Create an IO stream object for a regular file with the given name. The ByteIO option determines if the file will be created or opened for input and/or output.
The argument filebufSize defines the length of the internal buffer in the underlying FilebufIO object. A zero length uses an appropriate default.

~LargeRegularFileIO()

virtual void reopenRW()

Reopen the underlying file for read/write access. Nothing will be done if the stream is writable already. Otherwise it will be reopened and an exception will be thrown if it is not possible to reopen it for read/write access.

virtual String fileName() const

Get the file name of the file attached.

LargeRegularFileIO (const LargeRegularFileIO& that)

Copy constructor, should not be used.

LargeRegularFileIO& operator= (const LargeRegularFileIO& that)

Assignment, should not be used.