28 #ifndef TABLES_ARRAYCOLUMNBASE_H
29 #define TABLES_ARRAYCOLUMNBASE_H
40 class BaseSlicesFunctor;
void baseGet(rownr_t rownr, ArrayBase &array) const
Counterparts of the acbGet() functions below not checking shapes, etc.
void acbGetColumnRange(const Slicer &rowRange, ArrayBase &arr, Bool resize) const
Get the array of some values in a column.
A Vector of integers, for indexing into Array<T> objects.
void acbGet(rownr_t rownr, ArrayBase &array, Bool resize) const
Get the array value in a particular cell (i.e.
A 1-D Specialization of the Array class.
uInt ndim(rownr_t rownr) const
Get the #dimensions of an array in a particular cell.
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
#define TABLECOLUMNCHECKROW(ROWNR)
Non-templated base class for templated Array class.
void basePutSlice(rownr_t rownr, const Slicer &arraySection, const ArrayBase &array)
void handleSlices(const Vector< Vector< Slice > > &slices, BaseSlicesFunctor &functor, const Slicer &slicer, const ArrayBase &array) const
A common function used by all functions that can get or put irregular array slices.
Main interface class to a read/write table.
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 getSlice(rownr_t rownr, const Slicer &, ArrayBase &dataPtr) const
Get a slice of an N-dimensional array in a particular cell.
IPosition tileShape(rownr_t rownr) const
Get the tile shape of an array in a particular cell.
TableExprNode array(const TableExprNode &values, const TableExprNodeSet &shape)
Create an array of the given shape and fill it with the values.
void adaptShape(const IPosition &shp, ArrayBase &arr, Bool resize, Int64 rownr, const String &where) const
Adapt the shape of the array if possible.
virtual uInt ndim(rownr_t rownr) const
Get the #dimensions of an array in a particular cell.
ArrayColumnBase & operator=(const ArrayColumnBase &)
Assignment uses reference semantics, thus works the same as function reference.
void acbPut(rownr_t rownr, const ArrayBase &array)
Put the array in a particular cell (i.e.
Bool checkShape(const IPosition &expShape, const IPosition &arrShape, Bool noSlicing, Int64 rownr, const String &where) const
Throw an exception if the array does not have the expected shape.
BaseColumn * baseColPtr_p
void baseGetSlice(rownr_t rownr, const Slicer &arraySection, ArrayBase &array) const
~ColumnSlicer()
The destructor deletes all Slicer objects.
void setShape(rownr_t rownr, const IPosition &shape)
Set the shape of the array in the given row.
IPosition shape(rownr_t rownr) const
Get the shape of an array in a particular cell.
void acbGetColumnCells(const RefRows &rownrs, ArrayBase &arr, Bool resize) const
ColumnSlicer(const IPosition &shape, const Vector< Slicer * > &dataSlicers, const Vector< Slicer * > &destinationSlicers)
Construct the object.
Vector< Slicer * > dataSlicers_p
void acbFillColumn(const ArrayBase &value)
Put the same value in all cells of the column.
void basePut(rownr_t rownr, const ArrayBase &array)
Counterparts of the acbPut() functions below not checking shapes, etc.
String validateParameters() const
Check if the slicers match the array shape.
void acbPutSlice(rownr_t rownr, const Slicer &arraySection, const ArrayBase &array)
Put into a slice of an N-dimensional array in a particular cell.
Read and write access to an array table column with arbitrary data type.
virtual void getArray(rownr_t rownr, ArrayBase &dataPtr) const
Get an array from a particular cell.
Class holding the row numbers in a RefTable.
bool Bool
Define the standard types used by Casacore.
void reference(const ArrayColumnBase &)
Change the reference to another column.
ArrayColumnBase()
The default constructor creates a null object, i.e.
Read/write access to a table column.
void acbPutColumn(const ArrayBase &array)
Put the array of all values in the column.
Vector< Slicer * > destinationSlicers_p
const Vector< Slicer * > & getDestinationSlicers() const
Get the desintation slicers.
Specify which elements to extract from an n-dimensional array.
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 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.
const Vector< Slicer * > & getDataSlicers() const
Get the data slicers.
void acbGetSlice(rownr_t rownr, const Slicer &arraySection, ArrayBase &array, Bool resize) const
Get a slice of an N-dimensional array in a particular cell (i.e.
void acbPutColumnRange(const Slicer &rowRange, const ArrayBase &arr)
Put the array of some values in the column.
Abstract baseclass for slices functors.
const IPosition & shape() const
Get the shape.
void acbPutColumnCells(const RefRows &rownrs, const ArrayBase &arr)
void acbGetColumn(ArrayBase &array, Bool resize) const
Get the array of all values in a column.
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
void freeSlicers()
Delete all Slicer objects.