casacore
Loading...
Searching...
No Matches
casacore::DataManagerColumn Class Referenceabstract

More...

#include <DataManagerColumn.h>

Public Member Functions

 DataManagerColumn ()
 Create a column.
 
virtual ~DataManagerColumn ()
 Frees up the storage.
 
 DataManagerColumn (const DataManagerColumn &)=delete
 The copy constructor cannot be used for this base class.
 
DataManagerColumnoperator= (const DataManagerColumn &)=delete
 Assignment cannot be used for this base class.
 
void setIsFixedShape (Bool isFixedShape)
 Set the isFixedShape flag.
 
Bool isFixedShape () const
 Is this a fixed shape column?
 
virtual int dataType () const =0
 Get the data type of the column as defined in DataType.h.
 
virtual String dataTypeId () const
 Get the data type id of the column for dataType==TpOther.
 
virtual Bool isWritable () const
 Test if data can be put into this column.
 
virtual void setMaxLength (uInt maxLength)
 Set the maximum length of the value (can be used for strings).
 
void setFixedShapeColumn (const IPosition &shape)
 Set the shape of all (fixed-shaped) arrays in the column.
 
virtual void setShape (rownr_t rownr, const IPosition &shape)
 Set the shape of an (variable-shaped) array in the given row.
 
virtual void setShapeTiled (rownr_t rownr, const IPosition &shape, const IPosition &tileShape)
 Set the shape and tile shape of an (variable-shaped) array in the given row.
 
virtual Bool isShapeDefined (rownr_t rownr)
 Is the value shape defined in the given row? By default it returns True.
 
virtual uInt ndim (rownr_t rownr)
 Get the dimensionality of the item in the given row.
 
virtual IPosition shape (rownr_t rownr)
 Get the shape of the item in the given row.
 
virtual IPosition tileShape (rownr_t rownr)
 Get the tile shape of the item in the given row.
 
virtual Bool canChangeShape () const
 Can the data manager handle chaging the shape of an existing array? Default is no.
 
ColumnCachecolumnCache ()
 Get access to the ColumnCache object.
 
const ColumnCachecolumnCachePtr () const
 
void get (rownr_t rownr, Bool *dataPtr)
 Get the scalar value in the given row.
 
void get (rownr_t rownr, uChar *dataPtr)
 
void get (rownr_t rownr, Short *dataPtr)
 
void get (rownr_t rownr, uShort *dataPtr)
 
void get (rownr_t rownr, Int *dataPtr)
 
void get (rownr_t rownr, uInt *dataPtr)
 
void get (rownr_t rownr, Int64 *dataPtr)
 
void get (rownr_t rownr, float *dataPtr)
 
void get (rownr_t rownr, double *dataPtr)
 
void get (rownr_t rownr, Complex *dataPtr)
 
void get (rownr_t rownr, DComplex *dataPtr)
 
void get (rownr_t rownr, String *dataPtr)
 
void get (rownr_t rownr, void *dataPtr)
 This function is the get for all non-standard data types.
 
void put (rownr_t rownr, const Bool *dataPtr)
 Put the scalar value into the given row.
 
void put (rownr_t rownr, const uChar *dataPtr)
 
void put (rownr_t rownr, const Short *dataPtr)
 
void put (rownr_t rownr, const uShort *dataPtr)
 
void put (rownr_t rownr, const Int *dataPtr)
 
void put (rownr_t rownr, const uInt *dataPtr)
 
void put (rownr_t rownr, const Int64 *dataPtr)
 
void put (rownr_t rownr, const float *dataPtr)
 
void put (rownr_t rownr, const double *dataPtr)
 
void put (rownr_t rownr, const Complex *dataPtr)
 
void put (rownr_t rownr, const DComplex *dataPtr)
 
void put (rownr_t rownr, const String *dataPtr)
 
void put (rownr_t rownr, const void *dataPtr)
 This function is the put for all non-standard data types.
 
virtual void getScalarColumnV (ArrayBase &dataPtr)
 Get all scalar values in the column.
 
virtual void putScalarColumnV (const ArrayBase &dataPtr)
 Put all scalar values in the column.
 
virtual void getScalarColumnCellsV (const RefRows &rownrs, ArrayBase &dataPtr)
 Get some scalar values in the column.
 
