26#ifndef TABLES_SCACOLDATA_H
27#define TABLES_SCACOLDATA_H
30#include <casacore/casa/aips.h>
31#include <casacore/casa/Arrays/ArrayFwd.h>
32#include <casacore/tables/Tables/PlainColumn.h>
139 std::shared_ptr<ArrayBase>& dataSave);
148 void allocIterBuf(
void*& lastVal,
void*& curVal, std::shared_ptr<BaseCompare>& cmpObj);
194#ifndef CASACORE_NO_AUTO_TEMPLATES
195#include <casacore/tables/Tables/ScaColData.tcc>
Non-templated base class for templated Array class.
PlainColumn(const BaseColumnDesc *, ColumnSet *)
ScalarColumnData(const ScalarColumnDesc< T > *, ColumnSet *)
Construct a scalar column object from the given description in the given column set.
void fillSortKey(const Vector< T > *dataPtr, Sort &, std::shared_ptr< BaseCompare > &cmpObj, Int order)
Fill in the sort key on behalf of the Table sort function.
void createDataManagerColumn()
Create a data manager column object for this column.
virtual void putScalarColumn(const ArrayBase &dataPtr)
Put the array of all values in the column.
virtual void makeSortKey(Sort &, std::shared_ptr< BaseCompare > &cmpFunc, Int order, std::shared_ptr< ArrayBase > &dataSave)
Add the sort key to the Sort object on behalf of the Table sort function.
Bool undefFlag_p
Undefined value can exist?
virtual Bool isDefined(rownr_t rownr) const
Test if the given cell contains a defined value.
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...
T undefVal_p
Undefined value.
virtual void put(rownr_t rownr, const void *dataPtr)
Put the value in a particular cell.
virtual void getScalarColumnCells(const RefRows &rownrs, ArrayBase &dataPtr) const
Get the array of some values in the column (on behalf of RefColumn).
virtual void getScalarColumn(ArrayBase &dataPtr) const
Get the array of all values in the column.
const ScalarColumnDesc< T > * scaDescPtr_p
Pointer to column description.
virtual void get(rownr_t rownr, void *) const
Get the value from a particular cell.
ScalarColumnData(const ScalarColumnData< T > &)
Copy constructor cannot be used.
virtual void putScalarColumnCells(const RefRows &rownrs, const ArrayBase &dataPtr)
Put the array of some values in the column (on behalf on RefColumn).
void makeRefSortKey(Sort &, std::shared_ptr< BaseCompare > &cmpFunc, Int order, const Vector< rownr_t > &rownrs, std::shared_ptr< ArrayBase > &dataSave)
Do it only for the given row numbers.
void allocIterBuf(void *&lastVal, void *&curVal, std::shared_ptr< BaseCompare > &cmpObj)
Allocate value buffers for the table iterator.
void putFileDerived(AipsIO &)
Write the column data.
void getFileDerived(AipsIO &, const ColumnSet &)
Read the column data back.
ScalarColumnData< T > & operator=(const ScalarColumnData< T > &)
Assignment cannot be used.
void freeIterBuf(void *&lastVal, void *&curVal)
Free the value buffers allocated by allocIterBuf.
Sort on one or more keys, ascending and/or descending.
For temporary backward namespace compatibility, use casa as alias for casacore.
uInt order() const
What is the order of the polynomial, i.e.
bool Bool
Define the standard types used by Casacore.
uInt64 rownr_t
Define the type of a row number in a table.