PagedArrIter.h
Classes
- PagedArrIter -- A read/write Lattice iterator for PagedArrays. (full description)
Interface
- Protected Members
- PagedArrIter (const PagedArray<T>& data, const LatticeNavigator& method, Bool useRef)
- PagedArrIter (const PagedArrIter<T>& other)
- virtual ~PagedArrIter()
- PagedArrIter<T>& operator= (const PagedArrIter<T>& other)
- virtual LatticeIterInterface<T>* clone() const
- Private Members
- void setupTileCache()
Review Status
- Reviewed By:
- Peter Barnes
- Date Reviewed:
- 1999/10/30
- Programs:
- Demos:
- Tests:
Prerequisite
Etymology
The PagedArrIter 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).
PagedArrIter 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)
- Restricted to the type of the PagedArray argument in the
constructors
Member Description
PagedArrIter (const PagedArray<T>& data, const LatticeNavigator& method, Bool useRef)
Construct the Iterator with the supplied data, and iteration strategy
PagedArrIter (const PagedArrIter<T>& other)
The copy constructor uses reference sematics for the PagedArray and
copy semantics for the cursor and Navigator. This way the newly
constructed PagedArrIter can independently iterate through the same
data set. (with the same cursor shape etc.)
Destructor (cleans up dangling references and releases cursor memory)
PagedArrIter<T>& operator= (const PagedArrIter<T>& other)
The assignment operator uses reference sematics for the PagedArray and
copy semantics for the cursor and Navigator. This way the
PagedArrIter objects share the same data set but independently iterate
with cursors of the same size.
virtual LatticeIterInterface<T>* clone() const
Clone the object.
Setup the cache in the tiled storage manager.