virtual void putScalarColumnCellsV (const RefRows &rownrs, const ArrayBase &dataPtr)
 Put some scalar values in the column.
 
virtual void getArrayV (rownr_t rownr, ArrayBase &dataPtr)
 Get the array value in the given row.
 
virtual void putArrayV (rownr_t rownr, const ArrayBase &data)
 Put the array value into the given row.
 
virtual void getArrayColumnV (ArrayBase &data)
 Get all array values in the column.
 
virtual void putArrayColumnV (const ArrayBase &data)
 Put all array values in the column.
 
virtual void getArrayColumnCellsV (const RefRows &rownrs, ArrayBase &data)
 Get some array values in the column.
 
virtual void putArrayColumnCellsV (const RefRows &rownrs, const ArrayBase &data)
 Put some array values in the column.
 
virtual void getSliceV (rownr_t rownr, const Slicer &slicer, ArrayBase &data)
 Get a section of the array in the given row.
 
virtual void putSliceV (rownr_t rownr, const Slicer &slicer, const ArrayBase &data)
 Put into a section of the array in the given row.
 
virtual void getColumnSliceV (const Slicer &slicer, ArrayBase &data)
 Get a section of all arrays in the column.
 
virtual void putColumnSliceV (const Slicer &slicer, const ArrayBase &data)
 Put into a section of all arrays in the column.
 
virtual void getColumnSliceCellsV (const RefRows &rownrs, const Slicer &slicer, ArrayBase &data)
 Get a section of some arrays in the column.
 
virtual void putColumnSliceCellsV (const RefRows &rownrs, const Slicer &slicer, const ArrayBase &data)
 Put into a section of some arrays in the column.
 
void throwGet () const
 Throw an "invalid operation" exception for the default implementation of get.
 
void throwPut () const
 Throw an "invalid operation" exception for the default implementation of put.
 
void setColumnName (const String &colName)
 Set the column name.
 
const StringcolumnName () const
 Get rhe column name.
 

Protected Member Functions

virtual void getBool (rownr_t rownr, Bool *dataPtr)
 Get the scalar value in the given row.
 
virtual void getuChar (rownr_t rownr, uChar *dataPtr)
 
virtual void getShort (rownr_t rownr, Short *dataPtr)
 
virtual void getuShort (rownr_t rownr, uShort *dataPtr)
 
virtual void getInt (rownr_t rownr, Int *dataPtr)
 
virtual void getuInt (rownr_t rownr, uInt *dataPtr)
 
virtual void getInt64 (rownr_t rownr, Int64 *dataPtr)
 
virtual void getfloat (rownr_t rownr, float *dataPtr)
 
virtual void getdouble (rownr_t rownr, double *dataPtr)
 
virtual void getComplex (rownr_t rownr, Complex *dataPtr)
 
virtual void getDComplex (rownr_t rownr, DComplex *dataPtr)
 
virtual void getString (rownr_t rownr, String *dataPtr)
 
virtual void getOther (rownr_t rownr, void *dataPtr)
 This function is the get for all non-standard data types.
 
virtual void putBool (rownr_t rownr, const Bool *dataPtr)
 Put the scalar value into the given row.
 
virtual void putuChar (rownr_t rownr, const uChar *dataPtr)
 
virtual void putShort (rownr_t rownr, const Short *dataPtr)
 
virtual void putuShort (rownr_t rownr, const uShort *dataPtr)
 
virtual void putInt (rownr_t rownr, const Int *dataPtr)
 
virtual void putuInt (rownr_t rownr, const uInt *dataPtr)
 
virtual void putInt64 (rownr_t rownr, const Int64 *dataPtr)
 
virtual void putfloat (rownr_t rownr, const float *dataPtr)
 
virtual void putdouble (rownr_t rownr, const double *dataPtr)
 
virtual void putComplex (rownr_t rownr, const Complex *dataPtr)
 
virtual void putDComplex (rownr_t rownr, const DComplex *dataPtr)
 
virtual void putString (rownr_t rownr, const String *dataPtr)
 
virtual void putOther (rownr_t rownr, const void *dataPtr)
 This function is the put for all non-standard data types.
 
void getScalarColumnBase (ArrayBase &dataPtr)
 The default implementations of get and put functions.
 
