28 #ifndef TABLES_STARRAYFILE_H
29 #define TABLES_STARRAYFILE_H
32 #include <casacore/casa/aips.h>
33 #include <casacore/casa/IO/RegularFileIO.h>
34 #include <casacore/casa/IO/TypeIO.h>
35 #include <casacore/casa/BasicSL/String.h>
36 #include <casacore/casa/BasicSL/Complex.h>
virtual void reopenRW()
Reopen the underlying IO stream for read/write access.
OpenOption
Define the possible ByteIO open options.
Abstract base class to combine multiple files in a single one.
void copyArrayInt64(Int64 to, Int64 from, uInt64 nr)
void get(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, Char *)
void put(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, const uInt *)
uInt putShape(const IPosition &shape, Int64 &fileOffset, const Char *dummy)
void put(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, const Bool *)
Put nr elements at the given file offset and array offset.
void copyArrayComplex(Int64 to, Int64 from, uInt64 nr)
void get(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, DComplex *)
uInt putShape(const IPosition &shape, Int64 &fileOffset, const String *dummy)
void get(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, uChar *)
uInt putShape(const IPosition &shape, Int64 &fileOffset, const Bool *dummy)
Put the array shape and store its file offset into the offset argument.
void put(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, const Short *)
void get(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, Bool *)
Get nr elements at the given file offset and array offset.
void copyArrayChar(Int64 to, Int64 from, uInt64 nr)
void put(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, const Float *)
void put(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, const Int64 *)
uInt putShape(const IPosition &shape, Int64 &fileOffset, const Complex *dummy)
uInt putShape(const IPosition &shape, Int64 &fileOffset, const DComplex *dummy)
void put(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, const uShort *)
uInt putShape(const IPosition &shape, Int64 &fileOffset, const Double *dummy)
void copyArrayFloat(Int64 to, Int64 from, uInt64 nr)
void resync()
Resync the file (i.e.
void copyData(Int64 to, Int64 from, uInt64 length)
Copy data with the given length from one file offset to another.
void copyArrayDouble(Int64 to, Int64 from, uInt64 nr)
void get(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, Double *)
uInt putShape(const IPosition &shape, Int64 &fileOffset, const Short *dummy)
void put(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, const Char *)
void get(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, Int *)
void get(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, Complex *)
void putRefCount(uInt refCount, Int64 offset)
Put the reference count.
void put(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, const Complex *)
void copyArrayInt(Int64 to, Int64 from, uInt64 nr)
uInt putShape(const IPosition &shape, Int64 &fileOffset, const uChar *dummy)
void put(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, const Int *)
void get(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, uInt *)
uInt putShape(const IPosition &shape, Int64 &fileOffset, const Float *dummy)
void setpos(Int64 offset)
Position the file on the given offset.
void put(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, const String *)
void copyArrayBool(Int64 to, Int64 from, uInt64 nr)
Copy the array with nr elements from one file offset to another.
void get(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, Short *)
uInt putShape(const IPosition &shape, Int64 &fileOffset, const Int *dummy)
void get(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, uShort *)
void put(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, const uChar *)
Bool flush(Bool fsync)
Flush and optionally fsync the data.
uInt putShape(const IPosition &shape, Int64 &fileOffset, const uInt *dummy)
uInt putShape(const IPosition &shape, Int64 &fileOffset, const Int64 *dummy)
uInt putRes(const IPosition &shape, Int64 &fileOffset, float lenElem)
Put the array shape at the end of the file and reserve space for nr elements (each lenElem bytes long...
uInt putShape(const IPosition &shape, Int64 &fileOffset, const uShort *dummy)
void copyArrayuInt(Int64 to, Int64 from, uInt64 nr)
StManArrayFile(const String &name, ByteIO::OpenOption, uInt version=0, Bool bigEndian=True, uInt bufferSize=0, MultiFileBase *mfile=0)
Construct the object and attach it to the give file.
void put(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, const Double *)
~StManArrayFile()
Close the possibly opened file.
uInt getShape(Int64 fileOffset, IPosition &shape)
Get the shape at the given file offset.
uInt getRefCount(Int64 offset)
Get the reference count.
void get(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, uInt64 *)
void reopenRW()
Reopen the file for read/write access.
Int64 length()
Return the current file length (merely a debug tool).
void copyArrayuInt64(Int64 to, Int64 from, uInt64 nr)
void copyArrayuChar(Int64 to, Int64 from, uInt64 nr)
void copyArrayShort(Int64 to, Int64 from, uInt64 nr)
uInt putShape(const IPosition &shape, Int64 &fileOffset, const uInt64 *dummy)
void put(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, const uInt64 *)
void copyArrayDComplex(Int64 to, Int64 from, uInt64 nr)
void get(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, Float *)
void get(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, Int64 *)
void get(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, String *)
void copyArrayString(Int64 to, Int64 from, uInt64 nr)
void copyArrayuShort(Int64 to, Int64 from, uInt64 nr)
void put(Int64 fileOffset, Int64 arrayOffset, uInt64 nr, const DComplex *)
String: the storage and methods of handling collections of characters.
virtual size_t write(size_t nvalues, const Bool *value)
Convert the values and write them to the ByteIO object.
virtual size_t read(size_t nvalues, Bool *value)
Read the values from the ByteIO object and convert them.
std::complex< Float > Complex
std::complex< Double > DComplex
this file contains all the compiler specific defines
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape.
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.
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
unsigned long long uInt64