casa
$Rev:20696$
|
Iterate a const Array cursor through a const Array. More...
#include <ArrayIter.h>
Public Member Functions | |
ReadOnlyArrayIterator (const Array< T > &arr, uInt byDim=1) | |
Step through array "arr" using a cursor of dimensionality "byDim". | |
ReadOnlyArrayIterator (const Array< T > &arr, const IPosition &axes, Bool axesAreCursor=True) | |
Step through an array for the given iteration axes. | |
void | next () |
Move the cursor to the next position. | |
void | set (const IPosition &cursorPos) |
Set the cursor to the given position. | |
void | reset () |
Reset the cursor to the beginning. | |
void | origin () |
const Array< T > & | array () |
Return the cursor. | |
Bool | atStart () const |
The same as the functions in ArrayPositionIterator. | |
Bool | pastEnd () const |
const IPosition & | pos () const |
IPosition | endPos () const |
uInt | ndim () const |
Private Member Functions | |
ReadOnlyArrayIterator (const ReadOnlyArrayIterator< T > &) | |
Not implemented. | |
ReadOnlyArrayIterator< T > & | operator= (const ReadOnlyArrayIterator< T > &) |
Private Attributes | |
ArrayIterator< T > | ai |
Iterate a const Array cursor through a const Array.
<h3>Review Status</h3><dl><dt>Reviewed By:<dd>UNKNOWN<dt>Date Reviewed:<dd>before2004/08/25</dl>
This class behaves exactly like an ArrayIterator, only it iterates through const Arrays.
void CopyArray(Array<Float> &to, const Array<Float> &from) { //... check that they are conformant ArrayIterator toiter(to,1); ReadOnlyArrayIterator fromiter(from,1); while (! toiter.pastEnd() ) { toiter.array() = fromiter.array(); // copy vector by vector toiter.next(); fromiter.next(); } }
Tip: This class is not derived from ArrayPositionIterator; For simplicity it merely contains an ArrayIterator to which it forwards requests and returns (const) results; The iterator classes should be rethought and reimplemented;
Definition at line 175 of file ArrayIter.h.
casa::ReadOnlyArrayIterator< T >::ReadOnlyArrayIterator | ( | const Array< T > & | arr, |
uInt | byDim = 1 |
||
) | [inline, explicit] |
Step through array "arr" using a cursor of dimensionality "byDim".
Definition at line 179 of file ArrayIter.h.
casa::ReadOnlyArrayIterator< T >::ReadOnlyArrayIterator | ( | const Array< T > & | arr, |
const IPosition & | axes, | ||
Bool | axesAreCursor = True |
||
) | [inline] |
Step through an array for the given iteration axes.
Definition at line 183 of file ArrayIter.h.
casa::ReadOnlyArrayIterator< T >::ReadOnlyArrayIterator | ( | const ReadOnlyArrayIterator< T > & | ) | [private] |
Not implemented.
const Array<T>& casa::ReadOnlyArrayIterator< T >::array | ( | ) | [inline] |
Return the cursor.
(Perhaps we should have a fn() that returns a reference to the original array as well?)
Definition at line 208 of file ArrayIter.h.
References casa::ReadOnlyArrayIterator< T >::ai.
Bool casa::ReadOnlyArrayIterator< T >::atStart | ( | ) | const [inline] |
The same as the functions in ArrayPositionIterator.
Definition at line 212 of file ArrayIter.h.
References casa::ReadOnlyArrayIterator< T >::ai.
IPosition casa::ReadOnlyArrayIterator< T >::endPos | ( | ) | const [inline] |
Definition at line 215 of file ArrayIter.h.
References casa::ReadOnlyArrayIterator< T >::ai.
uInt casa::ReadOnlyArrayIterator< T >::ndim | ( | ) | const [inline] |
Definition at line 216 of file ArrayIter.h.
References casa::ReadOnlyArrayIterator< T >::ai.
void casa::ReadOnlyArrayIterator< T >::next | ( | ) | [inline] |
Move the cursor to the next position.
Definition at line 188 of file ArrayIter.h.
References casa::ReadOnlyArrayIterator< T >::ai.
ReadOnlyArrayIterator<T>& casa::ReadOnlyArrayIterator< T >::operator= | ( | const ReadOnlyArrayIterator< T > & | ) | [private] |
void casa::ReadOnlyArrayIterator< T >::origin | ( | ) | [inline] |
Definition at line 203 of file ArrayIter.h.
References casa::ReadOnlyArrayIterator< T >::ai.
Bool casa::ReadOnlyArrayIterator< T >::pastEnd | ( | ) | const [inline] |
Definition at line 213 of file ArrayIter.h.
References casa::ReadOnlyArrayIterator< T >::ai.
const IPosition& casa::ReadOnlyArrayIterator< T >::pos | ( | ) | const [inline] |
Definition at line 214 of file ArrayIter.h.
References casa::ReadOnlyArrayIterator< T >::ai.
void casa::ReadOnlyArrayIterator< T >::reset | ( | ) | [inline] |
Reset the cursor to the beginning.
Definition at line 202 of file ArrayIter.h.
References casa::ReadOnlyArrayIterator< T >::ai.
void casa::ReadOnlyArrayIterator< T >::set | ( | const IPosition & | cursorPos | ) | [inline] |
Set the cursor to the given position.
The position can only contain the iteration axes or it can be the full position.
In the first case the position must to be given in the order of the iteration axes as given in the constructor. In the latter case the position must be given in natural order (as given by function pos
and only the cursor axes are taken into account.
Definition at line 198 of file ArrayIter.h.
References casa::ReadOnlyArrayIterator< T >::ai.
ArrayIterator<T> casa::ReadOnlyArrayIterator< T >::ai [private] |
Definition at line 225 of file ArrayIter.h.
Referenced by casa::ReadOnlyArrayIterator< T >::array(), casa::ReadOnlyArrayIterator< T >::atStart(), casa::ReadOnlyArrayIterator< T >::endPos(), casa::ReadOnlyArrayIterator< T >::ndim(), casa::ReadOnlyArrayIterator< T >::next(), casa::ReadOnlyArrayIterator< T >::origin(), casa::ReadOnlyArrayIterator< T >::pastEnd(), casa::ReadOnlyArrayIterator< T >::pos(), casa::ReadOnlyArrayIterator< T >::reset(), and casa::ReadOnlyArrayIterator< T >::set().