void putScalarColumnBase (const ArrayBase &dataPtr)
 
void getScalarColumnCellsBase (const RefRows &rownrs, ArrayBase &dataPtr)
 
void putScalarColumnCellsBase (const RefRows &rownrs, const ArrayBase &dataPtr)
 
void getArrayColumnBase (ArrayBase &data)
 
void putArrayColumnBase (const ArrayBase &data)
 
void getArrayColumnCellsBase (const RefRows &rownrs, ArrayBase &data)
 
void putArrayColumnCellsBase (const RefRows &rownrs, const ArrayBase &data)
 
void getSliceBase (rownr_t rownr, const Slicer &slicer, ArrayBase &data)
 
void putSliceBase (rownr_t rownr, const Slicer &slicer, const ArrayBase &data)
 
void getColumnSliceBase (const Slicer &slicer, ArrayBase &data)
 
void putColumnSliceBase (const Slicer &slicer, const ArrayBase &data)
 
void getColumnSliceCellsBase (const RefRows &rownrs, const Slicer &slicer, ArrayBase &data)
 
void putColumnSliceCellsBase (const RefRows &rownrs, const Slicer &slicer, const ArrayBase &data)
 

Private Member Functions

virtual void setShapeColumn (const IPosition &shape)
 Set the shape of all (fixed-shaped) arrays in the column.
 
void getSliceArr (rownr_t row, const Slicer &section, std::shared_ptr< ArrayBase > &fullArr, ArrayBase &arr)
 Get a slice from the array in the given row.
 
void putSliceArr (rownr_t row, const Slicer &section, std::shared_ptr< ArrayBase > &fullArr, const ArrayBase &arr)
 Put a slice into the array in the given row.
 

Private Attributes

Bool isFixedShape_p
 
String colName_p
 
ColumnCache colCache_p
 

Detailed Description

Abstract base class for a column in a data manager

Intended use:

Internal

Review Status

Reviewed By:
Gareth Hunt
Date Reviewed:
94Nov17

Prerequisite

Etymology

DataManagerColumn handles a column for a data manager.

Synopsis

DataManagerColumn is the abstract base class to handle a column in a data manager. Each data manager class must have one or more associated classes derived from DataManagerColumn to handle the columns. For example, storage manager StManAipsIO has columns classes StManColumnAipsIO, StManColumnArrayAipsIO and StManColumnIndArrayAipsIO to handle scalars, direct arrays and indirect arrays, resp.. However, using multiple inheritance it is possible that the derived DataManager and DataManagerColumn classes are the same. This is used in class ScaledArrayEngine<S,T> which represents both the data manager and its column class. It can do that, because the virtual column engine ScaledArrayEngine can handle only one column.

In the synopsis of class DataManager it is described how the (derived) DataManagerColumn objects gets created and deleted.

DataManagerColumn defines various virtual functions to get or put (slices) of data in a column. These functions are called by the table column classes ScalarColumnData and ArrayColumnData. It does not define functions create, open, flush and prepare like those defined in DataManager. It is left to the derived classes to define those as needed and to interact properly with their data manager object.

The get/put interface has changed per 1-Sep-2017. The old interface for ArrayColumn::getArray worked as follows:

  1. ArrayColumn calls (virtual) BaseColumn::get passing the array as a void*. void* is used to support the derived RefColumn class which is not templated.
  2. BaseColumn::get calls (virtual) DataManagerColumn::getArrayV. This function can be implemented by a derived storage manager or virtual column engine class.
  3. Storage managers derive from StManColumn. Its getArrayV function calls the appropriate getArrayXXV function where XX is the data type (e.g. Int). These getArrayXXV functions are implemented in the storage managers.
  4. Virtual column engines derive from the templated VirtArrCol class which implements getArrayV by calling a templated virtual getArray function.

The old interface for a function such as getArrayColumn works more or less the same. However, this function does not need to be implemented by a data manager. ArrayColumn will first ask the data manager if it supports getting an entire array column. If not, ArrayColumn will call getArray for each row. Functions such as getSlice, etc. work similarly.

