28 #ifndef TABLES_CONCATCOLUMN_H
29 #define TABLES_CONCATCOLUMN_H
33 #include <casacore/casa/aips.h>
34 #include <casacore/tables/Tables/BaseColumn.h>
35 #include <casacore/tables/Tables/ColumnCache.h>
36 #include <casacore/tables/Tables/TableRecord.h>
37 #include <casacore/casa/Arrays/ArrayFwd.h>
Non-templated base class for templated Array class.
virtual void putArrayColumnCells(const RefRows &rownrs, const ArrayBase &dataPtr)
Get the array of some array values in a column.
virtual void putColumnSliceCells(const RefRows &rownrs, const Slicer &, const ArrayBase &dataPtr)
Put subsections of some arrays in the column.
virtual ColumnCache & columnCache()
Get the underlying column cache.
static void putColumnSlicePart(BaseColumn *col, const Slicer *ns, ArrayBase &arr)
static void putColumnPart(BaseColumn *col, const Slicer *, ArrayBase &arr)
virtual IPosition tileShape(rownr_t rownr) const
Get the tile shape of an array in a particular cell.
virtual void freeIterBuf(void *&lastVal, void *&curVal)
Free the value buffers allocated by allocIterBuf.
ConcatColumn(const BaseColumnDesc *, ConcatTable *)
Construct the ConcatColumn.
virtual void get(rownr_t rownr, void *dataPtr) const
Get a value from a particular cell.
virtual TableRecord & keywordSet()
void accessRows(const RefRows &rownrs, const Slicer *ns, ArrayBase &dataPtr, AccessRowsFunc *) const
Access the data with multiple rows combined.
virtual Bool isDefined(rownr_t rownr) const
Test if a value in a particular cell has been defined.
static void getRowsSlicePart(BaseColumn *col, const RefRows &rows, const Slicer *, ArrayBase &array)
static void getColumnPart(BaseColumn *col, const Slicer *, ArrayBase &arr)
Define the access functions.
virtual TableRecord & rwKeywordSet()
Get access to the column keyword set.
virtual void putArray(rownr_t rownr, const ArrayBase &dataPtr)
Put the array value in a particular cell.
virtual void getArrayColumn(ArrayBase &dataPtr) const
Get the array of all array values in a column.
virtual void putArrayColumn(const ArrayBase &dataPtr)
Put the array of all array values in the column.
virtual uInt ndim(rownr_t rownr) const
Get the #dimensions of an array in a particular cell.
virtual IPosition shape(rownr_t rownr) const
Get the shape of an array in a particular cell.
virtual void initialize(rownr_t startRownr, rownr_t endRownr)
Initialize the rows from startRownr till endRownr (inclusive) with the default value defined in the c...
virtual void getColumnSlice(const Slicer &, ArrayBase &dataPtr) const
Get subsections from all arrays in the column.
void AccessColumnFunc(BaseColumn *col, const Slicer *, ArrayBase &array)
Define the function to handle access to an entire column.
virtual void getArray(rownr_t rownr, ArrayBase &dataPtr) const
Get an array from a particular cell.
virtual void putColumnSlice(const Slicer &, const ArrayBase &dataPtr)
Put into subsections of all table arrays in the column.
virtual void setMaximumCacheSize(uInt nbytes)
Set the maximum cache size (in bytes) to be used by a storage manager.
static void getColumnSlicePart(BaseColumn *col, const Slicer *ns, ArrayBase &arr)
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 put(rownr_t rownr, const void *dataPtr)
Put the scalar value in a particular cell.
virtual uInt ndimColumn() const
Get the global #dimensions of an array (i.e.
virtual void setShape(rownr_t rownr, const IPosition &shape, const IPosition &tileShape)
Set the shape and tile shape of the array in the given row.
virtual void getColumnSliceCells(const RefRows &rownrs, const Slicer &, ArrayBase &dataPtr) const
Get subsections from some arrays in the column.
static void getRowsPart(BaseColumn *col, const RefRows &rows, const Slicer *, ArrayBase &array)
virtual Bool isStored() const
Test if the column is stored (otherwise it is virtual).
virtual Bool isWritable() const
Test if the column is writable in the parent table.
static void putRowsPart(BaseColumn *col, const RefRows &rows, const Slicer *, ArrayBase &array)
void accessColumn(const Slicer *ns, ArrayBase &dataPtr, AccessColumnFunc *) const
Access the data for an entire column.
virtual IPosition shapeColumn() const
Get the global shape of an array (i.e.
virtual void getSlice(rownr_t rownr, const Slicer &, ArrayBase &dataPtr) const
Get a slice of an N-dimensional array in a particular cell.
virtual void getArrayColumnCells(const RefRows &rownrs, ArrayBase &dataPtr) const
Get the array of some array values in a column.
static void putRowsSlicePart(BaseColumn *col, const RefRows &rows, const Slicer *, ArrayBase &array)
virtual void allocIterBuf(void *&lastVal, void *&curVal, CountedPtr< BaseCompare > &cmpObj)
Allocate value buffers for the table iterator.
virtual Bool canChangeShape() const
It can change shape if the underlying column can.
virtual void setShape(rownr_t rownr, const IPosition &shape)
Set the shape of the array in the given row.
virtual rownr_t nrow() const
Get nr of rows in the column.
void AccessRowsFunc(BaseColumn *col, const RefRows &rows, const Slicer *, ArrayBase &array)
Define the function to handle access to a number of rows.
Referenced counted pointer for constant data.
this file contains all the compiler specific defines
Block< BaseColumn * > refColPtr_p
void setColumnCache(uInt tableNr, const ColumnCache &) const
Set the column cache to the cache of the given table.
TableExprNode array(const TableExprNode &values, const TableExprNodeSet &shape)
Create an array of the given shape and fill it with the values.
bool Bool
Define the standard types used by Casacore.
ConcatTable * refTabPtr_p
uInt64 rownr_t
Define the type of a row number in a table.