| 
|   | ForwardColumnIndexedRow (ForwardColumnIndexedRowEngine *enginePtr, const String &columnName, int dataType, const String &dataTypeId, const Table &referencedTable) | 
|   | Construct it for the given column.  
  | 
|   | 
|   | ~ForwardColumnIndexedRow () | 
|   | Destructor is mandatory.  
  | 
|   | 
|   | ForwardColumnIndexedRow (const ForwardColumnIndexedRow &)=delete | 
|   | Copy constructor is not needed and therefore forbidden.  
  | 
|   | 
| ForwardColumnIndexedRow &  | operator= (const ForwardColumnIndexedRow &)=delete | 
|   | Assignment is not needed and therefore forbidden.  
  | 
|   | 
| void  | prepare (const Table &thisTable) | 
|   | Initialize the object.  
  | 
|   | 
  Public Member Functions inherited from casacore::ForwardColumn | 
|   | ForwardColumn (ForwardColumnEngine *enginePtr, const String &columnName, int dataType, const String &dataTypeId, const Table &referencedTable) | 
|   | Construct it for the given column.  
  | 
|   | 
| virtual  | ~ForwardColumn () | 
|   | Destructor is mandatory.  
  | 
|   | 
|   | ForwardColumn (const ForwardColumn &)=delete | 
|   | Copy constructor is not needed and therefore forbidden.  
  | 
|   | 
| ForwardColumn &  | operator= (const ForwardColumn &)=delete | 
|   | Assignment is not needed and therefore forbidden.  
  | 
|   | 
| void  | fillTableName (const Table &thisTable, const Table &referencedTable) | 
|   | Define the special keyword containing the name of the original table.  
  | 
|   | 
| void  | setRW () | 
|   | Set the column to writable if its underlying table is writable.  
  | 
|   | 
  Public Member Functions inherited from casacore::DataManagerColumn | 
|   | DataManagerColumn () | 
|   | Create a column.  
  | 
|   | 
| virtual  | ~DataManagerColumn () | 
|   | Frees up the storage.  
  | 
|   | 
|   | DataManagerColumn (const DataManagerColumn &)=delete | 
|   | The copy constructor cannot be used for this base class.  
  | 
|   | 
| DataManagerColumn &  | operator= (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 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  | 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 IPosition  | tileShape (rownr_t rownr) | 
|   | Get the tile shape of the item in the given row.  
  | 
|   | 
| ColumnCache &  | columnCache () | 
|   | Get access to the ColumnCache object.  
  | 
|   | 
| const ColumnCache *  | columnCachePtr () 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.  
  | 
|   | 
| 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 String &  | columnName () const | 
|   | Get rhe column name.  
  | 
|   | 
 | 
| Bool  | canChangeShape () const | 
|   | This data manager cannot handle changing array shapes.  
  | 
|   | 
| void  | setShape (rownr_t rownr, const IPosition &shape) | 
|   | Set the shape of an (indirect) array in the given row.  
  | 
|   | 
| Bool  | isShapeDefined (rownr_t rownr) | 
|   | Is the value shape defined in the given row?  
  | 
|   | 
| uInt  | ndim (rownr_t rownr) | 
|   | Get the dimensionality of the item in the given row.  
  | 
|   | 
| IPosition  | shape (rownr_t rownr) | 
|   | Get the shape of the item in the given row.  
  | 
|   | 
| virtual void  | getBool (rownr_t rownr, Bool *dataPtr) | 
|   | Get the scalar value with a standard data type 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) | 
|   | Get the scalar value with a non-standard data type in the given row.  
  | 
|   | 
| virtual void  | putBool (rownr_t rownr, const Bool *dataPtr) | 
|   | Put the scalar value with a standard data type 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) | 
|   | Put the scalar value with a non-standard data type into the given row.  
  | 
|   | 
| void  | getArrayV (rownr_t rownr, ArrayBase &dataPtr) | 
|   | Get the array value in the given row.  
  | 
|   | 
| void  | putArrayV (rownr_t rownr, const ArrayBase &dataPtr) | 
|   | Put the array value into the given row.  
  | 
|   | 
| void  | getSliceV (rownr_t rownr, const Slicer &slicer, ArrayBase &dataPtr) | 
|   | Get a section of the array in the given row.  
  | 
|   | 
| void  | putSliceV (rownr_t rownr, const Slicer &slicer, const ArrayBase &dataPtr) | 
|   | Put into a section of the array in the given row.  
  | 
|   | 
| rownr_t  | convertRownr (rownr_t rownr) | 
|   | Convert the rownr to the rownr in the underlying table.  
  | 
|   | 
 | 
  Protected Member Functions inherited from casacore::ForwardColumn | 
| void  | basePrepare (const Table &thisTable, Bool writable) | 
|   | Do the preparation of the base class column object.  
  | 
|   | 
| BaseColumn *  | colPtr () const | 
|   | 
  Protected Member Functions inherited from casacore::DataManagerColumn | 
| 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) | 
|   | 
Virtual column forwarding to another row/column
Review Status
- Reviewed By:
 
- Paul Shannon
 
- Date Reviewed:
 
- 1995/05/22
 
- Test programs:
 
- tForwardColRow
 
Intended use:
Internal
Prerequisite
Etymology
ForwardColumnIndexedRow handles the forwarding of the gets and puts for an individual row/column on behalf of the virtual column engine ForwardColumnIndexedRowEngine. It forwards them to a row/column in another table. The row forwarding is done using a special column containing row numbers indexing the referenced table.
Synopsis
ForwardColumnIndexedRow represents a virtual column which forwards the gets and puts to a column with the same name in another table. It is, in fact, a reference to the other column. The row numbers in the column are mapped to row numbers in the referenced column using a special column containing the mapping. The name of the other table is stored as a keyword in the forwarding column. When the referenced column is in its turn a ForwardColumn (note: not a ForwardColumnIndexedRow), the table mentioned in there will be used. In this way, the length of the forwarding chain is kept to a minimum.
An object of this class is created (and deleted) by the virtual column engine
ForwardColumnIndexedRowEngine which creates a ForwardColumnIndexedRow object for each column being forwarded. 
Definition at line 84 of file ForwardColRow.h.