A new interface has been developed which should result in a smaller code base and simpler classes. The new interface could be developed thanks to same Array enhancements making it possible to use quite some Array functionality in non-templated classes. The new interface works differently in a number of points:

  • Arrays are passed as ArrayBase* instead of void* making it possible to get shapes, etc. in a non-templated way.
  • ArrayColumn does not ask anymore if a data manager supports getArrayColumn. Instead, the default implementation in DataManagerColumn::getArrayColumnV will call getArrayV repetitively.
  • The StManColumn interface is not really necessary anymore.

However, some plug-in data managers exist outside the Casacore repository (e.g., LofarStMan and AdiosStMan). It should be possible to build and use them for some time with the old and new interface. To make this possible the new interface has to be backward compatible for some time. This is achieved by:

  • StManColumn is maintained (but getArrayV takes ArrayBase&, not void*). It calls getArrayXXV(void*) depending on the data type. A storage manager can implemented getArrayV itself bypassing StManColumn.
  • Functions such as getArrayColumn are a bit more complicated. StManColumn::getArrayColumnV calls getArrayColumnXXV, which calls DataManager::getArrayColumnAB doing the getArrayV per row. A derived class can have getArrayColumnXXV implemented.

Motivation

An abstract base class is needed to support multiple data managers in the table system

Definition at line 148 of file DataManagerColumn.h.

Constructor & Destructor Documentation

◆ DataManagerColumn() [1/2]

casacore::DataManagerColumn::DataManagerColumn ( )
inline

Create a column.

Definition at line 153 of file DataManagerColumn.h.

◆ ~DataManagerColumn()

virtual casacore::DataManagerColumn::~DataManagerColumn ( )
virtual

Frees up the storage.

◆ DataManagerColumn() [2/2]

casacore::DataManagerColumn::DataManagerColumn ( const DataManagerColumn & )
delete

The copy constructor cannot be used for this base class.

Member Function Documentation

◆ canChangeShape()

◆ columnCache()

ColumnCache & casacore::DataManagerColumn::columnCache ( )
inline

Get access to the ColumnCache object.

Definition at line 232 of file DataManagerColumn.h.

References colCache_p.

◆ columnCachePtr()

const ColumnCache * casacore::DataManagerColumn::columnCachePtr ( ) const
inline

Definition at line 234 of file DataManagerColumn.h.

References colCache_p.

◆ columnName()

const String & casacore::DataManagerColumn::columnName ( ) const
inline

Get rhe column name.

Definition at line 429 of file DataManagerColumn.h.

References colName_p.

◆ dataType()

◆ dataTypeId()

virtual String casacore::DataManagerColumn::dataTypeId ( ) const
virtual

Get the data type id of the column for dataType==TpOther.

The default implementation returns an emptry string. This function is required for virtual column engines handling non-standard data types. It is used to check the data type.

Reimplemented in casacore::ForwardColumn, casacore::VirtualArrayColumn< T >, casacore::VirtualArrayColumn< Bool >, casacore::VirtualArrayColumn< Complex >, casacore::VirtualArrayColumn< Double >, casacore::VirtualArrayColumn< Float >, casacore::VirtualArrayColumn< VirtualType >, casacore::VirtualScalarColumn< T >, and casacore::VirtualScalarColumn< Double >.

◆ get() [1/13]

void casacore::DataManagerColumn::get ( rownr_t rownr,
Bool * dataPtr )
inline

Get the scalar value in the given row.

These functions are non-virtual and are converted to their virtual getXX equivalent to achieve that a derived templated class (such as VirtualScalarColumn) does not have to declare and implement all these functions. The compiler complains about hiding virtual functions if you do not declare all virtual functions with the same name in a derived class.

Definition at line 246 of file DataManagerColumn.h.

References getBool().

◆ get() [2/13]

void casacore::DataManagerColumn::get ( rownr_t rownr,
Complex * dataPtr )
inline

Definition at line 264 of file DataManagerColumn.h.

References getComplex().

◆ get() [3/13]

void casacore::DataManagerColumn::get ( rownr_t rownr,
DComplex * dataPtr )
inline

Definition at line 266 of file DataManagerColumn.h.

References getDComplex().

◆ get() [4/13]

void casacore::DataManagerColumn::get ( rownr_t rownr,
double * dataPtr )
inline

Definition at line 262 of file DataManagerColumn.h.

References getdouble().

◆ get() [5/13]

