28 #ifndef TABLES_SCACOLDATA_H
29 #define TABLES_SCACOLDATA_H
32 #include <casacore/casa/aips.h>
33 #include <casacore/casa/Arrays/ArrayFwd.h>
34 #include <casacore/tables/Tables/PlainColumn.h>
40 template<
class T>
class ScalarColumnDesc;
206 #ifndef CASACORE_NO_AUTO_TEMPLATES
207 #include <casacore/tables/Tables/ScaColData.tcc>
Non-templated base class for templated Array class.
Referenced counted pointer for constant data.
ScalarColumnData(const ScalarColumnDesc< T > *, ColumnSet *)
Construct a scalar column object from the given description in the given column set.
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.
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.
void allocIterBuf(void *&lastVal, void *&curVal, CountedPtr< BaseCompare > &cmpObj)
Allocate value buffers for the table iterator.
void fillSortKey(const Vector< T > *dataPtr, Sort &, CountedPtr< BaseCompare > &cmpObj, Int order)
Fill in the sort key on behalf of the Table sort function.
void makeRefSortKey(Sort &, CountedPtr< BaseCompare > &cmpFunc, Int order, const Vector< rownr_t > &rownrs, CountedPtr< ArrayBase > &dataSave)
Do it only for the given row numbers.
virtual void putScalarColumnCells(const RefRows &rownrs, const ArrayBase &dataPtr)
Put the array of some values in the column (on behalf on RefColumn).
virtual void makeSortKey(Sort &, CountedPtr< BaseCompare > &cmpFunc, Int order, CountedPtr< ArrayBase > &dataSave)
Add the sort key to the Sort object on behalf of the Table sort function.
void putFileDerived(AipsIO &)
Write the column data.
void getFileDerived(AipsIO &, const ColumnSet &)
Read the column data back.
void freeIterBuf(void *&lastVal, void *&curVal)
Free the value buffers allocated by allocIterBuf.
ScalarColumnData< T > & operator=(const ScalarColumnData< T > &)
Assignment cannot be used.
Sort on one or more keys, ascending and/or descending.
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.
uInt64 rownr_t
Define the type of a row number in a table.