26#ifndef CASA_MFFILEIO_H
27#define CASA_MFFILEIO_H
30#include <casacore/casa/aips.h>
31#include <casacore/casa/IO/ByteIO.h>
32#include <casacore/casa/IO/MultiFileBase.h>
SeekOption
Define the possible seek options.
OpenOption
Define the possible ByteIO open options.
void write(Int64 size, const void *buffer) override
Write a block at the current offset.
Int64 doSeek(Int64 offset, ByteIO::SeekOption) override
Reset the position pointer to the given value.
~MFFileIO() override
The destructor flushes and closes the file.
Int64 read(Int64 size, void *buf, Bool throwException=True) override
Read size bytes from the byte stream.
void flush() override
Flush the file by writing all dirty data and all header info.
Bool isSeekable() const override
The file is always seekable.
void truncate(Int64 size) override
Truncate the file to the given size.
void remove()
Remove the file from the MultiFileBase object.
String fileName() const override
Get the file name of the file attached.
void fsync() override
Fsync the file (i.e.
Bool isWritable() const override
Is the file writable?
std::shared_ptr< MultiFileBase > itsFile
Int64 length() override
Get the length of the file.
Bool isReadable() const override
The file is always readable.
MFFileIO(const std::shared_ptr< MultiFileBase > &, const String &name, ByteIO::OpenOption=ByteIO::Old)
Open or create a virtual file with the given name.
void reopenRW() override
Reopen the file (and possibly underlying MultiFileBase) for read/write access.
const MultiFileInfo & getInfo() const
Get the MultiFileInfo object for this file.
String: the storage and methods of handling collections of characters.
this file contains all the compiler specific defines
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
bool Bool
Define the standard types used by Casacore.
Helper class for MultiFileBase containing info per logical file.