void casacore::DataManagerColumn::get ( rownr_t rownr,
float * dataPtr )
inline

Definition at line 260 of file DataManagerColumn.h.

References getfloat().

◆ get() [6/13]

void casacore::DataManagerColumn::get ( rownr_t rownr,
Int * dataPtr )
inline

Definition at line 254 of file DataManagerColumn.h.

References getInt().

◆ get() [7/13]

void casacore::DataManagerColumn::get ( rownr_t rownr,
Int64 * dataPtr )
inline

Definition at line 258 of file DataManagerColumn.h.

References getInt64().

◆ get() [8/13]

void casacore::DataManagerColumn::get ( rownr_t rownr,
Short * dataPtr )
inline

Definition at line 250 of file DataManagerColumn.h.

References getShort().

◆ get() [9/13]

void casacore::DataManagerColumn::get ( rownr_t rownr,
String * dataPtr )
inline

Definition at line 268 of file DataManagerColumn.h.

References getString().

◆ get() [10/13]

void casacore::DataManagerColumn::get ( rownr_t rownr,
uChar * dataPtr )
inline

Definition at line 248 of file DataManagerColumn.h.

References getuChar().

◆ get() [11/13]

void casacore::DataManagerColumn::get ( rownr_t rownr,
uInt * dataPtr )
inline

Definition at line 256 of file DataManagerColumn.h.

References getuInt().

◆ get() [12/13]

void casacore::DataManagerColumn::get ( rownr_t rownr,
uShort * dataPtr )
inline

Definition at line 252 of file DataManagerColumn.h.

References getuShort().

◆ get() [13/13]

void casacore::DataManagerColumn::get ( rownr_t rownr,
void * dataPtr )
inline

This function is the get for all non-standard data types.

Definition at line 271 of file DataManagerColumn.h.

References getOther().

◆ getArrayColumnBase()

void casacore::DataManagerColumn::getArrayColumnBase ( ArrayBase & data)
protected

◆ getArrayColumnCellsBase()

void casacore::DataManagerColumn::getArrayColumnCellsBase ( const RefRows & rownrs,
ArrayBase & data )
protected

◆ getArrayColumnCellsV()

virtual void casacore::DataManagerColumn::getArrayColumnCellsV ( const RefRows & rownrs,
ArrayBase & data )
virtual

◆ getArrayColumnV()

virtual void casacore::DataManagerColumn::getArrayColumnV ( ArrayBase & data)
virtual

◆ getArrayV()

◆ getBool()

virtual void casacore::DataManagerColumn::getBool ( rownr_t rownr,
Bool * dataPtr )
protectedvirtual

◆ getColumnSliceBase()

void casacore::DataManagerColumn::getColumnSliceBase ( const Slicer & slicer,
ArrayBase & data )
protected

◆ getColumnSliceCellsBase()

void casacore::DataManagerColumn::getColumnSliceCellsBase ( const RefRows & rownrs,
const Slicer & slicer,
ArrayBase & data )
protected

◆ getColumnSliceCellsV()

virtual void casacore::DataManagerColumn::getColumnSliceCellsV ( const RefRows & rownrs,
const Slicer & slicer,
ArrayBase & data )
virtual

◆ getColumnSliceV()

virtual void casacore::DataManagerColumn::getColumnSliceV ( const Slicer & slicer,
ArrayBase & data )
virtual

◆ getComplex()

◆ getDComplex()

◆ getdouble()

◆ getfloat()

◆ getInt()

◆ getInt64()

◆ getOther()

virtual void casacore::DataManagerColumn::getOther ( rownr_t rownr,
void * dataPtr )
protectedvirtual

This function is the get for all non-standard data types.

Reimplemented in casacore::ForwardColumn, casacore::ForwardColumnIndexedRow, casacore::VirtualScalarColumn< T >, and casacore::VirtualScalarColumn< Double >.

Referenced by get().

◆ getScalarColumnBase()

void casacore::DataManagerColumn::getScalarColumnBase ( ArrayBase & dataPtr)
protected

The default implementations of get and put functions.

◆ getScalarColumnCellsBase()

void casacore::DataManagerColumn::getScalarColumnCellsBase ( const RefRows & rownrs,
ArrayBase & dataPtr )
protected

◆ getScalarColumnCellsV()

