28 #ifndef TABLES_BASECOLUMN_H
29 #define TABLES_BASECOLUMN_H
159 virtual void get (
rownr_t rownr,
void* dataPtr)
const;
197 virtual void put (
rownr_t rownr,
const void* dataPtr);
300 virtual void allocIterBuf (
void*& lastVal,
void*& curVal,
304 virtual void freeIterBuf (
void*& lastVal,
void*& curVal);
virtual void putColumnSlice(const Slicer &, const ArrayBase &dataPtr)
Put into subsections of all table arrays in the column.
A Vector of integers, for indexing into Array<T> objects.
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
virtual uInt ndimColumn() const
Get the global #dimensions of an array (ie.
virtual void getScalarColumn(ArrayBase &dataPtr) const
Get the vector of all scalar values in a column.
Non-templated base class for templated Array class.
virtual void getColumnSlice(const Slicer &, ArrayBase &dataPtr) const
Get subsections from all arrays in the column.
std::complex< Float > Complex
virtual Bool isWritable() const =0
Test if the column is writable.
virtual TableRecord & keywordSet()=0
virtual void putSlice(rownr_t rownr, const Slicer &, const ArrayBase &dataPtr)
Put a slice of an N-dimensional array in a particular cell.
virtual void getColumnSliceCells(const RefRows &rownrs, const Slicer &, ArrayBase &dataPtr) const
Get subsections from some arrays in the column.
virtual void makeSortKey(Sort &, CountedPtr< BaseCompare > &cmpObj, Int order, CountedPtr< ArrayBase > &dataSave)
Add this column and its data to the Sort object.
virtual void getSlice(rownr_t rownr, const Slicer &, ArrayBase &dataPtr) const
Get a slice of an N-dimensional array in a particular cell.
An abstract base class for table column descriptions.
Envelope class for the description of a table column.
virtual void getArrayColumnCells(const RefRows &rownrs, ArrayBase &dataPtr) const
Get the array of some array values in a column.
virtual uInt ndim(rownr_t rownr) const
Get the #dimensions of an array in a particular cell.
virtual void putArrayColumnCells(const RefRows &rownrs, const ArrayBase &dataPtr)
Get the array of some array values in a column.
virtual void makeRefSortKey(Sort &, CountedPtr< BaseCompare > &cmpObj, Int order, const Vector< rownr_t > &rownrs, CountedPtr< ArrayBase > &dataSave)
Do it only for the given row numbers.
void throwGetType(const String &type) const
void getScalar(rownr_t rownr, Bool &value) const
Get the value from the row and convert it to the required type.
void putScalar(rownr_t rownr, const Char *value)
virtual void putArrayColumn(const ArrayBase &dataPtr)
Put the array of all array values in the column.
Sort on one or more keys, ascending and/or descending.
virtual ColumnCache & columnCache()=0
Get a pointer to the underlying column cache.
virtual void putScalarColumn(const ArrayBase &dataPtr)
Put the vector of all scalar values in the column.
Referenced counted pointer for constant data.
virtual void putScalarColumnCells(const RefRows &rownrs, const ArrayBase &dataPtr)
Get the vector of some scalar values in a column.
void throwGetScalar() const
Throw exceptions for invalid scalar get or put.
std::complex< Double > DComplex
virtual void getArray(rownr_t rownr, ArrayBase &dataPtr) const
Get an array from a particular cell.
virtual IPosition tileShape(rownr_t rownr) const
Get the tile shape of an array in a particular cell.
Class holding the row numbers in a RefTable.
void throwPutType(const String &type) const
virtual rownr_t nrow() const =0
Get nr of rows in the column.
virtual void setMaximumCacheSize(uInt nbytes)=0
Set the maximum cache size (in bytes) to be used by a storage manager.
bool Bool
Define the standard types used by Casacore.
virtual TableRecord & rwKeywordSet()=0
Get access to the column keyword set.
A caching object for a table column.
virtual void setShape(rownr_t rownr, const IPosition &shape)
Set the shape of the array in the given row.
A hierarchical collection of named fields of various types.
virtual Bool canChangeShape() const
Ask the data manager if the shape of an existing array can be changed.
Specify which elements to extract from an n-dimensional array.
virtual Bool isStored() const =0
Test if the column is stored (otherwise it is virtual).
virtual IPosition shape(rownr_t rownr) const
Get the shape of an array in a particular cell.
uInt64 rownr_t
Define the type of a row number in a table.
virtual void initialize(rownr_t startRownr, rownr_t endRownr)=0
Initialize the rows from startRow till endRow (inclusive) with the default value defined in the colum...
virtual void allocIterBuf(void *&lastVal, void *&curVal, CountedPtr< BaseCompare > &cmpObj)
Allocate value buffers for the table iterator.
void putScalar(rownr_t rownr, const Bool &value)
Put the value into the row and convert it from the given type.
const ColumnDesc & columnDesc() const
Get const access to the column description.
virtual void putColumnSliceCells(const RefRows &rownrs, const Slicer &, const ArrayBase &dataPtr)
Put subsections of some arrays in the column.
virtual void put(rownr_t rownr, const void *dataPtr)
Put the scalar value in a particular cell.
void throwPutScalar() const
const BaseColumnDesc * colDescPtr_p
virtual void getScalarColumnCells(const RefRows &rownrs, ArrayBase &dataPtr) const
Get the vector of some scalar values in a column.
virtual void putArray(rownr_t rownr, const ArrayBase &dataPtr)
Put the array value in a particular cell.
String: the storage and methods of handling collections of characters.
virtual void getArrayColumn(ArrayBase &dataPtr) const
Get the array of all array values in a column.
virtual void freeIterBuf(void *&lastVal, void *&curVal)
Free the value buffers allocated by allocIterBuf.
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
BaseColumn(const BaseColumnDesc *)
Construct it using the given column description.
virtual IPosition shapeColumn() const
Get the global shape of an array (ie.
virtual Bool isDefined(rownr_t rownr) const =0
Test if the given cell contains a defined value.
Abstract base class for a table column.