casacore::VectorIterator< T > Class Template Reference

Iterate an Vector cursor through another Array. More...

#include <VectorIter.h>

Inheritance diagram for casacore::VectorIterator< T >:
casacore::ArrayIterator< T > casacore::ArrayPositionIterator

List of all members.

Public Member Functions

 VectorIterator (Array< T > &a, uInt axis=0)
 Iterate by vector cursors through array "a".
Vector< T > & vector ()
 Return a Vector at the current position.

Private Member Functions

 VectorIterator (const VectorIterator< T > &)
 Not implemented.
VectorIterator< T > & operator= (const VectorIterator< T > &)
 Not implemented.

Detailed Description

template<class T>
class casacore::VectorIterator< T >

Iterate an Vector cursor through another Array.

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25

VectorIterator steps a Vector (the "cursor") through an array for the given axis. The cursor "refers" to storage in the array, so that changing the values in the cursor changes values in the original array.

This class is derived from ArrayIterator; basically it only adds the vector() member function which allows you to access the cursor as a Vector.


Tip: The origin of the cursor, i;e; the subarray that moves through the larger array, is always zero;

In this example we sum all the elements of an array; of course we already have the "sum" function in ArrayMath.h that we should use instead.

 Array<Float> af;
 // set af
 VectorIterator vi(af);
 Float sum = 0.0;
 uInt n = vi.vector().nelements();
 while (! vi.pastEnd()) {
 for (Int i=0; i < n; i++) {   // N.B.; cursor always 0 based.
 sum += vi.vector()(i);
 }
 vi.next();
 }

Definition at line 74 of file VectorIter.h.


Constructor & Destructor Documentation

template<class T>
casacore::VectorIterator< T >::VectorIterator ( Array< T > &  a,
uInt  axis = 0 
) [explicit]

Iterate by vector cursors through array "a".

The vector cursor is taken for the given axis.

template<class T>
casacore::VectorIterator< T >::VectorIterator ( const VectorIterator< T > &   )  [private]

Not implemented.


Member Function Documentation

template<class T>
VectorIterator<T>& casacore::VectorIterator< T >::operator= ( const VectorIterator< T > &   )  [private]

Not implemented.

Reimplemented from casacore::ArrayIterator< T >.

template<class T>
Vector<T>& casacore::VectorIterator< T >::vector (  )  [inline]

Return a Vector at the current position.

Definition at line 82 of file VectorIter.h.

References casacore::ArrayIterator< T >::ap_p.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1