virtual void casacore::DataManagerColumn::getScalarColumnCellsV ( const RefRows & rownrs,
ArrayBase & dataPtr )
virtual

Get some scalar values in the column.

The vector given in data has to have the correct length (which is guaranteed by the ScalarColumn getColumn function). The default implementation does a getXX per row.

Reimplemented in casacore::Adios2StManColumn, casacore::ForwardColumn, casacore::ISMColumn, casacore::StManColumn, casacore::VirtualArrayColumnBase, casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, and casacore::VirtualTaQLColumn.

◆ getScalarColumnV()

virtual void casacore::DataManagerColumn::getScalarColumnV ( ArrayBase & dataPtr)
virtual

Get all scalar values in the column.

The vector given in data has to have the correct length (which is guaranteed by the ScalarColumn getColumn function). The default implementation does a getXX per row.

Reimplemented in casacore::Adios2StManColumn, casacore::ForwardColumn, casacore::ISMColumn, casacore::MSMColumn, casacore::SSMColumn, casacore::StManColumn, casacore::VirtualArrayColumnBase, casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, and casacore::VirtualTaQLColumn.

◆ getShort()

◆ getSliceArr()

void casacore::DataManagerColumn::getSliceArr ( rownr_t row,
const Slicer & section,
std::shared_ptr< ArrayBase > & fullArr,
ArrayBase & arr )
private

Get a slice from the array in the given row.

It reads the full array in the possibly reshaped ArrayBase object.

◆ getSliceBase()

void casacore::DataManagerColumn::getSliceBase ( rownr_t rownr,
const Slicer & slicer,
ArrayBase & data )
protected

◆ getSliceV()

◆ getString()

◆ getuChar()

◆ getuInt()

◆ getuShort()

◆ isFixedShape()

Bool casacore::DataManagerColumn::isFixedShape ( ) const
inline

Is this a fixed shape column?

Definition at line 171 of file DataManagerColumn.h.

References isFixedShape_p.

Referenced by setIsFixedShape().

◆ isShapeDefined()

◆ isWritable()

virtual Bool casacore::DataManagerColumn::isWritable ( ) const
virtual

◆ ndim()

◆ operator=()

DataManagerColumn & casacore::DataManagerColumn::operator= ( const DataManagerColumn & )
delete

Assignment cannot be used for this base class.

◆ put() [1/13]

void casacore::DataManagerColumn::put ( rownr_t rownr,
const Bool * dataPtr )
inline

Put the scalar value into the given row.

These functions are non-virtual and are converted to their virtual putXX equivalent to achieve that a derived templated class (such as VirtualScalarColumn) does not have to declare and implement all these functions. The compiler complains about hiding virtual functions if you do not declare all virtual functions with the same name in a derived class.

Definition at line 283 of file DataManagerColumn.h.

References putBool().

◆ put() [2/13]

void casacore::DataManagerColumn::put ( rownr_t rownr,
const Complex * dataPtr )
inline

Definition at line 301 of file DataManagerColumn.h.

References putComplex().

◆ put() [3/13]

void casacore::DataManagerColumn::put ( rownr_t rownr,
const DComplex * dataPtr )
inline

Definition at line 303 of file DataManagerColumn.h.

References putDComplex().

◆ put() [4/13]

void casacore::DataManagerColumn::put ( rownr_t rownr,
const double * dataPtr )
inline

Definition at line 299 of file DataManagerColumn.h.

References putdouble().

◆ put() [5/13]

void casacore::DataManagerColumn::put ( rownr_t rownr,
const float * dataPtr )
inline

Definition at line 297 of file DataManagerColumn.h.

References putfloat().

◆ put() [6/13]

void casacore::DataManagerColumn::put ( rownr_t rownr,
const Int * dataPtr )
inline

Definition at line 291 of file DataManagerColumn.h.

References putInt().

◆ put() [7/13]

void casacore::DataManagerColumn::put ( rownr_t rownr,
const Int64 * dataPtr )
inline

Definition at line 295 of file DataManagerColumn.h.

References putInt64().

◆ put() [8/13]

void casacore::DataManagerColumn::put ( rownr_t rownr,
const Short * dataPtr )
inline

Definition at line 287 of file DataManagerColumn.h.

