casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Protected Member Functions | Private Member Functions | Private Attributes | Friends
casa::HDF5LattIter< T > Class Template Reference

A read/write Lattice iterator for PagedArrays. More...

#include <HDF5LattIter.h>

Inheritance diagram for casa::HDF5LattIter< T >:
casa::LatticeIterInterface< T >

List of all members.

Protected Member Functions

 HDF5LattIter (const HDF5Lattice< T > &data, const LatticeNavigator &method, Bool useRef)
 Construct the Iterator with the supplied data, and iteration strategy.
 HDF5LattIter (const HDF5LattIter< T > &other)
 The copy constructor uses reference sematics for the PagedArray and copy semantics for the cursor and Navigator.
virtual ~HDF5LattIter ()
 Destructor (cleans up dangling references and releases cursor memory)
HDF5LattIter< T > & operator= (const HDF5LattIter< T > &other)
 The assignment operator uses reference sematics for the PagedArray and copy semantics for the cursor and Navigator.
virtual LatticeIterInterface< T > * clone () const
 Clone the object.

Private Member Functions

void setupTileCache ()
 Setup the cache in the tiled storage manager.

Private Attributes

HDF5Lattice< T > itsData
 reference to the PagedArray

Friends

class HDF5Lattice< T >

Detailed Description

template<class T>
class casa::HDF5LattIter< T >

A read/write Lattice iterator for PagedArrays.

Intended use:

Internal

Review Status

Reviewed By:
Peter Barnes
Date Reviewed:
1999/10/30
Test programs:
tLatticeIterator
Demo programs:
dPagedArray

Prerequisite

Etymology

The HDF5LattIter class name is a contraction of Paged Array Iterator and reflects its role as the methods for iterating through Lattices which are resident on disk.

Synopsis

This class is not meant for general use. Instead class LatticeIterator should be used to iterate through a PagedArray or any other Lattice object (like a ArrayLattice ).

HDF5LattIter is derived from LatticeIterInterface and implements the iterator for a PagedArray object. This iterator is somewhat special because it sets the PagedArray cache size at the start of an iteration.

Motivation

For for each derivation of Lattice to make as efficient an iterator as possible. The letter/envelope scheme allowed us to hide the special bits in classes like the one you see here.

Template Type Argument Requirements (T)

Definition at line 91 of file HDF5LattIter.h.


Constructor & Destructor Documentation

template<class T>
casa::HDF5LattIter< T >::HDF5LattIter ( const HDF5Lattice< T > &  data,
const LatticeNavigator method,
Bool  useRef 
) [protected]

Construct the Iterator with the supplied data, and iteration strategy.

template<class T>
casa::HDF5LattIter< T >::HDF5LattIter ( const HDF5LattIter< T > &  other) [protected]

The copy constructor uses reference sematics for the PagedArray and copy semantics for the cursor and Navigator.

This way the newly constructed HDF5LattIter can independently iterate through the same data set. (with the same cursor shape etc.)

template<class T>
virtual casa::HDF5LattIter< T >::~HDF5LattIter ( ) [protected, virtual]

Destructor (cleans up dangling references and releases cursor memory)


Member Function Documentation

template<class T>
virtual LatticeIterInterface<T>* casa::HDF5LattIter< T >::clone ( ) const [protected, virtual]

Clone the object.

Reimplemented from casa::LatticeIterInterface< T >.

template<class T>
HDF5LattIter<T>& casa::HDF5LattIter< T >::operator= ( const HDF5LattIter< T > &  other) [protected]

The assignment operator uses reference sematics for the PagedArray and copy semantics for the cursor and Navigator.

This way the HDF5LattIter objects share the same data set but independently iterate with cursors of the same size.

template<class T>
void casa::HDF5LattIter< T >::setupTileCache ( ) [private]

Setup the cache in the tiled storage manager.


Friends And Related Function Documentation

template<class T>
friend class HDF5Lattice< T > [friend]

Definition at line 93 of file HDF5LattIter.h.


Member Data Documentation

template<class T>
HDF5Lattice<T> casa::HDF5LattIter< T >::itsData [private]

reference to the PagedArray

Definition at line 129 of file HDF5LattIter.h.


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