casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Attributes
casa::RefRowsSliceIter Class Reference

Class to iterate through a RefRows object. More...

#include <RefRows.h>

List of all members.

Public Member Functions

 RefRowsSliceIter (const RefRows &)
 Construct the iterator on a RefRows object.
void reset ()
 Reset the iterator to the beginning.
Bool pastEnd () const
 Is the iterator past the end?
void operator++ ()
 Go the next slice.
void operator++ (int)
void next ()
uInt sliceStart () const
 Get the current slice start, end, or increment.
uInt sliceEnd () const
uInt sliceIncr () const

Private Attributes

Vector< uIntitsRows
 
     

Bool itsSliced
uInt itsStart
uInt itsEnd
uInt itsIncr
uInt itsPos
Bool itsPastEnd

Detailed Description

Class to iterate through a RefRows object.

Intended use:

Internal

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25
Test programs:
tRefRows

Prerequisite

Synopsis

RefRowsSliceIter is useful to iterate through a RefRows object, especially if the RefRows object contains slices. Each step in the iteration returns a Slice object containing the next slice in the RefRows object.
It is used in Table and data manager classes (e.g. StManColumn).

Example

This example shows how to iterate through a RefRows object (giving a slice) and through each of the slices.

    void somefunc (const RefRows& rownrs)
      // Iterate through all slices.
      RefRowsSliceIter rowiter(rownrs);
      while (! rowiter.pastEnd()) {
        // Get start, end, and increment for this slice.
        uInt rownr = rowiter.sliceStart();
        uInt end = rowiter.sliceEnd();
        uInt incr = rowiter.sliceIncr();
        // Iterate through the row numbers in the slice.
        while (rownr <= end) {
          rownr += incr;
        }
        // Go to next slice.
        rowiter++;
      }
    }

Definition at line 207 of file RefRows.h.


Constructor & Destructor Documentation

Construct the iterator on a RefRows object.

It is set to the beginning.


Member Function Documentation

Referenced by operator++().

void casa::RefRowsSliceIter::operator++ ( ) [inline]

Go the next slice.

Definition at line 223 of file RefRows.h.

References next().

void casa::RefRowsSliceIter::operator++ ( int  ) [inline]

Definition at line 225 of file RefRows.h.

References next().

Is the iterator past the end?

Definition at line 218 of file RefRows.h.

References itsPastEnd.

Reset the iterator to the beginning.

Definition at line 234 of file RefRows.h.

References itsEnd.

Definition at line 236 of file RefRows.h.

References itsIncr.

Get the current slice start, end, or increment.

Definition at line 232 of file RefRows.h.

References itsStart.


Member Data Documentation

Definition at line 244 of file RefRows.h.

Referenced by sliceEnd().

Definition at line 245 of file RefRows.h.

Referenced by sliceIncr().

Definition at line 247 of file RefRows.h.

Referenced by pastEnd().

Definition at line 246 of file RefRows.h.

     

Definition at line 241 of file RefRows.h.

Definition at line 242 of file RefRows.h.

Definition at line 243 of file RefRows.h.

Referenced by sliceStart().


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