References putShort().

◆ put() [9/13]

void casacore::DataManagerColumn::put ( rownr_t rownr,
const String * dataPtr )
inline

Definition at line 305 of file DataManagerColumn.h.

References putString().

◆ put() [10/13]

void casacore::DataManagerColumn::put ( rownr_t rownr,
const uChar * dataPtr )
inline

Definition at line 285 of file DataManagerColumn.h.

References putuChar().

◆ put() [11/13]

void casacore::DataManagerColumn::put ( rownr_t rownr,
const uInt * dataPtr )
inline

Definition at line 293 of file DataManagerColumn.h.

References putuInt().

◆ put() [12/13]

void casacore::DataManagerColumn::put ( rownr_t rownr,
const uShort * dataPtr )
inline

Definition at line 289 of file DataManagerColumn.h.

References putuShort().

◆ put() [13/13]

void casacore::DataManagerColumn::put ( rownr_t rownr,
const void * dataPtr )
inline

This function is the put for all non-standard data types.

Definition at line 308 of file DataManagerColumn.h.

References putOther().

◆ putArrayColumnBase()

void casacore::DataManagerColumn::putArrayColumnBase ( const ArrayBase & data)
protected

◆ putArrayColumnCellsBase()

void casacore::DataManagerColumn::putArrayColumnCellsBase ( const RefRows & rownrs,
const ArrayBase & data )
protected

◆ putArrayColumnCellsV()

virtual void casacore::DataManagerColumn::putArrayColumnCellsV ( const RefRows & rownrs,
const ArrayBase & data )
virtual

◆ putArrayColumnV()

virtual void casacore::DataManagerColumn::putArrayColumnV ( const ArrayBase & data)
virtual

◆ putArrayV()

◆ putBool()

virtual void casacore::DataManagerColumn::putBool ( rownr_t rownr,
const Bool * dataPtr )
protectedvirtual

◆ putColumnSliceBase()

void casacore::DataManagerColumn::putColumnSliceBase ( const Slicer & slicer,
const ArrayBase & data )
protected

◆ putColumnSliceCellsBase()

void casacore::DataManagerColumn::putColumnSliceCellsBase ( const RefRows & rownrs,
const Slicer & slicer,
const ArrayBase & data )
protected

◆ putColumnSliceCellsV()

virtual void casacore::DataManagerColumn::putColumnSliceCellsV ( const RefRows & rownrs,
const Slicer & slicer,
const ArrayBase & data )
virtual

◆ putColumnSliceV()

virtual void casacore::DataManagerColumn::putColumnSliceV ( const Slicer & slicer,
const ArrayBase & data )
virtual

◆ putComplex()

◆ putDComplex()

◆ putdouble()

◆ putfloat()

◆ putInt()

◆ putInt64()

◆ putOther()

virtual void casacore::DataManagerColumn::putOther ( rownr_t rownr,
const void * dataPtr )
protectedvirtual

This function is the put for all non-standard data types.

Reimplemented in casacore::ForwardColumn, casacore::ForwardColumnIndexedRow, casacore::VirtualScalarColumn< T >, and casacore::VirtualScalarColumn< Double >.

Referenced by put().

◆ putScalarColumnBase()

void casacore::DataManagerColumn::putScalarColumnBase ( const ArrayBase & dataPtr)
protected

◆ putScalarColumnCellsBase()

void casacore::DataManagerColumn::putScalarColumnCellsBase ( const RefRows & rownrs,
const ArrayBase & dataPtr )
protected

◆ putScalarColumnCellsV()

virtual void casacore::DataManagerColumn::putScalarColumnCellsV ( const RefRows & rownrs,
const ArrayBase & dataPtr )
virtual

Put some scalar values in the column.

The vector given in data has to have the correct length (which is guaranteed by the ScalarColumn getColumn function). The default implementation does a putXX per row.

Reimplemented in casacore::Adios2StManColumn, casacore::ForwardColumn, casacore::StManColumn, casacore::VirtualArrayColumnBase, casacore::VirtualScalarColumn< T >, and casacore::VirtualScalarColumn< Double >.

◆ putScalarColumnV()

virtual void casacore::DataManagerColumn::putScalarColumnV ( const ArrayBase & dataPtr)
virtual

Put all scalar values in the column.

