28 #ifndef TABLES_CONCATCOLUMN_H
29 #define TABLES_CONCATCOLUMN_H
150 virtual void get (
rownr_t rownr,
void* dataPtr)
const;
181 virtual void put (
rownr_t rownr,
const void* dataPtr);
220 virtual void allocIterBuf (
void*& lastVal,
void*& curVal,
224 virtual void freeIterBuf (
void*& lastVal,
void*& curVal);
void AccessRowsFunc(BaseColumn *col, const RefRows &rows, const Slicer *, ArrayBase &array)
Define the function to handle access to a number of rows.
virtual TableRecord & rwKeywordSet()
Get access to the column keyword set.
A Vector of integers, for indexing into Array<T> objects.
virtual void freeIterBuf(void *&lastVal, void *&curVal)
Free the value buffers allocated by allocIterBuf.
virtual Bool isDefined(rownr_t rownr) const
Test if a value in a particular cell has been defined.
virtual void putSlice(rownr_t rownr, const Slicer &, const ArrayBase &dataPtr)
Put a slice of an N-dimensional array in a particular cell.
Non-templated base class for templated Array class.
virtual uInt ndimColumn() const
Get the global #dimensions of an array (i.e.
ConcatColumn(const BaseColumnDesc *, ConcatTable *)
Construct the ConcatColumn.
virtual void putArray(rownr_t rownr, const ArrayBase &dataPtr)
Put the array value in a particular cell.
virtual void getColumnSlice(const Slicer &, ArrayBase &dataPtr) const
Get subsections from all arrays in the column.
TableExprNode array(const TableExprNode &values, const TableExprNodeSet &shape)
Create an array of the given shape and fill it with the values.
An abstract base class for table column descriptions.
static void getColumnPart(BaseColumn *col, const Slicer *, ArrayBase &arr)
Define the access functions.
virtual void putArrayColumn(const ArrayBase &dataPtr)
Put the array of all array values in the column.
virtual void putColumnSliceCells(const RefRows &rownrs, const Slicer &, const ArrayBase &dataPtr)
Put subsections of some arrays in the column.
virtual uInt ndim(rownr_t rownr) const
Get the #dimensions of an array in a particular cell.
virtual Bool canChangeShape() const
It can change shape if the underlying column can.
virtual TableRecord & keywordSet()
virtual void setShape(rownr_t rownr, const IPosition &shape)
Set the shape of the array in the given row.
virtual void setMaximumCacheSize(uInt nbytes)
Set the maximum cache size (in bytes) to be used by a storage manager.
virtual void getArray(rownr_t rownr, ArrayBase &dataPtr) const
Get an array from a particular cell.
void accessColumn(const Slicer *ns, ArrayBase &dataPtr, AccessColumnFunc *) const
Access the data for an entire column.
virtual void getSlice(rownr_t rownr, const Slicer &, ArrayBase &dataPtr) const
Get a slice of an N-dimensional array in a particular cell.
Referenced counted pointer for constant data.
static void getRowsPart(BaseColumn *col, const RefRows &rows, const Slicer *, ArrayBase &array)
void AccessColumnFunc(BaseColumn *col, const Slicer *, ArrayBase &array)
Define the function to handle access to an entire column.
Block< BaseColumn * > refColPtr_p
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.
virtual void getArrayColumn(ArrayBase &dataPtr) const
Get the array of all array values in a column.
bool Bool
Define the standard types used by Casacore.
static void putRowsSlicePart(BaseColumn *col, const RefRows &rows, const Slicer *, ArrayBase &array)
A caching object for a table column.
virtual Bool isWritable() const
Test if the column is writable in the parent table.
virtual void put(rownr_t rownr, const void *dataPtr)
Put the scalar value in a particular cell.
virtual void allocIterBuf(void *&lastVal, void *&curVal, CountedPtr< BaseCompare > &cmpObj)
Allocate value buffers for the table iterator.
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 IPosition shapeColumn() const
Get the global shape of an array (i.e.
A hierarchical collection of named fields of various types.
static void getColumnSlicePart(BaseColumn *col, const Slicer *ns, ArrayBase &arr)
virtual IPosition shape(rownr_t rownr) const
Get the shape of an array in a particular cell.
Specify which elements to extract from an n-dimensional array.
static void getRowsSlicePart(BaseColumn *col, const RefRows &rows, const Slicer *, ArrayBase &array)
uInt64 rownr_t
Define the type of a row number in a table.
virtual void getColumnSliceCells(const RefRows &rownrs, const Slicer &, ArrayBase &dataPtr) const
Get subsections from some arrays in the column.
static void putRowsPart(BaseColumn *col, const RefRows &rows, const Slicer *, ArrayBase &array)
void accessRows(const RefRows &rownrs, const Slicer *ns, ArrayBase &dataPtr, AccessRowsFunc *) const
Access the data with multiple rows combined.
static void putColumnSlicePart(BaseColumn *col, const Slicer *ns, ArrayBase &arr)
void setColumnCache(uInt tableNr, const ColumnCache &) const
Set the column cache to the cache of the given table.
virtual Bool isStored() const
Test if the column is stored (otherwise it is virtual).
virtual rownr_t nrow() const
Get nr of rows in the column.
ConcatTable * refTabPtr_p
static void putColumnPart(BaseColumn *col, const Slicer *, ArrayBase &arr)
virtual void getArrayColumnCells(const RefRows &rownrs, ArrayBase &dataPtr) const
Get the array of some array values in a column.
Class to view a concatenation of tables as a single table.
virtual ColumnCache & columnCache()
Get the underlying column cache.
A column in a concatenated table.
virtual void putArrayColumnCells(const RefRows &rownrs, const ArrayBase &dataPtr)
Get the array of some array values in a column.
virtual void putColumnSlice(const Slicer &, const ArrayBase &dataPtr)
Put into subsections of all table arrays in the column.
Abstract base class for a table column.