casa::BaseTableIterator Class Reference
[Tables_internal_classes]

#include <BaseTabIter.h>

Collaboration diagram for casa::BaseTableIterator:

Collaboration graph
[legend]
List of all members.

Detailed Description

Base class for table iterator.

Intended use:

Internal

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25

Prerequisite

Etymology

BaseTableIterator is the base class for the classes doing the actual iterating through a table.

Synopsis

BaseTableIterator is the base class for the table iterators. It is a letter class of the envelope TableIterator. Currently there are no classes derived from BaseTableIterator, since it can do all the work itself. However, in the future this need not to be true anymore.

BaseTableIterator iterates by sorting the table in the required order and then creating a RefTable for each step containing the rows for that iteration step. Each iteration step assembles the rows with equal key values.

To Do

Definition at line 85 of file BaseTabIter.h.

Public Member Functions

 BaseTableIterator (BaseTable *, const Block< String > &columnNames, const PtrBlock< ObjCompareFunc * > &, const Block< Int > &orders, int option)
 Create the table iterator to iterate through the given columns in the given order.
BaseTableIteratorclone () const
 Clone this iterator.
virtual ~BaseTableIterator ()
virtual void reset ()
 Reset the iterator (i.e.
virtual BaseTablenext ()
 Return the next group.

Protected Member Functions

 BaseTableIterator (const BaseTableIterator &)
 Copy constructor (to be used by clone).

Protected Attributes

BaseTablesortTab_p
uInt lastRow_p
uInt nrkeys_p
Block< void * > lastVal_p
Block< void * > curVal_p
PtrBlock< BaseColumn * > colPtr_p
PtrBlock< ObjCompareFunc * > cmpFunc_p

Private Member Functions

BaseTableIteratoroperator= (const BaseTableIterator &)
 Assignment is not needed, because the assignment operator in the envelope class TableIterator has reference semantics.


Constructor & Destructor Documentation

casa::BaseTableIterator::BaseTableIterator ( BaseTable ,
const Block< String > &  columnNames,
const PtrBlock< ObjCompareFunc * > &  ,
const Block< Int > &  orders,
int  option 
)

Create the table iterator to iterate through the given columns in the given order.

The given compare functions will be used for the sort and to compare if values are equal. If a function pointer is zero, the default compare function from ObjCompare<T> will be used.

virtual casa::BaseTableIterator::~BaseTableIterator (  )  [virtual]

casa::BaseTableIterator::BaseTableIterator ( const BaseTableIterator  )  [protected]

Copy constructor (to be used by clone).


Member Function Documentation

BaseTableIterator* casa::BaseTableIterator::clone (  )  const

Clone this iterator.

virtual void casa::BaseTableIterator::reset (  )  [virtual]

Reset the iterator (i.e.

restart iteration).

virtual BaseTable* casa::BaseTableIterator::next (  )  [virtual]

Return the next group.

BaseTableIterator& casa::BaseTableIterator::operator= ( const BaseTableIterator  )  [private]

Assignment is not needed, because the assignment operator in the envelope class TableIterator has reference semantics.

Declaring it private, makes it unusable.


Member Data Documentation

BaseTable* casa::BaseTableIterator::sortTab_p [protected]

Definition at line 111 of file BaseTabIter.h.

uInt casa::BaseTableIterator::lastRow_p [protected]

Definition at line 112 of file BaseTabIter.h.

uInt casa::BaseTableIterator::nrkeys_p [protected]

Definition at line 113 of file BaseTabIter.h.

Block<void*> casa::BaseTableIterator::lastVal_p [protected]

Definition at line 114 of file BaseTabIter.h.

Block<void*> casa::BaseTableIterator::curVal_p [protected]

Definition at line 115 of file BaseTabIter.h.

PtrBlock<BaseColumn*> casa::BaseTableIterator::colPtr_p [protected]

Definition at line 116 of file BaseTabIter.h.

PtrBlock<ObjCompareFunc*> casa::BaseTableIterator::cmpFunc_p [protected]

Definition at line 117 of file BaseTabIter.h.


The documentation for this class was generated from the following file:
Generated on Mon Sep 1 22:45:16 2008 for NRAOCASA by  doxygen 1.5.1