The vector given in data has to have the correct length (which is guaranteed by the ScalarColumn putColumn function). The default implementation does a putXX per row.

Reimplemented in casacore::Adios2StManColumn, casacore::ForwardColumn, casacore::ISMColumn, casacore::MSMColumn, casacore::SSMColumn, casacore::StManColumn, casacore::VirtualArrayColumnBase, casacore::VirtualScalarColumn< T >, and casacore::VirtualScalarColumn< Double >.

◆ putShort()

◆ putSliceArr()

void casacore::DataManagerColumn::putSliceArr ( rownr_t row,
const Slicer & section,
std::shared_ptr< ArrayBase > & fullArr,
const ArrayBase & arr )
private

Put a slice into the array in the given row.

It reads and writes the full array in the possibly reshaped ArrayBase object.

◆ putSliceBase()

void casacore::DataManagerColumn::putSliceBase ( rownr_t rownr,
const Slicer & slicer,
const ArrayBase & data )
protected

◆ putSliceV()

◆ putString()

◆ putuChar()

◆ putuInt()

◆ putuShort()

◆ setColumnName()

void casacore::DataManagerColumn::setColumnName ( const String & colName)
inline

Set the column name.

Definition at line 425 of file DataManagerColumn.h.

References colName_p.

◆ setFixedShapeColumn()

void casacore::DataManagerColumn::setFixedShapeColumn ( const IPosition & shape)
inline

Set the shape of all (fixed-shaped) arrays in the column.

Effectively it is the same as setShapeColumn, but it also sets the isFixedShape_p flag.

Definition at line 197 of file DataManagerColumn.h.

References isFixedShape_p, setShapeColumn(), shape(), and casacore::True.

◆ setIsFixedShape()

void casacore::DataManagerColumn::setIsFixedShape ( Bool isFixedShape)
inline

Set the isFixedShape flag.

Definition at line 167 of file DataManagerColumn.h.

References isFixedShape(), and isFixedShape_p.

◆ setMaxLength()

virtual void casacore::DataManagerColumn::setMaxLength ( uInt maxLength)
virtual

Set the maximum length of the value (can be used for strings).

By default the maximum length is ignored.

Reimplemented in casacore::SSMColumn, casacore::SSMDirColumn, casacore::SSMIndColumn, and casacore::VirtualTaQLColumn.

◆ setShape()

◆ setShapeColumn()

◆ setShapeTiled()

virtual void casacore::DataManagerColumn::setShapeTiled ( rownr_t rownr,
const IPosition & shape,
const IPosition & tileShape )
virtual

Set the shape and tile shape of an (variable-shaped) array in the given row.

By default it ignores the tile shape (thus only sets the shape).

Reimplemented in casacore::StManColumn, and casacore::TSMDataColumn.

◆ shape()

◆ throwGet()

void casacore::DataManagerColumn::throwGet ( ) const

Throw an "invalid operation" exception for the default implementation of get.

Referenced by casacore::VirtScaCol_global_functions_get_putVirtualScalar::getVirtualScalar().

◆ throwPut()

void casacore::DataManagerColumn::throwPut ( ) const

Throw an "invalid operation" exception for the default implementation of put.

Referenced by casacore::VirtScaCol_global_functions_get_putVirtualScalar::putVirtualScalar().

◆ tileShape()

virtual IPosition casacore::DataManagerColumn::tileShape ( rownr_t rownr)
virtual

Get the tile shape of the item in the given row.

By default it returns a zero-length IPosition.

Reimplemented in casacore::StManColumn, and casacore::TSMDataColumn.

Member Data Documentation

◆ colCache_p

ColumnCache casacore::DataManagerColumn::colCache_p
private

Definition at line 512 of file DataManagerColumn.h.

Referenced by columnCache(), and columnCachePtr().

◆ colName_p

String casacore::DataManagerColumn::colName_p
private

Definition at line 511 of file DataManagerColumn.h.

Referenced by columnName(), and setColumnName().

◆ isFixedShape_p

Bool casacore::DataManagerColumn::isFixedShape_p
private

Definition at line 510 of file DataManagerColumn.h.

Referenced by isFixedShape(), setFixedShapeColumn(), and setIsFixedShape().


The documentation for this class was generated from the following file: