Create the object from a single start,end,incr slice.
Copy constructor (reference semantics).
Assignment (copy semantics).
Do this and the other object reference the same rows?
Convert this object to a Vector
Return the number of rows given by this object.
If the object contains slices, it counts the number of rows
represented by each slice.
Return the first row in the object.
Represents the vector a slice?
Get the row vector as is (thus sliced if the object contains slices).
It is mainly useful to get all row numbers when the object does not
contain slices.
Reset the iterator to the beginning.
Is the iterator past the end?
Go the next slice.
Get the current slice start, end, or increment..
uInt nrows() const
uInt nrow() const
uInt firstRow() const
Bool isSliced() const
const Vector<uInt>& rowVector() const
uInt fillNrows() const
Fill the itsNrows variable.
class RefRowsSliceIter
Interface
Description
Review Status
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++;
}
}
Member Description
RefRowsSliceIter (const RefRows&)
Construct the iterator on a RefRows object.
It is set to the beginning.
void reset()
Bool pastEnd() const
void operator++()
void operator++(int)
void next()
uInt sliceStart() const
uInt sliceEnd() const
uInt sliceIncr() const