casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
casa::ConcatScalarColumn< T > Class Template Reference

A typed column in a concatenated table. More...

#include <ConcatScalarColumn.h>

Inheritance diagram for casa::ConcatScalarColumn< T >:
casa::ConcatColumn casa::BaseColumn

List of all members.

Public Member Functions

 ConcatScalarColumn (const BaseColumnDesc *, ConcatTable *)
 Construct the ConcatColumn.
 ~ConcatScalarColumn ()
virtual void getScalarColumn (void *dataPtr) const
 Get the vector of all scalar values in a column.
virtual void getScalarColumnCells (const RefRows &rownrs, void *dataPtr) const
 Get the vector of some scalar values in a column.
virtual void putScalarColumn (const void *dataPtr)
 Put the vector of all scalar values in the column.
virtual void putScalarColumnCells (const RefRows &rownrs, const void *dataPtr)
 Get the vector of some scalar values in a column.
virtual void makeSortKey (Sort &sortobj, CountedPtr< BaseCompare > &cmpObj, Int order, const void *&dataSave)
 Handle the creation and deletion of sort keys.
virtual void makeRefSortKey (Sort &sortobj, CountedPtr< BaseCompare > &cmpObj, Int order, const Vector< uInt > &rownrs, const void *&dataSave)
 Do it only for the given row numbers.
virtual void fillSortKey (const Vector< T > *vecPtr, Sort &sortobj, CountedPtr< BaseCompare > &cmpObj, Int order)
virtual void freeSortKey (const void *&dataSave)
 Free storage on the heap allocated by makeSortkey().

Detailed Description

template<typename T>
class casa::ConcatScalarColumn< T >

A typed column in a concatenated table.

Intended use:

Internal

Review Status

Reviewed By:
UNKNOWN

Prerequisite

Etymology

ConcatTable represents a column in a ConcatTable. A ConcatTable is a table referencing another table, usually as the result of a select, etc..

Synopsis

ConcatColumn handles the access of a column in a ConcatTable. It calls the corresponding function in the referenced column while converting the given row number to the row number in the referenced table.

Motivation

This class is untyped, i.e. not templated. Every call is sent to the underlying referenced BaseColumn which is typed by the virtual function mechanism. A ConcatColumn can never be used directly. A user always has to construct a typed ArrayColumn or ScalarColumn object to access a column. This means everyting is fully type safe.

To Do

Definition at line 80 of file ConcatScalarColumn.h.


Constructor & Destructor Documentation

template<typename T >
casa::ConcatScalarColumn< T >::ConcatScalarColumn ( const BaseColumnDesc ,
ConcatTable  
)

Construct the ConcatColumn.

It will point to the given column description, ConcatTable and referenced column. The ConcatTable will be used to convert the rownr to the rownr in the referenced column.

template<typename T >
casa::ConcatScalarColumn< T >::~ConcatScalarColumn ( )

Member Function Documentation

template<typename T >
virtual void casa::ConcatScalarColumn< T >::fillSortKey ( const Vector< T > *  vecPtr,
Sort sortobj,
CountedPtr< BaseCompare > &  cmpObj,
Int  order 
) [virtual]
template<typename T >
virtual void casa::ConcatScalarColumn< T >::freeSortKey ( const void *&  dataSave) [virtual]

Free storage on the heap allocated by makeSortkey().

The pointer will be set to zero.

Reimplemented from casa::BaseColumn.

template<typename T >
virtual void casa::ConcatScalarColumn< T >::getScalarColumn ( void *  dataPtr) const [virtual]

Get the vector of all scalar values in a column.

Reimplemented from casa::BaseColumn.

template<typename T >
virtual void casa::ConcatScalarColumn< T >::getScalarColumnCells ( const RefRows rownrs,
void *  dataPtr 
) const [virtual]

Get the vector of some scalar values in a column.

Reimplemented from casa::BaseColumn.

template<typename T >
virtual void casa::ConcatScalarColumn< T >::makeRefSortKey ( Sort ,
CountedPtr< BaseCompare > &  cmpObj,
Int  order,
const Vector< uInt > &  rownrs,
const void *&  dataSave 
) [virtual]

Do it only for the given row numbers.

Reimplemented from casa::BaseColumn.

template<typename T >
virtual void casa::ConcatScalarColumn< T >::makeSortKey ( Sort sortobj,
CountedPtr< BaseCompare > &  cmpObj,
Int  order,
const void *&  dataSave 
) [virtual]

Handle the creation and deletion of sort keys.

Reimplemented from casa::BaseColumn.

template<typename T >
virtual void casa::ConcatScalarColumn< T >::putScalarColumn ( const void *  dataPtr) [virtual]

Put the vector of all scalar values in the column.

Reimplemented from casa::BaseColumn.

template<typename T >
virtual void casa::ConcatScalarColumn< T >::putScalarColumnCells ( const RefRows rownrs,
const void *  dataPtr 
) [virtual]

Get the vector of some scalar values in a column.

Reimplemented from casa::BaseColumn.


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