28 #ifndef TABLES_SSMCOLUMN_H
29 #define TABLES_SSMCOLUMN_H
315 return static_cast<char*
>(
itsData);
A Vector of integers, for indexing into Array<T> objects.
uInt itsLocalSize
The sizeof the datatype in local format.
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
Char * getRowValue(Int *data, uInt aRowNr)
Get the bucketnr, offset, and length of a variable length string.
virtual void putStringV(uInt aRowNr, const String *aDataPtr)
virtual void getIntV(uInt aRowNr, Int *aDataPtr)
virtual void getInt64V(uInt aRowNr, Int64 *aDataPtr)
std::complex< Float > Complex
uInt getExternalSizeBytes() const
Get the size of the dataType in bytes!!
virtual void getScalarColumnStringV(Vector< String > *aDataPtr)
virtual void putScalarColumnStringV(const Vector< String > *aDataPtr)
virtual void putIntV(uInt aRowNr, const Int *aDataPtr)
void init()
Initialize part of the object.
virtual void addRow(uInt aNewNrRows, uInt anOldNrRows, Bool doInit)
Add (NewNrRows-OldNrRows) rows to the Column and initialize the new rows when needed.
virtual void getStringV(uInt aRowNr, String *aDataPtr)
virtual void getScalarColumnuShortV(Vector< uShort > *aDataPtr)
uInt getExternalSizeBits() const
Get the size of the dataType in bits!!
char * getDataPtr()
Get the pointer to the cache.
SSMColumn(SSMBase *aParent, int aDataType, uInt aColNr)
Create a SSMColumn object with the given parent.
void getValue(uInt aRowNr)
Fill the cache with data of the bucket containing the given row.
virtual void getScalarColumnShortV(Vector< Short > *aDataPtr)
uInt itsNrElem
Number of elements in a value for this column.
virtual void putdoubleV(uInt aRowNr, const double *aDataPtr)
void putColumnValue(const void *anArray, uInt aNrRows)
Put the values from the array in the entire column.
void setColNr(uInt aColNr)
set the sequence number of this column.
Base class of the Standard Storage Manager.
uInt itsMaxLen
The maximum length of a 'fixed length' string.
virtual void putDComplexV(uInt aRowNr, const DComplex *aDataPtr)
void putValueShortString(uInt aRowNr, const void *aValue, const String &string)
Put the given string for the row into the correct data bucket.
virtual void doCreate(uInt aNrRows)
Let the object initialize itself for a newly created table.
virtual void getScalarColumnComplexV(Vector< Complex > *aDataPtr)
virtual void setShapeColumn(const IPosition &aShape)
Set the shape of an array in the column.
virtual void getScalarColumnDComplexV(Vector< DComplex > *aDataPtr)
virtual uInt ndim(uInt aRowNr)
Get the dimensionality of the item in the given row.
void removeColumn()
If something special has to be done before removing the Column, as is the case with Strings...
virtual void getfloatV(uInt aRowNr, float *aDataPtr)
virtual void getuShortV(uInt aRowNr, uShort *aDataPtr)
ABSTRACT CLASSES Deliberately vague to be general enough to allow for many different types of data
virtual void getFile(uInt aNrRows)
Let the column object initialize itself for an existing table.
virtual void getScalarColumnuIntV(Vector< uInt > *aDataPtr)
Conversion::ValueFunction * itsWriteFunc
Pointer to a convert function for writing.
virtual void getScalarColumnuCharV(Vector< uChar > *aDataPtr)
virtual void getScalarColumnBoolV(Vector< Bool > *aDataPtr)
Get the scalar values of the entire column.
virtual void getScalarColumndoubleV(Vector< double > *aDataPtr)
virtual void putScalarColumnInt64V(const Vector< Int64 > *aDataPtr)
virtual void getuIntV(uInt aRowNr, uInt *aDataPtr)
virtual void putfloatV(uInt aRowNr, const float *aDataPtr)
virtual void getuCharV(uInt aRowNr, uChar *aDataPtr)
virtual IPosition shape(uInt aRowNr)
Get the shape of the array in the given row.
void putValue(uInt aRowNr, const void *aValue)
Put the given value for the row into the correct data bucket.
void shiftRows(char *aValue, uInt rowNr, uInt startRow, uInt endRow)
Shift the rows in the bucket one to the left when removing the given row.
uInt getColNr()
get the sequence number of this column.
SSMColumn & operator=(const SSMColumn &)
Forbid assignment.
std::complex< Double > DComplex
uInt itsNrCopy
Number of values to be copied.
virtual void getShortV(uInt aRowNr, Short *aDataPtr)
virtual void getScalarColumnIntV(Vector< Int > *aDataPtr)
uInt itsColNr
Column sequence number of this column.
virtual void putScalarColumnIntV(const Vector< Int > *aDataPtr)
virtual void setMaxLength(uInt maxLength)
Set the maximum length of a 'fixed length' string.
virtual void putScalarColumnuCharV(const Vector< uChar > *aDataPtr)
bool Bool
Define the standard types used by Casacore.
virtual void putuCharV(uInt aRowNr, const uChar *aDataPtr)
virtual void putScalarColumnDComplexV(const Vector< DComplex > *aDataPtr)
virtual void putScalarColumnuIntV(const Vector< uInt > *aDataPtr)
virtual void putScalarColumnfloatV(const Vector< float > *aDataPtr)
A Column in the Standard Storage Manager.
virtual void putScalarColumndoubleV(const Vector< double > *aDataPtr)
virtual void getBoolV(uInt aRowNr, Bool *aDataPtr)
Get the scalar value in the given row.
virtual void putScalarColumnuShortV(const Vector< uShort > *aDataPtr)
virtual void putuIntV(uInt aRowNr, const uInt *aDataPtr)
virtual void deleteRow(uInt aRowNr)
Remove the given row from the data bucket and possibly string bucket.
IPosition itsShape
The shape of the column.
void * itsData
The data in local format.
Conversion::ValueFunction * itsReadFunc
Pointer to a convert function for reading.
virtual void putScalarColumnShortV(const Vector< Short > *aDataPtr)
virtual void getScalarColumnfloatV(Vector< float > *aDataPtr)
uInt itsExternalSizeBytes
Length of column cell value in storage format (0 = variable length).
virtual void putBoolV(uInt aRowNr, const Bool *aDataPtr)
Put the scalar value in the given row.
virtual void putShortV(uInt aRowNr, const Short *aDataPtr)
void getColumnValue(void *anArray, uInt aNrRows)
Get the values for the entire column.
virtual void putInt64V(uInt aRowNr, const Int64 *aDataPtr)
uInt getRowsPerBucket(uInt aColumn) const
Get rows per bucket for the given column.
virtual void putScalarColumnComplexV(const Vector< Complex > *aDataPtr)
String: the storage and methods of handling collections of characters.
virtual void putComplexV(uInt aRowNr, const Complex *aDataPtr)
virtual void getdoubleV(uInt aRowNr, double *aDataPtr)
Base table column storage manager class.
virtual void putScalarColumnBoolV(const Vector< Bool > *aDataPtr)
Put the scalar values of the entire column.
virtual void getDComplexV(uInt aRowNr, DComplex *aDataPtr)
void resync(uInt aNrRow)
Resync the storage manager with the new file contents.
virtual void putuShortV(uInt aRowNr, const uShort *aDataPtr)
virtual void getScalarColumnInt64V(Vector< Int64 > *aDataPtr)
size_t ValueFunction(void *to, const void *from, size_t nvalues)
Define the signature of a function converting nvalues values from internal to external format or vice...
SSMBase * itsSSMPtr
Pointer to the parent storage manager.
virtual void getComplexV(uInt aRowNr, Complex *aDataPtr)
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.